fat.h
来自「Next BIOS Source code : Extensible Firmw」· C头文件 代码 · 共 824 行 · 第 1/2 页
H
824 行
IN UINTN BufferSize,
IN VOID *Buffer
);
EFI_STATUS
EFIAPI
FatFlush (
IN EFI_FILE *FHand
);
EFI_STATUS
FatOFileFlush (
IN FAT_OFILE *OFile
);
EFI_STATUS
EFIAPI
FatClose (
IN EFI_FILE *FHand
);
EFI_STATUS
EFIAPI
FatDelete (
IN EFI_FILE *FHand
);
EFI_STATUS
EFIAPI
FatSetPosition (
IN EFI_FILE *FHand,
OUT UINT64 Position
);
EFI_STATUS
EFIAPI
FatRead (
IN EFI_FILE *FHand,
IN OUT UINTN *BufferSize,
OUT VOID *Buffer
);
EFI_STATUS
EFIAPI
FatWrite (
IN EFI_FILE *FHand,
IN OUT UINTN *BufferSize,
OUT VOID *Buffer
);
EFI_STATUS
FatOFilePosition (
IN FAT_OFILE *OFile,
IN UINT64 Position
);
UINTN
FatSizeToClusters (
IN UINT64 Size,
IN UINTN ClusterSize
);
VOID
FatEfiTimeToFatTime (
IN EFI_TIME *ETime,
OUT FAT_DATE_TIME *FTime
);
VOID
FatFatTimeToEfiTime (
IN FAT_DATE_TIME *FTime,
OUT EFI_TIME *ETime
);
BOOLEAN
FatIsValidTime (
IN EFI_TIME *Time
);
VOID
FatFatToStr (
IN UINTN FatSize,
IN CHAR8 *Fat,
OUT CHAR16 *String
);
BOOLEAN
FatStrToFat (
IN CHAR16 *String,
IN UINTN FatSize,
OUT CHAR8 *Fat
);
UINTN
FatStrToFatLen (
IN CHAR16 *String
);
BOOLEAN FatLfnIsValid (
CHAR16 *Name
);
FAT_OFILE *
FatAllocateOFile (
IN FAT_VOLUME *Vol
);
VOID
FatFreeOFile (
IN FAT_OFILE *OFile
);
EFI_STATUS
FatSetVolumeDirty (
IN FAT_VOLUME *Vol,
IN BOOLEAN Dirty
);
EFI_STATUS
FatDiskIo (
IN FAT_VOLUME *Vol,
IN DISK_IO_MODE IoMode,
IN UINT64 Offset,
IN UINTN BufferSize,
IN OUT VOID *Buffer
);
VOID
FatAcquireLock ();
EFI_STATUS
FatCleanupVolume (
IN FAT_VOLUME *Vol,
IN FAT_OFILE *OFile OPTIONAL,
IN EFI_STATUS Status OPTIONAL
);
VOID
FatReleaseLock ();
BOOLEAN
FatIsLocked ();
UINT8
FatDirEntryChecksum (
FAT_DIRECTORY_ENTRY *Dir
);
UINTN
FatNameToDirEntryCount (
IN CHAR16 *Name,
OUT UINT8 *CaseFlag
);
CHAR16 *
FatGetNameComp (
IN CHAR16 *Path,
OUT CHAR16 *Name
);
BOOLEAN
FatMatchFileName (
IN FAT_OFILE *Entry,
IN CHAR16 *Name
);
BOOLEAN
FatIsDotEntry (
IN FAT_OFILE *OFile
);
EFI_STATUS
FatGenerate8Dot3Name (
IN FAT_VOLUME *Vol,
IN FAT_OFILE *Parent,
IN FAT_OFILE *OFile
);
//
// dirsup.c
//
VOID
FatPackDirEntry (
IN FAT_OFILE *OFile
);
VOID
FatNameToStr (
IN CHAR8 *Fatname,
IN UINTN Len,
IN UINTN LowerCase,
IN CHAR16 *Str
);
EFI_STATUS
FatUnpackDirEntry (
IN FAT_OFILE *OFile
);
EFI_STATUS
FatNewDirEntry (
IN FAT_OFILE *OFile,
IN UINTN EntryCount,
OUT FAT_OFILE **NewOFile
);
//
// dirent.c
//
EFI_STATUS
FatGetVolumeEntry (
IN FAT_VOLUME *Vol,
IN CHAR16 *Name
);
EFI_STATUS
FatSetVolumeEntry (
IN FAT_VOLUME *Vol,
IN CHAR16 *Name
);
EFI_STATUS
FatOpenEntry (
IN FAT_VOLUME *Vol,
IN FAT_OFILE *Parent,
IN UINT64 *Position,
OUT FAT_OFILE **pOFile
);
EFI_STATUS
FatGetDirOFile (
IN FAT_OFILE *OFile,
IN OUT UINT64 *Position,
OUT FAT_OFILE **pOFile
);
EFI_STATUS
FatOFileWriteDir (
IN FAT_OFILE *OFile
);
//
//
//
EFI_STATUS
FatAllocateIFile(
IN FAT_OFILE *OFile,
OUT FAT_IFILE **pIFile
);
EFI_STATUS
FatIFileClose (
FAT_IFILE *IFile
);
EFI_STATUS
FatGetFileInfo (
IN FAT_VOLUME *Vol,
IN FAT_OFILE *OFile,
IN OUT UINTN *BufferSize,
OUT VOID *Buffer
);
//
// fspace.c
//
EFI_STATUS
FatShrinkEof (
IN FAT_OFILE *OFile
);
EFI_STATUS
FatGrowEof (
IN FAT_OFILE *OFile,
IN UINT64 NewSize
);
UINT64
FatDirSize (
IN FAT_OFILE *OFile
);
UINTN
FatGetFatEntry(
IN FAT_VOLUME *Fat,
IN UINTN Index
);
EFI_STATUS
FatSetFatEntry(
IN FAT_VOLUME *Fat,
IN UINTN Index,
IN UINTN Value
);
UINTN
FatAllocateCluster(
IN FAT_VOLUME *Vol
);
VOID
FatComputeFreeInfo (
IN FAT_VOLUME *Vol
);
EFI_STATUS
FatCheckVolumeRef (
IN FAT_VOLUME *Vol
);
BOOLEAN
FatCheckOFileRef (
IN FAT_OFILE *OFile
);
//
//
//
VOID
FatSetVolumeError (
IN FAT_OFILE *OFile,
IN EFI_STATUS Status
);
EFI_STATUS
FatAllocateVolume (
IN EFI_HANDLE Handle,
IN EFI_DISK_IO_PROTOCOL *DiskIo,
IN EFI_BLOCK_IO_PROTOCOL *BlockIo
);
EFI_STATUS
FatAbandonVolume (
IN FAT_VOLUME *Vol
);
VOID
FatStrLwr (
IN CHAR16 *Str
);
VOID
FatStrUpr (
IN CHAR16 *Str
);
INTN
FatStriCmp (
IN CHAR16 *s1,
IN CHAR16 *s2
);
//
// FAT volume read/write functions with cache mechanism.
//
EFI_STATUS
FatDiskIoReadVolume (
IN FAT_VOLUME *Vol,
IN UINT64 Offset,
IN UINTN BufferSize,
OUT VOID *Buffer
);
EFI_STATUS
FatDiskIoWriteVolume (
IN FAT_VOLUME *Vol,
IN UINT64 Offset,
IN UINTN BufferSize,
IN VOID *Buffer
);
EFI_STATUS
FatVolumeFlushCache (
IN FAT_VOLUME *Vol
);
HASH_ENTRY*
FatInsertHashNode (
FAT_OFILE *OFile,
CHAR8 *String,
UINTN StringSize,
UINT32 Position
);
VOID
FatRemoveHashNode (
HASH_ENTRY *Entry,
UINT32 Position
);
FAT_OFILE*
FatHashSearch (
FAT_OFILE *OFile,
CHAR16 *Name,
UINT32 PreferedPosition
);
EFI_STATUS
FatOFileWrite (
IN FAT_OFILE *OFile,
IN UINT64 Position,
IN OUT UINTN *DataBufferSize,
IN VOID *UserBuffer
);
#endif //_FAT_H_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?