]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/FirmwareVolume2.h
MdePkg: Add definition for new warning code EFI_WARN_FILE_SYSTEM.
[mirror_edk2.git] / MdePkg / Include / Protocol / FirmwareVolume2.h
index 836676f505a769788f76441054159a3256582e15..e54364b94248b572e159a27245308ab3f970ef7d 100644 (file)
@@ -5,8 +5,8 @@
   the system during the DXE phase. The Firmware Volume Protocol also provides\r
   mechanisms for determining and modifying some attributes of the firmware volume.\r
 \r
-  Copyright (c) 2006 - 2007, Intel Corporation                                                         \r
-  All rights reserved. This program and the accompanying materials                          \r
+  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+  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
@@ -14,8 +14,6 @@
   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:  FirmwareVolume2.h\r
-\r
   @par Revision Reference: PI\r
   Version 1.00.\r
 \r
@@ -30,9 +28,9 @@
 typedef struct _EFI_FIRMWARE_VOLUME2_PROTOCOL EFI_FIRMWARE_VOLUME2_PROTOCOL;\r
 \r
 \r
-//\r
-// EFI_FV_ATTRIBUTES\r
-//\r
+///\r
+/// EFI_FV_ATTRIBUTES\r
+///\r
 typedef UINT64  EFI_FV_ATTRIBUTES;\r
 \r
 //\r
