OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
VirtualFsInternal.h
Go to the documentation of this file.
1
15#ifndef VIRTUAL_FS_INTERNAL_H
16#define VIRTUAL_FS_INTERNAL_H
17
18#include <Uefi.h>
19#include <Protocol/SimpleFileSystem.h>
20#include <Guid/FileInfo.h>
21
22#define VIRTUAL_VOLUME_DATA_SIGNATURE \
23 SIGNATURE_32 ('V', 'F', 'S', 'v')
24
25#define VIRTUAL_VOLUME_FROM_FILESYSTEM_PROTOCOL(This) \
26 CR ( \
27 This, \
28 VIRTUAL_FILESYSTEM_DATA, \
29 FileSystem, \
30 VIRTUAL_VOLUME_DATA_SIGNATURE \
31 )
32
33#define VIRTUAL_FILE_DATA_SIGNATURE \
34 SIGNATURE_32 ('V', 'F', 'S', 'f')
35
36#define VIRTUAL_FILE_FROM_PROTOCOL(This) \
37 CR ( \
38 This, \
39 VIRTUAL_FILE_DATA, \
40 Protocol, \
41 VIRTUAL_FILE_DATA_SIGNATURE \
42 )
43
44#define VIRTUAL_DIR_DATA_SIGNATURE \
45 SIGNATURE_32 ('V', 'F', 'S', 'd')
46
47#define VIRTUAL_DIR_FROM_PROTOCOL(This) \
48 CR ( \
49 This, \
50 VIRTUAL_DIR_DATA, \
51 Protocol, \
52 VIRTUAL_DIR_DATA_SIGNATURE \
53 )
54
58
60 UINT32 Signature;
61 EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *OriginalFileSystem;
62 EFI_FILE_OPEN OpenCallback;
63 EFI_SIMPLE_FILE_SYSTEM_PROTOCOL FileSystem;
64};
65
67 UINT32 Signature;
68 CHAR16 *FileName;
69 UINT8 *FileBuffer;
70 UINT64 FileSize;
73 EFI_FILE_OPEN OpenCallback;
74 EFI_FILE_PROTOCOL *OriginalProtocol;
75 EFI_FILE_PROTOCOL Protocol;
76};
77
79 UINT32 Signature;
80 CHAR16 *FileName;
81 LIST_ENTRY Entries;
82 LIST_ENTRY *CurrentEntry;
84 EFI_FILE_PROTOCOL *UnderlyingProtocol;
85 EFI_FILE_PROTOCOL Protocol;
86};
87
88typedef struct {
89 UINT32 Signature;
90 LIST_ENTRY Link;
91 EFI_FILE_INFO *FileInfo;
93
94//
95// PRELINKED_KEXT signature for list identification.
96//
97#define VIRTUAL_DIR_ENTRY_SIGNATURE SIGNATURE_32 ('V', 'S', 'd', 'L')
98
104#define GET_VIRTUAL_DIR_ENTRY_FROM_LINK(This) \
105 (CR ( \
106 (This), \
107 VIRTUAL_DIR_ENTRY, \
108 Link, \
109 VIRTUAL_DIR_ENTRY_SIGNATURE \
110 ))
111
112#endif // VIRTUAL_FS_INTERNAL_H
EFI_FILE_PROTOCOL Protocol
LIST_ENTRY * CurrentEntry
EFI_FILE_PROTOCOL * UnderlyingProtocol
EFI_FILE_INFO * FileInfo
EFI_FILE_PROTOCOL * OriginalProtocol
EFI_FILE_OPEN OpenCallback
EFI_FILE_PROTOCOL Protocol
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL FileSystem
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL * OriginalFileSystem