StandaloneMmPkg[all]  1.0
 All Data Structures Files Functions Variables Typedefs Macros Pages
FvLib.h File Reference

Functions

EFI_STATUS EFIAPI FfsFindNextFile (IN EFI_FV_FILETYPE SearchType, IN EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader, IN OUT EFI_FFS_FILE_HEADER **FileHeader)
 
EFI_STATUS EFIAPI FfsFindSection (IN EFI_SECTION_TYPE SectionType, IN EFI_FFS_FILE_HEADER *FfsFileHeader, IN OUT EFI_COMMON_SECTION_HEADER **SectionHeader)
 
EFI_STATUS EFIAPI FindFfsSectionInSections (IN VOID *Sections, IN UINTN SizeOfSections, IN EFI_SECTION_TYPE SectionType, OUT EFI_COMMON_SECTION_HEADER **FoundSection)
 
EFI_STATUS EFIAPI FfsFindSectionData (IN EFI_SECTION_TYPE SectionType, IN EFI_FFS_FILE_HEADER *FfsFileHeader, OUT VOID **SectionData, OUT UINTN *SectionDataSize)
 

Detailed Description

Copyright (c) 2015, Intel Corporation. All rights reserved.
Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Function Documentation

EFI_STATUS EFIAPI FfsFindNextFile ( IN EFI_FV_FILETYPE  SearchType,
IN EFI_FIRMWARE_VOLUME_HEADER *  FwVolHeader,
IN OUT EFI_FFS_FILE_HEADER **  FileHeader 
)

Given the input file pointer, search for the next matching file in the FFS volume as defined by SearchType. The search starts from FileHeader inside the Firmware Volume defined by FwVolHeader.

Parameters
SearchTypeFilter to find only files of this type. Type EFI_FV_FILETYPE_ALL causes no filtering to be done.
FwVolHeaderPointer to the FV header of the volume to search. This parameter must point to a valid FFS volume.
FileHeaderPointer to the current file from which to begin searching. This pointer will be updated upon return to reflect the file found.
Return values
EFI_NOT_FOUNDNo files matching the search criteria were found
EFI_SUCCESS
EFI_STATUS EFIAPI FfsFindSection ( IN EFI_SECTION_TYPE  SectionType,
IN EFI_FFS_FILE_HEADER *  FfsFileHeader,
IN OUT EFI_COMMON_SECTION_HEADER **  SectionHeader 
)

Given the input file pointer, search for the next matching section in the FFS volume.

Parameters
SearchTypeFilter to find only sections of this type.
FfsFileHeaderPointer to the current file to search.
SectionHeaderPointer to the Section matching SectionType in FfsFileHeader. NULL if section not found
Return values
EFI_NOT_FOUNDNo files matching the search criteria were found
EFI_SUCCESS
EFI_STATUS EFIAPI FfsFindSectionData ( IN EFI_SECTION_TYPE  SectionType,
IN EFI_FFS_FILE_HEADER *  FfsFileHeader,
OUT VOID **  SectionData,
OUT UINTN *  SectionDataSize 
)

Given the input file pointer, search for the next matching section in the FFS volume.

Parameters
SearchTypeFilter to find only sections of this type.
FfsFileHeaderPointer to the current file to search.
SectionDataPointer to the Section matching SectionType in FfsFileHeader. NULL if section not found
SectionDataSizeThe size of SectionData
Return values
EFI_NOT_FOUNDNo files matching the search criteria were found
EFI_SUCCESS
EFI_STATUS EFIAPI FindFfsSectionInSections ( IN VOID *  Sections,
IN UINTN  SizeOfSections,
IN EFI_SECTION_TYPE  SectionType,
OUT EFI_COMMON_SECTION_HEADER **  FoundSection 
)

Locates a section within a series of sections with the specified section type.

Parameters
[in]SectionsThe sections to search
[in]SizeOfSectionsTotal size of all sections
[in]SectionTypeThe section type to locate
[out]FoundSectionThe FFS section if found
Return values
EFI_SUCCESSThe file and section was found
EFI_NOT_FOUNDThe file and section was not found
EFI_VOLUME_CORRUPTEDThe firmware volume was corrupted