iPXE
Data Structures | Macros | Functions
PeImage.h File Reference

EFI image format for PE32, PE32+ and TE. More...

Go to the source code of this file.

Data Structures

struct  EFI_IMAGE_DOS_HEADER
 PE images can start with an optional DOS header, so if an image is run under DOS it can print an error message. More...
 
struct  EFI_IMAGE_FILE_HEADER
 COFF File Header (Object and Image). More...
 
struct  EFI_IMAGE_DATA_DIRECTORY
 Header Data Directories. More...
 
struct  EFI_IMAGE_OPTIONAL_HEADER32
 Optional Header Standard Fields for PE32. More...
 
struct  EFI_IMAGE_OPTIONAL_HEADER64
 Optional Header Standard Fields for PE32+. More...
 
struct  EFI_IMAGE_NT_HEADERS32
 
struct  EFI_IMAGE_NT_HEADERS64
 
struct  EFI_IMAGE_SECTION_HEADER
 Section Table. More...
 
struct  EFI_IMAGE_RELOCATION
 Relocation format. More...
 
struct  EFI_IMAGE_BASE_RELOCATION
 Based relocation format. More...
 
struct  EFI_IMAGE_LINENUMBER
 Line number format. More...
 
struct  EFI_IMAGE_ARCHIVE_MEMBER_HEADER
 Archive Member Headers. More...
 
struct  EFI_IMAGE_EXPORT_DIRECTORY
 Export Directory Table. More...
 
struct  EFI_IMAGE_IMPORT_BY_NAME
 Hint/Name Table. More...
 
struct  EFI_IMAGE_THUNK_DATA
 Import Address Table RVA (Thunk Table). More...
 
struct  EFI_IMAGE_IMPORT_DESCRIPTOR
 Import Directory Table. More...
 
struct  EFI_IMAGE_DEBUG_DIRECTORY_ENTRY
 Debug Directory Format. More...
 
struct  EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY
 
struct  EFI_IMAGE_DEBUG_CODEVIEW_RSDS_ENTRY
 
struct  EFI_IMAGE_DEBUG_CODEVIEW_MTOC_ENTRY
 
struct  RUNTIME_FUNCTION
 
struct  UNWIND_INFO
 
struct  EFI_IMAGE_DEBUG_EX_DLLCHARACTERISTICS_ENTRY
 
struct  EFI_IMAGE_RESOURCE_DIRECTORY
 Resource format. More...
 
struct  EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY
 Resource directory entry format. More...
 
struct  EFI_IMAGE_RESOURCE_DIRECTORY_STRING
 Resource directory entry for string. More...
 
struct  EFI_IMAGE_RESOURCE_DATA_ENTRY
 Resource directory entry for data array. More...
 
struct  EFI_TE_IMAGE_HEADER
 Header format for TE images, defined in the PI Specification, 1.0. More...
 
union  EFI_IMAGE_OPTIONAL_HEADER_UNION
 Union of PE32, PE32+, and TE headers. More...
 
union  EFI_IMAGE_OPTIONAL_HEADER_PTR_UNION
 

Macros

#define EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION   10
 
#define EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER   11
 
#define EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER   12
 
#define EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER   13
 defined PI Specification, 1.0 More...
 
#define IMAGE_FILE_MACHINE_I386   0x014c
 
#define IMAGE_FILE_MACHINE_IA64   0x0200
 
#define IMAGE_FILE_MACHINE_EBC   0x0EBC
 
#define IMAGE_FILE_MACHINE_X64   0x8664
 
#define IMAGE_FILE_MACHINE_ARMTHUMB_MIXED   0x01c2
 
#define IMAGE_FILE_MACHINE_ARM64   0xAA64
 
#define IMAGE_FILE_MACHINE_RISCV32   0x5032
 
#define IMAGE_FILE_MACHINE_RISCV64   0x5064
 
#define IMAGE_FILE_MACHINE_RISCV128   0x5128
 
#define IMAGE_FILE_MACHINE_LOONGARCH32   0x6232
 
#define IMAGE_FILE_MACHINE_LOONGARCH64   0x6264
 
#define EFI_IMAGE_DOS_SIGNATURE   SIGNATURE_16('M', 'Z')
 
#define EFI_IMAGE_OS2_SIGNATURE   SIGNATURE_16('N', 'E')
 
#define EFI_IMAGE_OS2_SIGNATURE_LE   SIGNATURE_16('L', 'E')
 
#define EFI_IMAGE_NT_SIGNATURE   SIGNATURE_32('P', 'E', '\0', '\0')
 
#define EFI_IMAGE_SIZEOF_FILE_HEADER   20
 Size of EFI_IMAGE_FILE_HEADER. More...
 
#define EFI_IMAGE_FILE_RELOCS_STRIPPED   BIT0
 0x0001 Relocation info stripped from file. More...
 
#define EFI_IMAGE_FILE_EXECUTABLE_IMAGE   BIT1
 0x0002 File is executable (i.e. no unresolved externel references). More...
 
#define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED   BIT2
 0x0004 Line numbers stripped from file. More...
 
#define EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED   BIT3
 0x0008 Local symbols stripped from file. More...
 
#define EFI_IMAGE_FILE_LARGE_ADDRESS_AWARE   BIT5
 0x0020 Supports addresses > 2-GB More...
 
#define EFI_IMAGE_FILE_BYTES_REVERSED_LO   BIT7
 0x0080 Bytes of machine word are reversed. More...
 
#define EFI_IMAGE_FILE_32BIT_MACHINE   BIT8
 0x0100 32 bit word machine. More...
 
#define EFI_IMAGE_FILE_DEBUG_STRIPPED   BIT9
 0x0200 Debugging info stripped from file in .DBG file. More...
 
#define EFI_IMAGE_FILE_SYSTEM   BIT12
 0x1000 System File. More...
 
#define EFI_IMAGE_FILE_DLL   BIT13
 0x2000 File is a DLL. More...
 
#define EFI_IMAGE_FILE_BYTES_REVERSED_HI   BIT15
 0x8000 Bytes of machine word are reversed. More...
 
#define EFI_IMAGE_DIRECTORY_ENTRY_EXPORT   0
 
#define EFI_IMAGE_DIRECTORY_ENTRY_IMPORT   1
 
#define EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE   2
 
#define EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION   3
 
#define EFI_IMAGE_DIRECTORY_ENTRY_SECURITY   4
 
#define EFI_IMAGE_DIRECTORY_ENTRY_BASERELOC   5
 
#define EFI_IMAGE_DIRECTORY_ENTRY_DEBUG   6
 
#define EFI_IMAGE_DIRECTORY_ENTRY_COPYRIGHT   7
 
#define EFI_IMAGE_DIRECTORY_ENTRY_GLOBALPTR   8
 
#define EFI_IMAGE_DIRECTORY_ENTRY_TLS   9
 
#define EFI_IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG   10
 
#define EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES   16
 
#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC   0x10b
 
#define EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC   0x20b
 
#define EFI_IMAGE_SIZEOF_NT_OPTIONAL32_HEADER   sizeof (EFI_IMAGE_NT_HEADERS32)
 
#define EFI_IMAGE_SIZEOF_NT_OPTIONAL64_HEADER   sizeof (EFI_IMAGE_NT_HEADERS64)
 
#define EFI_IMAGE_SUBSYSTEM_UNKNOWN   0
 
