TianoCore EDK2 master
Loading...
Searching...
No Matches
DiskIo2.h
Go to the documentation of this file.
1
12#ifndef __DISK_IO2_H__
13#define __DISK_IO2_H__
14
15#define EFI_DISK_IO2_PROTOCOL_GUID \
16 { \
17 0x151c8eae, 0x7f2c, 0x472c, 0x9e, 0x54, 0x98, 0x28, 0x19, 0x4f, 0x6a, 0x88 \
18 }
19
21
25typedef struct {
26 //
27 // If Event is NULL, then blocking I/O is performed.
28 // If Event is not NULL and non-blocking I/O is supported, then non-blocking I/O is performed,
29 // and Event will be signaled when the I/O request is completed.
30 // The caller must be prepared to handle the case where the callback associated with Event occurs
31 // before the original asynchronous I/O request call returns.
32 //
33 EFI_EVENT Event;
34
35 //
36 // Defines whether or not the signaled event encountered an error.
37 //
38 EFI_STATUS TransactionStatus;
40
50typedef
52(EFIAPI *EFI_DISK_CANCEL_EX)(
54 );
55
78typedef
80(EFIAPI *EFI_DISK_READ_EX)(
82 IN UINT32 MediaId,
83 IN UINT64 Offset,
85 IN UINTN BufferSize,
86 OUT VOID *Buffer
87 );
88
111typedef
113(EFIAPI *EFI_DISK_WRITE_EX)(
115 IN UINT32 MediaId,
116 IN UINT64 Offset,
118 IN UINTN BufferSize,
119 IN VOID *Buffer
120 );
121
139typedef
141(EFIAPI *EFI_DISK_FLUSH_EX)(
144 );
145
146#define EFI_DISK_IO2_PROTOCOL_REVISION 0x00020000
147
157 UINT64 Revision;
158 EFI_DISK_CANCEL_EX Cancel;
159 EFI_DISK_READ_EX ReadDiskEx;
160 EFI_DISK_WRITE_EX WriteDiskEx;
161 EFI_DISK_FLUSH_EX FlushDiskEx;
162};
163
164extern EFI_GUID gEfiDiskIo2ProtocolGuid;
165
166#endif
UINT64 UINTN
EFI_STATUS(EFIAPI * EFI_DISK_WRITE_EX)(IN EFI_DISK_IO2_PROTOCOL *This, IN UINT32 MediaId, IN UINT64 Offset, IN OUT EFI_DISK_IO2_TOKEN *Token, IN UINTN BufferSize, IN VOID *Buffer)
Definition: DiskIo2.h:113
EFI_STATUS(EFIAPI * EFI_DISK_CANCEL_EX)(IN EFI_DISK_IO2_PROTOCOL *This)
Definition: DiskIo2.h:52
EFI_STATUS(EFIAPI * EFI_DISK_FLUSH_EX)(IN EFI_DISK_IO2_PROTOCOL *This, IN OUT EFI_DISK_IO2_TOKEN *Token)
Definition: DiskIo2.h:141
EFI_STATUS(EFIAPI * EFI_DISK_READ_EX)(IN EFI_DISK_IO2_PROTOCOL *This, IN UINT32 MediaId, IN UINT64 Offset, IN OUT EFI_DISK_IO2_TOKEN *Token, IN UINTN BufferSize, OUT VOID *Buffer)
Definition: DiskIo2.h:80
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_EVENT
Definition: UefiBaseType.h:37
Definition: Base.h:213