@@ -87,7 +85,8 @@ typedef UINT64  EFI_FV_ATTRIBUTES;
 #define EFI_FV2_ALIGNMENT_2G            0x00000000001F0000ULL\r
 \r
 /**\r
-  \r
+  Returns the attributes and current settings of the firmware volume.\r
+\r
   Because of constraints imposed by the underlying firmware\r
   storage, an instance of the Firmware Volume Protocol may not\r
   be to able to support all possible variations of this\r
@@ -96,11 +95,9 @@ typedef UINT64  EFI_FV_ATTRIBUTES;
   GetVolumeAttributes() function. GetVolumeAttributes() is\r
   callable only from TPL_NOTIFY and below. Behavior of\r
   GetVolumeAttributes() at any EFI_TPL above TPL_NOTIFY is\r
-  undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI\r
-  2.0 specification.\r
-  \r
-  @param  This    Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
-                  instance.\r
+  undefined.\r
+\r
+  @param  This          Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.\r
   \r
   @param  FvAttributes  Pointer to an EFI_FV_ATTRIBUTES in which\r
                         the attributes and current settings are\r
@@ -113,13 +110,15 @@ typedef UINT64  EFI_FV_ATTRIBUTES;
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI * EFI_FV_GET_ATTRIBUTES) (\r
+(EFIAPI * EFI_FV_GET_ATTRIBUTES)(\r
   IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
   OUT       EFI_FV_ATTRIBUTES             *FvAttributes\r
 );\r
 \r
 \r
 /**\r
+  Modifies the current settings of the firmware volume according to the input parameter.\r
+  \r
   The SetVolumeAttributes() function is used to set configurable\r
   firmware volume attributes. Only EFI_FV_READ_STATUS,\r
   EFI_FV_WRITE_STATUS, and EFI_FV_LOCK_STATUS may be modified, and\r
@@ -134,12 +133,9 @@ EFI_STATUS
   prevents further modification to all the attribute bits.\r
   SetVolumeAttributes() is callable only from TPL_NOTIFY and\r
   below. Behavior of SetVolumeAttributes() at any EFI_TPL above\r
-  TPL_NOTIFY is undefined. Type EFI_TPL is defined in\r
-  RaiseTPL() in the UEFI 2.0 specification.\r
-\r
+  TPL_NOTIFY is undefined.\r
 \r
-  @param  This  Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
-                instance.\r
+  @param  This          Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.\r
   \r
   @param  FvAttributes  On input, FvAttributes is a pointer to\r
                         an EFI_FV_ATTRIBUTES containing the\r
@@ -150,10 +146,10 @@ EFI_STATUS
                         modified and the firmware volume\r
                         settings are not changed.\r
   \r
-  @retval EFI_SUCCESS   The requested firmware volume attributes\r
-                        were set and the resulting\r
-                        EFI_FV_ATTRIBUTES is returned in\r
-                        FvAttributes.\r
+  @retval EFI_SUCCESS           The requested firmware volume attributes\r
+                                were set and the resulting\r
+                                EFI_FV_ATTRIBUTES is returned in\r
+                                FvAttributes.\r
 \r
   @retval EFI_INVALID_PARAMETER FvAttributes:EFI_FV_READ_STATUS\r
                                 is set to 1 on input, but the\r
@@ -209,18 +205,20 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI * EFI_FV_SET_ATTRIBUTES) (\r
+(EFIAPI * EFI_FV_SET_ATTRIBUTES)(\r
   IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
   IN OUT    EFI_FV_ATTRIBUTES             *FvAttributes\r
 );\r
 \r
 \r
 /**\r
+  Retrieves a file and/or file information from the firmware volume.\r
+\r
   ReadFile() is used to retrieve any file from a firmware volume\r
   during the DXE phase. The actual binary encoding of the file in\r
   the firmware volume media may be in any arbitrary format as long\r
-  as it does the following: ?It is accessed using the Firmware\r
-  Volume Protocol. ?The image that is returned follows the image\r
+  as it does the following: It is accessed using the Firmware\r
+  Volume Protocol. The image that is returned follows the image\r
   format defined in Code Definitions: PI Firmware File Format.\r
   If the input value of Buffer==NULL, it indicates the caller is\r
   requesting only that the type, attributes, and size of the\r
@@ -253,37 +251,35 @@ EFI_STATUS
   other output parameters are returned with valid values.\r
   ReadFile() is callable only from TPL_NOTIFY and below.\r
   Behavior of ReadFile() at any EFI_TPL above TPL_NOTIFY is\r
-  undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI\r
-  2.0 specification.\r
-  \r
-  @param  This  Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
-                instance.\r
+  undefined.\r
+\r
+  @param  This                  Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.\r
   \r
-  @param  NameGuid  Pointer to an EFI_GUID, which is the file\r
-                    name. All firmware file names are EFI_GUIDs.\r
-                    A single firmware volume must not have two\r
-                    valid files with the same file name\r
-                    EFI_GUID.\r
+  @param  NameGuid              Pointer to an EFI_GUID, which is the file\r
+                                name. All firmware file names are EFI_GUIDs.\r
+                                A single firmware volume must not have two\r
+                                valid files with the same file name\r
+                                EFI_GUID.\r
   \r
-  @param  Buffer  Pointer to a pointer to a buffer in which the\r
-                  file contents are returned, not including the\r
-                  file header.\r
-  @param  BufferSize  Pointer to a caller-allocated UINTN. It\r
-                      indicates the size of the memory\r
-                      represented by Buffer.\r
+  @param  Buffer                Pointer to a pointer to a buffer in which the\r
+                                file contents are returned, not including the\r
+                                file header.\r
+\r
+  @param  BufferSize            Pointer to a caller-allocated UINTN. It\r
+                                indicates the size of the memory\r
+                                represented by Buffer.\r
   \r
-  @param  FoundType   Pointer to a caller-allocated\r
-                      EFI_FV_FILETYPE.\r
+  @param  FoundType             Pointer to a caller-allocated EFI_FV_FILETYPE.\r
   \r
-  @param  FileAttributes  Pointer to a  caller-allocated\r
-                          EFI_FV_FILE_ATTRIBUTES.\r
+  @param  FileAttributes        Pointer to a  caller-allocated\r
+                                EFI_FV_FILE_ATTRIBUTES.\r
   \r
   @param  AuthenticationStatus  Pointer to a caller-allocated\r
                                 UINT32 in which the\r
                                 authentication status is\r
                                 returned.\r
   \r
-  @retval EFI_SUCCESS   The call completed successfully.\r
+  @retval EFI_SUCCESS                 The call completed successfully.\r
   \r
   @retval EFI_WARN_BUFFER_TOO_SMALL   The buffer is too small to\r
                                       contain the requested\r
@@ -291,22 +287,20 @@ EFI_STATUS
                                       filled and the output is\r
                                       truncated.\r
 \r
-  @retval EFI_OUT_OF_RESOURCES  An allocation failure occurred.\r
+  @retval EFI_OUT_OF_RESOURCES        An allocation failure occurred.\r
 \r
-  @retavl EFI_NOT_FOUND   Name was not found in the firmware\r
-                          volume.\r
+  @retval EFI_NOT_FOUND               Name was not found in the firmware volume.\r
 \r
-  @retval EFI_DEVICE_ERROR  A hardware error occurred when\r
-                            attempting to access the firmware\r
-                            volume.\r
+  @retval EFI_DEVICE_ERROR            A hardware error occurred when\r
+                                      attempting to access the firmware volume.\r
 \r
-  @retval EFI_ACCESS_DENIED The firmware volume is configured to\r
-                            isallow reads.\r
+  @retval EFI_ACCESS_DENIED           The firmware volume is configured to\r
+                                      disallow reads.\r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI * EFI_FV_READ_FILE) (\r
+(EFIAPI * EFI_FV_READ_FILE)(\r
   IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
   IN CONST  EFI_GUID                      *NameGuid,\r
   IN OUT    VOID                          **Buffer,\r
@@ -319,12 +313,12 @@ EFI_STATUS
 \r
 \r
 /**\r
+  Locates the requested section within a file and returns it in a buffer.\r
+\r
   ReadSection() is used to retrieve a specific section from a file\r
   within a firmware volume. The section returned is determined\r
   using a depth-first, left-to-right search algorithm through all\r
-  sections found in the specified file. See\r
-   ????Firmware File Sections???? on page 9 for more details about\r
-  sections. The output buffer is specified by a double indirection\r
+  sections found in the specified file. The output buffer is specified by a double indirection\r
   of the Buffer parameter. The input value of Buffer is used to\r
   determine if the output buffer is caller allocated or is\r
   dynamically allocated by ReadSection(). If the input value of\r
@@ -345,36 +339,33 @@ EFI_STATUS
   parameters are returned with valid values. ReadSection() is\r
   callable only from TPL_NOTIFY and below. Behavior of\r
   ReadSection() at any EFI_TPL above TPL_NOTIFY is\r
-  undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI\r
-  2.0 specification.\r
-\r
-\r
-  @param This   Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
-                instance.\r
-  \r
-  @param NameGuid   Pointer to an EFI_GUID, which indicates the\r
-                    file name from which the requested section\r
-                    will be read.\r
-  \r
-  @param SectionType  Indicates the section type to return.\r
-                      SectionType in conjunction with\r
-                      SectionInstance indicates which section to\r
-                      return.\r
-  \r
-  @param SectionInstance  Indicates which instance of sections\r
-                          with a type of SectionType to return.\r
-                          SectionType in conjunction with\r
-                          SectionInstance indicates which\r
-                          section to return. SectionInstance is\r
-                          zero based.\r
-  \r
-  @param Buffer   Pointer to a pointer to a buffer in which the\r
-                  section contents are returned, not including\r
-                  the section header.\r
-  \r
-  @param BufferSize   Pointer to a caller-allocated UINTN. It\r
-                      indicates the size of the memory\r
-                      represented by Buffer.\r
+  undefined.\r
+\r
+  @param  This                Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.\r
\r
+  @param NameGuid             Pointer to an EFI_GUID, which indicates the\r
+                              file name from which the requested section\r
+                              will be read.\r
+  \r
+  @param SectionType          Indicates the section type to return.\r
+                              SectionType in conjunction with\r
+                              SectionInstance indicates which section to\r
+                              return.\r
+  \r
+  @param SectionInstance      Indicates which instance of sections\r
+                              with a type of SectionType to return.\r
+                              SectionType in conjunction with\r
+                              SectionInstance indicates which\r
+                              section to return. SectionInstance is\r
+                              zero based.\r
+  \r
+  @param Buffer               Pointer to a pointer to a buffer in which the\r
+                              section contents are returned, not including\r
+                              the section header.\r
+  \r
+  @param BufferSize           Pointer to a caller-allocated UINTN. It\r
+                              indicates the size of the memory\r
+                              represented by Buffer.\r
   \r
   @param AuthenticationStatus Pointer to a caller-allocated\r
                               UINT32 in which the authentication\r
@@ -417,19 +408,19 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI * EFI_FV_READ_SECTION) (\r
+(EFIAPI * EFI_FV_READ_SECTION)(\r
   IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
   IN CONST  EFI_GUID                      *NameGuid,\r
-  IN CONST  EFI_SECTION_TYPE              SectionType,\r
-  IN CONST  UINTN                         SectionInstance,\r
+  IN        EFI_SECTION_TYPE              SectionType,\r
+  IN        UINTN                         SectionInstance,\r
   IN OUT    VOID                          **Buffer,\r
   IN OUT    UINTN                         *BufferSize,\r
   OUT       UINT32                        *AuthenticationStatus\r
 );\r
 \r
-//\r
-// EFI_FV_WRITE_POLICY\r
-//\r
+///\r
+/// EFI_FV_WRITE_POLICY, two policies (unreliable write and reliable write) are defined.\r
+///\r
 typedef UINT32 EFI_FV_WRITE_POLICY;\r
 #define EFI_FV_UNRELIABLE_WRITE   0x00000000\r
 #define EFI_FV_RELIABLE_WRITE     0x00000001\r
@@ -438,14 +429,31 @@ typedef UINT32 EFI_FV_WRITE_POLICY;
 // EFI_FV_WRITE_FILE_DATA\r
 //\r
 typedef struct {\r
+  ///\r
+  /// Pointer to a GUID, which is the file name to be written.\r
+  ///\r
   EFI_GUID                *NameGuid;\r
+  ///\r
+  /// Indicates the type of file to be written.\r
+  ///\r
   EFI_FV_FILETYPE         Type;\r
+  ///\r
+  /// Indicates the attributes for the file to be written.\r
+  ///\r
   EFI_FV_FILE_ATTRIBUTES  FileAttributes;\r
+  ///\r
+  /// Pointer to a buffer containing the file to be written.\r
+  ///\r
   VOID                    *Buffer;\r
+  ///\r
+  /// Indicates the size of the file image contained in Buffer.\r
+  ///\r
   UINT32                  BufferSize;\r
 } EFI_FV_WRITE_FILE_DATA;\r
 \r
 /**\r
+  Locates the requested section within a file and returns it in a buffer.\r
+\r
   WriteFile() is used to write one or more files to a firmware\r
   volume. Each file to be written is described by an\r
   EFI_FV_WRITE_FILE_DATA structure. The caller must ensure that\r
@@ -464,39 +472,37 @@ typedef struct {
   Architectural Elements 84 August 21, 2006 Version 1.0\r
   WriteFile() is callable only from TPL_NOTIFY and below.\r
   Behavior of WriteFile() at any EFI_TPL above TPL_NOTIFY is\r
-  undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI 2.0\r
-  specification.\r
-\r
-  @param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
-              instance. NumberOfFiles Indicates the number of\r
-              elements in the array pointed to by FileData.\r
+  undefined. \r
 \r
+  @param This           Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.\r
 \r
-  @param WritePolicy  Indicates the level of reliability for the\r
-                      write in the event of a power failure or\r
-                      other system failure during the write\r
-                      operation.\r
+  @param NumberOfFiles  Indicates the number of elements in the array pointed to by FileData\r
 \r
-  @param FileData   Pointer to an array of\r
-                    EFI_FV_WRITE_FILE_DATA. Each element of\r
-                    FileData[] represents a file to be written.\r
+  @param WritePolicy    Indicates the level of reliability for the\r
+                        write in the event of a power failure or\r
+                        other system failure during the write\r
+                        operation.\r
\r
+  @param FileData       Pointer to an array of\r
+                        EFI_FV_WRITE_FILE_DATA. Each element of\r
+                        FileData[] represents a file to be written.\r
 \r
 \r
-  @retval EFI_SUCCESS The write completed successfully.\r
+  @retval EFI_SUCCESS             The write completed successfully.\r
   \r
-  @retval EFI_OUT_OF_RESOURCES  The firmware volume does not\r
-                                have enough free space to\r
-                                storefile(s).\r
+  @retval EFI_OUT_OF_RESOURCES    The firmware volume does not\r
+                                  have enough free space to\r
+                                  storefile(s).\r
   \r
-  @retval EFI_DEVICE_ERROR  A hardware error occurred when\r
-                            attempting to access the firmware volume.\r
+  @retval EFI_DEVICE_ERROR        A hardware error occurred when\r
+                                  attempting to access the firmware volume.\r
   \r
-  @retval EFI_WRITE_PROTECTED   The firmware volume is\r
-                                configured to disallow writes.\r
+  @retval EFI_WRITE_PROTECTED     The firmware volume is\r
+                                  configured to disallow writes.\r
   \r
-  @retval EFI_NOT_FOUND   A delete was requested, but the\r
-                          requested file was not found in the\r
-                          firmware volume.\r
+  @retval EFI_NOT_FOUND           A delete was requested, but the\r
+                                  requested file was not found in the\r
+                                  firmware volume.\r
   \r
   @retval EFI_INVALID_PARAMETER   A delete was requested with a\r
                                   multiple file write.\r
@@ -513,15 +519,18 @@ typedef struct {
 **/\r
 typedef\r
 EFI_STATUS \r
