]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Include/IndustryStandard/PeImage.h
Sync tool code to BuildTools project r1739.
[mirror_edk2.git] / BaseTools / Source / C / Include / IndustryStandard / PeImage.h
index 1595a987e1005d836a50fc8ed1492bcc85726fef..57cbc2366b63ace03a765f8cf2695bcb96049744 100644 (file)
@@ -656,6 +656,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