18#define EFI_BLOCK_IO_PROTOCOL_GUID \
20 0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
28#define BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL_GUID
205#define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000
206#define EFI_BLOCK_IO_PROTOCOL_REVISION2 0x00020001
207#define EFI_BLOCK_IO_PROTOCOL_REVISION3 0x0002001F
212#define EFI_BLOCK_IO_INTERFACE_REVISION EFI_BLOCK_IO_PROTOCOL_REVISION
unsigned char BOOLEAN
Logical Boolean.
UINT64 UINTN
Unsigned value of native width.
unsigned long long UINT64
8-byte unsigned value.
unsigned int UINT32
4-byte unsigned value.
#define VOID
Undeclared type.
EFI_STATUS(EFIAPI * EFI_BLOCK_RESET)(IN EFI_BLOCK_IO_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
Reset the Block Device.
EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO
Protocol defined in EFI1.1.
EFI_STATUS(EFIAPI * EFI_BLOCK_READ)(IN EFI_BLOCK_IO_PROTOCOL *This, IN UINT32 MediaId, IN EFI_LBA Lba, IN UINTN BufferSize, OUT VOID *Buffer)
Read BufferSize bytes from Lba into Buffer.
EFI_GUID gEfiBlockIoProtocolGuid
EFI_STATUS(EFIAPI * EFI_BLOCK_WRITE)(IN EFI_BLOCK_IO_PROTOCOL *This, IN UINT32 MediaId, IN EFI_LBA Lba, IN UINTN BufferSize, IN VOID *Buffer)
Write BufferSize bytes from Lba into Buffer.
EFI_STATUS(EFIAPI * EFI_BLOCK_FLUSH)(IN EFI_BLOCK_IO_PROTOCOL *This)
Flush the Block Device.
struct _EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL
UINT64 EFI_LBA
Logical block address.
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.
SEGOFF16_t Buffer
Buffer address.
This protocol provides control over block devices.
EFI_BLOCK_IO_MEDIA * Media
Pointer to the EFI_BLOCK_IO_MEDIA data for this device.
UINT64 Revision
The revision to which the block IO interface adheres.
EFI_BLOCK_READ ReadBlocks
EFI_BLOCK_WRITE WriteBlocks
EFI_BLOCK_FLUSH FlushBlocks