]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/PeImage.h
MdePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / PeImage.h
index 9b267002a17f79fec3da42ff09248e56c494fc9e..3109dc20f8dd82769379b7d7c101d15f82033cf0 100644 (file)
@@ -21,11 +21,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //\r
 // PE32+ Subsystem type for EFI images\r
 //\r
-#define EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION         10\r
-#define EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11\r
-#define EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER      12\r
-#define EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER      13 ///< defined PI Specification, 1.0\r
-\r
+#define EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION          10\r
+#define EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER  11\r
+#define EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER       12\r
+#define EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER       13///< defined PI Specification, 1.0\r
 \r
 //\r
 // PE32+ Machine type for EFI images\r
@@ -53,44 +52,44 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 /// under DOS it can print an error message.\r
 ///\r
 typedef struct {\r
-  UINT16  e_magic;    ///< Magic number.\r
-  UINT16  e_cblp;     ///< Bytes on last page of file.\r
-  UINT16  e_cp;       ///< Pages in file.\r
-  UINT16  e_crlc;     ///< Relocations.\r
-  UINT16  e_cparhdr;  ///< Size of header in paragraphs.\r
-  UINT16  e_minalloc; ///< Minimum extra paragraphs needed.\r
-  UINT16  e_maxalloc; ///< Maximum extra paragraphs needed.\r
-  UINT16  e_ss;       ///< Initial (relative) SS value.\r
-  UINT16  e_sp;       ///< Initial SP value.\r
-  UINT16  e_csum;     ///< Checksum.\r
-  UINT16  e_ip;       ///< Initial IP value.\r
-  UINT16  e_cs;       ///< Initial (relative) CS value.\r
-  UINT16  e_lfarlc;   ///< File address of relocation table.\r
-  UINT16  e_ovno;     ///< Overlay number.\r
-  UINT16  e_res[4];   ///< Reserved words.\r
-  UINT16  e_oemid;    ///< OEM identifier (for e_oeminfo).\r
-  UINT16  e_oeminfo;  ///< OEM information; e_oemid specific.\r
-  UINT16  e_res2[10]; ///< Reserved words.\r
-  UINT32  e_lfanew;   ///< File address of new exe header.\r
+  UINT16    e_magic;    ///< Magic number.\r
+  UINT16    e_cblp;     ///< Bytes on last page of file.\r
+  UINT16    e_cp;       ///< Pages in file.\r
+  UINT16    e_crlc;     ///< Relocations.\r
+  UINT16    e_cparhdr;  ///< Size of header in paragraphs.\r
+  UINT16    e_minalloc; ///< Minimum extra paragraphs needed.\r
+  UINT16    e_maxalloc; ///< Maximum extra paragraphs needed.\r
+  UINT16    e_ss;       ///< Initial (relative) SS value.\r
+  UINT16    e_sp;       ///< Initial SP value.\r
+  UINT16    e_csum;     ///< Checksum.\r
+  UINT16    e_ip;       ///< Initial IP value.\r
+  UINT16    e_cs;       ///< Initial (relative) CS value.\r
+  UINT16    e_lfarlc;   ///< File address of relocation table.\r
+  UINT16    e_ovno;     ///< Overlay number.\r
+  UINT16    e_res[4];   ///< Reserved words.\r
+  UINT16    e_oemid;    ///< OEM identifier (for e_oeminfo).\r
+  UINT16    e_oeminfo;  ///< OEM information; e_oemid specific.\r
+  UINT16    e_res2[10]; ///< Reserved words.\r
+  UINT32    e_lfanew;   ///< File address of new exe header.\r
 } EFI_IMAGE_DOS_HEADER;\r
 \r
 ///\r
 /// COFF File Header (Object and Image).\r
 ///\r
 typedef struct {\r
-  UINT16  Machine;\r
-  UINT16  NumberOfSections;\r
-  UINT32  TimeDateStamp;\r
-  UINT32  PointerToSymbolTable;\r
-  UINT32  NumberOfSymbols;\r
-  UINT16  SizeOfOptionalHeader;\r
-  UINT16  Characteristics;\r
+  UINT16    Machine;\r
+  UINT16    NumberOfSections;\r
+  UINT32    TimeDateStamp;\r
+  UINT32    PointerToSymbolTable;\r
+  UINT32    NumberOfSymbols;\r
+  UINT16    SizeOfOptionalHeader;\r
+  UINT16    Characteristics;\r
 } EFI_IMAGE_FILE_HEADER;\r
 \r
 ///\r
 /// Size of EFI_IMAGE_FILE_HEADER.\r
 ///\r
-#define EFI_IMAGE_SIZEOF_FILE_HEADER        20\r
+#define EFI_IMAGE_SIZEOF_FILE_HEADER  20\r
 \r
 //\r
 // Characteristics\r
