]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Pei/FwVol/FwVol.h
1. Enable use-cases in PEI using SecurityPPI co-equal to the use-cases in DXE using...
[mirror_edk2.git] / MdeModulePkg / Core / Pei / FwVol / FwVol.h
index ed4013017591271b3dc54e74d27c110789d4f634..1daeb6d97b4963e5263a5c645dc2e272661f96ef 100644 (file)
@@ -159,6 +159,40 @@ PeiFfsFvPpiFindSectionByType (
   OUT VOID                                 **SectionData\r
   );\r
 \r
+/**\r
+  Find the next matching section in the firmware file.\r
+\r
+  This service enables PEI modules to discover sections\r
+  of a given instance and type within a valid file.\r
+\r
+  @param This                   Points to this instance of the\r
+                                EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+  @param SearchType             A filter to find only sections of this\r
+                                type.\r
+  @param SearchInstance         A filter to find the specific instance\r
+                                of sections.\r
+  @param FileHandle             Handle of firmware file in which to\r
+                                search.\r
+  @param SectionData            Updated upon return to point to the\r
+                                section found.\r
+  @param AuthenticationStatus   Updated upon return to point to the\r
+                                authentication status for this section.\r
+\r
+  @retval EFI_SUCCESS     Section was found.\r
+  @retval EFI_NOT_FOUND   Section of the specified type was not\r
+                          found. SectionData contains NULL.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+PeiFfsFvPpiFindSectionByType2 (\r
+  IN  CONST EFI_PEI_FIRMWARE_VOLUME_PPI    *This,\r
+  IN        EFI_SECTION_TYPE               SearchType,\r
+  IN        UINTN                          SearchInstance,\r
+  IN        EFI_PEI_FILE_HANDLE            FileHandle,\r
+  OUT VOID                                 **SectionData,\r
+  OUT UINT32                               *AuthenticationStatus\r
+  );\r
+\r
 /**\r
   Returns information about a specific file.\r
 \r
@@ -186,6 +220,33 @@ PeiFfsFvPpiGetFileInfo (
   OUT       EFI_FV_FILE_INFO              *FileInfo\r
   );\r
 \r
+/**\r
+  Returns information about a specific file.\r
+\r
+  This function returns information about a specific\r
+  file, including its file name, type, attributes, starting\r
+  address, size and authentication status.\r
+\r
+  @param This                     Points to this instance of the\r
+                                  EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+  @param FileHandle               Handle of the file.\r
+  @param FileInfo                 Upon exit, points to the file's\r
+                                  information.\r
+\r
+  @retval EFI_SUCCESS             File information returned.\r
+  @retval EFI_INVALID_PARAMETER   If FileHandle does not\r
+                                  represent a valid file.\r
+  @retval EFI_INVALID_PARAMETER   If FileInfo is NULL.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+PeiFfsFvPpiGetFileInfo2 (\r
+  IN  CONST EFI_PEI_FIRMWARE_VOLUME_PPI   *This,\r
+  IN        EFI_PEI_FILE_HANDLE           FileHandle,\r
+  OUT       EFI_FV_FILE_INFO2             *FileInfo\r
+  );\r
+\r
 /**\r
   This function returns information about the firmware volume.\r
   \r
@@ -250,7 +311,7 @@ FindFileEx (
 /**\r
   Report the information for a new discoveried FV in unknown format.\r
   \r
-  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been install for specifical FV format, but\r
+  If the EFI_PEI_FIRMWARE_VOLUME_PPI has not been installed for specifical FV format, but\r
   the FV in this FV format has been discoveried, then the information of this FV\r
   will be cached into PEI_CORE_INSTANCE's UnknownFvInfo array.\r
   Also a notification would be installed for unknown FV format guid, if EFI_PEI_FIRMWARE_VOLUME_PPI\r
@@ -258,19 +319,15 @@ FindFileEx (
   using new installed EFI_PEI_FIRMWARE_VOLUME_PPI.\r
   \r
   @param PrivateData  Point to instance of PEI_CORE_INSTANCE\r
-  @param Format       Point to the unknown FV format guid.\r
-  @param FvInfo       Point to FvInfo buffer.\r
-  @param FvInfoSize   The size of FvInfo buffer.\r
+  @param FvInfo2Ppi   Point to FvInfo2 PPI.\r
   \r
   @retval EFI_OUT_OF_RESOURCES  The FV info array in PEI_CORE_INSTANCE has no more spaces.\r
   @retval EFI_SUCCESS           Success to add the information for unknown FV.\r
 **/\r
 EFI_STATUS\r
 AddUnknownFormatFvInfo (\r
-  IN PEI_CORE_INSTANCE *PrivateData,\r
-  IN EFI_GUID          *Format,\r
-  IN VOID              *FvInfo,\r
-  IN UINT32            FvInfoSize\r
+  IN PEI_CORE_INSTANCE                  *PrivateData,\r
+  IN EFI_PEI_FIRMWARE_VOLUME_INFO2_PPI  *FvInfo2Ppi\r
   );\r
   \r
 /**\r
@@ -283,6 +340,7 @@ AddUnknownFormatFvInfo (
   @param Format           Point to given FV format guid\r
   @param FvInfo           On return, the pointer of FV information buffer in given FV format guid\r
   @param FvInfoSize       On return, the size of FV information buffer.\r
+  @param AuthenticationStatus On return, the authentication status of FV information buffer.\r
   \r
   @retval EFI_NOT_FOUND  The FV is not found for new installed EFI_PEI_FIRMWARE_VOLUME_PPI\r
   @retval EFI_SUCCESS    Success to find a FV which could be processed by new installed EFI_PEI_FIRMWARE_VOLUME_PPI.\r
@@ -292,7 +350,8 @@ FindUnknownFormatFvInfo (
   IN  PEI_CORE_INSTANCE *PrivateData,\r
   IN  EFI_GUID          *Format,\r
   OUT VOID              **FvInfo,\r
-  OUT UINT32            *FvInfoSize\r
+  OUT UINT32            *FvInfoSize,\r
+  OUT UINT32            *AuthenticationStatus\r
   );\r
   \r
 /**\r