#define EFI_IMAGE_SUBSYSTEM_NATIVE   1
 
#define EFI_IMAGE_SUBSYSTEM_WINDOWS_GUI   2
 
#define EFI_IMAGE_SUBSYSTEM_WINDOWS_CUI   3
 
#define EFI_IMAGE_SUBSYSTEM_OS2_CUI   5
 
#define EFI_IMAGE_SUBSYSTEM_POSIX_CUI   7
 
#define IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA   0x0020
 
#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE   0x0040
 
#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY   0x0080
 
#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT   0x0100
 
#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION   0x0200
 
#define IMAGE_DLLCHARACTERISTICS_NO_SEH   0x0400
 
#define IMAGE_DLLCHARACTERISTICS_NO_BIND   0x0800
 
#define IMAGE_DLLCHARACTERISTICS_APPCONTAINER   0x1000
 
#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER   0x2000
 
#define IMAGE_DLLCHARACTERISTICS_GUARD_CF   0x4000
 
#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE   0x8000
 
#define EFI_IMAGE_SIZEOF_SHORT_NAME   8
 Length of ShortName. More...
 
#define EFI_IMAGE_SIZEOF_SECTION_HEADER   40
 Size of EFI_IMAGE_SECTION_HEADER. More...
 
#define EFI_IMAGE_SCN_TYPE_NO_PAD   BIT3
 0x00000008 ///< Reserved. More...
 
#define EFI_IMAGE_SCN_CNT_CODE   BIT5
 0x00000020 More...
 
#define EFI_IMAGE_SCN_CNT_INITIALIZED_DATA   BIT6
 0x00000040 More...
 
#define EFI_IMAGE_SCN_CNT_UNINITIALIZED_DATA   BIT7
 0x00000080 More...
 
#define EFI_IMAGE_SCN_LNK_OTHER   BIT8
 0x00000100 ///< Reserved. More...
 
#define EFI_IMAGE_SCN_LNK_INFO   BIT9
 0x00000200 ///< Section contains comments or some other type of information. More...
 
#define EFI_IMAGE_SCN_LNK_REMOVE   BIT11
 0x00000800 ///< Section contents will not become part of image. More...
 
#define EFI_IMAGE_SCN_LNK_COMDAT   BIT12
 0x00001000 More...
 
#define EFI_IMAGE_SCN_ALIGN_1BYTES   BIT20
 0x00100000 More...
 
#define EFI_IMAGE_SCN_ALIGN_2BYTES   BIT21
 0x00200000 More...
 
#define EFI_IMAGE_SCN_ALIGN_4BYTES   (BIT20|BIT21)
 0x00300000 More...
 
#define EFI_IMAGE_SCN_ALIGN_8BYTES   BIT22
 0x00400000 More...
 
#define EFI_IMAGE_SCN_ALIGN_16BYTES   (BIT20|BIT22)
 0x00500000 More...
 
#define EFI_IMAGE_SCN_ALIGN_32BYTES   (BIT21|BIT22)
 0x00600000 More...
 
#define EFI_IMAGE_SCN_ALIGN_64BYTES   (BIT20|BIT21|BIT22)
 0x00700000 More...
 
#define EFI_IMAGE_SCN_MEM_DISCARDABLE   BIT25
 0x02000000 More...
 
#define EFI_IMAGE_SCN_MEM_NOT_CACHED   BIT26
 0x04000000 More...
 
#define EFI_IMAGE_SCN_MEM_NOT_PAGED   BIT27
 0x08000000 More...
 
#define EFI_IMAGE_SCN_MEM_SHARED   BIT28
 0x10000000 More...
 
#define EFI_IMAGE_SCN_MEM_EXECUTE   BIT29
 0x20000000 More...
 
#define EFI_IMAGE_SCN_MEM_READ   BIT30
 0x40000000 More...
 
#define EFI_IMAGE_SCN_MEM_WRITE   BIT31
 0x80000000 More...
 
#define EFI_IMAGE_SIZEOF_SYMBOL   18
 Size of a Symbol Table Record. More...
 
#define EFI_IMAGE_SYM_UNDEFINED   (UINT16) 0
 Symbol is undefined or is common. More...
 
#define EFI_IMAGE_SYM_ABSOLUTE   (UINT16) -1
 Symbol is an absolute value. More...
 
#define EFI_IMAGE_SYM_DEBUG   (UINT16) -2
 Symbol is a special debug item. More...
 
#define EFI_IMAGE_SYM_TYPE_NULL   0
 no type. More...
 
#define EFI_IMAGE_SYM_TYPE_VOID   1
 no valid type. More...
 
#define EFI_IMAGE_SYM_TYPE_CHAR   2
 type character. More...
 
#define EFI_IMAGE_SYM_TYPE_SHORT   3
 type short integer. More...
 
#define EFI_IMAGE_SYM_TYPE_INT   4
 
#define EFI_IMAGE_SYM_TYPE_LONG   5
 
#define EFI_IMAGE_SYM_TYPE_FLOAT   6
 
#define EFI_IMAGE_SYM_TYPE_DOUBLE   7
 
#define EFI_IMAGE_SYM_TYPE_STRUCT   8
 
#define EFI_IMAGE_SYM_TYPE_UNION   9
 
#define EFI_IMAGE_SYM_TYPE_ENUM   10
 enumeration. More...
 
#define EFI_IMAGE_SYM_TYPE_MOE   11
 member of enumeration. More...
 
#define EFI_IMAGE_SYM_TYPE_BYTE   12
 
#define EFI_IMAGE_SYM_TYPE_WORD   13
 
#define EFI_IMAGE_SYM_TYPE_UINT   14
 
#define EFI_IMAGE_SYM_TYPE_DWORD   15
 
#define EFI_IMAGE_SYM_DTYPE_NULL   0
 no derived type. More...
 
#define EFI_IMAGE_SYM_DTYPE_POINTER   1
 
#define EFI_IMAGE_SYM_DTYPE_FUNCTION   2
 
#define EFI_IMAGE_SYM_DTYPE_ARRAY   3
 
#define EFI_IMAGE_SYM_CLASS_END_OF_FUNCTION   ((UINT8) -1)
 
#define EFI_IMAGE_SYM_CLASS_NULL   0
 
#define EFI_IMAGE_SYM_CLASS_AUTOMATIC   1
 
#define EFI_IMAGE_SYM_CLASS_EXTERNAL   2
 
#define EFI_IMAGE_SYM_CLASS_STATIC   3
 
#define EFI_IMAGE_SYM_CLASS_REGISTER   4
 
#define EFI_IMAGE_SYM_CLASS_EXTERNAL_DEF   5
 
#define EFI_IMAGE_SYM_CLASS_LABEL   6
 
#define EFI_IMAGE_SYM_CLASS_UNDEFINED_LABEL   7
 
#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_STRUCT   8
 
#define EFI_IMAGE_SYM_CLASS_ARGUMENT   9
 
#define EFI_IMAGE_SYM_CLASS_STRUCT_TAG   10
 
#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_UNION   11
 
#define EFI_IMAGE_SYM_CLASS_UNION_TAG   12
 
#define EFI_IMAGE_SYM_CLASS_TYPE_DEFINITION   13
 
#define EFI_IMAGE_SYM_CLASS_UNDEFINED_STATIC   14
 
#define EFI_IMAGE_SYM_CLASS_ENUM_TAG   15
 
