]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Framework/FirmwareVolumeHeader.h
Update for NetworkPkg.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Framework / FirmwareVolumeHeader.h
index aac032d486f92f11f004e9d87fe7b1916bcce1cf..7b471f1c7506427be850ccb9cef2c348710a1509 100644 (file)
@@ -1,37 +1,28 @@
 /** @file\r
-  Defines data structure that is the volume header found at the beginning of\r
-  all firmware volumes that are either memory mapped, or have an\r
+  Defines the data structure that is the volume header found at the beginning of\r
+  all firmware volumes that are either memory mapped or have an\r
   associated FirmwareVolumeBlock protocol.\r
 \r
-  Copyright (c) 2006, Intel Corporation\r
-  All rights reserved. This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this 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
-  Module Name:  FirmwareVolumeHeader.h\r
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution.  \r
+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
   @par Revision Reference:\r
-  These definitions are from Firmware Volume Block Spec 0.9.\r
+  These definitions are from the Firmware Volume Block Spec 0.9.\r
 \r
 **/\r
 \r
 #ifndef __EFI_FIRMWARE_VOLUME_HEADER_H__\r
 #define __EFI_FIRMWARE_VOLUME_HEADER_H__\r
 \r
-#include <FrameworkPei.h>\r
-\r
-//\r
-// Firmware Volume Block Attributes definition\r
-//\r
-typedef UINT32  EFI_FVB_ATTRIBUTES;\r
-\r
-//\r
-// Firmware Volume Block Attributes bit definitions\r
-//\r
+///\r
+/// Firmware Volume Block Attributes bit definitions.\r
+///@{\r
 #define EFI_FVB_READ_DISABLED_CAP   0x00000001\r
 #define EFI_FVB_READ_ENABLED_CAP    0x00000002\r
 #define EFI_FVB_READ_STATUS         0x00000004\r
@@ -64,21 +55,31 @@ typedef UINT32  EFI_FVB_ATTRIBUTES;
 #define EFI_FVB_ALIGNMENT_16K       0x20000000\r
 #define EFI_FVB_ALIGNMENT_32K       0x40000000\r
 #define EFI_FVB_ALIGNMENT_64K       0x80000000\r
-\r
-#define EFI_FVB_CAPABILITIES  (EFI_FVB_READ_DISABLED_CAP | \\r
-                              EFI_FVB_READ_ENABLED_CAP | \\r
-                              EFI_FVB_WRITE_DISABLED_CAP | \\r
-                              EFI_FVB_WRITE_ENABLED_CAP | \\r
-                              EFI_FVB_LOCK_CAP \\r
+///@}\r
+\r
+/// This is a simple macro defined as the set of all FV Block Attributes signifying capabilities.\r
+#define EFI_FVB_CAPABILITIES  ( EFI_FVB_READ_DISABLED_CAP  | \\r
+                                EFI_FVB_READ_ENABLED_CAP   | \\r
+                                EFI_FVB_WRITE_DISABLED_CAP | \\r
+                                EFI_FVB_WRITE_ENABLED_CAP  | \\r
+                                EFI_FVB_LOCK_CAP \\r
                               )\r
 \r
-#define EFI_TEST_FFS_ATTRIBUTES_BIT(FvbAttributes, TestAttributes, Bit) \\r
-    ( \\r
-      (BOOLEAN) ( \\r
-          (FvbAttributes & EFI_FVB_ERASE_POLARITY) ? (((~TestAttributes) & Bit) == Bit) : ((TestAttributes & Bit) == Bit) \\r
-        ) \\r
+/** A parameterized macro defining a boolean expression that tests the state of a particular bit.\r
+  *\r
+  * @param FvbAttributes  Indicates a test for CLEAR if EFI_FVB_ERASE_POLARITY is 1, else test for SET.\r
+  *\r
+  * @param TestAttributes The set of bits to test.\r
+  *\r
+  * @param Bit            A value indicating the bit(s) to test.\r
+  *                       If multiple bits are set, the logical OR of their tests is the expression's value.\r
+**/\r
+#define EFI_TEST_FFS_ATTRIBUTES_BIT( FvbAttributes, TestAttributes, Bit) \\r
+    ((BOOLEAN) \\r
+      ((FvbAttributes & EFI_FVB_ERASE_POLARITY) ? (((~TestAttributes) & Bit) == Bit) : ((TestAttributes & Bit) == Bit)) \\r
     )\r
 \r
+/// A simple macro defined as the set of all FV Block Attribute bits that indicate status.\r
 #define EFI_FVB_STATUS    (EFI_FVB_READ_STATUS | EFI_FVB_WRITE_STATUS | EFI_FVB_LOCK_STATUS)\r
 \r
-#endif\r
+#endif  /* __EFI_FIRMWARE_VOLUME_HEADER_H__ */\r