]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Include/IndustryStandard/PeImage.h
Sync tool code to BuildTools project r1783.
[mirror_edk2.git] / BaseTools / Source / C / Include / IndustryStandard / PeImage.h
index 1595a987e1005d836a50fc8ed1492bcc85726fef..69cca91c31a3b89d320b3a60f8ed811bb038ce80 100644 (file)
@@ -638,6 +638,18 @@ typedef struct {
   //\r
 } EFI_IMAGE_DEBUG_CODEVIEW_RSDS_ENTRY;\r
 \r
+///\r
+/// Debug Data Structure defined by Apple Mach-O to Coff utility\r
+///\r
+#define CODEVIEW_SIGNATURE_MTOC  EFI_SIGNATURE_32('M', 'T', 'O', 'C')\r
+typedef struct {\r
+  UINT32    Signature;                       ///< "MTOC"\r
+  EFI_GUID  MachOUuid;\r
+  //\r
+  //  Filename of .DLL (Mach-O with debug info) goes here\r
+  //\r
+} EFI_IMAGE_DEBUG_CODEVIEW_MTOC_ENTRY;\r
+\r
 //\r
 // .pdata entries for X64\r
 //\r
@@ -656,6 +668,59 @@ typedef struct {
   UINT8  FrameRegisterOffset:4;\r
 } UNWIND_INFO;\r
 \r
+///\r
+/// 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
+  //\r
+  // Array of EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY entries goes here.\r
+  //\r
+} EFI_IMAGE_RESOURCE_DIRECTORY;\r
+\r
+///\r
+/// Resource directory entry format.\r
+///\r
+typedef struct {\r
+  union {\r
+    struct {\r
+      UINT32  NameOffset:31;\r
+      UINT32  NameIsString:1;\r
+    } s;\r
+    UINT32  Id;\r
+  } u1;\r
+  union {\r
+    UINT32  OffsetToData;\r
+    struct {\r
+      UINT32  OffsetToDirectory:31;\r
+      UINT32  DataIsDirectory:1;\r
+    } s;\r
+  } u2;\r
+} EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY;\r
+\r
+///\r
+/// Resource directory entry for string.\r
+///\r
+typedef struct {\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
+} EFI_IMAGE_RESOURCE_DATA_ENTRY;\r
+\r
 ///\r
 /// Header format for TE images\r
 ///\r