TianoCore EDK2 master
Loading...
Searching...
No Matches
BlockIo.h
Go to the documentation of this file.
1
12#ifndef __BLOCK_IO_H__
13#define __BLOCK_IO_H__
14
15#define EFI_BLOCK_IO_PROTOCOL_GUID \
16 { \
17 0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
18 }
19
21
25#define BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL_GUID
26
31
43typedef
45(EFIAPI *EFI_BLOCK_RESET)(
47 IN BOOLEAN ExtendedVerification
48 );
49
69typedef
71(EFIAPI *EFI_BLOCK_READ)(
73 IN UINT32 MediaId,
74 IN EFI_LBA Lba,
75 IN UINTN BufferSize,
76 OUT VOID *Buffer
77 );
78
99typedef
101(EFIAPI *EFI_BLOCK_WRITE)(
103 IN UINT32 MediaId,
104 IN EFI_LBA Lba,
105 IN UINTN BufferSize,
106 IN VOID *Buffer
107 );
108
119typedef
121(EFIAPI *EFI_BLOCK_FLUSH)(
123 );
124
128typedef struct {
132 UINT32 MediaId;
133
138
145
151
156 BOOLEAN ReadOnly;
157
162
167 UINT32 BlockSize;
168
172 UINT32 IoAlign;
173
179
186
193
201
202#define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000
203#define EFI_BLOCK_IO_PROTOCOL_REVISION2 0x00020001
204#define EFI_BLOCK_IO_PROTOCOL_REVISION3 0x0002001F
205
209#define EFI_BLOCK_IO_INTERFACE_REVISION EFI_BLOCK_IO_PROTOCOL_REVISION
210
220 UINT64 Revision;
225
226 EFI_BLOCK_RESET Reset;
227 EFI_BLOCK_READ ReadBlocks;
228 EFI_BLOCK_WRITE WriteBlocks;
229 EFI_BLOCK_FLUSH FlushBlocks;
230};
231
232extern EFI_GUID gEfiBlockIoProtocolGuid;
233
234#endif
UINT64 UINTN
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS(EFIAPI * EFI_BLOCK_RESET)(IN EFI_BLOCK_IO_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
Definition: BlockIo.h:45
EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO
Definition: BlockIo.h:30
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)
Definition: BlockIo.h:71
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)
Definition: BlockIo.h:101
EFI_STATUS(EFIAPI * EFI_BLOCK_FLUSH)(IN EFI_BLOCK_IO_PROTOCOL *This)
Definition: BlockIo.h:121
UINT64 EFI_LBA
Definition: UefiBaseType.h:45
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
EFI_BLOCK_IO_MEDIA * Media
Definition: BlockIo.h:224
BOOLEAN RemovableMedia
Definition: BlockIo.h:137
UINT32 LogicalBlocksPerPhysicalBlock
Definition: BlockIo.h:192
BOOLEAN LogicalPartition
Definition: BlockIo.h:150
UINT32 BlockSize
Definition: BlockIo.h:167
EFI_LBA LastBlock
Definition: BlockIo.h:178
BOOLEAN WriteCaching
Definition: BlockIo.h:161
UINT32 OptimalTransferLengthGranularity
Definition: BlockIo.h:199
BOOLEAN MediaPresent
Definition: BlockIo.h:144
BOOLEAN ReadOnly
Definition: BlockIo.h:156
EFI_LBA LowestAlignedLba
Definition: BlockIo.h:185
Definition: Base.h:213