TianoCore EDK2 master
Loading...
Searching...
No Matches
FvLib.h File Reference
#include <Uefi.h>
#include <Pi/PiFirmwareVolume.h>
#include <Pi/PiFirmwareFile.h>

Go to the source code of this file.

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

Definition in file FvLib.h.

Function Documentation

◆ FfsFindNextFile()

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

Definition at line 112 of file FvLib.c.

◆ FfsFindSection()

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

Definition at line 305 of file FvLib.c.

◆ FfsFindSectionData()

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, excluding the section header.
Return values
EFI_NOT_FOUNDNo files matching the search criteria were found
EFI_SUCCESS

◆ FindFfsSectionInSections()

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

Definition at line 147 of file SecMain.c.