BaseTools: Clear build versions to sync with buildtools/BaseTools
[mirror_edk2.git] / BaseTools / Source / C / Include / Common / PiFirmwareVolume.h
index 07682a3fcaf46cacdfb22ffae58e3df666e2012a..9d62a9bc3d5e3a6efb68f2cddbf30444c4cead9f 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The firmware volume related definitions in PI.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation  All rights reserved.\r
+  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials are licensed and made available\r
   under the terms and conditions of the BSD License which accompanies this\r
@@ -14,7 +14,7 @@
   File Name: PiFirmwareVolume.h\r
 \r
   @par Revision Reference:\r
-  Version 1.0.\r
+  Version 1.2C\r
 \r
 **/\r
 \r
@@ -33,7 +33,7 @@ typedef UINT32  EFI_FV_FILE_ATTRIBUTES;
 #define EFI_FV_FILE_ATTRIB_FIXED          0x00000100\r
 #define EFI_FV_FILE_ATTRIB_MEMORY_MAPPED  0x00000200\r
 \r
-typedef UINT32  EFI_FVB_ATTRIBUTES;\r
+typedef UINT32  EFI_FVB_ATTRIBUTES_2;\r
 \r
 // \r
 // Attributes bit definitions\r
@@ -54,6 +54,7 @@ typedef UINT32  EFI_FVB_ATTRIBUTES;
 #define EFI_FVB2_WRITE_LOCK_CAP     0x00004000\r
 #define EFI_FVB2_WRITE_LOCK_STATUS  0x00008000\r
 #define EFI_FVB2_ALIGNMENT          0x001F0000\r
+#define EFI_FVB2_WEAK_ALIGNMENT     0x80000000\r
 #define EFI_FVB2_ALIGNMENT_1        0x00000000\r
 #define EFI_FVB2_ALIGNMENT_2        0x00010000\r
 #define EFI_FVB2_ALIGNMENT_4        0x00020000\r
@@ -73,7 +74,7 @@ typedef UINT32  EFI_FVB_ATTRIBUTES;
 #define EFI_FVB2_ALIGNMENT_64K      0x00100000\r
 #define EFI_FVB2_ALIGNMENT_128K     0x00110000\r
 #define EFI_FVB2_ALIGNMENT_256K     0x00120000\r
-#define EFI_FVB2_ALIGNMNET_512K     0x00130000\r
+#define EFI_FVB2_ALIGNMENT_512K     0x00130000\r
 #define EFI_FVB2_ALIGNMENT_1M       0x00140000\r
 #define EFI_FVB2_ALIGNMENT_2M       0x00150000\r
 #define EFI_FVB2_ALIGNMENT_4M       0x00160000\r
@@ -101,7 +102,7 @@ typedef struct {
   EFI_GUID                  FileSystemGuid;\r
   UINT64                    FvLength;\r
   UINT32                    Signature;\r
-  EFI_FVB_ATTRIBUTES        Attributes;\r
+  EFI_FVB_ATTRIBUTES_2      Attributes;\r
   UINT16                    HeaderLength;\r
   UINT16                    Checksum;\r
   UINT16                    ExtHeaderOffset;\r
@@ -110,7 +111,7 @@ typedef struct {
   EFI_FV_BLOCK_MAP_ENTRY    BlockMap[1];\r
 } EFI_FIRMWARE_VOLUME_HEADER;\r
 \r
-#define EFI_FVH_SIGNATURE EFI_SIGNATURE_32 ('_', 'F', 'V', 'H')\r
+#define EFI_FVH_SIGNATURE SIGNATURE_32 ('_', 'F', 'V', 'H')\r
 \r
 ///\r
 /// Firmware Volume Header Revision definition\r
@@ -139,8 +140,20 @@ typedef struct {
   // Array of GUIDs. \r
   // Each GUID represents an OEM file type.\r
   // \r
-  EFI_GUID  Types[1];\r
+  // EFI_GUID  Types[1];\r
+  //\r
 } EFI_FIRMWARE_VOLUME_EXT_ENTRY_OEM_TYPE;\r
 \r
+#define EFI_FV_EXT_TYPE_GUID_TYPE 0x0002\r
+typedef struct {\r
+  EFI_FIRMWARE_VOLUME_EXT_ENTRY     Hdr;\r
+  EFI_GUID                          FormatType;\r
+\r
+  //\r
+  // An arry of bytes of length Length.\r
+  //\r
+  // UINT8                             Data[1];\r
+  //\r
+} EFI_FIRMWARE_VOLUME_EXT_ENTRY_GUID_TYPE;\r
 \r
 #endif\r