-(EFIAPI * EFI_FV_WRITE_FILE) (\r
+(EFIAPI * EFI_FV_WRITE_FILE)(\r
   IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
-  IN CONST  UINT32                        NumberOfFiles,\r
-  IN CONST  EFI_FV_WRITE_POLICY           WritePolicy,\r
-  IN CONST  EFI_FV_WRITE_FILE_DATA        *FileData\r
+  IN        UINT32                        NumberOfFiles,\r
+  IN        EFI_FV_WRITE_POLICY           WritePolicy,\r
+  IN        EFI_FV_WRITE_FILE_DATA        *FileData\r
 );\r
 \r
 \r
 /**\r
+  Retrieves information about the next file in the firmware volume store \r
+  that matches the search criteria.\r
+\r
   GetNextFile() is the interface that is used to search a firmware\r
   volume for a particular file. It is called successively until\r
   the desired file is located or the function returns\r
@@ -538,22 +547,16 @@ EFI_STATUS
   implementation specific and no semantic content is implied.\r
   GetNextFile() is callable only from TPL_NOTIFY and below.\r
   Behavior of GetNextFile() at any EFI_TPL above TPL_NOTIFY is\r
-  undefined. Type EFI_TPL is defined in RaiseTPL() in the UEFI 2.0\r
-  specification. Status Codes Returned\r
-\r
-\r
-  @param This Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
-              instance. Key Pointer to a caller-allocated buffer\r
-              that contains implementation-specific data that is\r
-              used to track where to begin the search for the\r
-              next file. The size of the buffer must be at least\r
-              This->KeySize bytes long. To re-initialize the\r
-              search and begin from the beginning of the\r
-              firmware volume, the entire buffer must be cleared\r
-              to zero. Other than clearing the buffer to\r
-              initiate a new search, the caller must not modify\r
-              the data in the buffer between calls to\r
-              GetNextFile().\r
+  undefined. \r
+\r
+  @param This       Indicates the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.\r
+\r
+  @param Key        Pointer to a caller-allocated buffer that contains implementation-specific data that is\r
+                    used to track where to begin the search for the next file. The size of the buffer must be\r
+                    at least This->KeySize bytes long. To re-initialize the search and begin from the\r
+                    beginning of the firmware volume, the entire buffer must be cleared to zero. Other\r
+                    than clearing the buffer to initiate a new search, the caller must not modify the data in\r
+                    the buffer between calls to GetNextFile().\r
 \r
   @param FileType   Pointer to a caller-allocated\r
                     EFI_FV_FILETYPE. The GetNextFile() API can\r
@@ -578,16 +581,16 @@ EFI_STATUS
                     EFI_FV_FILE_ATTRIBUTES is defined in\r
                     ReadFile().\r
 \r
-  @param Size   Pointer to a caller-allocated UINTN. If a\r
-                matching file is found, the file's size is\r
-                returned in *Size. If no matching file is found,\r
-                Size is not modified.\r
+  @param Size       Pointer to a caller-allocated UINTN. If a\r
+                    matching file is found, the file's size is\r
+                    returned in *Size. If no matching file is found,\r
+                    Size is not modified.\r
 \r
-  @retval EFI_SUCCESS The output parameters are filled with data\r
-                      obtained from the first matching file that\r
-                      was found.\r
+  @retval EFI_SUCCESS       The output parameters are filled with data\r
+                            obtained from the first matching file that\r
+                            was found.\r
 \r
-  @retval FI_NOT_FOUND  No files of type FileType were found.\r
+  @retval FI_NOT_FOUND      No files of type FileType were found.\r
 \r
 \r
   @retval EFI_DEVICE_ERROR  A hardware error occurred when\r
@@ -601,7 +604,7 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI * EFI_FV_GET_NEXT_FILE) (\r
+(EFIAPI * EFI_FV_GET_NEXT_FILE)(\r
   IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
   IN OUT    VOID                          *Key,\r
   IN OUT    EFI_FV_FILETYPE               *FileType,\r
@@ -611,6 +614,8 @@ EFI_STATUS
 );\r
 \r
 /**\r
+  Return information about a firmware volume.\r
+\r
   The GetInfo() function returns information of type\r
   InformationType for the requested firmware volume. If the volume\r
   does not support the requested information type, then\r
@@ -621,28 +626,28 @@ EFI_STATUS
   this specification are required information types that all file\r
   systems must support.\r
 \r
-  @param This A pointer to the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
-              instance that is the file handle the requested\r
-              information is for.\r
+  @param This             A pointer to the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
+                          instance that is the file handle the requested\r
+                          information is for.\r
   \r
   @param InformationType  The type identifier for the\r
                           information being requested.\r
   \r
-  @param BufferSize   On input, the size of Buffer. On output,\r
-                      the amount of data returned in Buffer. In\r
-                      both cases, the size is measured in bytes.\r
+  @param BufferSize       On input, the size of Buffer. On output,\r
+                          the amount of data returned in Buffer. In\r
+                          both cases, the size is measured in bytes.\r
   \r
-  @param Buffer   A pointer to the data buffer to return. The\r
-                  buffer's type is indicated by InformationType.\r
+  @param Buffer           A pointer to the data buffer to return. The\r
+                          buffer's type is indicated by InformationType.\r
   \r
   \r
-  @retval EFI_SUCCESS   The information was retrieved.\r
+  @retval EFI_SUCCESS           The information was retrieved.\r
   \r
-  @retval EFI_UNSUPPORTED   The InformationType is not known.\r
+  @retval EFI_UNSUPPORTED       The InformationType is not known.\r
   \r
-  @retval EFI_NO_MEDIA  The device has no medium.\r
+  @retval EFI_NO_MEDIA          The device has no medium.\r
   \r
-  @retval EFI_DEVICE_ERROR  The device reported an error.\r
+  @retval EFI_DEVICE_ERROR      The device reported an error.\r
   \r
   @retval EFI_VOLUME_CORRUPTED  The file system structures are\r
                                 corrupted.\r
@@ -657,7 +662,7 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_FV_GET_INFO) (\r
+(EFIAPI *EFI_FV_GET_INFO)(\r
   IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
   IN CONST  EFI_GUID                      *InformationType,\r
   IN OUT    UINTN                         *BufferSize,\r
@@ -666,47 +671,48 @@ EFI_STATUS
 \r
 \r
 /**\r
+  Sets information about a firmware volume.\r
 \r
   The SetInfo() function sets information of type InformationType\r
   on the requested firmware volume.\r
 \r
 \r
-  @param This   A pointer to the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
-                instance that is the file handle the information\r
-                is for.\r
+  @param This             A pointer to the EFI_FIRMWARE_VOLUME2_PROTOCOL\r
+                          instance that is the file handle the information\r
+                          is for.\r
 \r
   @param InformationType  The type identifier for the\r
                           information being set.\r
 \r
-  @param BufferSize   The size, in bytes, of Buffer.\r
+  @param BufferSize       The size, in bytes, of Buffer.\r
 \r
-  @param Buffer A pointer to the data buffer to write. The\r
-                buffer's type is indicated by InformationType.\r
+  @param Buffer           A pointer to the data buffer to write. The\r
+                          buffer's type is indicated by InformationType.\r
 \r
-  @retval EFI_SUCCESS The information was set.\r
+  @retval EFI_SUCCESS           The information was set.\r
 \r
-  @retval EFI_UNSUPPORTED The InformationType is not known.\r
+  @retval EFI_UNSUPPORTED       The InformationType is not known.\r
 \r
-  @retval EFI_NO_MEDIA  The device has no medium.\r
+  @retval EFI_NO_MEDIA          The device has no medium.\r
 \r
-  @retval EFI_DEVICE_ERROR  The device reported an error.\r
+  @retval EFI_DEVICE_ERROR      The device reported an error.\r
 \r
   @retval EFI_VOLUME_CORRUPTED  The file system structures are\r
                                 corrupted.\r
 \r
 \r
-  @retval EFI_WRITE_PROTECTED The media is read only.\r
+  @retval EFI_WRITE_PROTECTED   The media is read only.\r
 \r
-  @retval EFI_VOLUME_FULL   The volume is full.\r
+  @retval EFI_VOLUME_FULL       The volume is full.\r
 \r
-  @retval EFI_BAD_BUFFER_SIZE BufferSize is smaller than the\r
-                              size of the type indicated by\r
-                              InformationType.\r
+  @retval EFI_BAD_BUFFER_SIZE   BufferSize is smaller than the\r
+                                size of the type indicated by\r
+                                InformationType.\r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_FV_SET_INFO) (\r
+(EFIAPI *EFI_FV_SET_INFO)(\r
   IN CONST  EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
   IN CONST  EFI_GUID                      *InformationType,\r
   IN        UINTN                         BufferSize,\r
@@ -714,60 +720,19 @@ EFI_STATUS
 );\r
 \r
 \r
-/**\r
-  The Firmware Volume Protocol contains the file-level\r
-  abstraction to the firmware volume as well as some firmware\r
-  volume attribute reporting and configuration services. The\r
-  Firmware Volume Protocol is the interface used by all parts of\r
-  DXE that are not directly involved with managing the firmware\r
-  volume itself. This abstraction allows many varied types of\r
-  firmware volume implementations. A firmware volume may be a\r
-  flash device or it may be a file in the UEFI system partition,\r
-  for example. This level of firmware volume implementation\r
-  detail is not visible to the consumers of the Firmware Volume\r
-  Protocol.\r
-\r
-  @param  GetVolumeAttributes   Retrieves volume capabilities\r
-                                and current settings. See the\r
-                                GetVolumeAttributes() function\r
-                                description.\r
-\r
-  @param  SetVolumeAttributes   Modifies the current settings of\r
-                                the firmware volume. See the\r
-                                SetVolumeAttributes() function\r
-                                description.\r
-\r
-  @param  ReadFile  Reads an entire file from the firmware\r
-                    volume. See the ReadFile() function\r
-                    description.\r
-\r
-  @param  ReadSection   Reads a single section from a file into\r
-                        a buffer.\r
-\r
-  @param  WriteFile   Writes an entire file into the firmware\r
-                      volume. See the WriteFile() function\r
-                      description.\r
-\r
-  @param  GetNextFile Provides service to allow searching the\r
-                      firmware volume. See the GetNextFile()\r
-                      function description.\r
-\r
-  @param  KeySize   Data field that indicates the size in bytes\r
-                    of the Key input buffer for the\r
-                    GetNextFile() API.\r
-\r
-  @param  ParentHandle  Handle of the parent firmware volume.\r
-                        Type EFI_HANDLE is defined in\r
-                        InstallProtocolInterface() in the UEFI\r
-                        2.0 specification.\r
-\r
-  @param  GetInfo   Gets the requested file or volume\r
-                    information. See the GetInfo() function\r
-                    description.\r
-  @param  SetInfo   Sets the requested file information. See the\r
-                    SetInfo() function description.\r
-\r
-**/\r
+///\r
+/// The Firmware Volume Protocol contains the file-level\r
+/// abstraction to the firmware volume as well as some firmware\r
+/// volume attribute reporting and configuration services. The\r
+/// Firmware Volume Protocol is the interface used by all parts of\r
+/// DXE that are not directly involved with managing the firmware\r
+/// volume itself. This abstraction allows many varied types of\r
+/// firmware volume implementations. A firmware volume may be a\r
+/// flash device or it may be a file in the UEFI system partition,\r
+/// for example. This level of firmware volume implementation\r
+/// detail is not visible to the consumers of the Firmware Volume\r
+/// Protocol.\r
+///\r
 struct _EFI_FIRMWARE_VOLUME2_PROTOCOL {\r
   EFI_FV_GET_ATTRIBUTES   GetVolumeAttributes;\r
   EFI_FV_SET_ATTRIBUTES   SetVolumeAttributes;\r
@@ -775,7 +740,17 @@ struct _EFI_FIRMWARE_VOLUME2_PROTOCOL {
   EFI_FV_READ_SECTION     ReadSection;\r
   EFI_FV_WRITE_FILE       WriteFile;\r
   EFI_FV_GET_NEXT_FILE    GetNextFile;\r
+  \r
+  ///\r
+  /// Data field that indicates the size in bytes\r
+  /// of the Key input buffer for the\r
+  /// GetNextFile() API.  \r
+  ///\r
   UINT32                  KeySize;\r
+  \r
+  ///\r
+  /// Handle of the parent firmware volume.\r
+  ///\r
   EFI_HANDLE              ParentHandle;\r
   EFI_FV_GET_INFO         GetInfo;\r
   EFI_FV_SET_INFO         SetInfo;\r