15#ifndef __SIMPLE_FILE_SYSTEM_H__
16#define __SIMPLE_FILE_SYSTEM_H__
21#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID \
23 0x964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
34#define SIMPLE_FILE_SYSTEM_PROTOCOL EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID
69#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 0x00010000
74#define EFI_FILE_IO_INTERFACE_REVISION EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION
129#define EFI_FILE_MODE_READ 0x0000000000000001ULL
130#define EFI_FILE_MODE_WRITE 0x0000000000000002ULL
131#define EFI_FILE_MODE_CREATE 0x8000000000000000ULL
136#define EFI_FILE_READ_ONLY 0x0000000000000001ULL
137#define EFI_FILE_HIDDEN 0x0000000000000002ULL
138#define EFI_FILE_SYSTEM 0x0000000000000004ULL
139#define EFI_FILE_RESERVED 0x0000000000000008ULL
140#define EFI_FILE_DIRECTORY 0x0000000000000010ULL
141#define EFI_FILE_ARCHIVE 0x0000000000000020ULL
142#define EFI_FILE_VALID_ATTR 0x0000000000000037ULL
515#define EFI_FILE_PROTOCOL_REVISION 0x00010000
516#define EFI_FILE_PROTOCOL_REVISION2 0x00020000
517#define EFI_FILE_PROTOCOL_LATEST_REVISION EFI_FILE_PROTOCOL_REVISION2
522#define EFI_FILE_REVISION EFI_FILE_PROTOCOL_REVISION
UINT64 UINTN
Unsigned value of native width.
unsigned long long UINT64
8-byte unsigned value.
unsigned short CHAR16
2-byte Character.
#define VOID
Undeclared type.
struct _EFI_FILE_PROTOCOL EFI_FILE_PROTOCOL
EFI_STATUS(EFIAPI * EFI_FILE_FLUSH)(IN EFI_FILE_PROTOCOL *This)
Flushes all modified data associated with a file to a device.
struct _EFI_SIMPLE_FILE_SYSTEM_PROTOCOL 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.
EFI_FILE_PROTOCOL EFI_FILE
EFI_GUID gEfiSimpleFileSystemProtocolGuid
EFI_STATUS(EFIAPI * EFI_FILE_DELETE)(IN EFI_FILE_PROTOCOL *This)
Close and delete the file handle.
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL EFI_FILE_IO_INTERFACE
Protocol name defined in EFI1.1.
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.
struct _EFI_FILE_PROTOCOL * EFI_FILE_HANDLE
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.
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_GET_POSITION)(IN EFI_FILE_PROTOCOL *This, OUT UINT64 *Position)
Returns a file's current position.
EFI_STATUS(EFIAPI * EFI_FILE_CLOSE)(IN EFI_FILE_PROTOCOL *This)
Closes a specified file handle.
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_STATUS(EFIAPI * EFI_FILE_READ)(IN EFI_FILE_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer)
Reads data from 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.
EFI_STATUS(EFIAPI * EFI_FILE_SET_POSITION)(IN EFI_FILE_PROTOCOL *This, IN UINT64 Position)
Sets a file's current position.
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_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.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
UINT16_t BufferSize
Buffer size.
UINT8_t FileName[128]
File name.
SEGOFF16_t Buffer
Buffer address.
The EFI_FILE_PROTOCOL provides file IO access to supported file systems.
EFI_FILE_GET_INFO GetInfo
UINT64 Revision
The version of the EFI_FILE_PROTOCOL interface.
EFI_FILE_FLUSH_EX FlushEx
EFI_FILE_WRITE_EX WriteEx
EFI_FILE_GET_POSITION GetPosition
EFI_FILE_SET_INFO SetInfo
EFI_FILE_SET_POSITION SetPosition
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME OpenVolume
UINT64 Revision
The version of the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.