#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_ENUM   16
 
#define EFI_IMAGE_SYM_CLASS_REGISTER_PARAM   17
 
#define EFI_IMAGE_SYM_CLASS_BIT_FIELD   18
 
#define EFI_IMAGE_SYM_CLASS_BLOCK   100
 
#define EFI_IMAGE_SYM_CLASS_FUNCTION   101
 
#define EFI_IMAGE_SYM_CLASS_END_OF_STRUCT   102
 
#define EFI_IMAGE_SYM_CLASS_FILE   103
 
#define EFI_IMAGE_SYM_CLASS_SECTION   104
 
#define EFI_IMAGE_SYM_CLASS_WEAK_EXTERNAL   105
 
#define EFI_IMAGE_N_BTMASK   017
 
#define EFI_IMAGE_N_TMASK   060
 
#define EFI_IMAGE_N_TMASK1   0300
 
#define EFI_IMAGE_N_TMASK2   0360
 
#define EFI_IMAGE_N_BTSHFT   4
 
#define EFI_IMAGE_N_TSHIFT   2
 
#define EFI_IMAGE_COMDAT_SELECT_NODUPLICATES   1
 
#define EFI_IMAGE_COMDAT_SELECT_ANY   2
 
#define EFI_IMAGE_COMDAT_SELECT_SAME_SIZE   3
 
#define EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH   4
 
#define EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE   5
 
#define EFI_IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY   1
 
#define EFI_IMAGE_WEAK_EXTERN_SEARCH_LIBRARY   2
 
#define EFI_IMAGE_WEAK_EXTERN_SEARCH_ALIAS   3
 
#define EFI_IMAGE_SIZEOF_RELOCATION   10
 Size of EFI_IMAGE_RELOCATION. More...
 
#define EFI_IMAGE_REL_I386_ABSOLUTE   0x0000
 Reference is absolute, no relocation is necessary. More...
 
#define EFI_IMAGE_REL_I386_DIR16   0x0001
 Direct 16-bit reference to the symbols virtual address. More...
 
#define EFI_IMAGE_REL_I386_REL16   0x0002
 PC-relative 16-bit reference to the symbols virtual address. More...
 
#define EFI_IMAGE_REL_I386_DIR32   0x0006
 Direct 32-bit reference to the symbols virtual address. More...
 
#define EFI_IMAGE_REL_I386_DIR32NB   0x0007
 Direct 32-bit reference to the symbols virtual address, base not included. More...
 
#define EFI_IMAGE_REL_I386_SEG12   0x0009
 Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address. More...
 
#define EFI_IMAGE_REL_I386_SECTION   0x000A
 
#define EFI_IMAGE_REL_I386_SECREL   0x000B
 
#define EFI_IMAGE_REL_I386_REL32   0x0014
 PC-relative 32-bit reference to the symbols virtual address. More...
 
#define IMAGE_REL_AMD64_ABSOLUTE   0x0000
 
#define IMAGE_REL_AMD64_ADDR64   0x0001
 
#define IMAGE_REL_AMD64_ADDR32   0x0002
 
#define IMAGE_REL_AMD64_ADDR32NB   0x0003
 
#define IMAGE_REL_AMD64_REL32   0x0004
 
#define IMAGE_REL_AMD64_REL32_1   0x0005
 
#define IMAGE_REL_AMD64_REL32_2   0x0006
 
#define IMAGE_REL_AMD64_REL32_3   0x0007
 
#define IMAGE_REL_AMD64_REL32_4   0x0008
 
#define IMAGE_REL_AMD64_REL32_5   0x0009
 
#define IMAGE_REL_AMD64_SECTION   0x000A
 
#define IMAGE_REL_AMD64_SECREL   0x000B
 
#define IMAGE_REL_AMD64_SECREL7   0x000C
 
#define IMAGE_REL_AMD64_TOKEN   0x000D
 
#define IMAGE_REL_AMD64_SREL32   0x000E
 
#define IMAGE_REL_AMD64_PAIR   0x000F
 
#define IMAGE_REL_AMD64_SSPAN32   0x0010
 
#define EFI_IMAGE_SIZEOF_BASE_RELOCATION   8
 Size of EFI_IMAGE_BASE_RELOCATION. More...
 
#define EFI_IMAGE_REL_BASED_ABSOLUTE   0
 
#define EFI_IMAGE_REL_BASED_HIGH   1
 
#define EFI_IMAGE_REL_BASED_LOW   2
 
#define EFI_IMAGE_REL_BASED_HIGHLOW   3
 
#define EFI_IMAGE_REL_BASED_HIGHADJ   4
 
#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR   5
 
#define EFI_IMAGE_REL_BASED_ARM_MOV32A   5
 
#define EFI_IMAGE_REL_BASED_ARM_MOV32T   7
 
#define EFI_IMAGE_REL_BASED_IA64_IMM64   9
 
#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR16   9
 
#define EFI_IMAGE_REL_BASED_DIR64   10
 
#define EFI_IMAGE_REL_BASED_RISCV_HI20   5
 Relocation types of RISC-V processor. More...
 
#define EFI_IMAGE_REL_BASED_RISCV_LOW12I   7
 
#define EFI_IMAGE_REL_BASED_RISCV_LOW12S   8
 
#define EFI_IMAGE_REL_BASED_LOONGARCH32_MARK_LA   8
 
#define EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA   8
 
#define EFI_IMAGE_SIZEOF_LINENUMBER   6
 Size of EFI_IMAGE_LINENUMBER. More...
 
#define EFI_IMAGE_ARCHIVE_START_SIZE   8
 
#define EFI_IMAGE_ARCHIVE_START   "!<arch>\n"
 
#define EFI_IMAGE_ARCHIVE_END   "`\n"
 
#define EFI_IMAGE_ARCHIVE_PAD   "\n"
 
#define EFI_IMAGE_ARCHIVE_LINKER_MEMBER   "/ "
 
#define EFI_IMAGE_ARCHIVE_LONGNAMES_MEMBER   "// "
 
#define EFI_IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR   60
 Size of EFI_IMAGE_ARCHIVE_MEMBER_HEADER. More...
 
#define EFI_IMAGE_EXPORT_ORDINAL_BASE   1
 
#define EFI_IMAGE_EXPORT_ADDR_SIZE   4
 
#define EFI_IMAGE_EXPORT_ORDINAL_SIZE   2
 
#define EFI_IMAGE_ORDINAL_FLAG   BIT31
 Flag for PE32. More...
 
#define EFI_IMAGE_SNAP_BY_ORDINAL(Ordinal)   ((Ordinal & EFI_IMAGE_ORDINAL_FLAG) != 0)
 
#define EFI_IMAGE_ORDINAL(Ordinal)   (Ordinal & 0xffff)
 
#define EFI_IMAGE_DEBUG_TYPE_CODEVIEW   2
 The Visual C++ debug information. More...
 
#define EFI_IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS   20
 
#define CODEVIEW_SIGNATURE_NB10   SIGNATURE_32('N', 'B', '1', '0')
 Debug Data Structure defined in Microsoft C++. More...
 
#define CODEVIEW_SIGNATURE_RSDS   SIGNATURE_32('R', 'S', 'D', 'S')
 Debug Data Structure defined in Microsoft C++. More...
 
#define CODEVIEW_SIGNATURE_MTOC   SIGNATURE_32('M', 'T', 'O', 'C')
 Debug Data Structure defined by Apple Mach-O to Coff utility. More...
 