@@ -110,26 +109,26 @@ typedef struct {
 /// Header Data Directories.\r
 ///\r
 typedef struct {\r
-  UINT32  VirtualAddress;\r
-  UINT32  Size;\r
+  UINT32    VirtualAddress;\r
+  UINT32    Size;\r
 } EFI_IMAGE_DATA_DIRECTORY;\r
 \r
 //\r
 // Directory Entries\r
 //\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_EXPORT      0\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_IMPORT      1\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE    2\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION   3\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_SECURITY    4\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_BASERELOC   5\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_DEBUG       6\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_COPYRIGHT   7\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_GLOBALPTR   8\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_TLS         9\r
-#define EFI_IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_EXPORT       0\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_IMPORT       1\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE     2\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION    3\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_SECURITY     4\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_BASERELOC    5\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_DEBUG        6\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_COPYRIGHT    7\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_GLOBALPTR    8\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_TLS          9\r
+#define EFI_IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG  10\r
 \r
-#define EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES 16\r
+#define EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES  16\r
 \r
 ///\r
 /// @attention\r
@@ -137,7 +136,7 @@ typedef struct {
 /// EFI_IMAGE_OPTIONAL_HEADER32 must be used. The data structures only vary\r
 /// after NT additional fields.\r
 ///\r
-#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b\r
+#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC  0x10b\r
 \r
 ///\r
 /// Optional Header Standard Fields for PE32.\r
@@ -146,40 +145,40 @@ typedef struct {
   ///\r
   /// Standard fields.\r
   ///\r
-  UINT16                    Magic;\r
-  UINT8                     MajorLinkerVersion;\r
-  UINT8                     MinorLinkerVersion;\r
-  UINT32                    SizeOfCode;\r
-  UINT32                    SizeOfInitializedData;\r
-  UINT32                    SizeOfUninitializedData;\r
-  UINT32                    AddressOfEntryPoint;\r
-  UINT32                    BaseOfCode;\r
-  UINT32                    BaseOfData;  ///< PE32 contains this additional field, which is absent in PE32+.\r
+  UINT16                      Magic;\r
+  UINT8                       MajorLinkerVersion;\r
+  UINT8                       MinorLinkerVersion;\r
+  UINT32                      SizeOfCode;\r
+  UINT32                      SizeOfInitializedData;\r
+  UINT32                      SizeOfUninitializedData;\r
+  UINT32                      AddressOfEntryPoint;\r
+  UINT32                      BaseOfCode;\r
+  UINT32                      BaseOfData; ///< PE32 contains this additional field, which is absent in PE32+.\r
   ///\r
   /// Optional Header Windows-Specific Fields.\r
   ///\r
-  UINT32                    ImageBase;\r
-  UINT32                    SectionAlignment;\r
-  UINT32                    FileAlignment;\r
-  UINT16                    MajorOperatingSystemVersion;\r
-  UINT16                    MinorOperatingSystemVersion;\r
-  UINT16                    MajorImageVersion;\r
-  UINT16                    MinorImageVersion;\r
-  UINT16                    MajorSubsystemVersion;\r
-  UINT16                    MinorSubsystemVersion;\r
-  UINT32                    Win32VersionValue;\r
-  UINT32                    SizeOfImage;\r
-  UINT32                    SizeOfHeaders;\r
-  UINT32                    CheckSum;\r
-  UINT16                    Subsystem;\r
-  UINT16                    DllCharacteristics;\r
-  UINT32                    SizeOfStackReserve;\r
-  UINT32                    SizeOfStackCommit;\r
-  UINT32                    SizeOfHeapReserve;\r
-  UINT32                    SizeOfHeapCommit;\r
-  UINT32                    LoaderFlags;\r
-  UINT32                    NumberOfRvaAndSizes;\r
-  EFI_IMAGE_DATA_DIRECTORY  DataDirectory[EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES];\r
+  UINT32                      ImageBase;\r
+  UINT32                      SectionAlignment;\r
+  UINT32                      FileAlignment;\r
+  UINT16                      MajorOperatingSystemVersion;\r
+  UINT16                      MinorOperatingSystemVersion;\r
+  UINT16                      MajorImageVersion;\r
+  UINT16                      MinorImageVersion;\r
+  UINT16                      MajorSubsystemVersion;\r
+  UINT16                      MinorSubsystemVersion;\r
+  UINT32                      Win32VersionValue;\r
+  UINT32                      SizeOfImage;\r
+  UINT32                      SizeOfHeaders;\r
+  UINT32                      CheckSum;\r
+  UINT16                      Subsystem;\r
+  UINT16                      DllCharacteristics;\r
+  UINT32                      SizeOfStackReserve;\r
+  UINT32                      SizeOfStackCommit;\r
+  UINT32                      SizeOfHeapReserve;\r
+  UINT32                      SizeOfHeapCommit;\r
+  UINT32                      LoaderFlags;\r
+  UINT32                      NumberOfRvaAndSizes;\r
+  EFI_IMAGE_DATA_DIRECTORY    DataDirectory[EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES];\r
 } EFI_IMAGE_OPTIONAL_HEADER32;\r
 \r
 ///\r
@@ -188,7 +187,7 @@ typedef struct {
 /// EFI_IMAGE_OPTIONAL_HEADER64 must be used. The data structures only vary\r
 /// after NT additional fields.\r
 ///\r
-#define EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b\r
+#define EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC  0x20b\r
 \r
 ///\r
 /// Optional Header Standard Fields for PE32+.\r
@@ -197,166 +196,165 @@ typedef struct {
   ///\r
   /// Standard fields.\r
   ///\r
-  UINT16                    Magic;\r
-  UINT8                     MajorLinkerVersion;\r
-  UINT8                     MinorLinkerVersion;\r
-  UINT32                    SizeOfCode;\r
-  UINT32                    SizeOfInitializedData;\r
-  UINT32                    SizeOfUninitializedData;\r
-  UINT32                    AddressOfEntryPoint;\r
-  UINT32                    BaseOfCode;\r
+  UINT16                      Magic;\r
+  UINT8                       MajorLinkerVersion;\r
+  UINT8                       MinorLinkerVersion;\r
+  UINT32                      SizeOfCode;\r
+  UINT32                      SizeOfInitializedData;\r
+  UINT32                      SizeOfUninitializedData;\r
+  UINT32                      AddressOfEntryPoint;\r
+  UINT32                      BaseOfCode;\r
   ///\r
   /// Optional Header Windows-Specific Fields.\r
   ///\r
-  UINT64                    ImageBase;\r
-  UINT32                    SectionAlignment;\r
-  UINT32                    FileAlignment;\r
-  UINT16                    MajorOperatingSystemVersion;\r
-  UINT16                    MinorOperatingSystemVersion;\r
-  UINT16                    MajorImageVersion;\r
-  UINT16                    MinorImageVersion;\r
-  UINT16                    MajorSubsystemVersion;\r
-  UINT16                    MinorSubsystemVersion;\r
-  UINT32                    Win32VersionValue;\r
-  UINT32                    SizeOfImage;\r
-  UINT32                    SizeOfHeaders;\r
-  UINT32                    CheckSum;\r
-  UINT16                    Subsystem;\r
-  UINT16                    DllCharacteristics;\r
-  UINT64                    SizeOfStackReserve;\r
-  UINT64                    SizeOfStackCommit;\r
-  UINT64                    SizeOfHeapReserve;\r
-  UINT64                    SizeOfHeapCommit;\r
-  UINT32                    LoaderFlags;\r
-  UINT32                    NumberOfRvaAndSizes;\r
-  EFI_IMAGE_DATA_DIRECTORY  DataDirectory[EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES];\r
+  UINT64                      ImageBase;\r
+  UINT32                      SectionAlignment;\r
+  UINT32                      FileAlignment;\r
+  UINT16                      MajorOperatingSystemVersion;\r
+  UINT16                      MinorOperatingSystemVersion;\r
+  UINT16                      MajorImageVersion;\r
+  UINT16                      MinorImageVersion;\r
+  UINT16                      MajorSubsystemVersion;\r
+  UINT16                      MinorSubsystemVersion;\r
+  UINT32                      Win32VersionValue;\r
+  UINT32                      SizeOfImage;\r
+  UINT32                      SizeOfHeaders;\r
+  UINT32                      CheckSum;\r
+  UINT16                      Subsystem;\r
+  UINT16                      DllCharacteristics;\r
+  UINT64                      SizeOfStackReserve;\r
+  UINT64                      SizeOfStackCommit;\r
+  UINT64                      SizeOfHeapReserve;\r
+  UINT64                      SizeOfHeapCommit;\r
+  UINT32                      LoaderFlags;\r
+  UINT32                      NumberOfRvaAndSizes;\r
+  EFI_IMAGE_DATA_DIRECTORY    DataDirectory[EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES];\r
 } EFI_IMAGE_OPTIONAL_HEADER64;\r
 \r
-\r
 ///\r
 /// @attention\r
 /// EFI_IMAGE_NT_HEADERS32 is for use ONLY by tools.\r
 ///\r
 typedef struct {\r
-  UINT32                      Signature;\r
-  EFI_IMAGE_FILE_HEADER       FileHeader;\r
-  EFI_IMAGE_OPTIONAL_HEADER32 OptionalHeader;\r
+  UINT32                         Signature;\r
+  EFI_IMAGE_FILE_HEADER          FileHeader;\r
+  EFI_IMAGE_OPTIONAL_HEADER32    OptionalHeader;\r
 } EFI_IMAGE_NT_HEADERS32;\r
 \r
-#define EFI_IMAGE_SIZEOF_NT_OPTIONAL32_HEADER sizeof (EFI_IMAGE_NT_HEADERS32)\r
+#define EFI_IMAGE_SIZEOF_NT_OPTIONAL32_HEADER  sizeof (EFI_IMAGE_NT_HEADERS32)\r
 \r
 ///\r
 /// @attention\r
 /// EFI_IMAGE_HEADERS64 is for use ONLY by tools.\r
 ///\r
 typedef struct {\r
-  UINT32                      Signature;\r
-  EFI_IMAGE_FILE_HEADER       FileHeader;\r
-  EFI_IMAGE_OPTIONAL_HEADER64 OptionalHeader;\r
+  UINT32                         Signature;\r
+  EFI_IMAGE_FILE_HEADER          FileHeader;\r
+  EFI_IMAGE_OPTIONAL_HEADER64    OptionalHeader;\r
 } EFI_IMAGE_NT_HEADERS64;\r
 \r
-#define EFI_IMAGE_SIZEOF_NT_OPTIONAL64_HEADER sizeof (EFI_IMAGE_NT_HEADERS64)\r
+#define EFI_IMAGE_SIZEOF_NT_OPTIONAL64_HEADER  sizeof (EFI_IMAGE_NT_HEADERS64)\r
 \r
 //\r
 // Other Windows Subsystem Values\r
 //\r
-#define EFI_IMAGE_SUBSYSTEM_UNKNOWN     0\r
-#define EFI_IMAGE_SUBSYSTEM_NATIVE      1\r
-#define EFI_IMAGE_SUBSYSTEM_WINDOWS_GUI 2\r
-#define EFI_IMAGE_SUBSYSTEM_WINDOWS_CUI 3\r
-#define EFI_IMAGE_SUBSYSTEM_OS2_CUI     5\r
-#define EFI_IMAGE_SUBSYSTEM_POSIX_CUI   7\r
+#define EFI_IMAGE_SUBSYSTEM_UNKNOWN      0\r
+#define EFI_IMAGE_SUBSYSTEM_NATIVE       1\r
+#define EFI_IMAGE_SUBSYSTEM_WINDOWS_GUI  2\r
+#define EFI_IMAGE_SUBSYSTEM_WINDOWS_CUI  3\r
+#define EFI_IMAGE_SUBSYSTEM_OS2_CUI      5\r
+#define EFI_IMAGE_SUBSYSTEM_POSIX_CUI    7\r
 \r
 ///\r
 /// Length of ShortName.\r
 ///\r
-#define EFI_IMAGE_SIZEOF_SHORT_NAME 8\r
+#define EFI_IMAGE_SIZEOF_SHORT_NAME  8\r
 \r
 ///\r
 /// Section Table. This table immediately follows the optional header.\r
 ///\r
 typedef struct {\r
-  UINT8 Name[EFI_IMAGE_SIZEOF_SHORT_NAME];\r
+  UINT8     Name[EFI_IMAGE_SIZEOF_SHORT_NAME];\r
   union {\r
-    UINT32  PhysicalAddress;\r
-    UINT32  VirtualSize;\r
+    UINT32    PhysicalAddress;\r
+    UINT32    VirtualSize;\r
   } Misc;\r
-  UINT32  VirtualAddress;\r
-  UINT32  SizeOfRawData;\r
-  UINT32  PointerToRawData;\r
-  UINT32  PointerToRelocations;\r
-  UINT32  PointerToLinenumbers;\r
-  UINT16  NumberOfRelocations;\r
-  UINT16  NumberOfLinenumbers;\r
-  UINT32  Characteristics;\r
+  UINT32    VirtualAddress;\r
+  UINT32    SizeOfRawData;\r
+  UINT32    PointerToRawData;\r
+  UINT32    PointerToRelocations;\r
+  UINT32    PointerToLinenumbers;\r
+  UINT16    NumberOfRelocations;\r
+  UINT16    NumberOfLinenumbers;\r
+  UINT32    Characteristics;\r
 } EFI_IMAGE_SECTION_HEADER;\r
 \r
 ///\r
 /// Size of EFI_IMAGE_SECTION_HEADER.\r
 ///\r
-#define EFI_IMAGE_SIZEOF_SECTION_HEADER       40\r
+#define EFI_IMAGE_SIZEOF_SECTION_HEADER  40\r
 \r
 //\r
 // Section Flags Values\r
 //\r
-#define EFI_IMAGE_SCN_TYPE_NO_PAD                  BIT3   ///< 0x00000008  ///< Reserved.\r
-#define EFI_IMAGE_SCN_CNT_CODE                     BIT5   ///< 0x00000020\r
-#define EFI_IMAGE_SCN_CNT_INITIALIZED_DATA         BIT6   ///< 0x00000040\r
-#define EFI_IMAGE_SCN_CNT_UNINITIALIZED_DATA       BIT7   ///< 0x00000080\r
-\r
-#define EFI_IMAGE_SCN_LNK_OTHER                    BIT8   ///< 0x00000100  ///< Reserved.\r
-#define EFI_IMAGE_SCN_LNK_INFO                     BIT9   ///< 0x00000200  ///< Section contains comments or some other type of information.\r
-#define EFI_IMAGE_SCN_LNK_REMOVE                   BIT11  ///< 0x00000800  ///< Section contents will not become part of image.\r
-#define EFI_IMAGE_SCN_LNK_COMDAT                   BIT12  ///< 0x00001000\r
-\r
-#define EFI_IMAGE_SCN_ALIGN_1BYTES                 BIT20  ///< 0x00100000\r
-#define EFI_IMAGE_SCN_ALIGN_2BYTES                 BIT21  ///< 0x00200000\r
-#define EFI_IMAGE_SCN_ALIGN_4BYTES          (BIT20|BIT21) ///< 0x00300000\r
-#define EFI_IMAGE_SCN_ALIGN_8BYTES                 BIT22  ///< 0x00400000\r
-#define EFI_IMAGE_SCN_ALIGN_16BYTES         (BIT20|BIT22) ///< 0x00500000\r
-#define EFI_IMAGE_SCN_ALIGN_32BYTES         (BIT21|BIT22) ///< 0x00600000\r
-#define EFI_IMAGE_SCN_ALIGN_64BYTES   (BIT20|BIT21|BIT22) ///< 0x00700000\r
-\r
-#define EFI_IMAGE_SCN_MEM_DISCARDABLE              BIT25  ///< 0x02000000\r
-#define EFI_IMAGE_SCN_MEM_NOT_CACHED               BIT26  ///< 0x04000000\r
-#define EFI_IMAGE_SCN_MEM_NOT_PAGED                BIT27  ///< 0x08000000\r
-#define EFI_IMAGE_SCN_MEM_SHARED                   BIT28  ///< 0x10000000\r
-#define EFI_IMAGE_SCN_MEM_EXECUTE                  BIT29  ///< 0x20000000\r
-#define EFI_IMAGE_SCN_MEM_READ                     BIT30  ///< 0x40000000\r
-#define EFI_IMAGE_SCN_MEM_WRITE                    BIT31  ///< 0x80000000\r
+#define EFI_IMAGE_SCN_TYPE_NO_PAD             BIT3        ///< 0x00000008  ///< Reserved.\r
+#define EFI_IMAGE_SCN_CNT_CODE                BIT5        ///< 0x00000020\r
+#define EFI_IMAGE_SCN_CNT_INITIALIZED_DATA    BIT6        ///< 0x00000040\r
+#define EFI_IMAGE_SCN_CNT_UNINITIALIZED_DATA  BIT7        ///< 0x00000080\r
+\r
+#define EFI_IMAGE_SCN_LNK_OTHER   BIT8                    ///< 0x00000100  ///< Reserved.\r
+#define EFI_IMAGE_SCN_LNK_INFO    BIT9                    ///< 0x00000200  ///< Section contains comments or some other type of information.\r
+#define EFI_IMAGE_SCN_LNK_REMOVE  BIT11                   ///< 0x00000800  ///< Section contents will not become part of image.\r
+#define EFI_IMAGE_SCN_LNK_COMDAT  BIT12                   ///< 0x00001000\r
+\r
+#define EFI_IMAGE_SCN_ALIGN_1BYTES   BIT20                ///< 0x00100000\r
+#define EFI_IMAGE_SCN_ALIGN_2BYTES   BIT21                ///< 0x00200000\r
+#define EFI_IMAGE_SCN_ALIGN_4BYTES   (BIT20|BIT21)        ///< 0x00300000\r
+#define EFI_IMAGE_SCN_ALIGN_8BYTES   BIT22                ///< 0x00400000\r
+#define EFI_IMAGE_SCN_ALIGN_16BYTES  (BIT20|BIT22)        ///< 0x00500000\r
+#define EFI_IMAGE_SCN_ALIGN_32BYTES  (BIT21|BIT22)        ///< 0x00600000\r
+#define EFI_IMAGE_SCN_ALIGN_64BYTES  (BIT20|BIT21|BIT22)  ///< 0x00700000\r
+\r
+#define EFI_IMAGE_SCN_MEM_DISCARDABLE  BIT25              ///< 0x02000000\r
+#define EFI_IMAGE_SCN_MEM_NOT_CACHED   BIT26              ///< 0x04000000\r
+#define EFI_IMAGE_SCN_MEM_NOT_PAGED    BIT27              ///< 0x08000000\r
+#define EFI_IMAGE_SCN_MEM_SHARED       BIT28              ///< 0x10000000\r
+#define EFI_IMAGE_SCN_MEM_EXECUTE      BIT29              ///< 0x20000000\r
+#define EFI_IMAGE_SCN_MEM_READ         BIT30              ///< 0x40000000\r
+#define EFI_IMAGE_SCN_MEM_WRITE        BIT31              ///< 0x80000000\r
 \r
 ///\r
 /// Size of a Symbol Table Record.\r
 ///\r
-#define EFI_IMAGE_SIZEOF_SYMBOL 18\r
+#define EFI_IMAGE_SIZEOF_SYMBOL  18\r
 \r
 //\r
 // Symbols have a section number of the section in which they are\r
 // defined. Otherwise, section numbers have the following meanings:\r
 //\r
-#define EFI_IMAGE_SYM_UNDEFINED (UINT16) 0  ///< Symbol is undefined or is common.\r
-#define EFI_IMAGE_SYM_ABSOLUTE  (UINT16) -1 ///< Symbol is an absolute value.\r
-#define EFI_IMAGE_SYM_DEBUG     (UINT16) -2 ///< Symbol is a special debug item.\r
+#define EFI_IMAGE_SYM_UNDEFINED  (UINT16) 0  ///< Symbol is undefined or is common.\r
+#define EFI_IMAGE_SYM_ABSOLUTE   (UINT16) -1 ///< Symbol is an absolute value.\r
+#define EFI_IMAGE_SYM_DEBUG      (UINT16) -2 ///< Symbol is a special debug item.\r
 \r
 //\r
 // Symbol Type (fundamental) values.\r
 //\r
-#define EFI_IMAGE_SYM_TYPE_NULL     ///< no type.\r
-#define EFI_IMAGE_SYM_TYPE_VOID     ///< no valid type.\r
-#define EFI_IMAGE_SYM_TYPE_CHAR     ///< type character.\r
-#define EFI_IMAGE_SYM_TYPE_SHORT    ///< type short integer.\r
-#define EFI_IMAGE_SYM_TYPE_INT    4\r
-#define EFI_IMAGE_SYM_TYPE_LONG   5\r
-#define EFI_IMAGE_SYM_TYPE_FLOAT  6\r
-#define EFI_IMAGE_SYM_TYPE_DOUBLE 7\r
-#define EFI_IMAGE_SYM_TYPE_STRUCT 8\r
-#define EFI_IMAGE_SYM_TYPE_UNION  9\r
-#define EFI_IMAGE_SYM_TYPE_ENUM   10  ///< enumeration.\r
-#define EFI_IMAGE_SYM_TYPE_MOE    11  ///< member of enumeration.\r
-#define EFI_IMAGE_SYM_TYPE_BYTE   12\r
-#define EFI_IMAGE_SYM_TYPE_WORD   13\r
-#define EFI_IMAGE_SYM_TYPE_UINT   14\r
-#define EFI_IMAGE_SYM_TYPE_DWORD  15\r
+#define EFI_IMAGE_SYM_TYPE_NULL    0  ///< no type.\r
+#define EFI_IMAGE_SYM_TYPE_VOID    1  ///< no valid type.\r
+#define EFI_IMAGE_SYM_TYPE_CHAR    2  ///< type character.\r
+#define EFI_IMAGE_SYM_TYPE_SHORT   3  ///< type short integer.\r
+#define EFI_IMAGE_SYM_TYPE_INT     4\r
+#define EFI_IMAGE_SYM_TYPE_LONG    5\r
+#define EFI_IMAGE_SYM_TYPE_FLOAT   6\r
+#define EFI_IMAGE_SYM_TYPE_DOUBLE  7\r
+#define EFI_IMAGE_SYM_TYPE_STRUCT  8\r
+#define EFI_IMAGE_SYM_TYPE_UNION   9\r
+#define EFI_IMAGE_SYM_TYPE_ENUM    10 ///< enumeration.\r
+#define EFI_IMAGE_SYM_TYPE_MOE     11 ///< member of enumeration.\r
+#define EFI_IMAGE_SYM_TYPE_BYTE    12\r
+#define EFI_IMAGE_SYM_TYPE_WORD    13\r
+#define EFI_IMAGE_SYM_TYPE_UINT    14\r
+#define EFI_IMAGE_SYM_TYPE_DWORD   15\r
 \r
 //\r
 // Symbol Type (derived) values.\r
@@ -409,11 +407,11 @@ typedef struct {
 //\r
 // Communal selection types.\r
 //\r
-#define EFI_IMAGE_COMDAT_SELECT_NODUPLICATES    1\r
-#define EFI_IMAGE_COMDAT_SELECT_ANY             2\r
-#define EFI_IMAGE_COMDAT_SELECT_SAME_SIZE       3\r
-#define EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH     4\r
-#define EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE     5\r
+#define EFI_IMAGE_COMDAT_SELECT_NODUPLICATES  1\r
+#define EFI_IMAGE_COMDAT_SELECT_ANY           2\r
+#define EFI_IMAGE_COMDAT_SELECT_SAME_SIZE     3\r
+#define EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH   4\r
+#define EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE   5\r
 \r
 //\r
 // the following values only be referred in PeCoff, not defined in PECOFF.\r
@@ -426,28 +424,28 @@ typedef struct {
 /// Relocation format.\r
 ///\r
 typedef struct {\r
-  UINT32  VirtualAddress;\r
-  UINT32  SymbolTableIndex;\r
-  UINT16  Type;\r
+  UINT32    VirtualAddress;\r
+  UINT32    SymbolTableIndex;\r
+  UINT16    Type;\r
 } EFI_IMAGE_RELOCATION;\r
 \r
 ///\r
 /// Size of EFI_IMAGE_RELOCATION\r
 ///\r
-#define EFI_IMAGE_SIZEOF_RELOCATION 10\r
+#define EFI_IMAGE_SIZEOF_RELOCATION  10\r
 \r
 //\r
 // I386 relocation types.\r
 //\r
-#define EFI_IMAGE_REL_I386_ABSOLUTE 0x0000  ///< Reference is absolute, no relocation is necessary.\r
-#define EFI_IMAGE_REL_I386_DIR16    0x0001  ///< Direct 16-bit reference to the symbols virtual address.\r
-#define EFI_IMAGE_REL_I386_REL16    0x0002  ///< PC-relative 16-bit reference to the symbols virtual address.\r
-#define EFI_IMAGE_REL_I386_DIR32    0x0006  ///< Direct 32-bit reference to the symbols virtual address.\r
-#define EFI_IMAGE_REL_I386_DIR32NB  0x0007  ///< Direct 32-bit reference to the symbols virtual address, base not included.\r
-#define EFI_IMAGE_REL_I386_SEG12    0x0009  ///< Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address.\r
-#define EFI_IMAGE_REL_I386_SECTION  0x000A\r
-#define EFI_IMAGE_REL_I386_SECREL   0x000B\r
-#define EFI_IMAGE_REL_I386_REL32    0x0014  ///< PC-relative 32-bit reference to the symbols virtual address.\r
+#define EFI_IMAGE_REL_I386_ABSOLUTE  0x0000 ///< Reference is absolute, no relocation is necessary.\r
+#define EFI_IMAGE_REL_I386_DIR16     0x0001 ///< Direct 16-bit reference to the symbols virtual address.\r
+#define EFI_IMAGE_REL_I386_REL16     0x0002 ///< PC-relative 16-bit reference to the symbols virtual address.\r
+#define EFI_IMAGE_REL_I386_DIR32     0x0006 ///< Direct 32-bit reference to the symbols virtual address.\r
+#define EFI_IMAGE_REL_I386_DIR32NB   0x0007 ///< Direct 32-bit reference to the symbols virtual address, base not included.\r
+#define EFI_IMAGE_REL_I386_SEG12     0x0009 ///< Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address.\r
+#define EFI_IMAGE_REL_I386_SECTION   0x000A\r
+#define EFI_IMAGE_REL_I386_SECREL    0x000B\r
+#define EFI_IMAGE_REL_I386_REL32     0x0014 ///< PC-relative 32-bit reference to the symbols virtual address.\r
 \r
 //\r
 // x64 processor relocation types.\r
@@ -474,8 +472,8 @@ typedef struct {
 /// Based relocation format.\r
 ///\r
 typedef struct {\r
-  UINT32  VirtualAddress;\r
-  UINT32  SizeOfBlock;\r
+  UINT32    VirtualAddress;\r
+  UINT32    SizeOfBlock;\r
 } EFI_IMAGE_BASE_RELOCATION;\r
 \r
 ///\r
@@ -501,25 +499,25 @@ typedef struct {
 ///\r
 /// Relocation types of RISC-V processor.\r
 ///\r
-#define EFI_IMAGE_REL_BASED_RISCV_HI20      5\r
-#define EFI_IMAGE_REL_BASED_RISCV_LOW12I    7\r
-#define EFI_IMAGE_REL_BASED_RISCV_LOW12S    8\r
+#define EFI_IMAGE_REL_BASED_RISCV_HI20    5\r
+#define EFI_IMAGE_REL_BASED_RISCV_LOW12I  7\r
+#define EFI_IMAGE_REL_BASED_RISCV_LOW12S  8\r
 \r
 ///\r
 /// Line number format.\r
 ///\r
 typedef struct {\r
   union {\r
-    UINT32  SymbolTableIndex; ///< Symbol table index of function name if Linenumber is 0.\r
-    UINT32  VirtualAddress;   ///< Virtual address of line number.\r
+    UINT32    SymbolTableIndex; ///< Symbol table index of function name if Linenumber is 0.\r
+    UINT32    VirtualAddress;   ///< Virtual address of line number.\r
   } Type;\r
-  UINT16  Linenumber;         ///< Line number.\r
+  UINT16    Linenumber;       ///< Line number.\r
 } EFI_IMAGE_LINENUMBER;\r
 \r
 ///\r
 /// Size of EFI_IMAGE_LINENUMBER.\r
 ///\r
-#define EFI_IMAGE_SIZEOF_LINENUMBER 6\r
+#define EFI_IMAGE_SIZEOF_LINENUMBER  6\r
 \r
 //\r
 // Archive format.\r
@@ -535,20 +533,19 @@ typedef struct {
 /// Archive Member Headers\r
 ///\r
 typedef struct {\r
-  UINT8 Name[16];     ///< File member name - `/' terminated.\r
-  UINT8 Date[12];     ///< File member date - decimal.\r
-  UINT8 UserID[6];    ///< File member user id - decimal.\r
-  UINT8 GroupID[6];   ///< File member group id - decimal.\r
-  UINT8 Mode[8];      ///< File member mode - octal.\r
-  UINT8 Size[10];     ///< File member size - decimal.\r
-  UINT8 EndHeader[2]; ///< String to end header. (0x60 0x0A).\r
+  UINT8    Name[16];     ///< File member name - `/' terminated.\r
+  UINT8    Date[12];     ///< File member date - decimal.\r
+  UINT8    UserID[6];    ///< File member user id - decimal.\r
+  UINT8    GroupID[6];   ///< File member group id - decimal.\r
+  UINT8    Mode[8];      ///< File member mode - octal.\r
+  UINT8    Size[10];     ///< File member size - decimal.\r
+  UINT8    EndHeader[2]; ///< String to end header. (0x60 0x0A).\r
 } EFI_IMAGE_ARCHIVE_MEMBER_HEADER;\r
 \r
 ///\r
 /// Size of EFI_IMAGE_ARCHIVE_MEMBER_HEADER.\r
 ///\r
-#define EFI_IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60\r
-\r
+#define EFI_IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR  60\r
 \r
 //\r
 // DLL Support\r
@@ -558,25 +555,25 @@ typedef struct {
 /// Export Directory Table.\r
 ///\r
 typedef struct {\r
-  UINT32  Characteristics;\r
-  UINT32  TimeDateStamp;\r
-  UINT16  MajorVersion;\r
-  UINT16  MinorVersion;\r
-  UINT32  Name;\r
-  UINT32  Base;\r
-  UINT32  NumberOfFunctions;\r
-  UINT32  NumberOfNames;\r
-  UINT32  AddressOfFunctions;\r
-  UINT32  AddressOfNames;\r
-  UINT32  AddressOfNameOrdinals;\r
+  UINT32    Characteristics;\r
+  UINT32    TimeDateStamp;\r
+  UINT16    MajorVersion;\r
+  UINT16    MinorVersion;\r
+  UINT32    Name;\r
+  UINT32    Base;\r
+  UINT32    NumberOfFunctions;\r
+  UINT32    NumberOfNames;\r
+  UINT32    AddressOfFunctions;\r
+  UINT32    AddressOfNames;\r
+  UINT32    AddressOfNameOrdinals;\r
 } EFI_IMAGE_EXPORT_DIRECTORY;\r
 \r
 ///\r
 /// Hint/Name Table.\r
 ///\r
 typedef struct {\r
-  UINT16  Hint;\r
-  UINT8   Name[1];\r
+  UINT16    Hint;\r
+  UINT8     Name[1];\r
 } EFI_IMAGE_IMPORT_BY_NAME;\r
 \r
 ///\r
@@ -584,13 +581,13 @@ typedef struct {
 ///\r
 typedef struct {\r
   union {\r
-    UINT32                    Function;\r
-    UINT32                    Ordinal;\r
-    EFI_IMAGE_IMPORT_BY_NAME  *AddressOfData;\r
+    UINT32                      Function;\r
+    UINT32                      Ordinal;\r
+    EFI_IMAGE_IMPORT_BY_NAME    *AddressOfData;\r
   } u1;\r
 } EFI_IMAGE_THUNK_DATA;\r
 \r
-#define EFI_IMAGE_ORDINAL_FLAG              BIT31    ///< Flag for PE32.\r
+#define EFI_IMAGE_ORDINAL_FLAG  BIT31                ///< Flag for PE32.\r
 #define EFI_IMAGE_SNAP_BY_ORDINAL(Ordinal)  ((Ordinal & EFI_IMAGE_ORDINAL_FLAG) != 0)\r
 #define EFI_IMAGE_ORDINAL(Ordinal)          (Ordinal & 0xffff)\r
 \r
@@ -598,39 +595,38 @@ typedef struct {
 /// Import Directory Table\r
 ///\r
 typedef struct {\r
-  UINT32                Characteristics;\r
-  UINT32                TimeDateStamp;\r
-  UINT32                ForwarderChain;\r
-  UINT32                Name;\r
-  EFI_IMAGE_THUNK_DATA  *FirstThunk;\r
+  UINT32                  Characteristics;\r
+  UINT32                  TimeDateStamp;\r
+  UINT32                  ForwarderChain;\r
+  UINT32                  Name;\r
+  EFI_IMAGE_THUNK_DATA    *FirstThunk;\r
 } EFI_IMAGE_IMPORT_DESCRIPTOR;\r
 \r
-\r
 ///\r
 /// Debug Directory Format.\r
 ///\r
 typedef struct {\r
-  UINT32  Characteristics;\r
-  UINT32  TimeDateStamp;\r
-  UINT16  MajorVersion;\r
-  UINT16  MinorVersion;\r
-  UINT32  Type;\r
-  UINT32  SizeOfData;\r
-  UINT32  RVA;           ///< The address of the debug data when loaded, relative to the image base.\r
-  UINT32  FileOffset;    ///< The file pointer to the debug data.\r
+  UINT32    Characteristics;\r
+  UINT32    TimeDateStamp;\r
+  UINT16    MajorVersion;\r
+  UINT16    MinorVersion;\r
+  UINT32    Type;\r
+  UINT32    SizeOfData;\r
+  UINT32    RVA;         ///< The address of the debug data when loaded, relative to the image base.\r
+  UINT32    FileOffset;  ///< The file pointer to the debug data.\r
 } EFI_IMAGE_DEBUG_DIRECTORY_ENTRY;\r
 \r
-#define EFI_IMAGE_DEBUG_TYPE_CODEVIEW     ///< The Visual C++ debug information.\r
+#define EFI_IMAGE_DEBUG_TYPE_CODEVIEW  2    ///< The Visual C++ debug information.\r
 \r
 ///\r
 /// Debug Data Structure defined in Microsoft C++.\r
 ///\r
 #define CODEVIEW_SIGNATURE_NB10  SIGNATURE_32('N', 'B', '1', '0')\r
 typedef struct {\r
-  UINT32  Signature;                        ///< "NB10"\r
-  UINT32  Unknown;\r
-  UINT32  Unknown2;\r
-  UINT32  Unknown3;\r
+  UINT32    Signature;                      ///< "NB10"\r
+  UINT32    Unknown;\r
+  UINT32    Unknown2;\r
+  UINT32    Unknown3;\r
   //\r
   // Filename of .PDB goes here\r
   //\r
@@ -641,18 +637,17 @@ typedef struct {
 ///\r
 #define CODEVIEW_SIGNATURE_RSDS  SIGNATURE_32('R', 'S', 'D', 'S')\r
 typedef struct {\r
-  UINT32  Signature;                        ///< "RSDS".\r
-  UINT32  Unknown;\r
-  UINT32  Unknown2;\r
-  UINT32  Unknown3;\r
-  UINT32  Unknown4;\r
-  UINT32  Unknown5;\r
+  UINT32    Signature;                      ///< "RSDS".\r
+  UINT32    Unknown;\r
+  UINT32    Unknown2;\r
+  UINT32    Unknown3;\r
+  UINT32    Unknown4;\r
+  UINT32    Unknown5;\r
   //\r
   // Filename of .PDB goes here\r
   //\r
 } EFI_IMAGE_DEBUG_CODEVIEW_RSDS_ENTRY;\r
 \r
-\r
 ///\r
 /// Debug Data Structure defined by Apple Mach-O to Coff utility.\r
 ///\r
@@ -669,12 +664,12 @@ typedef struct {
 /// Resource format.\r
 ///\r
 typedef struct {\r
-  UINT32  Characteristics;\r
-  UINT32  TimeDateStamp;\r
-  UINT16  MajorVersion;\r
-  UINT16  MinorVersion;\r
-  UINT16  NumberOfNamedEntries;\r
-  UINT16  NumberOfIdEntries;\r
+  UINT32    Characteristics;\r
+  UINT32    TimeDateStamp;\r
+  UINT16    MajorVersion;\r
+  UINT16    MinorVersion;\r
+  UINT16    NumberOfNamedEntries;\r
+  UINT16    NumberOfIdEntries;\r
   //\r
   // Array of EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY entries goes here.\r
   //\r
@@ -686,16 +681,16 @@ typedef struct {
 typedef struct {\r
   union {\r
     struct {\r
-      UINT32  NameOffset:31;\r
-      UINT32  NameIsString:1;\r
+      UINT32    NameOffset   : 31;\r
+      UINT32    NameIsString : 1;\r
     } s;\r
-    UINT32  Id;\r
+    UINT32    Id;\r
   } u1;\r
   union {\r
-    UINT32  OffsetToData;\r
+    UINT32    OffsetToData;\r
     struct {\r
-      UINT32  OffsetToDirectory:31;\r
-      UINT32  DataIsDirectory:1;\r
+      UINT32    OffsetToDirectory : 31;\r
+      UINT32    DataIsDirectory   : 1;\r
     } s;\r
   } u2;\r
 } EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY;\r
@@ -704,36 +699,35 @@ typedef struct {
 /// Resource directory entry for string.\r
 ///\r
 typedef struct {\r
-  UINT16  Length;\r
-  CHAR16  String[1];\r
+  UINT16    Length;\r
+  CHAR16    String[1];\r
 } EFI_IMAGE_RESOURCE_DIRECTORY_STRING;\r
 \r
 ///\r
 /// Resource directory entry for data array.\r
 ///\r
 typedef struct {\r
-  UINT32  OffsetToData;\r
-  UINT32  Size;\r
-  UINT32  CodePage;\r
-  UINT32  Reserved;\r
+  UINT32    OffsetToData;\r
+  UINT32    Size;\r
+  UINT32    CodePage;\r
+  UINT32    Reserved;\r
 } EFI_IMAGE_RESOURCE_DATA_ENTRY;\r
 \r
 ///\r
 /// Header format for TE images, defined in the PI Specification, 1.0.\r
 ///\r
 typedef struct {\r
-  UINT16                    Signature;            ///< The signature for TE format = "VZ".\r
-  UINT16                    Machine;              ///< From the original file header.\r
-  UINT8                     NumberOfSections;     ///< From the original file header.\r
-  UINT8                     Subsystem;            ///< From original optional header.\r
-  UINT16                    StrippedSize;         ///< Number of bytes we removed from the header.\r
-  UINT32                    AddressOfEntryPoint;  ///< Offset to entry point -- from original optional header.\r
-  UINT32                    BaseOfCode;           ///< From original image -- required for ITP debug.\r
-  UINT64                    ImageBase;            ///< From original file header.\r
-  EFI_IMAGE_DATA_DIRECTORY  DataDirectory[2];     ///< Only base relocation and debug directory.\r
+  UINT16                      Signature;           ///< The signature for TE format = "VZ".\r
+  UINT16                      Machine;             ///< From the original file header.\r
+  UINT8                       NumberOfSections;    ///< From the original file header.\r
+  UINT8                       Subsystem;           ///< From original optional header.\r
+  UINT16                      StrippedSize;        ///< Number of bytes we removed from the header.\r
+  UINT32                      AddressOfEntryPoint; ///< Offset to entry point -- from original optional header.\r
+  UINT32                      BaseOfCode;          ///< From original image -- required for ITP debug.\r
+  UINT64                      ImageBase;           ///< From original file header.\r
+  EFI_IMAGE_DATA_DIRECTORY    DataDirectory[2];    ///< Only base relocation and debug directory.\r
 } EFI_TE_IMAGE_HEADER;\r
 \r
-\r
 #define EFI_TE_IMAGE_HEADER_SIGNATURE  SIGNATURE_16('V', 'Z')\r
 \r
 //\r
@@ -742,21 +736,20 @@ typedef struct {
 #define EFI_TE_IMAGE_DIRECTORY_ENTRY_BASERELOC  0\r
 #define EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG      1\r
 \r
-\r
 ///\r
 /// Union of PE32, PE32+, and TE headers.\r
 ///\r
 typedef union {\r
-  EFI_IMAGE_NT_HEADERS32   Pe32;\r
-  EFI_IMAGE_NT_HEADERS64   Pe32Plus;\r
-  EFI_TE_IMAGE_HEADER      Te;\r
+  EFI_IMAGE_NT_HEADERS32    Pe32;\r
+  EFI_IMAGE_NT_HEADERS64    Pe32Plus;\r
+  EFI_TE_IMAGE_HEADER       Te;\r
 } EFI_IMAGE_OPTIONAL_HEADER_UNION;\r
 \r
 typedef union {\r
-  EFI_IMAGE_NT_HEADERS32            *Pe32;\r
-  EFI_IMAGE_NT_HEADERS64            *Pe32Plus;\r
-  EFI_TE_IMAGE_HEADER               *Te;\r
-  EFI_IMAGE_OPTIONAL_HEADER_UNION   *Union;\r
+  EFI_IMAGE_NT_HEADERS32             *Pe32;\r
+  EFI_IMAGE_NT_HEADERS64             *Pe32Plus;\r
+  EFI_TE_IMAGE_HEADER                *Te;\r
+  EFI_IMAGE_OPTIONAL_HEADER_UNION    *Union;\r
 } EFI_IMAGE_OPTIONAL_HEADER_PTR_UNION;\r
 \r
 #endif\r