]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/FirmwareVolumeBlock.h
Update the copyright notice format
[mirror_edk2.git] / MdePkg / Include / Protocol / FirmwareVolumeBlock.h
index 0f9a9c1f7ae02b3309520ba31eb27978e28e78e3..7fbe3c81e109f280ef31bb90477d8d0ba4754abd 100644 (file)
@@ -1,35 +1,43 @@
 /** @file\r
   This file provides control over block-oriented firmware devices.\r
 \r
-  Copyright (c) 2006 - 2008, 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
+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: PI\r
-  Version 1.00.\r
+  Version 1.0 and 1.2.\r
 \r
 **/\r
 \r
 #ifndef __FIRMWARE_VOLUME_BLOCK_H__\r
 #define __FIRMWARE_VOLUME_BLOCK_H__\r
 \r
-\r
+//\r
+// EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is defined in PI 1.0 spec and its GUID value\r
+// is later updated to be the same as that of EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL\r
+// defined in PI 1.2 spec. \r
+//\r
 #define EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID \\r
-  { 0xDE28BC59, 0x6228, 0x41BD, {0xBD, 0xF6, 0xA3, 0xB9, 0xAD,0xB5, 0x8D, 0xA1 } }\r
+  { 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }\r
 \r
+#define EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL_GUID \\r
+  { 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }\r
 \r
 typedef struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL;\r
 \r