#define EFI_IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT   0x0001
 Extended DLL Characteristics. More...
 
#define EFI_IMAGE_DLLCHARACTERISTICS_EX_FORWARD_CFI_COMPAT   0x0040
 
#define EFI_TE_IMAGE_HEADER_SIGNATURE   SIGNATURE_16('V', 'Z')
 
#define EFI_TE_IMAGE_DIRECTORY_ENTRY_BASERELOC   0
 
#define EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG   1
 

Functions

 FILE_LICENCE (BSD2_PATENT)
 

Detailed Description

EFI image format for PE32, PE32+ and TE.

Please note some data structures are different for PE32 and PE32+. EFI_IMAGE_NT_HEADERS32 is for PE32 and EFI_IMAGE_NT_HEADERS64 is for PE32+.

This file is coded to the Visual Studio, Microsoft Portable Executable and Common Object File Format Specification, Revision 9.3 - December 29, 2015. This file also includes some definitions in PI Specification, Revision 1.0.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Portions Copyright (c) 2016 - 2020, Hewlett Packard Enterprise Development LP. All rights reserved.
Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file PeImage.h.

Macro Definition Documentation

◆ EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION

#define EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION   10

Definition at line 27 of file PeImage.h.

◆ EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER

#define EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER   11

Definition at line 28 of file PeImage.h.

◆ EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER

#define EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER   12

Definition at line 29 of file PeImage.h.

◆ EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER

#define EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER   13

defined PI Specification, 1.0

Definition at line 30 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_I386

#define IMAGE_FILE_MACHINE_I386   0x014c

Definition at line 35 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_IA64

#define IMAGE_FILE_MACHINE_IA64   0x0200

Definition at line 36 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_EBC

#define IMAGE_FILE_MACHINE_EBC   0x0EBC

Definition at line 37 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_X64

#define IMAGE_FILE_MACHINE_X64   0x8664

Definition at line 38 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_ARMTHUMB_MIXED

#define IMAGE_FILE_MACHINE_ARMTHUMB_MIXED   0x01c2

Definition at line 39 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_ARM64

#define IMAGE_FILE_MACHINE_ARM64   0xAA64

Definition at line 40 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_RISCV32

#define IMAGE_FILE_MACHINE_RISCV32   0x5032

Definition at line 41 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_RISCV64

#define IMAGE_FILE_MACHINE_RISCV64   0x5064

Definition at line 42 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_RISCV128

#define IMAGE_FILE_MACHINE_RISCV128   0x5128

Definition at line 43 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_LOONGARCH32

#define IMAGE_FILE_MACHINE_LOONGARCH32   0x6232

Definition at line 44 of file PeImage.h.

◆ IMAGE_FILE_MACHINE_LOONGARCH64

#define IMAGE_FILE_MACHINE_LOONGARCH64   0x6264

Definition at line 45 of file PeImage.h.

◆ EFI_IMAGE_DOS_SIGNATURE

#define EFI_IMAGE_DOS_SIGNATURE   SIGNATURE_16('M', 'Z')

Definition at line 50 of file PeImage.h.

◆ EFI_IMAGE_OS2_SIGNATURE

#define EFI_IMAGE_OS2_SIGNATURE   SIGNATURE_16('N', 'E')

Definition at line 51 of file PeImage.h.

◆ EFI_IMAGE_OS2_SIGNATURE_LE

#define EFI_IMAGE_OS2_SIGNATURE_LE   SIGNATURE_16('L', 'E')

Definition at line 52 of file PeImage.h.

◆ EFI_IMAGE_NT_SIGNATURE

#define EFI_IMAGE_NT_SIGNATURE   SIGNATURE_32('P', 'E', '\0', '\0')

Definition at line 53 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_FILE_HEADER

#define EFI_IMAGE_SIZEOF_FILE_HEADER   20

Size of EFI_IMAGE_FILE_HEADER.

Definition at line 97 of file PeImage.h.

◆ EFI_IMAGE_FILE_RELOCS_STRIPPED

#define EFI_IMAGE_FILE_RELOCS_STRIPPED   BIT0

0x0001 Relocation info stripped from file.

Definition at line 102 of file PeImage.h.

◆ EFI_IMAGE_FILE_EXECUTABLE_IMAGE

#define EFI_IMAGE_FILE_EXECUTABLE_IMAGE   BIT1

0x0002 File is executable (i.e. no unresolved externel references).

Definition at line 103 of file PeImage.h.

◆ EFI_IMAGE_FILE_LINE_NUMS_STRIPPED

#define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED   BIT2

0x0004 Line numbers stripped from file.

Definition at line 104 of file PeImage.h.

◆ EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED

#define EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED   BIT3

0x0008 Local symbols stripped from file.

Definition at line 105 of file PeImage.h.

◆ EFI_IMAGE_FILE_LARGE_ADDRESS_AWARE

#define EFI_IMAGE_FILE_LARGE_ADDRESS_AWARE   BIT5

0x0020 Supports addresses > 2-GB

Definition at line 106 of file PeImage.h.

◆ EFI_IMAGE_FILE_BYTES_REVERSED_LO

#define EFI_IMAGE_FILE_BYTES_REVERSED_LO   BIT7

0x0080 Bytes of machine word are reversed.

Definition at line 107 of file PeImage.h.

◆ EFI_IMAGE_FILE_32BIT_MACHINE

#define EFI_IMAGE_FILE_32BIT_MACHINE   BIT8

0x0100 32 bit word machine.

Definition at line 108 of file PeImage.h.

◆ EFI_IMAGE_FILE_DEBUG_STRIPPED

#define EFI_IMAGE_FILE_DEBUG_STRIPPED   BIT9

0x0200 Debugging info stripped from file in .DBG file.

Definition at line 109 of file PeImage.h.

◆ EFI_IMAGE_FILE_SYSTEM

#define EFI_IMAGE_FILE_SYSTEM   BIT12

0x1000 System File.

Definition at line 110 of file PeImage.h.

◆ EFI_IMAGE_FILE_DLL

#define EFI_IMAGE_FILE_DLL   BIT13

0x2000 File is a DLL.

Definition at line 111 of file PeImage.h.

◆ EFI_IMAGE_FILE_BYTES_REVERSED_HI

#define EFI_IMAGE_FILE_BYTES_REVERSED_HI   BIT15

0x8000 Bytes of machine word are reversed.

Definition at line 112 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_EXPORT

#define EFI_IMAGE_DIRECTORY_ENTRY_EXPORT   0

Definition at line 125 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_IMPORT

#define EFI_IMAGE_DIRECTORY_ENTRY_IMPORT   1

Definition at line 126 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE

#define EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE   2

Definition at line 127 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION

#define EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION   3

Definition at line 128 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_SECURITY

#define EFI_IMAGE_DIRECTORY_ENTRY_SECURITY   4

Definition at line 129 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_BASERELOC

#define EFI_IMAGE_DIRECTORY_ENTRY_BASERELOC   5

Definition at line 130 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_DEBUG

#define EFI_IMAGE_DIRECTORY_ENTRY_DEBUG   6

Definition at line 131 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_COPYRIGHT

#define EFI_IMAGE_DIRECTORY_ENTRY_COPYRIGHT   7

Definition at line 132 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_GLOBALPTR

#define EFI_IMAGE_DIRECTORY_ENTRY_GLOBALPTR   8

