TianoCore EDK2 master
Loading...
Searching...
No Matches
ImagePropertiesRecordLib.h
Go to the documentation of this file.
1
11#ifndef IMAGE_PROPERTIES_RECORD_SUPPORT_LIB_H_
12#define IMAGE_PROPERTIES_RECORD_SUPPORT_LIB_H_
13
14#define IMAGE_PROPERTIES_RECORD_CODE_SECTION_SIGNATURE SIGNATURE_32 ('I','P','R','C')
15
16typedef struct {
17 UINT32 Signature;
18 LIST_ENTRY Link;
19 EFI_PHYSICAL_ADDRESS CodeSegmentBase;
20 UINT64 CodeSegmentSize;
22
23#define IMAGE_PROPERTIES_RECORD_SIGNATURE SIGNATURE_32 ('I','P','R','D')
24
25typedef struct {
26 UINT32 Signature;
27 LIST_ENTRY Link;
28 EFI_PHYSICAL_ADDRESS ImageBase;
29 UINT64 ImageSize;
30 UINTN CodeSegmentCount;
31 LIST_ENTRY CodeSegmentList;
33
76EFIAPI
78 IN OUT UINTN *MemoryMapSize,
79 IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
80 IN UINTN DescriptorSize,
81 IN LIST_ENTRY *ImageRecordList,
82 IN UINTN NumberOfAdditionalDescriptors
83 );
84
95EFIAPI
97 IN IMAGE_PROPERTIES_RECORD *ImageRecord
98 );
99
111BOOLEAN
112EFIAPI
114 IN IMAGE_PROPERTIES_RECORD *ImageRecord
115 );
116
127EFIAPI
129 IN LIST_ENTRY *ImageRecordList
130 );
131
142EFIAPI
144 IN IMAGE_PROPERTIES_RECORD *FirstImageRecord,
145 IN IMAGE_PROPERTIES_RECORD *SecondImageRecord
146 );
147
158EFIAPI
160 IN IMAGE_PROPERTIES_RECORD_CODE_SECTION *FirstImageRecordCodeSection,
161 IN IMAGE_PROPERTIES_RECORD_CODE_SECTION *SecondImageRecordCodeSection
162 );
163
177EFIAPI
179 IN EFI_PHYSICAL_ADDRESS ImageBase,
180 IN UINT64 ImageSize,
181 IN LIST_ENTRY *ImageRecordList
182 );
183
189VOID
190EFIAPI
192 IN LIST_ENTRY *ImageRecordList
193 );
194
213EFIAPI
215 IN CONST VOID *ImageBase,
216 IN CONST UINT64 ImageSize,
217 IN CONST UINT32 *Alignment OPTIONAL,
218 OUT IMAGE_PROPERTIES_RECORD *ImageRecord
219 );
220
228VOID
229EFIAPI
231 IN IMAGE_PROPERTIES_RECORD *ImageRecord
232 );
233
234#endif
UINT64 UINTN
EFI_STATUS EFIAPI SwapImageRecord(IN IMAGE_PROPERTIES_RECORD *FirstImageRecord, IN IMAGE_PROPERTIES_RECORD *SecondImageRecord)
EFI_STATUS EFIAPI SplitTable(IN OUT UINTN *MemoryMapSize, IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap, IN UINTN DescriptorSize, IN LIST_ENTRY *ImageRecordList, IN UINTN NumberOfAdditionalDescriptors)
VOID EFIAPI DeleteImagePropertiesRecord(IN IMAGE_PROPERTIES_RECORD *ImageRecord)
EFI_STATUS EFIAPI SwapImageRecordCodeSection(IN IMAGE_PROPERTIES_RECORD_CODE_SECTION *FirstImageRecordCodeSection, IN IMAGE_PROPERTIES_RECORD_CODE_SECTION *SecondImageRecordCodeSection)
BOOLEAN EFIAPI IsImageRecordCodeSectionValid(IN IMAGE_PROPERTIES_RECORD *ImageRecord)
IMAGE_PROPERTIES_RECORD *EFIAPI FindImageRecord(IN EFI_PHYSICAL_ADDRESS ImageBase, IN UINT64 ImageSize, IN LIST_ENTRY *ImageRecordList)
EFI_STATUS EFIAPI CreateImagePropertiesRecord(IN CONST VOID *ImageBase, IN CONST UINT64 ImageSize, IN CONST UINT32 *Alignment OPTIONAL, OUT IMAGE_PROPERTIES_RECORD *ImageRecord)
VOID EFIAPI DumpImageRecords(IN LIST_ENTRY *ImageRecordList)
EFI_STATUS EFIAPI SortImageRecord(IN LIST_ENTRY *ImageRecordList)
EFI_STATUS EFIAPI SortImageRecordCodeSection(IN IMAGE_PROPERTIES_RECORD *ImageRecord)
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
UINT64 EFI_PHYSICAL_ADDRESS
Definition: UefiBaseType.h:50
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29