4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This file provides functions for accessing a memory-mapped firmware volume of a specific format.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync are licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync which accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @par Revision Reference:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This PPI is from PI Version 1.0 errata.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// The GUID for this PPI is the same as the firmware volume format GUID.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// The FV format can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for a user-defined
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is the PI Firmware Volume format.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI EFI_PEI_FIRMWARE_VOLUME_PPI;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Process a firmware volume and create a volume handle.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Create a volume handle from the information in the buffer. For
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memory-mapped firmware volumes, Buffer and BufferSize refer to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the start of the firmware volume and the firmware volume size.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync For non memory-mapped firmware volumes, this points to a
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync buffer which contains the necessary information for creating
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the firmware volume handle. Normally, these values are derived
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync from the EFI_FIRMWARE_VOLUME_INFO_PPI.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param This Points to this instance of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_PEI_FIRMWARE_VOLUME_PPI.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Buffer Points to the start of the buffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize Size of the buffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FvHandle Points to the returned firmware volume
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync handle. The firmware volume handle must
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync be unique within the system.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS Firmware volume handle created.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_VOLUME_CORRUPTED Volume was corrupt.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Finds the next file of the specified type.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This service enables PEI modules to discover additional firmware files.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The FileHandle must be unique within the system.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param This Points to this instance of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_PEI_FIRMWARE_VOLUME_PPI.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param SearchType A filter to find only files of this type. Type
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_FV_FILETYPE_ALL causes no filtering to be
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FvHandle Handle of firmware volume in which to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FileHandle Points to the current handle from which to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync begin searching or NULL to start at the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync beginning of the firmware volume. Updated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync upon return to reflect the file found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The file was found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_NOT_FOUND The file was not found. FileHandle contains NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Find a file within a volume by its name.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This service searches for files with a specific name, within
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync either the specified firmware volume or all firmware volumes.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param This Points to this instance of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_PEI_FIRMWARE_VOLUME_PPI.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FileName A pointer to the name of the file to find
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync within the firmware volume.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FvHandle Upon entry, the pointer to the firmware
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync volume to search or NULL if all firmware
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync volumes should be searched. Upon exit, the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync actual firmware volume in which the file was
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FileHandle Upon exit, points to the found file's
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync handle or NULL if it could not be found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS File was found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_NOT_FOUND File was not found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_INVALID_PARAMETER FvHandle or FileHandle or
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync FileName was NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Returns information about a specific file.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This function returns information about a specific
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync file, including its file name, type, attributes, starting
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync address and size.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param This Points to this instance of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_PEI_FIRMWARE_VOLUME_PPI.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FileHandle Handle of the file.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FileInfo Upon exit, points to the file's
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync information.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS File information returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_INVALID_PARAMETER If FileHandle does not
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync represent a valid file.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_INVALID_PARAMETER If FileInfo is NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This function returns information about the firmware volume.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param This Points to this instance of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_PEI_FIRMWARE_VOLUME_PPI.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FvHandle Handle to the firmware handle.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param VolumeInfo Points to the returned firmware volume
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync information.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS Information returned successfully.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_INVALID_PARAMETER FvHandle does not indicate a valid
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync firmware volume or VolumeInfo is NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Find the next matching section in the firmware file.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This service enables PEI modules to discover sections
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync of a given type within a valid file.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param This Points to this instance of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_PEI_FIRMWARE_VOLUME_PPI.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param SearchType A filter to find only sections of this
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FileHandle Handle of firmware file in which to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param SectionData Updated upon return to point to the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync section found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS Section was found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_NOT_FOUND Section of the specified type was not
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync found. SectionData contains NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// This PPI provides functions for accessing a memory-mapped firmware volume of a specific format.