Definition at line 133 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_TLS

#define EFI_IMAGE_DIRECTORY_ENTRY_TLS   9

Definition at line 134 of file PeImage.h.

◆ EFI_IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG

#define EFI_IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG   10

Definition at line 135 of file PeImage.h.

◆ EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES

#define EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES   16

Definition at line 137 of file PeImage.h.

◆ EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC

#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC   0x10b
Attention
EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC means PE32 and EFI_IMAGE_OPTIONAL_HEADER32 must be used. The data structures only vary after NT additional fields.

Definition at line 145 of file PeImage.h.

◆ EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC

#define EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC   0x20b
Attention
EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC means PE32+ and EFI_IMAGE_OPTIONAL_HEADER64 must be used. The data structures only vary after NT additional fields.

Definition at line 196 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_NT_OPTIONAL32_HEADER

#define EFI_IMAGE_SIZEOF_NT_OPTIONAL32_HEADER   sizeof (EFI_IMAGE_NT_HEADERS32)

Definition at line 250 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_NT_OPTIONAL64_HEADER

#define EFI_IMAGE_SIZEOF_NT_OPTIONAL64_HEADER   sizeof (EFI_IMAGE_NT_HEADERS64)

Definition at line 262 of file PeImage.h.

◆ EFI_IMAGE_SUBSYSTEM_UNKNOWN

#define EFI_IMAGE_SUBSYSTEM_UNKNOWN   0

Definition at line 267 of file PeImage.h.

◆ EFI_IMAGE_SUBSYSTEM_NATIVE

#define EFI_IMAGE_SUBSYSTEM_NATIVE   1

Definition at line 268 of file PeImage.h.

◆ EFI_IMAGE_SUBSYSTEM_WINDOWS_GUI

#define EFI_IMAGE_SUBSYSTEM_WINDOWS_GUI   2

Definition at line 269 of file PeImage.h.

◆ EFI_IMAGE_SUBSYSTEM_WINDOWS_CUI

#define EFI_IMAGE_SUBSYSTEM_WINDOWS_CUI   3

Definition at line 270 of file PeImage.h.

◆ EFI_IMAGE_SUBSYSTEM_OS2_CUI

#define EFI_IMAGE_SUBSYSTEM_OS2_CUI   5

Definition at line 271 of file PeImage.h.

◆ EFI_IMAGE_SUBSYSTEM_POSIX_CUI

#define EFI_IMAGE_SUBSYSTEM_POSIX_CUI   7

Definition at line 272 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA

#define IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA   0x0020

Definition at line 277 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE

#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE   0x0040

Definition at line 278 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY

#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY   0x0080

Definition at line 279 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_NX_COMPAT

#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT   0x0100

Definition at line 280 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_NO_ISOLATION

#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION   0x0200

Definition at line 281 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_NO_SEH

#define IMAGE_DLLCHARACTERISTICS_NO_SEH   0x0400

Definition at line 282 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_NO_BIND

#define IMAGE_DLLCHARACTERISTICS_NO_BIND   0x0800

Definition at line 283 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_APPCONTAINER

#define IMAGE_DLLCHARACTERISTICS_APPCONTAINER   0x1000

Definition at line 284 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_WDM_DRIVER

#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER   0x2000

Definition at line 285 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_GUARD_CF

#define IMAGE_DLLCHARACTERISTICS_GUARD_CF   0x4000

Definition at line 286 of file PeImage.h.

◆ IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE

#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE   0x8000

Definition at line 287 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_SHORT_NAME

#define EFI_IMAGE_SIZEOF_SHORT_NAME   8

Length of ShortName.

Definition at line 292 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_SECTION_HEADER

#define EFI_IMAGE_SIZEOF_SECTION_HEADER   40

Size of EFI_IMAGE_SECTION_HEADER.

Definition at line 316 of file PeImage.h.

◆ EFI_IMAGE_SCN_TYPE_NO_PAD

#define EFI_IMAGE_SCN_TYPE_NO_PAD   BIT3

0x00000008 ///< Reserved.

Definition at line 321 of file PeImage.h.

◆ EFI_IMAGE_SCN_CNT_CODE

#define EFI_IMAGE_SCN_CNT_CODE   BIT5

0x00000020

Definition at line 322 of file PeImage.h.

◆ EFI_IMAGE_SCN_CNT_INITIALIZED_DATA

#define EFI_IMAGE_SCN_CNT_INITIALIZED_DATA   BIT6

0x00000040

Definition at line 323 of file PeImage.h.

◆ EFI_IMAGE_SCN_CNT_UNINITIALIZED_DATA

#define EFI_IMAGE_SCN_CNT_UNINITIALIZED_DATA   BIT7

0x00000080

Definition at line 324 of file PeImage.h.

◆ EFI_IMAGE_SCN_LNK_OTHER

#define EFI_IMAGE_SCN_LNK_OTHER   BIT8

0x00000100 ///< Reserved.

Definition at line 326 of file PeImage.h.

◆ EFI_IMAGE_SCN_LNK_INFO

#define EFI_IMAGE_SCN_LNK_INFO   BIT9

0x00000200 ///< Section contains comments or some other type of information.

Definition at line 327 of file PeImage.h.

◆ EFI_IMAGE_SCN_LNK_REMOVE

#define EFI_IMAGE_SCN_LNK_REMOVE   BIT11

0x00000800 ///< Section contents will not become part of image.

Definition at line 328 of file PeImage.h.

◆ EFI_IMAGE_SCN_LNK_COMDAT

#define EFI_IMAGE_SCN_LNK_COMDAT   BIT12

0x00001000

Definition at line 329 of file PeImage.h.

◆ EFI_IMAGE_SCN_ALIGN_1BYTES

#define EFI_IMAGE_SCN_ALIGN_1BYTES   BIT20

0x00100000

Definition at line 331 of file PeImage.h.

◆ EFI_IMAGE_SCN_ALIGN_2BYTES

#define EFI_IMAGE_SCN_ALIGN_2BYTES   BIT21

0x00200000

Definition at line 332 of file PeImage.h.

◆ EFI_IMAGE_SCN_ALIGN_4BYTES

#define EFI_IMAGE_SCN_ALIGN_4BYTES   (BIT20|BIT21)

0x00300000

Definition at line 333 of file PeImage.h.

◆ EFI_IMAGE_SCN_ALIGN_8BYTES

#define EFI_IMAGE_SCN_ALIGN_8BYTES   BIT22

0x00400000

Definition at line 334 of file PeImage.h.

◆ EFI_IMAGE_SCN_ALIGN_16BYTES

#define EFI_IMAGE_SCN_ALIGN_16BYTES   (BIT20|BIT22)

0x00500000

Definition at line 335 of file PeImage.h.

◆ EFI_IMAGE_SCN_ALIGN_32BYTES

#define EFI_IMAGE_SCN_ALIGN_32BYTES   (BIT21|BIT22)

0x00600000

Definition at line 336 of file PeImage.h.

◆ EFI_IMAGE_SCN_ALIGN_64BYTES

#define EFI_IMAGE_SCN_ALIGN_64BYTES   (BIT20|BIT21|BIT22)

0x00700000

Definition at line 337 of file PeImage.h.

◆ EFI_IMAGE_SCN_MEM_DISCARDABLE

#define EFI_IMAGE_SCN_MEM_DISCARDABLE   BIT25

