15 #ifndef __SIMPLE_FILE_SYSTEM_H__ 16 #define __SIMPLE_FILE_SYSTEM_H__ 20 #define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID \ 22 0x964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ 33 #define SIMPLE_FILE_SYSTEM_PROTOCOL EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID 68 #define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 0x00010000 73 #define EFI_FILE_IO_INTERFACE_REVISION EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 128 #define EFI_FILE_MODE_READ 0x0000000000000001ULL 129 #define EFI_FILE_MODE_WRITE 0x0000000000000002ULL 130 #define EFI_FILE_MODE_CREATE 0x8000000000000000ULL 135 #define EFI_FILE_READ_ONLY 0x0000000000000001ULL 136 #define EFI_FILE_HIDDEN 0x0000000000000002ULL 137 #define EFI_FILE_SYSTEM 0x0000000000000004ULL 138 #define EFI_FILE_RESERVED 0x0000000000000008ULL 139 #define EFI_FILE_DIRECTORY 0x0000000000000010ULL 140 #define EFI_FILE_ARCHIVE 0x0000000000000020ULL 141 #define EFI_FILE_VALID_ATTR 0x0000000000000037ULL 514 #define EFI_FILE_PROTOCOL_REVISION 0x00010000 515 #define EFI_FILE_PROTOCOL_REVISION2 0x00020000 516 #define EFI_FILE_PROTOCOL_LATEST_REVISION EFI_FILE_PROTOCOL_REVISION2 521 #define EFI_FILE_REVISION EFI_FILE_PROTOCOL_REVISION UINT64 Revision
The version of the EFI_FILE_PROTOCOL interface.
EFI_FILE_GET_POSITION GetPosition
UINT64 Revision
The version of the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.
EFI_STATUS(EFIAPI * EFI_FILE_WRITE)(IN EFI_FILE_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer)
Writes data to a file.
128 bit buffer containing a unique identifier value.
VOID * EFI_EVENT
Handle to an event structure.
EFI_STATUS(EFIAPI * EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME)(IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This, OUT EFI_FILE_PROTOCOL **Root)
Open the root directory on a volume.
EFI_FILE_GET_INFO GetInfo
EFI_STATUS(EFIAPI * EFI_FILE_OPEN)(IN EFI_FILE_PROTOCOL *This, OUT EFI_FILE_PROTOCOL **NewHandle, IN CHAR16 *FileName, IN UINT64 OpenMode, IN UINT64 Attributes)
Opens a new file relative to the source file's location.
UINT16_t BufferSize
Buffer size.
EFI_FILE_PROTOCOL EFI_FILE
EFI_STATUS(EFIAPI * EFI_FILE_DELETE)(IN EFI_FILE_PROTOCOL *This)
Close and delete the file handle.
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME OpenVolume
EFI_STATUS(EFIAPI * EFI_FILE_SET_INFO)(IN EFI_FILE_PROTOCOL *This, IN EFI_GUID *InformationType, IN UINTN BufferSize, IN VOID *Buffer)
Sets information about a file.
EFI_STATUS(EFIAPI * EFI_FILE_WRITE_EX)(IN EFI_FILE_PROTOCOL *This, IN OUT EFI_FILE_IO_TOKEN *Token)
Writes data to a file.
UINT8_t FileName[128]
File name.
EFI_STATUS(EFIAPI * EFI_FILE_GET_POSITION)(IN EFI_FILE_PROTOCOL *This, OUT UINT64 *Position)
Returns a file's current position.
EFI_STATUS(EFIAPI * EFI_FILE_SET_POSITION)(IN EFI_FILE_PROTOCOL *This, IN UINT64 Position)
Sets a file's current position.
EFI_FILE_SET_INFO SetInfo
EFI_STATUS(EFIAPI * EFI_FILE_FLUSH)(IN EFI_FILE_PROTOCOL *This)
Flushes all modified data associated with a file to a device.
EFI_FILE_SET_POSITION SetPosition
SEGOFF16_t Buffer
Buffer address.
UINT64 UINTN
Unsigned value of native width.
EFI_FILE_WRITE_EX WriteEx
EFI_FILE_FLUSH_EX FlushEx
#define VOID
Undeclared type.
unsigned long long UINT64
EFI_STATUS(EFIAPI * EFI_FILE_READ_EX)(IN EFI_FILE_PROTOCOL *This, IN OUT EFI_FILE_IO_TOKEN *Token)
Reads data from a file.
EFI_STATUS(EFIAPI * EFI_FILE_CLOSE)(IN EFI_FILE_PROTOCOL *This)
Closes a specified file handle.
EFI_STATUS(EFIAPI * EFI_FILE_GET_INFO)(IN EFI_FILE_PROTOCOL *This, IN EFI_GUID *InformationType, IN OUT UINTN *BufferSize, OUT VOID *Buffer)
Returns information about a file.
EFI_STATUS(EFIAPI * EFI_FILE_FLUSH_EX)(IN EFI_FILE_PROTOCOL *This, IN OUT EFI_FILE_IO_TOKEN *Token)
Flushes all modified data associated with a file to a device.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL EFI_FILE_IO_INTERFACE
Protocol name defined in EFI1.1.
EFI_STATUS(EFIAPI * EFI_FILE_READ)(IN EFI_FILE_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer)
Reads data from a file.
EFI_GUID gEfiSimpleFileSystemProtocolGuid
EFI_STATUS(EFIAPI * EFI_FILE_OPEN_EX)(IN EFI_FILE_PROTOCOL *This, OUT EFI_FILE_PROTOCOL **NewHandle, IN CHAR16 *FileName, IN UINT64 OpenMode, IN UINT64 Attributes, IN OUT EFI_FILE_IO_TOKEN *Token)
Opens a new file relative to the source directory's location.
FILE_LICENCE(BSD2_PATENT)
The EFI_FILE_PROTOCOL provides file IO access to supported file systems.
struct _EFI_FILE_PROTOCOL * EFI_FILE_HANDLE