TianoCore EDK2 master
Loading...
Searching...
No Matches
EmuBlockIo.h
Go to the documentation of this file.
1
13#ifndef __EMU_BLOCK_IO_H__
14#define __EMU_BLOCK_IO_H__
15
16#include <Protocol/BlockIo.h>
17#include <Protocol/BlockIo2.h>
18
19#define EMU_BLOCK_IO_PROTOCOL_GUID \
20{ 0x6888A4AE, 0xAFCE, 0xE84B, { 0x91, 0x02, 0xF7, 0xB9, 0xDA, 0xE6, 0xA0, 0x30 } }
21
23
37typedef
39(EFIAPI *EMU_BLOCK_RESET)(
41 IN BOOLEAN ExtendedVerification
42 );
43
77typedef
79(EFIAPI *EMU_BLOCK_READ)(
81 IN UINT32 MediaId,
82 IN EFI_LBA LBA,
84 IN UINTN BufferSize,
85 OUT VOID *Buffer
86 );
87
119typedef
121(EFIAPI *EMU_BLOCK_WRITE)(
123 IN UINT32 MediaId,
124 IN EFI_LBA LBA,
126 IN UINTN BufferSize,
127 IN VOID *Buffer
128 );
129
152typedef
154(EFIAPI *EMU_BLOCK_FLUSH)(
157 );
158
159typedef
161(EFIAPI *EMU_BLOCK_CREATE_MAPPING)(
164 );
165
169// manner.
172 EMU_BLOCK_RESET Reset;
173 EMU_BLOCK_READ ReadBlocks;
174 EMU_BLOCK_WRITE WriteBlocks;
175 EMU_BLOCK_FLUSH FlushBlocks;
176 EMU_BLOCK_CREATE_MAPPING CreateMapping;
177};
178
179extern EFI_GUID gEmuBlockIoProtocolGuid;
180
181#endif
UINT64 UINTN
EFI_STATUS(EFIAPI * EMU_BLOCK_RESET)(IN EMU_BLOCK_IO_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
Definition: EmuBlockIo.h:39
EFI_STATUS(EFIAPI * EMU_BLOCK_WRITE)(IN EMU_BLOCK_IO_PROTOCOL *This, IN UINT32 MediaId, IN EFI_LBA LBA, IN OUT EFI_BLOCK_IO2_TOKEN *Token, IN UINTN BufferSize, IN VOID *Buffer)
Definition: EmuBlockIo.h:121
EFI_STATUS(EFIAPI * EMU_BLOCK_FLUSH)(IN EMU_BLOCK_IO_PROTOCOL *This, IN OUT EFI_BLOCK_IO2_TOKEN *Token)
Definition: EmuBlockIo.h:154
EFI_STATUS(EFIAPI * EMU_BLOCK_READ)(IN EMU_BLOCK_IO_PROTOCOL *This, IN UINT32 MediaId, IN EFI_LBA LBA, IN OUT EFI_BLOCK_IO2_TOKEN *Token, IN UINTN BufferSize, OUT VOID *Buffer)
Definition: EmuBlockIo.h:79
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
UINT64 EFI_LBA
Definition: UefiBaseType.h:45
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
Definition: Base.h:213