0x02000000

Definition at line 339 of file PeImage.h.

◆ EFI_IMAGE_SCN_MEM_NOT_CACHED

#define EFI_IMAGE_SCN_MEM_NOT_CACHED   BIT26

0x04000000

Definition at line 340 of file PeImage.h.

◆ EFI_IMAGE_SCN_MEM_NOT_PAGED

#define EFI_IMAGE_SCN_MEM_NOT_PAGED   BIT27

0x08000000

Definition at line 341 of file PeImage.h.

◆ EFI_IMAGE_SCN_MEM_SHARED

#define EFI_IMAGE_SCN_MEM_SHARED   BIT28

0x10000000

Definition at line 342 of file PeImage.h.

◆ EFI_IMAGE_SCN_MEM_EXECUTE

#define EFI_IMAGE_SCN_MEM_EXECUTE   BIT29

0x20000000

Definition at line 343 of file PeImage.h.

◆ EFI_IMAGE_SCN_MEM_READ

#define EFI_IMAGE_SCN_MEM_READ   BIT30

0x40000000

Definition at line 344 of file PeImage.h.

◆ EFI_IMAGE_SCN_MEM_WRITE

#define EFI_IMAGE_SCN_MEM_WRITE   BIT31

0x80000000

Definition at line 345 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_SYMBOL

#define EFI_IMAGE_SIZEOF_SYMBOL   18

Size of a Symbol Table Record.

Definition at line 350 of file PeImage.h.

◆ EFI_IMAGE_SYM_UNDEFINED

#define EFI_IMAGE_SYM_UNDEFINED   (UINT16) 0

Symbol is undefined or is common.

Definition at line 356 of file PeImage.h.

◆ EFI_IMAGE_SYM_ABSOLUTE

#define EFI_IMAGE_SYM_ABSOLUTE   (UINT16) -1

Symbol is an absolute value.

Definition at line 357 of file PeImage.h.

◆ EFI_IMAGE_SYM_DEBUG

#define EFI_IMAGE_SYM_DEBUG   (UINT16) -2

Symbol is a special debug item.

Definition at line 358 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_NULL

#define EFI_IMAGE_SYM_TYPE_NULL   0

no type.

Definition at line 363 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_VOID

#define EFI_IMAGE_SYM_TYPE_VOID   1

no valid type.

Definition at line 364 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_CHAR

#define EFI_IMAGE_SYM_TYPE_CHAR   2

type character.

Definition at line 365 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_SHORT

#define EFI_IMAGE_SYM_TYPE_SHORT   3

type short integer.

Definition at line 366 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_INT

#define EFI_IMAGE_SYM_TYPE_INT   4

Definition at line 367 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_LONG

#define EFI_IMAGE_SYM_TYPE_LONG   5

Definition at line 368 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_FLOAT

#define EFI_IMAGE_SYM_TYPE_FLOAT   6

Definition at line 369 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_DOUBLE

#define EFI_IMAGE_SYM_TYPE_DOUBLE   7

Definition at line 370 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_STRUCT

#define EFI_IMAGE_SYM_TYPE_STRUCT   8

Definition at line 371 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_UNION

#define EFI_IMAGE_SYM_TYPE_UNION   9

Definition at line 372 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_ENUM

#define EFI_IMAGE_SYM_TYPE_ENUM   10

enumeration.

Definition at line 373 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_MOE

#define EFI_IMAGE_SYM_TYPE_MOE   11

member of enumeration.

Definition at line 374 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_BYTE

#define EFI_IMAGE_SYM_TYPE_BYTE   12

Definition at line 375 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_WORD

#define EFI_IMAGE_SYM_TYPE_WORD   13

Definition at line 376 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_UINT

#define EFI_IMAGE_SYM_TYPE_UINT   14

Definition at line 377 of file PeImage.h.

◆ EFI_IMAGE_SYM_TYPE_DWORD

#define EFI_IMAGE_SYM_TYPE_DWORD   15

Definition at line 378 of file PeImage.h.

◆ EFI_IMAGE_SYM_DTYPE_NULL

#define EFI_IMAGE_SYM_DTYPE_NULL   0

no derived type.

Definition at line 383 of file PeImage.h.

◆ EFI_IMAGE_SYM_DTYPE_POINTER

#define EFI_IMAGE_SYM_DTYPE_POINTER   1

Definition at line 384 of file PeImage.h.

◆ EFI_IMAGE_SYM_DTYPE_FUNCTION

#define EFI_IMAGE_SYM_DTYPE_FUNCTION   2

Definition at line 385 of file PeImage.h.

◆ EFI_IMAGE_SYM_DTYPE_ARRAY

#define EFI_IMAGE_SYM_DTYPE_ARRAY   3

Definition at line 386 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_END_OF_FUNCTION

#define EFI_IMAGE_SYM_CLASS_END_OF_FUNCTION   ((UINT8) -1)

Definition at line 391 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_NULL

#define EFI_IMAGE_SYM_CLASS_NULL   0

Definition at line 392 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_AUTOMATIC

#define EFI_IMAGE_SYM_CLASS_AUTOMATIC   1

Definition at line 393 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_EXTERNAL

#define EFI_IMAGE_SYM_CLASS_EXTERNAL   2

Definition at line 394 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_STATIC

#define EFI_IMAGE_SYM_CLASS_STATIC   3

Definition at line 395 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_REGISTER

#define EFI_IMAGE_SYM_CLASS_REGISTER   4

Definition at line 396 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_EXTERNAL_DEF

#define EFI_IMAGE_SYM_CLASS_EXTERNAL_DEF   5

Definition at line 397 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_LABEL

#define EFI_IMAGE_SYM_CLASS_LABEL   6

Definition at line 398 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_UNDEFINED_LABEL

#define EFI_IMAGE_SYM_CLASS_UNDEFINED_LABEL   7

Definition at line 399 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_MEMBER_OF_STRUCT

#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_STRUCT   8

Definition at line 400 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_ARGUMENT

#define EFI_IMAGE_SYM_CLASS_ARGUMENT   9

Definition at line 401 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_STRUCT_TAG

#define EFI_IMAGE_SYM_CLASS_STRUCT_TAG   10

Definition at line 402 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_MEMBER_OF_UNION

#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_UNION   11

Definition at line 403 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_UNION_TAG

#define EFI_IMAGE_SYM_CLASS_UNION_TAG   12

Definition at line 404 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_TYPE_DEFINITION

#define EFI_IMAGE_SYM_CLASS_TYPE_DEFINITION   13

Definition at line 405 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_UNDEFINED_STATIC

#define EFI_IMAGE_SYM_CLASS_UNDEFINED_STATIC   14

Definition at line 406 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_ENUM_TAG

#define EFI_IMAGE_SYM_CLASS_ENUM_TAG   15

Definition at line 407 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_MEMBER_OF_ENUM

#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_ENUM   16

Definition at line 408 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_REGISTER_PARAM

#define EFI_IMAGE_SYM_CLASS_REGISTER_PARAM   17

Definition at line 409 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_BIT_FIELD

#define EFI_IMAGE_SYM_CLASS_BIT_FIELD   18

Definition at line 410 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_BLOCK

#define EFI_IMAGE_SYM_CLASS_BLOCK   100

Definition at line 411 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_FUNCTION

#define EFI_IMAGE_SYM_CLASS_FUNCTION   101

Definition at line 412 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_END_OF_STRUCT

