]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Include/Common/PiFirmwareVolume.h
License header updated to match correct format.
[mirror_edk2.git] / BaseTools / Source / C / Include / Common / PiFirmwareVolume.h
index fde381537fc871e7184f637368d3ff00f0d33da3..b5c2b038443f37c182d4a061cad318bb11db5af8 100644 (file)
@@ -1,21 +1,19 @@
 /** @file\r
   The firmware volume related definitions in PI.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+  @par Revision Reference:\r
+  Version 1.2C\r
+\r
+  Copyright (c) 2006 - 2014, 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
-  distribution.  The full text of the license may be found at:\r
+  distribution.  The full text of the license may be found at\r
     http://opensource.org/licenses/bsd-license.php\r
 \r
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-  File Name: PiFirmwareVolume.h\r
-\r
-  @par Revision Reference:\r
-  Version 1.0.\r
-\r
 **/\r
 \r
 #ifndef __PI_FIRMWAREVOLUME_H__\r
@@ -33,7 +31,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 +52,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 +72,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 +100,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 +109,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 +138,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