]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Dxe/FwVol/FwVolDriver.h
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / FwVol / FwVolDriver.h
index a614b93d1bd9f87b55d48d1390c8d1e15620db94..3403c812b2ebcb45a27dc6e0a3d49bcb095ea166 100644 (file)
@@ -2,51 +2,47 @@
   Firmware File System protocol. Layers on top of Firmware\r
   Block protocol to produce a file abstraction of FV based files.\r
 \r
-Copyright (c) 2006 - 2011, 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
-\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 - 2014, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #ifndef __FW_VOL_DRIVER_H_\r
 #define __FW_VOL_DRIVER_H_\r
 \r
-\r
-#define FV2_DEVICE_SIGNATURE SIGNATURE_32 ('_', 'F', 'V', '2')\r
+#define FV2_DEVICE_SIGNATURE  SIGNATURE_32 ('_', 'F', 'V', '2')\r
 \r
 //\r
 // Used to track all non-deleted files\r
 //\r
 typedef struct {\r
-  LIST_ENTRY                      Link;\r
-  EFI_FFS_FILE_HEADER             *FfsHeader;\r
-  UINTN                           StreamHandle;\r
+  LIST_ENTRY             Link;\r
+  EFI_FFS_FILE_HEADER    *FfsHeader;\r
+  UINTN                  StreamHandle;\r
+  BOOLEAN                FileCached;\r
 } FFS_FILE_LIST_ENTRY;\r
 \r
 typedef struct {\r
-  UINTN                                   Signature;\r
-  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL      *Fvb;\r
-  EFI_HANDLE                              Handle;\r
-  EFI_FIRMWARE_VOLUME2_PROTOCOL           Fv;\r
+  UINTN                                 Signature;\r
+  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL    *Fvb;\r
+  EFI_HANDLE                            Handle;\r
+  EFI_FIRMWARE_VOLUME2_PROTOCOL         Fv;\r
 \r
-  EFI_FIRMWARE_VOLUME_HEADER              *FwVolHeader;\r
-  UINT8                                   *CachedFv;\r
-  UINT8                                   *EndOfCachedFv;\r
+  EFI_FIRMWARE_VOLUME_HEADER            *FwVolHeader;\r
+  UINT8                                 *CachedFv;\r
+  UINT8                                 *EndOfCachedFv;\r
 \r
-  FFS_FILE_LIST_ENTRY                     *LastKey;\r
+  FFS_FILE_LIST_ENTRY                   *LastKey;\r
 \r
-  LIST_ENTRY                              FfsFileListHeader;\r
+  LIST_ENTRY                            FfsFileListHeader;\r
 \r
-  UINT8                                   ErasePolarity;\r
-  BOOLEAN                                 IsFfs3Fv;\r
+  UINT32                                AuthenticationStatus;\r
+  UINT8                                 ErasePolarity;\r
+  BOOLEAN                               IsFfs3Fv;\r
+  BOOLEAN                               IsMemoryMapped;\r
 } FV_DEVICE;\r
 \r