#define EFI_IMAGE_SYM_CLASS_END_OF_STRUCT   102

Definition at line 413 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_FILE

#define EFI_IMAGE_SYM_CLASS_FILE   103

Definition at line 414 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_SECTION

#define EFI_IMAGE_SYM_CLASS_SECTION   104

Definition at line 415 of file PeImage.h.

◆ EFI_IMAGE_SYM_CLASS_WEAK_EXTERNAL

#define EFI_IMAGE_SYM_CLASS_WEAK_EXTERNAL   105

Definition at line 416 of file PeImage.h.

◆ EFI_IMAGE_N_BTMASK

#define EFI_IMAGE_N_BTMASK   017

Definition at line 421 of file PeImage.h.

◆ EFI_IMAGE_N_TMASK

#define EFI_IMAGE_N_TMASK   060

Definition at line 422 of file PeImage.h.

◆ EFI_IMAGE_N_TMASK1

#define EFI_IMAGE_N_TMASK1   0300

Definition at line 423 of file PeImage.h.

◆ EFI_IMAGE_N_TMASK2

#define EFI_IMAGE_N_TMASK2   0360

Definition at line 424 of file PeImage.h.

◆ EFI_IMAGE_N_BTSHFT

#define EFI_IMAGE_N_BTSHFT   4

Definition at line 425 of file PeImage.h.

◆ EFI_IMAGE_N_TSHIFT

#define EFI_IMAGE_N_TSHIFT   2

Definition at line 426 of file PeImage.h.

◆ EFI_IMAGE_COMDAT_SELECT_NODUPLICATES

#define EFI_IMAGE_COMDAT_SELECT_NODUPLICATES   1

Definition at line 431 of file PeImage.h.

◆ EFI_IMAGE_COMDAT_SELECT_ANY

#define EFI_IMAGE_COMDAT_SELECT_ANY   2

Definition at line 432 of file PeImage.h.

◆ EFI_IMAGE_COMDAT_SELECT_SAME_SIZE

#define EFI_IMAGE_COMDAT_SELECT_SAME_SIZE   3

Definition at line 433 of file PeImage.h.

◆ EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH

#define EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH   4

Definition at line 434 of file PeImage.h.

◆ EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE

#define EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE   5

Definition at line 435 of file PeImage.h.

◆ EFI_IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY

#define EFI_IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY   1

Definition at line 440 of file PeImage.h.

◆ EFI_IMAGE_WEAK_EXTERN_SEARCH_LIBRARY

#define EFI_IMAGE_WEAK_EXTERN_SEARCH_LIBRARY   2

Definition at line 441 of file PeImage.h.

◆ EFI_IMAGE_WEAK_EXTERN_SEARCH_ALIAS

#define EFI_IMAGE_WEAK_EXTERN_SEARCH_ALIAS   3

Definition at line 442 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_RELOCATION

#define EFI_IMAGE_SIZEOF_RELOCATION   10

Size of EFI_IMAGE_RELOCATION.

Definition at line 456 of file PeImage.h.

◆ EFI_IMAGE_REL_I386_ABSOLUTE

#define EFI_IMAGE_REL_I386_ABSOLUTE   0x0000

Reference is absolute, no relocation is necessary.

Definition at line 461 of file PeImage.h.

◆ EFI_IMAGE_REL_I386_DIR16

#define EFI_IMAGE_REL_I386_DIR16   0x0001

Direct 16-bit reference to the symbols virtual address.

Definition at line 462 of file PeImage.h.

◆ EFI_IMAGE_REL_I386_REL16

#define EFI_IMAGE_REL_I386_REL16   0x0002

PC-relative 16-bit reference to the symbols virtual address.

Definition at line 463 of file PeImage.h.

◆ EFI_IMAGE_REL_I386_DIR32

#define EFI_IMAGE_REL_I386_DIR32   0x0006

Direct 32-bit reference to the symbols virtual address.

Definition at line 464 of file PeImage.h.

◆ EFI_IMAGE_REL_I386_DIR32NB

#define EFI_IMAGE_REL_I386_DIR32NB   0x0007

Direct 32-bit reference to the symbols virtual address, base not included.

Definition at line 465 of file PeImage.h.

◆ EFI_IMAGE_REL_I386_SEG12

#define EFI_IMAGE_REL_I386_SEG12   0x0009

Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address.

Definition at line 466 of file PeImage.h.

◆ EFI_IMAGE_REL_I386_SECTION

#define EFI_IMAGE_REL_I386_SECTION   0x000A

Definition at line 467 of file PeImage.h.

◆ EFI_IMAGE_REL_I386_SECREL

#define EFI_IMAGE_REL_I386_SECREL   0x000B

Definition at line 468 of file PeImage.h.

◆ EFI_IMAGE_REL_I386_REL32

#define EFI_IMAGE_REL_I386_REL32   0x0014

PC-relative 32-bit reference to the symbols virtual address.

Definition at line 469 of file PeImage.h.

◆ IMAGE_REL_AMD64_ABSOLUTE

#define IMAGE_REL_AMD64_ABSOLUTE   0x0000

Definition at line 474 of file PeImage.h.

◆ IMAGE_REL_AMD64_ADDR64

#define IMAGE_REL_AMD64_ADDR64   0x0001

Definition at line 475 of file PeImage.h.

◆ IMAGE_REL_AMD64_ADDR32

#define IMAGE_REL_AMD64_ADDR32   0x0002

Definition at line 476 of file PeImage.h.

◆ IMAGE_REL_AMD64_ADDR32NB

#define IMAGE_REL_AMD64_ADDR32NB   0x0003

Definition at line 477 of file PeImage.h.

◆ IMAGE_REL_AMD64_REL32

#define IMAGE_REL_AMD64_REL32   0x0004

Definition at line 478 of file PeImage.h.

◆ IMAGE_REL_AMD64_REL32_1

#define IMAGE_REL_AMD64_REL32_1   0x0005

Definition at line 479 of file PeImage.h.

◆ IMAGE_REL_AMD64_REL32_2

#define IMAGE_REL_AMD64_REL32_2   0x0006

Definition at line 480 of file PeImage.h.

◆ IMAGE_REL_AMD64_REL32_3

#define IMAGE_REL_AMD64_REL32_3   0x0007

Definition at line 481 of file PeImage.h.

◆ IMAGE_REL_AMD64_REL32_4

#define IMAGE_REL_AMD64_REL32_4   0x0008

Definition at line 482 of file PeImage.h.

◆ IMAGE_REL_AMD64_REL32_5

#define IMAGE_REL_AMD64_REL32_5   0x0009

Definition at line 483 of file PeImage.h.

◆ IMAGE_REL_AMD64_SECTION

#define IMAGE_REL_AMD64_SECTION   0x000A

Definition at line 484 of file PeImage.h.

◆ IMAGE_REL_AMD64_SECREL

#define IMAGE_REL_AMD64_SECREL   0x000B

Definition at line 485 of file PeImage.h.

◆ IMAGE_REL_AMD64_SECREL7

#define IMAGE_REL_AMD64_SECREL7   0x000C

Definition at line 486 of file PeImage.h.

◆ IMAGE_REL_AMD64_TOKEN

#define IMAGE_REL_AMD64_TOKEN   0x000D

Definition at line 487 of file PeImage.h.

◆ IMAGE_REL_AMD64_SREL32

