XenevaOS
Loading...
Searching...
No Matches
PeImage.h
Go to the documentation of this file.
1
22#ifndef __PE_IMAGE_H__
23#define __PE_IMAGE_H__
24
25//
26// PE32+ Subsystem type for EFI images
27//
28#define EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION 10
29#define EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
30#define EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
31#define EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER 13
32
33
34//
35// PE32+ Machine type for EFI images
36//
37#define IMAGE_FILE_MACHINE_I386 0x014c
38#define IMAGE_FILE_MACHINE_IA64 0x0200
39#define IMAGE_FILE_MACHINE_EBC 0x0EBC
40#define IMAGE_FILE_MACHINE_X64 0x8664
41#define IMAGE_FILE_MACHINE_ARMTHUMB_MIXED 0x01c2
42#define IMAGE_FILE_MACHINE_ARM64 0xAA64
43
44//
45// EXE file formats
46//
47#define EFI_IMAGE_DOS_SIGNATURE SIGNATURE_16('M', 'Z')
48#define EFI_IMAGE_OS2_SIGNATURE SIGNATURE_16('N', 'E')
49#define EFI_IMAGE_OS2_SIGNATURE_LE SIGNATURE_16('L', 'E')
50#define EFI_IMAGE_NT_SIGNATURE SIGNATURE_32('P', 'E', '\0', '\0')
51
77
90
94#define EFI_IMAGE_SIZEOF_FILE_HEADER 20
95
96//
97// Characteristics
98//
99#define EFI_IMAGE_FILE_RELOCS_STRIPPED BIT0
100#define EFI_IMAGE_FILE_EXECUTABLE_IMAGE BIT1
101#define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED BIT2
102#define EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED BIT3
103#define EFI_IMAGE_FILE_BYTES_REVERSED_LO BIT7
104#define EFI_IMAGE_FILE_32BIT_MACHINE BIT8
105#define EFI_IMAGE_FILE_DEBUG_STRIPPED BIT9
106#define EFI_IMAGE_FILE_SYSTEM BIT12
107#define EFI_IMAGE_FILE_DLL BIT13
108#define EFI_IMAGE_FILE_BYTES_REVERSED_HI BIT15
109
117
118//
119// Directory Entries
120//
121#define EFI_IMAGE_DIRECTORY_ENTRY_EXPORT 0
122#define EFI_IMAGE_DIRECTORY_ENTRY_IMPORT 1
123#define EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE 2
124#define EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION 3
125#define EFI_IMAGE_DIRECTORY_ENTRY_SECURITY 4
126#define EFI_IMAGE_DIRECTORY_ENTRY_BASERELOC 5
127#define EFI_IMAGE_DIRECTORY_ENTRY_DEBUG 6
128#define EFI_IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7
129#define EFI_IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8
130#define EFI_IMAGE_DIRECTORY_ENTRY_TLS 9
131#define EFI_IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
132
133#define EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES 16
134
141#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b
142
185
192#define EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b
193
235
236
246
247#define EFI_IMAGE_SIZEOF_NT_OPTIONAL32_HEADER sizeof (EFI_IMAGE_NT_HEADERS32)
248
258
259#define EFI_IMAGE_SIZEOF_NT_OPTIONAL64_HEADER sizeof (EFI_IMAGE_NT_HEADERS64)
260
261//
262// Other Windows Subsystem Values
263//
264#define EFI_IMAGE_SUBSYSTEM_UNKNOWN 0
265#define EFI_IMAGE_SUBSYSTEM_NATIVE 1
266#define EFI_IMAGE_SUBSYSTEM_WINDOWS_GUI 2
267#define EFI_IMAGE_SUBSYSTEM_WINDOWS_CUI 3
268#define EFI_IMAGE_SUBSYSTEM_OS2_CUI 5
269#define EFI_IMAGE_SUBSYSTEM_POSIX_CUI 7
270
274#define EFI_IMAGE_SIZEOF_SHORT_NAME 8
275
294
298#define EFI_IMAGE_SIZEOF_SECTION_HEADER 40
299
300//
301// Section Flags Values
302//
303#define EFI_IMAGE_SCN_TYPE_NO_PAD BIT3
304#define EFI_IMAGE_SCN_CNT_CODE BIT5
305#define EFI_IMAGE_SCN_CNT_INITIALIZED_DATA BIT6
306#define EFI_IMAGE_SCN_CNT_UNINITIALIZED_DATA BIT7
307
308#define EFI_IMAGE_SCN_LNK_OTHER BIT8
309#define EFI_IMAGE_SCN_LNK_INFO BIT9
310#define EFI_IMAGE_SCN_LNK_REMOVE BIT11
311#define EFI_IMAGE_SCN_LNK_COMDAT BIT12
312
313#define EFI_IMAGE_SCN_ALIGN_1BYTES BIT20
314#define EFI_IMAGE_SCN_ALIGN_2BYTES BIT21
315#define EFI_IMAGE_SCN_ALIGN_4BYTES (BIT20|BIT21)
316#define EFI_IMAGE_SCN_ALIGN_8BYTES BIT22
317#define EFI_IMAGE_SCN_ALIGN_16BYTES (BIT20|BIT22)
318#define EFI_IMAGE_SCN_ALIGN_32BYTES (BIT21|BIT22)
319#define EFI_IMAGE_SCN_ALIGN_64BYTES (BIT20|BIT21|BIT22)
320
321#define EFI_IMAGE_SCN_MEM_DISCARDABLE BIT25
322#define EFI_IMAGE_SCN_MEM_NOT_CACHED BIT26
323#define EFI_IMAGE_SCN_MEM_NOT_PAGED BIT27
324#define EFI_IMAGE_SCN_MEM_SHARED BIT28
325#define EFI_IMAGE_SCN_MEM_EXECUTE BIT29
326#define EFI_IMAGE_SCN_MEM_READ BIT30
327#define EFI_IMAGE_SCN_MEM_WRITE BIT31
328
332#define EFI_IMAGE_SIZEOF_SYMBOL 18
333
334//
335// Symbols have a section number of the section in which they are
336// defined. Otherwise, section numbers have the following meanings:
337//
338#define EFI_IMAGE_SYM_UNDEFINED (UINT16) 0
339#define EFI_IMAGE_SYM_ABSOLUTE (UINT16) -1
340#define EFI_IMAGE_SYM_DEBUG (UINT16) -2
341
342//
343// Symbol Type (fundamental) values.
344//
345#define EFI_IMAGE_SYM_TYPE_NULL 0
346#define EFI_IMAGE_SYM_TYPE_VOID 1
347#define EFI_IMAGE_SYM_TYPE_CHAR 2
348#define EFI_IMAGE_SYM_TYPE_SHORT 3
349#define EFI_IMAGE_SYM_TYPE_INT 4
350#define EFI_IMAGE_SYM_TYPE_LONG 5
351#define EFI_IMAGE_SYM_TYPE_FLOAT 6
352#define EFI_IMAGE_SYM_TYPE_DOUBLE 7
353#define EFI_IMAGE_SYM_TYPE_STRUCT 8
354#define EFI_IMAGE_SYM_TYPE_UNION 9
355#define EFI_IMAGE_SYM_TYPE_ENUM 10
356#define EFI_IMAGE_SYM_TYPE_MOE 11
357#define EFI_IMAGE_SYM_TYPE_BYTE 12
358#define EFI_IMAGE_SYM_TYPE_WORD 13
359#define EFI_IMAGE_SYM_TYPE_UINT 14
360#define EFI_IMAGE_SYM_TYPE_DWORD 15
361
362//
363// Symbol Type (derived) values.
364//
365#define EFI_IMAGE_SYM_DTYPE_NULL 0
366#define EFI_IMAGE_SYM_DTYPE_POINTER 1
367#define EFI_IMAGE_SYM_DTYPE_FUNCTION 2
368#define EFI_IMAGE_SYM_DTYPE_ARRAY 3
369
370//
371// Storage classes.
372//
373#define EFI_IMAGE_SYM_CLASS_END_OF_FUNCTION ((UINT8) -1)
374#define EFI_IMAGE_SYM_CLASS_NULL 0
375#define EFI_IMAGE_SYM_CLASS_AUTOMATIC 1
376#define EFI_IMAGE_SYM_CLASS_EXTERNAL 2
377#define EFI_IMAGE_SYM_CLASS_STATIC 3
378#define EFI_IMAGE_SYM_CLASS_REGISTER 4
379#define EFI_IMAGE_SYM_CLASS_EXTERNAL_DEF 5
380#define EFI_IMAGE_SYM_CLASS_LABEL 6
381#define EFI_IMAGE_SYM_CLASS_UNDEFINED_LABEL 7
382#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8
383#define EFI_IMAGE_SYM_CLASS_ARGUMENT 9
384#define EFI_IMAGE_SYM_CLASS_STRUCT_TAG 10
385#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_UNION 11
386#define EFI_IMAGE_SYM_CLASS_UNION_TAG 12
387#define EFI_IMAGE_SYM_CLASS_TYPE_DEFINITION 13
388#define EFI_IMAGE_SYM_CLASS_UNDEFINED_STATIC 14
389#define EFI_IMAGE_SYM_CLASS_ENUM_TAG 15
390#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
391#define EFI_IMAGE_SYM_CLASS_REGISTER_PARAM 17
392#define EFI_IMAGE_SYM_CLASS_BIT_FIELD 18
393#define EFI_IMAGE_SYM_CLASS_BLOCK 100
394#define EFI_IMAGE_SYM_CLASS_FUNCTION 101
395#define EFI_IMAGE_SYM_CLASS_END_OF_STRUCT 102
396#define EFI_IMAGE_SYM_CLASS_FILE 103
397#define EFI_IMAGE_SYM_CLASS_SECTION 104
398#define EFI_IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
399
400//
401// type packing constants
402//
403#define EFI_IMAGE_N_BTMASK 017
404#define EFI_IMAGE_N_TMASK 060
405#define EFI_IMAGE_N_TMASK1 0300
406#define EFI_IMAGE_N_TMASK2 0360
407#define EFI_IMAGE_N_BTSHFT 4
408#define EFI_IMAGE_N_TSHIFT 2
409
410//
411// Communal selection types.
412//
413#define EFI_IMAGE_COMDAT_SELECT_NODUPLICATES 1
414#define EFI_IMAGE_COMDAT_SELECT_ANY 2
415#define EFI_IMAGE_COMDAT_SELECT_SAME_SIZE 3
416#define EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH 4
417#define EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
418
419//
420// the following values only be referred in PeCoff, not defined in PECOFF.
421//
422#define EFI_IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
423#define EFI_IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
424#define EFI_IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3
425
434
438#define EFI_IMAGE_SIZEOF_RELOCATION 10
439
440//
441// I386 relocation types.
442//
443#define EFI_IMAGE_REL_I386_ABSOLUTE 0x0000
444#define EFI_IMAGE_REL_I386_DIR16 0x0001
445#define EFI_IMAGE_REL_I386_REL16 0x0002
446#define EFI_IMAGE_REL_I386_DIR32 0x0006
447#define EFI_IMAGE_REL_I386_DIR32NB 0x0007
448#define EFI_IMAGE_REL_I386_SEG12 0x0009
449#define EFI_IMAGE_REL_I386_SECTION 0x000A
450#define EFI_IMAGE_REL_I386_SECREL 0x000B
451#define EFI_IMAGE_REL_I386_REL32 0x0014
452
453//
454// x64 processor relocation types.
455//
456#define IMAGE_REL_AMD64_ABSOLUTE 0x0000
457#define IMAGE_REL_AMD64_ADDR64 0x0001
458#define IMAGE_REL_AMD64_ADDR32 0x0002
459#define IMAGE_REL_AMD64_ADDR32NB 0x0003
460#define IMAGE_REL_AMD64_REL32 0x0004
461#define IMAGE_REL_AMD64_REL32_1 0x0005
462#define IMAGE_REL_AMD64_REL32_2 0x0006
463#define IMAGE_REL_AMD64_REL32_3 0x0007
464#define IMAGE_REL_AMD64_REL32_4 0x0008
465#define IMAGE_REL_AMD64_REL32_5 0x0009
466#define IMAGE_REL_AMD64_SECTION 0x000A
467#define IMAGE_REL_AMD64_SECREL 0x000B
468#define IMAGE_REL_AMD64_SECREL7 0x000C
469#define IMAGE_REL_AMD64_TOKEN 0x000D
470#define IMAGE_REL_AMD64_SREL32 0x000E
471#define IMAGE_REL_AMD64_PAIR 0x000F
472#define IMAGE_REL_AMD64_SSPAN32 0x0010
473
481
485#define EFI_IMAGE_SIZEOF_BASE_RELOCATION 8
486
487//
488// Based relocation types.
489//
490#define EFI_IMAGE_REL_BASED_ABSOLUTE 0
491#define EFI_IMAGE_REL_BASED_HIGH 1
492#define EFI_IMAGE_REL_BASED_LOW 2
493#define EFI_IMAGE_REL_BASED_HIGHLOW 3
494#define EFI_IMAGE_REL_BASED_HIGHADJ 4
495#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR 5
496#define EFI_IMAGE_REL_BASED_ARM_MOV32A 5
497#define EFI_IMAGE_REL_BASED_ARM_MOV32T 7
498#define EFI_IMAGE_REL_BASED_IA64_IMM64 9
499#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR16 9
500#define EFI_IMAGE_REL_BASED_DIR64 10
501
512
516#define EFI_IMAGE_SIZEOF_LINENUMBER 6
517
518//
519// Archive format.
520//
521#define EFI_IMAGE_ARCHIVE_START_SIZE 8
522#define EFI_IMAGE_ARCHIVE_START "!<arch>\n"
523#define EFI_IMAGE_ARCHIVE_END "`\n"
524#define EFI_IMAGE_ARCHIVE_PAD "\n"
525#define EFI_IMAGE_ARCHIVE_LINKER_MEMBER "/ "
526#define EFI_IMAGE_ARCHIVE_LONGNAMES_MEMBER "// "
527
531typedef struct {
533 UINT8 Date[12];
534 UINT8 UserID[6];
535 UINT8 GroupID[6];
536 UINT8 Mode[8];
538 UINT8 EndHeader[2];
540
544#define EFI_IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
545
546
547//
548// DLL Support
549//
550
567
575
586
587#define EFI_IMAGE_ORDINAL_FLAG BIT31
588#define EFI_IMAGE_SNAP_BY_ORDINAL(Ordinal) ((Ordinal & EFI_IMAGE_ORDINAL_FLAG) != 0)
589#define EFI_IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff)
590
601
602
616
617#define EFI_IMAGE_DEBUG_TYPE_CODEVIEW 2
618
622#define CODEVIEW_SIGNATURE_NB10 SIGNATURE_32('N', 'B', '1', '0')
623typedef struct {
628 //
629 // Filename of .PDB goes here
630 //
632
636#define CODEVIEW_SIGNATURE_RSDS SIGNATURE_32('R', 'S', 'D', 'S')
648
649
653#define CODEVIEW_SIGNATURE_MTOC SIGNATURE_32('M', 'T', 'O', 'C')
654typedef struct {
657 //
658 // Filename of .DLL (Mach-O with debug info) goes here
659 //
661
665typedef struct {
672 //
673 // Array of EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY entries goes here.
674 //
676
680typedef struct {
681 union {
682 struct {
685 } s;
687 } u1;
688 union {
690 struct {
693 } s;
694 } u2;
696
704
714
729
730
731#define EFI_TE_IMAGE_HEADER_SIGNATURE SIGNATURE_16('V', 'Z')
732
733//
734// Data directory indexes in our TE image header
735//
736#define EFI_TE_IMAGE_DIRECTORY_ENTRY_BASERELOC 0
737#define EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG 1
738
739
748
755
756#endif
unsigned short CHAR16
Definition ProcessorBind.h:105
unsigned int UINT32
Definition ProcessorBind.h:102
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]
Definition pe.h:30
uint32_t Size
Definition pe.h:1
uint16_t e_res[4]
Definition pe.h:14
uint16_t e_res2[10]
Definition pe.h:17
#define EFI_IMAGE_SIZEOF_SHORT_NAME
Definition PeImage.h:274
#define EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES
Definition PeImage.h:133
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char * Name
Definition acpixf.h:1159
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 Type
Definition acpixf.h:894
unsigned short UINT16
Definition actypes.h:237
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition PeImage.h:531
Definition PeImage.h:477
UINT32 SizeOfBlock
Definition PeImage.h:479
UINT32 VirtualAddress
Definition PeImage.h:478
Definition PeImage.h:113
UINT32 VirtualAddress
Definition PeImage.h:114
UINT32 Size
Definition PeImage.h:115
Definition PeImage.h:654
GUID MachOUuid
Definition PeImage.h:656
UINT32 Signature
"MTOC".
Definition PeImage.h:655
Definition PeImage.h:623
UINT32 Unknown3
Definition PeImage.h:627
UINT32 Unknown
Definition PeImage.h:625
UINT32 Signature
"NB10"
Definition PeImage.h:624
UINT32 Unknown2
Definition PeImage.h:626
Definition PeImage.h:637
UINT32 Unknown2
Definition PeImage.h:640
UINT32 Unknown4
Definition PeImage.h:642
UINT32 Signature
"RSDS".
Definition PeImage.h:638
UINT32 Unknown3
Definition PeImage.h:641
UINT32 Unknown
Definition PeImage.h:639
UINT32 Unknown5
Definition PeImage.h:643
Definition PeImage.h:606
UINT32 Type
Definition PeImage.h:611
UINT32 Characteristics
Definition PeImage.h:607
UINT16 MajorVersion
Definition PeImage.h:609
UINT32 SizeOfData
Definition PeImage.h:612
UINT32 TimeDateStamp
Definition PeImage.h:608
UINT16 MinorVersion
Definition PeImage.h:610
UINT32 FileOffset
The file pointer to the debug data.
Definition PeImage.h:614
UINT32 RVA
The address of the debug data when loaded, relative to the image base.
Definition PeImage.h:613
Definition PeImage.h:56
UINT16 e_oemid
OEM identifier (for e_oeminfo).
Definition PeImage.h:72
UINT16 e_oeminfo
OEM information; e_oemid specific.
Definition PeImage.h:73
UINT16 e_maxalloc
Maximum extra paragraphs needed.
Definition PeImage.h:63
UINT32 e_lfanew
File address of new exe header.
Definition PeImage.h:75
UINT16 e_crlc
Relocations.
Definition PeImage.h:60
UINT16 e_ip
Initial IP value.
Definition PeImage.h:67
UINT16 e_cparhdr
Size of header in paragraphs.
Definition PeImage.h:61
UINT16 e_magic
Magic number.
Definition PeImage.h:57
UINT16 e_minalloc
Minimum extra paragraphs needed.
Definition PeImage.h:62
UINT16 e_csum
Checksum.
Definition PeImage.h:66
UINT16 e_sp
Initial SP value.
Definition PeImage.h:65
UINT16 e_cblp
Bytes on last page of file.
Definition PeImage.h:58
UINT16 e_ss
Initial (relative) SS value.
Definition PeImage.h:64
UINT16 e_ovno
Overlay number.
Definition PeImage.h:70
UINT16 e_cp
Pages in file.
Definition PeImage.h:59
UINT16 e_lfarlc
File address of relocation table.
Definition PeImage.h:69
UINT16 e_cs
Initial (relative) CS value.
Definition PeImage.h:68
Definition PeImage.h:554
UINT32 NumberOfFunctions
Definition PeImage.h:561
UINT16 MajorVersion
Definition PeImage.h:557
UINT32 Name
Definition PeImage.h:559
UINT32 Characteristics
Definition PeImage.h:555
UINT16 MinorVersion
Definition PeImage.h:558
UINT32 AddressOfNameOrdinals
Definition PeImage.h:565
UINT32 AddressOfFunctions
Definition PeImage.h:563
UINT32 TimeDateStamp
Definition PeImage.h:556
UINT32 Base
Definition PeImage.h:560
UINT32 AddressOfNames
Definition PeImage.h:564
UINT32 NumberOfNames
Definition PeImage.h:562
Definition PeImage.h:81
UINT16 Characteristics
Definition PeImage.h:88
UINT32 TimeDateStamp
Definition PeImage.h:84
UINT32 PointerToSymbolTable
Definition PeImage.h:85
UINT32 NumberOfSymbols
Definition PeImage.h:86
UINT16 SizeOfOptionalHeader
Definition PeImage.h:87
UINT16 Machine
Definition PeImage.h:82
UINT16 NumberOfSections
Definition PeImage.h:83
Definition PeImage.h:571
UINT16 Hint
Definition PeImage.h:572
Definition PeImage.h:594
UINT32 ForwarderChain
Definition PeImage.h:597
UINT32 TimeDateStamp
Definition PeImage.h:596
EFI_IMAGE_THUNK_DATA * FirstThunk
Definition PeImage.h:599
UINT32 Characteristics
Definition PeImage.h:595
UINT32 Name
Definition PeImage.h:598
Definition PeImage.h:505
UINT32 SymbolTableIndex
Symbol table index of function name if Linenumber is 0.
Definition PeImage.h:507
UINT32 VirtualAddress
Virtual address of line number.
Definition PeImage.h:508
UINT16 Linenumber
Line number.
Definition PeImage.h:510
Definition PeImage.h:241
EFI_IMAGE_OPTIONAL_HEADER32 OptionalHeader
Definition PeImage.h:244
UINT32 Signature
Definition PeImage.h:242
EFI_IMAGE_FILE_HEADER FileHeader
Definition PeImage.h:243
Definition PeImage.h:253
EFI_IMAGE_FILE_HEADER FileHeader
Definition PeImage.h:255
EFI_IMAGE_OPTIONAL_HEADER64 OptionalHeader
Definition PeImage.h:256
UINT32 Signature
Definition PeImage.h:254
Definition PeImage.h:146
UINT32 SizeOfStackCommit
Definition PeImage.h:178
UINT32 CheckSum
Definition PeImage.h:174
UINT32 BaseOfData
Definition PeImage.h:158
UINT32 LoaderFlags
Definition PeImage.h:181
UINT32 FileAlignment
Definition PeImage.h:164
UINT16 MajorOperatingSystemVersion
Definition PeImage.h:165
UINT32 SizeOfHeaders
Definition PeImage.h:173
UINT16 MinorSubsystemVersion
Definition PeImage.h:170
UINT32 BaseOfCode
Definition PeImage.h:157
UINT8 MinorLinkerVersion
Definition PeImage.h:152
UINT32 SectionAlignment
Definition PeImage.h:163
UINT16 Subsystem
Definition PeImage.h:175
UINT32 ImageBase
Definition PeImage.h:162
UINT32 SizeOfInitializedData
Definition PeImage.h:154
UINT16 MajorSubsystemVersion
Definition PeImage.h:169
UINT16 Magic
Definition PeImage.h:150
UINT8 MajorLinkerVersion
Definition PeImage.h:151
UINT16 MajorImageVersion
Definition PeImage.h:167
UINT32 SizeOfHeapCommit
Definition PeImage.h:180
UINT16 MinorOperatingSystemVersion
Definition PeImage.h:166
UINT32 AddressOfEntryPoint
Definition PeImage.h:156
UINT32 NumberOfRvaAndSizes
Definition PeImage.h:182
UINT16 DllCharacteristics
Definition PeImage.h:176
UINT16 MinorImageVersion
Definition PeImage.h:168
UINT32 SizeOfHeapReserve
Definition PeImage.h:179
UINT32 SizeOfCode
Definition PeImage.h:153
UINT32 Win32VersionValue
Definition PeImage.h:171
UINT32 SizeOfUninitializedData
Definition PeImage.h:155
UINT32 SizeOfImage
Definition PeImage.h:172
UINT32 SizeOfStackReserve
Definition PeImage.h:177
Definition PeImage.h:197
UINT32 NumberOfRvaAndSizes
Definition PeImage.h:232
UINT8 MajorLinkerVersion
Definition PeImage.h:202
UINT64 ImageBase
Definition PeImage.h:212
UINT16 MajorSubsystemVersion
Definition PeImage.h:219
UINT16 MinorOperatingSystemVersion
Definition PeImage.h:216
UINT16 MinorImageVersion
Definition PeImage.h:218
UINT32 CheckSum
Definition PeImage.h:224
UINT64 SizeOfHeapCommit
Definition PeImage.h:230
UINT8 MinorLinkerVersion
Definition PeImage.h:203
UINT32 SectionAlignment
Definition PeImage.h:213
UINT16 Magic
Definition PeImage.h:201
UINT64 SizeOfHeapReserve
Definition PeImage.h:229
UINT32 SizeOfUninitializedData
Definition PeImage.h:206
UINT16 MajorImageVersion
Definition PeImage.h:217
UINT64 SizeOfStackReserve
Definition PeImage.h:227
UINT32 SizeOfHeaders
Definition PeImage.h:223
UINT64 SizeOfStackCommit
Definition PeImage.h:228
UINT16 Subsystem
Definition PeImage.h:225
UINT32 AddressOfEntryPoint
Definition PeImage.h:207
UINT32 SizeOfCode
Definition PeImage.h:204
UINT16 MinorSubsystemVersion
Definition PeImage.h:220
UINT32 Win32VersionValue
Definition PeImage.h:221
UINT32 FileAlignment
Definition PeImage.h:214
UINT32 SizeOfImage
Definition PeImage.h:222
UINT32 BaseOfCode
Definition PeImage.h:208
UINT32 SizeOfInitializedData
Definition PeImage.h:205
UINT32 LoaderFlags
Definition PeImage.h:231
UINT16 DllCharacteristics
Definition PeImage.h:226
UINT16 MajorOperatingSystemVersion
Definition PeImage.h:215
Definition PeImage.h:429
UINT16 Type
Definition PeImage.h:432
UINT32 VirtualAddress
Definition PeImage.h:430
UINT32 SymbolTableIndex
Definition PeImage.h:431
Definition PeImage.h:708
UINT32 CodePage
Definition PeImage.h:711
UINT32 Reserved
Definition PeImage.h:712
UINT32 Size
Definition PeImage.h:710
UINT32 OffsetToData
Definition PeImage.h:709
Definition PeImage.h:680
UINT32 DataIsDirectory
Definition PeImage.h:692
UINT32 OffsetToDirectory
Definition PeImage.h:691
UINT32 NameIsString
Definition PeImage.h:684
UINT32 NameOffset
Definition PeImage.h:683
UINT32 OffsetToData
Definition PeImage.h:689
UINT32 Id
Definition PeImage.h:686
Definition PeImage.h:700
UINT16 Length
Definition PeImage.h:701
Definition PeImage.h:665
UINT16 NumberOfIdEntries
Definition PeImage.h:671
UINT16 MajorVersion
Definition PeImage.h:668
UINT32 Characteristics
Definition PeImage.h:666
UINT16 NumberOfNamedEntries
Definition PeImage.h:670
UINT16 MinorVersion
Definition PeImage.h:669
UINT32 TimeDateStamp
Definition PeImage.h:667
Definition PeImage.h:279
UINT32 VirtualAddress
Definition PeImage.h:285
UINT32 PointerToRawData
Definition PeImage.h:287
UINT32 VirtualSize
Definition PeImage.h:283
UINT16 NumberOfLinenumbers
Definition PeImage.h:291
UINT32 SizeOfRawData
Definition PeImage.h:286
UINT32 PointerToRelocations
Definition PeImage.h:288
UINT32 PointerToLinenumbers
Definition PeImage.h:289
UINT16 NumberOfRelocations
Definition PeImage.h:290
UINT32 PhysicalAddress
Definition PeImage.h:282
UINT32 Characteristics
Definition PeImage.h:292
Definition PeImage.h:579
UINT32 Ordinal
Definition PeImage.h:582
UINT32 Function
Definition PeImage.h:581
EFI_IMAGE_IMPORT_BY_NAME * AddressOfData
Definition PeImage.h:583
Definition PeImage.h:718
UINT32 AddressOfEntryPoint
Offset to entry point – from original optional header.
Definition PeImage.h:724
UINT16 Signature
The signature for TE format = "VZ".
Definition PeImage.h:719
UINT8 Subsystem
From original optional header.
Definition PeImage.h:722
UINT64 ImageBase
From original file header.
Definition PeImage.h:726
UINT32 BaseOfCode
From original image – required for ITP debug.
Definition PeImage.h:725
UINT16 StrippedSize
Number of bytes we removed from the header.
Definition PeImage.h:723
UINT8 NumberOfSections
From the original file header.
Definition PeImage.h:721
UINT16 Machine
From the original file header.
Definition PeImage.h:720
Definition Base.h:281
Definition PeImage.h:749
EFI_TE_IMAGE_HEADER * Te
Definition PeImage.h:752
EFI_IMAGE_OPTIONAL_HEADER_UNION * Union
Definition PeImage.h:753
EFI_IMAGE_NT_HEADERS32 * Pe32
Definition PeImage.h:750
EFI_IMAGE_NT_HEADERS64 * Pe32Plus
Definition PeImage.h:751
Definition PeImage.h:743
EFI_IMAGE_NT_HEADERS64 Pe32Plus
Definition PeImage.h:745
EFI_TE_IMAGE_HEADER Te
Definition PeImage.h:746
EFI_IMAGE_NT_HEADERS32 Pe32
Definition PeImage.h:744