-#define FV_DEVICE_FROM_THIS(a) CR(a, FV_DEVICE, Fv, FV2_DEVICE_SIGNATURE)\r
+#define FV_DEVICE_FROM_THIS(a)  CR(a, FV_DEVICE, Fv, FV2_DEVICE_SIGNATURE)\r
 \r
 /**\r
   Retrieves attributes, insures positive polarity of attribute bits, returns\r
@@ -61,11 +57,10 @@ typedef struct {
 EFI_STATUS\r
 EFIAPI\r
 FvGetVolumeAttributes (\r
-  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
-  OUT       EFI_FV_ATTRIBUTES             *Attributes\r
+  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  OUT       EFI_FV_ATTRIBUTES              *Attributes\r
   );\r
 \r
-\r
 /**\r
   Sets current attributes for volume\r
 \r
@@ -83,7 +78,6 @@ FvSetVolumeAttributes (
   IN OUT       EFI_FV_ATTRIBUTES              *Attributes\r
   );\r
 \r
-\r
 /**\r
   Given the input key, search for the next matching file in the volume.\r
 \r
@@ -133,16 +127,14 @@ FvSetVolumeAttributes (
 EFI_STATUS\r
 EFIAPI\r
 FvGetNextFile (\r
-  IN CONST   EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
-  IN OUT     VOID                          *Key,\r
-  IN OUT     EFI_FV_FILETYPE               *FileType,\r
-  OUT        EFI_GUID                      *NameGuid,\r
-  OUT        EFI_FV_FILE_ATTRIBUTES        *Attributes,\r
-  OUT        UINTN                         *Size\r
+  IN CONST   EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  IN OUT     VOID                           *Key,\r
+  IN OUT     EFI_FV_FILETYPE                *FileType,\r
+  OUT        EFI_GUID                       *NameGuid,\r
+  OUT        EFI_FV_FILE_ATTRIBUTES         *Attributes,\r
+  OUT        UINTN                          *Size\r
   );\r
 \r
-\r
-\r
 /**\r
   Locates a file in the firmware volume and\r
   copies it to the supplied buffer.\r
@@ -186,16 +178,15 @@ FvGetNextFile (
 EFI_STATUS\r
 EFIAPI\r
 FvReadFile (\r
-  IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
-  IN CONST EFI_GUID                      *NameGuid,\r
-  IN OUT   VOID                          **Buffer,\r
-  IN OUT   UINTN                         *BufferSize,\r
-  OUT      EFI_FV_FILETYPE               *FoundType,\r
-  OUT      EFI_FV_FILE_ATTRIBUTES        *FileAttributes,\r
-  OUT      UINT32                        *AuthenticationStatus\r
+  IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  IN CONST EFI_GUID                       *NameGuid,\r
+  IN OUT   VOID                           **Buffer,\r
+  IN OUT   UINTN                          *BufferSize,\r
+  OUT      EFI_FV_FILETYPE                *FoundType,\r
+  OUT      EFI_FV_FILE_ATTRIBUTES         *FileAttributes,\r
+  OUT      UINT32                         *AuthenticationStatus\r
   );\r
 \r
-\r
 /**\r
   Locates a section in a given FFS File and\r
   copies it to the supplied buffer (not including section header).\r
@@ -236,7 +227,6 @@ FvReadFileSection (
   OUT       UINT32                         *AuthenticationStatus\r
   );\r
 \r
-\r
 /**\r
   Writes one or more files to the firmware volume.\r
 \r
@@ -267,7 +257,6 @@ FvWriteFile (
   IN       EFI_FV_WRITE_FILE_DATA         *FileData\r
   );\r
 \r
-\r
 /**\r
   Return information of type InformationType for the requested firmware\r
   volume.\r
@@ -284,14 +273,12 @@ FvWriteFile (
 EFI_STATUS\r
 EFIAPI\r
 FvGetVolumeInfo (\r
-  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL       *This,\r
-  IN  CONST EFI_GUID                            *InformationType,\r
-  IN OUT UINTN                                  *BufferSize,\r
-  OUT VOID                                      *Buffer\r
+  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  IN  CONST EFI_GUID                       *InformationType,\r
+  IN OUT UINTN                             *BufferSize,\r
+  OUT VOID                                 *Buffer\r
   );\r
 \r
-\r
-\r
 /**\r
   Set information of type InformationType for the requested firmware\r
   volume.\r
@@ -308,14 +295,12 @@ FvGetVolumeInfo (
 EFI_STATUS\r
 EFIAPI\r
 FvSetVolumeInfo (\r
-  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL       *This,\r
-  IN  CONST EFI_GUID                            *InformationType,\r
-  IN  UINTN                                     BufferSize,\r
-  IN CONST  VOID                                *Buffer\r
+  IN  CONST EFI_FIRMWARE_VOLUME2_PROTOCOL  *This,\r
+  IN  CONST EFI_GUID                       *InformationType,\r
+  IN  UINTN                                BufferSize,\r
+  IN CONST  VOID                           *Buffer\r
   );\r
 \r
-\r
-\r
 /**\r
   Check if a block of buffer is erased.\r
 \r
@@ -329,12 +314,11 @@ FvSetVolumeInfo (
 **/\r
 BOOLEAN\r
 IsBufferErased (\r
-  IN UINT8    ErasePolarity,\r
-  IN VOID     *InBuffer,\r
-  IN UINTN    BufferSize\r
+  IN UINT8  ErasePolarity,\r
+  IN VOID   *InBuffer,\r
+  IN UINTN  BufferSize\r
   );\r
 \r
-\r
 /**\r
   Get the FFS file state by checking the highest bit set in the header's state field.\r
 \r
@@ -350,7 +334,6 @@ GetFileState (
   IN EFI_FFS_FILE_HEADER  *FfsHeader\r
   );\r
 \r
-\r
 /**\r
   Set the FFS file state.\r
 \r
@@ -384,7 +367,6 @@ IsValidFfsHeader (
   OUT EFI_FFS_FILE_STATE  *FileState\r
   );\r
 \r
-\r
 /**\r
   Check if it's a valid FFS file.\r
   Here we are sure that it has a valid FFS file header since we must call IsValidFfsHeader() first.\r
@@ -402,42 +384,4 @@ IsValidFfsFile (
   IN EFI_FFS_FILE_HEADER  *FfsHeader\r
   );\r
 \r
-\r
-/**\r
-  given the supplied FW_VOL_BLOCK_PROTOCOL, allocate a buffer for output and\r
-  copy the volume header into it.\r
-\r
-  @param  Fvb                   The FW_VOL_BLOCK_PROTOCOL instance from which to\r
-                                read the volume header\r
-  @param  FwVolHeader           Pointer to pointer to allocated buffer in which\r
-                                the volume header is returned.\r
-\r
-  @retval EFI_OUT_OF_RESOURCES  No enough buffer could be allocated.\r
-  @retval EFI_SUCCESS           Successfully read volume header to the allocated\r
-                                buffer.\r
-\r
-**/\r
-EFI_STATUS\r
-GetFwVolHeader (\r
-  IN     EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL     *Fvb,\r
-  OUT    EFI_FIRMWARE_VOLUME_HEADER             **FwVolHeader\r
-  );\r
-\r
-\r
-\r
-/**\r
-  Check if an FV is consistent and allocate cache for it.\r
-\r
-  @param  FvDevice              A pointer to the FvDevice to be checked.\r
-\r
-  @retval EFI_OUT_OF_RESOURCES  No enough buffer could be allocated.\r
-  @retval EFI_SUCCESS           FV is consistent and cache is allocated.\r
-  @retval EFI_VOLUME_CORRUPTED  File system is corrupted.\r
-\r
-**/\r
-EFI_STATUS\r
-FvCheck (\r
-  IN OUT FV_DEVICE  *FvDevice\r
-  );\r
-\r
 #endif\r