XenevaOS
Loading...
Searching...
No Matches
SimpleFileSystem.h
Go to the documentation of this file.
1
21#ifndef __SIMPLE_FILE_SYSTEM_H__
22#define __SIMPLE_FILE_SYSTEM_H__
23
24#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID \
25 { \
26 0x964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
27 }
28
30
33
37#define SIMPLE_FILE_SYSTEM_PROTOCOL EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID
38
44
65typedef
70 );
71
72#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 0x00010000
73
77#define EFI_FILE_IO_INTERFACE_REVISION EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION
78
88
119typedef
122 IN EFI_FILE_PROTOCOL *This,
123 OUT EFI_FILE_PROTOCOL **NewHandle,
124 IN CHAR16 *FileName,
125 IN UINT64 OpenMode,
126 IN UINT64 Attributes
127 );
128
129//
130// Open modes
131//
132#define EFI_FILE_MODE_READ 0x0000000000000001ULL
133#define EFI_FILE_MODE_WRITE 0x0000000000000002ULL
134#define EFI_FILE_MODE_CREATE 0x8000000000000000ULL
135
136//
137// File attributes
138//
139#define EFI_FILE_READ_ONLY 0x0000000000000001ULL
140#define EFI_FILE_HIDDEN 0x0000000000000002ULL
141#define EFI_FILE_SYSTEM 0x0000000000000004ULL
142#define EFI_FILE_RESERVED 0x0000000000000008ULL
143#define EFI_FILE_DIRECTORY 0x0000000000000010ULL
144#define EFI_FILE_ARCHIVE 0x0000000000000020ULL
145#define EFI_FILE_VALID_ATTR 0x0000000000000037ULL
146
156typedef
160 );
161
172typedef
176 );
177
198typedef
201 IN EFI_FILE_PROTOCOL *This,
202 IN OUT UINTN *BufferSize,
203 OUT VOID *Buffer
204 );
205
226typedef
229 IN EFI_FILE_PROTOCOL *This,
230 IN OUT UINTN *BufferSize,
231 IN VOID *Buffer
232 );
233
247typedef
250 IN EFI_FILE_PROTOCOL *This,
251 IN UINT64 Position
252 );
253
266typedef
269 IN EFI_FILE_PROTOCOL *This,
270 OUT UINT64 *Position
271 );
272
293typedef
296 IN EFI_FILE_PROTOCOL *This,
297 IN EFI_GUID *InformationType,
298 IN OUT UINTN *BufferSize,
299 OUT VOID *Buffer
300 );
301
336typedef
339 IN EFI_FILE_PROTOCOL *This,
340 IN EFI_GUID *InformationType,
341 IN UINTN BufferSize,
342 IN VOID *Buffer
343 );
344
360typedef
364 );
365
366typedef struct {
367 //
368 // If Event is NULL, then blocking I/O is performed.
369 // If Event is not NULL and non-blocking I/O is supported, then non-blocking I/O is performed,
370 // and Event will be signaled when the read request is completed.
371 // The caller must be prepared to handle the case where the callback associated with Event
372 // occurs before the original asynchronous I/O request call returns.
373 //
375
376 //
377 // Defines whether or not the signaled event encountered an error.
378 //
380
381 //
382 // For OpenEx(): Not Used, ignored.
383 // For ReadEx(): On input, the size of the Buffer. On output, the amount of data returned in Buffer.
384 // In both cases, the size is measured in bytes.
385 // For WriteEx(): On input, the size of the Buffer. On output, the amount of data actually written.
386 // In both cases, the size is measured in bytes.
387 // For FlushEx(): Not used, ignored.
388 //
390
391 //
392 // For OpenEx(): Not Used, ignored.
393 // For ReadEx(): The buffer into which the data is read.
394 // For WriteEx(): The buffer of data to write.
395 // For FlushEx(): Not Used, ignored.
396 //
399
432typedef
435 IN EFI_FILE_PROTOCOL *This,
436 OUT EFI_FILE_PROTOCOL **NewHandle,
437 IN CHAR16 *FileName,
438 IN UINT64 OpenMode,
439 IN UINT64 Attributes,
441 );
442
443
460typedef
463 IN EFI_FILE_PROTOCOL *This,
465);
466
467
487typedef
490 IN EFI_FILE_PROTOCOL *This,
492);
493
513typedef
516 IN EFI_FILE_PROTOCOL *This,
518 );
519
520#define EFI_FILE_PROTOCOL_REVISION 0x00010000
521#define EFI_FILE_PROTOCOL_REVISION2 0x00020000
522#define EFI_FILE_PROTOCOL_LATEST_REVISION EFI_FILE_PROTOCOL_REVISION2
523
524//
525// Revision defined in EFI1.1.
526//
527#define EFI_FILE_REVISION EFI_FILE_PROTOCOL_REVISION
528
558
559
561
562#endif
UINT64 UINTN
Definition ProcessorBind.h:118
unsigned short CHAR16
Definition ProcessorBind.h:105
#define EFIAPI
Definition ProcessorBind.h:172
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
EFI_STATUS(EFIAPI * EFI_FILE_FLUSH)(IN EFI_FILE_PROTOCOL *This)
Definition SimpleFileSystem.h:362
EFI_STATUS(EFIAPI * EFI_FILE_WRITE)(IN EFI_FILE_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer)
Definition SimpleFileSystem.h:228
EFI_FILE_PROTOCOL EFI_FILE
Definition SimpleFileSystem.h:43
EFI_GUID gEfiSimpleFileSystemProtocolGuid
EFI_STATUS(EFIAPI * EFI_FILE_DELETE)(IN EFI_FILE_PROTOCOL *This)
Definition SimpleFileSystem.h:174
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL EFI_FILE_IO_INTERFACE
Definition SimpleFileSystem.h:42
EFI_STATUS(EFIAPI * EFI_FILE_SET_INFO)(IN EFI_FILE_PROTOCOL *This, IN EFI_GUID *InformationType, IN UINTN BufferSize, IN VOID *Buffer)
Definition SimpleFileSystem.h:338
EFI_STATUS(EFIAPI * EFI_FILE_WRITE_EX)(IN EFI_FILE_PROTOCOL *This, IN OUT EFI_FILE_IO_TOKEN *Token)
Definition SimpleFileSystem.h:489
struct _EFI_FILE_PROTOCOL * EFI_FILE_HANDLE
Definition SimpleFileSystem.h:32
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)
Definition SimpleFileSystem.h:121
EFI_STATUS(EFIAPI * EFI_FILE_GET_INFO)(IN EFI_FILE_PROTOCOL *This, IN EFI_GUID *InformationType, IN OUT UINTN *BufferSize, OUT VOID *Buffer)
Definition SimpleFileSystem.h:295
EFI_STATUS(EFIAPI * EFI_FILE_GET_POSITION)(IN EFI_FILE_PROTOCOL *This, OUT UINT64 *Position)
Definition SimpleFileSystem.h:268
EFI_STATUS(EFIAPI * EFI_FILE_CLOSE)(IN EFI_FILE_PROTOCOL *This)
Definition SimpleFileSystem.h:158
EFI_STATUS(EFIAPI * EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME)(IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This, OUT EFI_FILE_PROTOCOL **Root)
Definition SimpleFileSystem.h:67
EFI_STATUS(EFIAPI * EFI_FILE_READ)(IN EFI_FILE_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer)
Definition SimpleFileSystem.h:200
EFI_STATUS(EFIAPI * EFI_FILE_FLUSH_EX)(IN EFI_FILE_PROTOCOL *This, IN OUT EFI_FILE_IO_TOKEN *Token)
Definition SimpleFileSystem.h:515
EFI_STATUS(EFIAPI * EFI_FILE_SET_POSITION)(IN EFI_FILE_PROTOCOL *This, IN UINT64 Position)
Definition SimpleFileSystem.h:249
EFI_STATUS(EFIAPI * EFI_FILE_READ_EX)(IN EFI_FILE_PROTOCOL *This, IN OUT EFI_FILE_IO_TOKEN *Token)
Definition SimpleFileSystem.h:462
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)
Definition SimpleFileSystem.h:434
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
VOID * EFI_EVENT
Definition UefiBaseType.h:41
#define VOID
Definition acefi.h:190
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition SimpleFileSystem.h:366
EFI_STATUS Status
Definition SimpleFileSystem.h:379
EFI_EVENT Event
Definition SimpleFileSystem.h:374
UINTN BufferSize
Definition SimpleFileSystem.h:389
VOID * Buffer
Definition SimpleFileSystem.h:397
Definition Base.h:281
Definition SimpleFileSystem.h:536
EFI_FILE_CLOSE Close
Definition SimpleFileSystem.h:544
EFI_FILE_READ Read
Definition SimpleFileSystem.h:546
EFI_FILE_DELETE Delete
Definition SimpleFileSystem.h:545
EFI_FILE_GET_INFO GetInfo
Definition SimpleFileSystem.h:550
UINT64 Revision
Definition SimpleFileSystem.h:542
EFI_FILE_FLUSH Flush
Definition SimpleFileSystem.h:552
EFI_FILE_READ_EX ReadEx
Definition SimpleFileSystem.h:554
EFI_FILE_FLUSH_EX FlushEx
Definition SimpleFileSystem.h:556
EFI_FILE_OPEN_EX OpenEx
Definition SimpleFileSystem.h:553
EFI_FILE_WRITE_EX WriteEx
Definition SimpleFileSystem.h:555
EFI_FILE_WRITE Write
Definition SimpleFileSystem.h:547
EFI_FILE_GET_POSITION GetPosition
Definition SimpleFileSystem.h:548
EFI_FILE_SET_INFO SetInfo
Definition SimpleFileSystem.h:551
EFI_FILE_SET_POSITION SetPosition
Definition SimpleFileSystem.h:549
EFI_FILE_OPEN Open
Definition SimpleFileSystem.h:543
Definition SimpleFileSystem.h:79
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME OpenVolume
Definition SimpleFileSystem.h:86
UINT64 Revision
Definition SimpleFileSystem.h:85