#define IMAGE_REL_AMD64_SREL32   0x000E

Definition at line 488 of file PeImage.h.

◆ IMAGE_REL_AMD64_PAIR

#define IMAGE_REL_AMD64_PAIR   0x000F

Definition at line 489 of file PeImage.h.

◆ IMAGE_REL_AMD64_SSPAN32

#define IMAGE_REL_AMD64_SSPAN32   0x0010

Definition at line 490 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_BASE_RELOCATION

#define EFI_IMAGE_SIZEOF_BASE_RELOCATION   8

Size of EFI_IMAGE_BASE_RELOCATION.

Definition at line 503 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_ABSOLUTE

#define EFI_IMAGE_REL_BASED_ABSOLUTE   0

Definition at line 508 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_HIGH

#define EFI_IMAGE_REL_BASED_HIGH   1

Definition at line 509 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_LOW

#define EFI_IMAGE_REL_BASED_LOW   2

Definition at line 510 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_HIGHLOW

#define EFI_IMAGE_REL_BASED_HIGHLOW   3

Definition at line 511 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_HIGHADJ

#define EFI_IMAGE_REL_BASED_HIGHADJ   4

Definition at line 512 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_MIPS_JMPADDR

#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR   5

Definition at line 513 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_ARM_MOV32A

#define EFI_IMAGE_REL_BASED_ARM_MOV32A   5

Definition at line 514 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_ARM_MOV32T

#define EFI_IMAGE_REL_BASED_ARM_MOV32T   7

Definition at line 515 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_IA64_IMM64

#define EFI_IMAGE_REL_BASED_IA64_IMM64   9

Definition at line 516 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_MIPS_JMPADDR16

#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR16   9

Definition at line 517 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_DIR64

#define EFI_IMAGE_REL_BASED_DIR64   10

Definition at line 518 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_RISCV_HI20

#define EFI_IMAGE_REL_BASED_RISCV_HI20   5

Relocation types of RISC-V processor.

Definition at line 523 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_RISCV_LOW12I

#define EFI_IMAGE_REL_BASED_RISCV_LOW12I   7

Definition at line 524 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_RISCV_LOW12S

#define EFI_IMAGE_REL_BASED_RISCV_LOW12S   8

Definition at line 525 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_LOONGARCH32_MARK_LA

#define EFI_IMAGE_REL_BASED_LOONGARCH32_MARK_LA   8

Definition at line 530 of file PeImage.h.

◆ EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA

#define EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA   8

Definition at line 531 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_LINENUMBER

#define EFI_IMAGE_SIZEOF_LINENUMBER   6

Size of EFI_IMAGE_LINENUMBER.

Definition at line 547 of file PeImage.h.

◆ EFI_IMAGE_ARCHIVE_START_SIZE

#define EFI_IMAGE_ARCHIVE_START_SIZE   8

Definition at line 552 of file PeImage.h.

◆ EFI_IMAGE_ARCHIVE_START

#define EFI_IMAGE_ARCHIVE_START   "!<arch>\n"

Definition at line 553 of file PeImage.h.

◆ EFI_IMAGE_ARCHIVE_END

#define EFI_IMAGE_ARCHIVE_END   "`\n"

Definition at line 554 of file PeImage.h.

◆ EFI_IMAGE_ARCHIVE_PAD

#define EFI_IMAGE_ARCHIVE_PAD   "\n"

Definition at line 555 of file PeImage.h.

◆ EFI_IMAGE_ARCHIVE_LINKER_MEMBER

#define EFI_IMAGE_ARCHIVE_LINKER_MEMBER   "/ "

Definition at line 556 of file PeImage.h.

◆ EFI_IMAGE_ARCHIVE_LONGNAMES_MEMBER

#define EFI_IMAGE_ARCHIVE_LONGNAMES_MEMBER   "// "

Definition at line 557 of file PeImage.h.

◆ EFI_IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR

#define EFI_IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR   60

Size of EFI_IMAGE_ARCHIVE_MEMBER_HEADER.

Definition at line 575 of file PeImage.h.

◆ EFI_IMAGE_EXPORT_ORDINAL_BASE

#define EFI_IMAGE_EXPORT_ORDINAL_BASE   1

Definition at line 601 of file PeImage.h.

◆ EFI_IMAGE_EXPORT_ADDR_SIZE

#define EFI_IMAGE_EXPORT_ADDR_SIZE   4

Definition at line 602 of file PeImage.h.

◆ EFI_IMAGE_EXPORT_ORDINAL_SIZE

#define EFI_IMAGE_EXPORT_ORDINAL_SIZE   2

Definition at line 603 of file PeImage.h.

◆ EFI_IMAGE_ORDINAL_FLAG

#define EFI_IMAGE_ORDINAL_FLAG   BIT31

Flag for PE32.

Definition at line 624 of file PeImage.h.

◆ EFI_IMAGE_SNAP_BY_ORDINAL

#define EFI_IMAGE_SNAP_BY_ORDINAL (   Ordinal)    ((Ordinal & EFI_IMAGE_ORDINAL_FLAG) != 0)

Definition at line 625 of file PeImage.h.

◆ EFI_IMAGE_ORDINAL

#define EFI_IMAGE_ORDINAL (   Ordinal)    (Ordinal & 0xffff)

Definition at line 626 of file PeImage.h.

◆ EFI_IMAGE_DEBUG_TYPE_CODEVIEW

#define EFI_IMAGE_DEBUG_TYPE_CODEVIEW   2

The Visual C++ debug information.

Definition at line 653 of file PeImage.h.

◆ EFI_IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS

#define EFI_IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS   20

Definition at line 654 of file PeImage.h.

◆ CODEVIEW_SIGNATURE_NB10

#define CODEVIEW_SIGNATURE_NB10   SIGNATURE_32('N', 'B', '1', '0')

Debug Data Structure defined in Microsoft C++.

Definition at line 659 of file PeImage.h.

◆ CODEVIEW_SIGNATURE_RSDS

#define CODEVIEW_SIGNATURE_RSDS   SIGNATURE_32('R', 'S', 'D', 'S')

Debug Data Structure defined in Microsoft C++.

Definition at line 673 of file PeImage.h.

◆ CODEVIEW_SIGNATURE_MTOC

#define CODEVIEW_SIGNATURE_MTOC   SIGNATURE_32('M', 'T', 'O', 'C')

Debug Data Structure defined by Apple Mach-O to Coff utility.

Definition at line 689 of file PeImage.h.

◆ EFI_IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT

#define EFI_IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT   0x0001

Extended DLL Characteristics.

Definition at line 719 of file PeImage.h.

◆ EFI_IMAGE_DLLCHARACTERISTICS_EX_FORWARD_CFI_COMPAT

#define EFI_IMAGE_DLLCHARACTERISTICS_EX_FORWARD_CFI_COMPAT   0x0040

Definition at line 720 of file PeImage.h.

◆ EFI_TE_IMAGE_HEADER_SIGNATURE

#define EFI_TE_IMAGE_HEADER_SIGNATURE   SIGNATURE_16('V', 'Z')

Definition at line 794 of file PeImage.h.

◆ EFI_TE_IMAGE_DIRECTORY_ENTRY_BASERELOC

#define EFI_TE_IMAGE_DIRECTORY_ENTRY_BASERELOC   0

Definition at line 799 of file PeImage.h.

◆ EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG

#define EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG   1

Definition at line 800 of file PeImage.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT  )