+typedef EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL;    \r
+\r
 /**\r
   The GetAttributes() function retrieves the attributes and\r
-  current settings of the block. Status Codes Returned\r
+  current settings of the block.\r
 \r
-  @param This       Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.\r
+  @param This       Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
 \r
   @param Attributes Pointer to EFI_FVB_ATTRIBUTES_2 in which the\r
                     attributes and current settings are\r
@@ -43,7 +51,7 @@ typedef struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK_PRO
 typedef\r
 EFI_STATUS\r
 (EFIAPI * EFI_FVB_GET_ATTRIBUTES)(\r
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL  *This,\r
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
   OUT       EFI_FVB_ATTRIBUTES_2                *Attributes\r
 );\r
 \r
@@ -52,7 +60,7 @@ EFI_STATUS
   The SetAttributes() function sets configurable firmware volume\r
   attributes and returns the new settings of the firmware volume.\r
 \r
-  @param This         Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.\r
+  @param This         Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
 \r
   @param Attributes   On input, Attributes is a pointer to\r
                       EFI_FVB_ATTRIBUTES_2 that contains the\r
@@ -73,7 +81,7 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI * EFI_FVB_SET_ATTRIBUTES)(\r
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL  *This,\r
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
   IN OUT    EFI_FVB_ATTRIBUTES_2                *Attributes\r
 );\r
 \r
@@ -83,14 +91,14 @@ EFI_STATUS
   a memory-mapped firmware volume. This function should be called\r
   only for memory-mapped firmware volumes.\r
 \r
-  @param This     Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.\r
+  @param This     Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
   \r
   @param Address  Pointer to a caller-allocated\r
                   EFI_PHYSICAL_ADDRESS that, on successful\r
                   return from GetPhysicalAddress(), contains the\r
                   base address of the firmware volume.\r
   \r
-  @retval EFI_SUCCESS       The firmware volume base address is returned.\r
+  @retval EFI_SUCCESS       The firmware volume base address was returned.\r
   \r
   @retval EFI_NOT_SUPPORTED The firmware volume is not memory mapped.\r
 \r
@@ -98,7 +106,7 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI * EFI_FVB_GET_PHYSICAL_ADDRESS)(\r
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL  *This,\r
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
   OUT       EFI_PHYSICAL_ADDRESS                *Address\r
 );\r
 \r
@@ -109,7 +117,7 @@ EFI_STATUS
   retrieve the block map (see EFI_FIRMWARE_VOLUME_HEADER).\r
 \r
 \r
-  @param This           Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.\r
+  @param This           Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
 \r
   @param Lba            Indicates the block for which to return the size.\r
 \r
@@ -123,7 +131,7 @@ EFI_STATUS
                         BlockSize.\r
 \r
   \r
-  @retval EFI_SUCCESS             The firmware volume base address is returned.\r
+  @retval EFI_SUCCESS             The firmware volume base address was returned.\r
   \r
   @retval EFI_INVALID_PARAMETER   The requested LBA is out of range.\r
 \r
@@ -131,7 +139,7 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI * EFI_FVB_GET_BLOCK_SIZE)(\r
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL  *This,\r
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
   IN        EFI_LBA                             Lba,\r
   OUT       UINTN                               *BlockSize,\r
   OUT       UINTN                               *NumberOfBlocks\r
@@ -154,7 +162,7 @@ EFI_STATUS
   indicate the number of bytes actually read. The caller must be\r
   aware that a read may be partially completed.\r
 \r
-  @param This     Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.\r
+  @param This     Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
   \r
   @param Lba      The starting logical block index\r
                   from which to read.\r
@@ -169,7 +177,7 @@ EFI_STATUS
   @param Buffer   Pointer to a caller-allocated buffer that will\r
                   be used to hold the data that is read.\r
 \r
-  @retval EFI_SUCCESS         The firmware volume was read successfully\r
+  @retval EFI_SUCCESS         The firmware volume was read successfully,\r
                               and contents are in Buffer.\r
   \r
   @retval EFI_BAD_BUFFER_SIZE Read attempted across an LBA\r
@@ -188,7 +196,7 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI *EFI_FVB_READ)(\r
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL  *This,\r
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
   IN        EFI_LBA                             Lba,\r
   IN        UINTN                               Offset,\r
   IN OUT    UINTN                               *NumBytes,\r
@@ -206,9 +214,9 @@ EFI_STATUS
   function, or else the result will be unpredictable. This\r
   unpredictability arises because, for a sticky-write firmware\r
   volume, a write may negate a bit in the EFI_FVB_ERASE_POLARITY\r
-  state but cannot flip it back again. In general, before\r
-  calling the Write() function, the caller should call the\r
-  EraseBlocks() function first to erase the specified block to\r
+  state but cannot flip it back again.  Before calling the\r
+  Write() function,  it is recommended for the caller to first call \r
+  the EraseBlocks() function to erase the specified block to\r
   write. A block erase cycle will transition bits from the\r
   (NOT)EFI_FVB_ERASE_POLARITY state back to the\r
   EFI_FVB_ERASE_POLARITY state. Implementations should be\r
@@ -225,18 +233,18 @@ EFI_STATUS
   fully flushed to the hardware before the Write() service\r
   returns.\r
 \r
-  @param This     Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.\r
+  @param This     Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
   \r
   @param Lba      The starting logical block index to write to.\r
   \r
   @param Offset   Offset into the block at which to begin writing.\r
   \r
-  @param NumBytes Pointer to a UINTN. At entry, *NumBytes\r
+  @param NumBytes The pointer to a UINTN. At entry, *NumBytes\r
                   contains the total size of the buffer. At\r
                   exit, *NumBytes contains the total number of\r
                   bytes actually written.\r
   \r
-  @param Buffer   Pointer to a caller-allocated buffer that\r
+  @param Buffer   The pointer to a caller-allocated buffer that\r
                   contains the source for the write.\r
   \r
   @retval EFI_SUCCESS         The firmware volume was written successfully.\r
@@ -257,7 +265,7 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI * EFI_FVB_WRITE)(\r
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL  *This,\r
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
   IN        EFI_LBA                             Lba,\r
   IN        UINTN                               Offset,\r
   IN OUT    UINTN                               *NumBytes,\r
@@ -291,7 +299,7 @@ EFI_STATUS
   flushed to the hardware before the EraseBlocks() service\r
   returns.\r
 \r
-  @param This   Indicates the EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL\r
+  @param This   Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL\r
                 instance.\r
 \r
   @param ...    The variable argument list is a list of tuples.\r
@@ -299,7 +307,7 @@ EFI_STATUS
                 and consists of the following:\r
                 - An EFI_LBA that indicates the starting LBA\r
                 - A UINTN that indicates the number of blocks to\r
-                  erase\r
+                  erase.\r
 \r
                 The list is terminated with an\r
                 EFI_LBA_LIST_TERMINATOR. For example, the\r
@@ -307,7 +315,7 @@ EFI_STATUS
                 (5-7 and 10-11) are to be erased: EraseBlocks\r
                 (This, 5, 3, 10, 2, EFI_LBA_LIST_TERMINATOR);\r
 \r
-  @retval EFI_SUCCESS The erase request was successfully\r
+  @retval EFI_SUCCESS The erase request successfully\r
                       completed.\r
   \r
   @retval EFI_ACCESS_DENIED   The firmware volume is in the\r
@@ -324,7 +332,7 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI * EFI_FVB_ERASE_BLOCKS)(\r
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL  *This,\r
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,\r
   ...\r
 );\r
 \r
@@ -337,7 +345,7 @@ EFI_STATUS
 /// produces the Firmware Volume Protocol will bind to the\r
 /// Firmware Volume Block Protocol.\r
 ///\r
-struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL {\r
+struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL{\r
   EFI_FVB_GET_ATTRIBUTES        GetAttributes;\r
   EFI_FVB_SET_ATTRIBUTES        SetAttributes;\r
   EFI_FVB_GET_PHYSICAL_ADDRESS  GetPhysicalAddress;\r
@@ -346,13 +354,13 @@ struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL {
   EFI_FVB_WRITE                 Write;\r
   EFI_FVB_ERASE_BLOCKS          EraseBlocks;\r
   ///\r
-  /// Handle of the parent firmware volume.\r
+  /// The handle of the parent firmware volume.\r
   ///  \r
   EFI_HANDLE                    ParentHandle;\r
 };\r
 \r
 \r
 extern EFI_GUID gEfiFirmwareVolumeBlockProtocolGuid;\r
-\r
+extern EFI_GUID gEfiFirmwareVolumeBlock2ProtocolGuid;\r
 \r
 #endif\r