-/* @file\r
+/** @file\r
This file provides functions for accessing a memory-mapped firmware volume of a specific format.\r
\r
Copyright (c) 2006 - 2007, Intel Corporation \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
\r
- Module Name: FirmwareVolume.h\r
-\r
@par Revision Reference:\r
This PPI is defined in PI.\r
Version 1.00\r
#ifndef __FIRMWARE_VOLUME_PPI_H__\r
#define __FIRMWARE_VOLUME_PPI_H__\r
\r
-//\r
-// The GUID for this PPI is the same as the firmware volume format GUID.\r
-// can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for a user-defined format. The\r
-// EFI_FIRMWARE_FILE_SYSTEM2_GUID is the PI Firmware Volume format.\r
-// \r
-\r
+///\r
+/// The GUID for this PPI is the same as the firmware volume format GUID.\r
+/// The FV format can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for a user-defined\r
+/// format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is the PI Firmware Volume format.\r
+/// \r
typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI EFI_PEI_FIRMWARE_VOLUME_PPI;\r
\r
\r
/**\r
+ Process a firmware volume and create a volume handle.\r
+\r
Create a volume handle from the information in the buffer. For\r
memory-mapped firmware volumes, Buffer and BufferSize refer to\r
the start of the firmware volume and the firmware volume size.\r
from the EFI_FIRMWARE_VOLUME_INFO_PPI.\r
\r
\r
- @param This Points to this instance of the\r
- EFI_PEI_FIRMWARE_VOLUME_PPI\r
- @param Buffer Points to the start of the buffer.\r
- @param BufferSize Size of the buffer.\r
- @param FvHandle Points to the returned firmware volume\r
- handle. The firmware volume handle must\r
- be unique within the system. \r
-\r
+ @param This Points to this instance of the\r
+ EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+ @param Buffer Points to the start of the buffer.\r
+ @param BufferSize Size of the buffer.\r
+ @param FvHandle Points to the returned firmware volume\r
+ handle. The firmware volume handle must\r
+ be unique within the system. \r
\r
- @retval EFI_SUCCESS Firmware volume handle.\r
+ @retval EFI_SUCCESS Firmware volume handle created.\r
@retval EFI_VOLUME_CORRUPTED Volume was corrupt.\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PEI_FV_PROCESS_FV) (\r
- IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
- IN CONST VOID *Buffer,\r
- IN CONST UINTN BufferSize,\r
- OUT EFI_PEI_FV_HANDLE *FvHandle\r
+(EFIAPI *EFI_PEI_FV_PROCESS_FV)(\r
+ IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize,\r
+ OUT EFI_PEI_FV_HANDLE *FvHandle\r
);\r
\r
-\r
/**\r
- Create a volume handle from the information in the buffer. For\r
- memory-mapped firmware volumes, Buffer and BufferSize refer to\r
- the start of the firmware volume and the firmware volume size.\r
- For non memory-mapped firmware volumes, this points to a\r
- buffer which contains the necessary information for creating\r
- the firmware volume handle. Normally, these values are derived\r
- from the EFI_FIRMWARE_VOLUME_INFO_PPI.\r
- \r
- \r
- @param This Points to this instance of the\r
- EFI_PEI_FIRMWARE_VOLUME_PPI\r
- @param Buffer Points to the start of the buffer.\r
- @param BufferSize Size of the buffer.\r
- @param FvHandle Points to the returned firmware volume\r
- handle. The firmware volume handle must\r
- be unique within the system. \r
-\r
-\r
- @retval EFI_SUCCESS Firmware volume handle.\r
- @retval EFI_VOLUME_CORRUPTED Volume was corrupt.\r
-\r
-**/\r
-\r
-/**\r
- This service enables PEI modules to discover additional firmware files. The FileHandle must be\r
- unique within the system.\r
-\r
- @param This Points to this instance of the\r
- EFI_PEI_FIRMWARE_VOLUME_PPI. SearchType A filter\r
- to find only files of this type. Type\r
- EFI_FV_FILETYPE_ALL causes no filtering to be\r
- done.\r
- @param FvHandle Handle of firmware volume in which to\r
- search.\r
-\r
- @param FileHandle Points to the current handle from which to\r
- begin searching or NULL to start at the\r
- beginning of the firmware volume. Updated\r
- upon return to reflect the file found.\r
-\r
+ Finds the next file of the specified type.\r
+\r
+ This service enables PEI modules to discover additional firmware files. \r
+ The FileHandle must be unique within the system.\r
+\r
+ @param This Points to this instance of the\r
+ EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+ @param SearchType A filter to find only files of this type. Type\r
+ EFI_FV_FILETYPE_ALL causes no filtering to be\r
+ done.\r
+ @param FvHandle Handle of firmware volume in which to\r
+ search.\r
+ @param FileHandle Points to the current handle from which to\r
+ begin searching or NULL to start at the\r
+ beginning of the firmware volume. Updated\r
+ upon return to reflect the file found.\r
\r
@retval EFI_SUCCESS The file was found.\r
- @retval EFI_NOT_FOUND The file was not found. FileHandle\r
- contains NULL.\r
+ @retval EFI_NOT_FOUND The file was not found. FileHandle contains NULL.\r
+\r
**/ \r
-typedef EFI_STATUS\r
-(EFIAPI *EFI_PEI_FV_FIND_FILE_TYPE) ( \r
- IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, \r
- IN CONST EFI_FV_FILETYPE SearchType, \r
- IN CONST EFI_PEI_FV_HANDLE FvHandle,\r
- IN OUT EFI_PEI_FILE_HANDLE *FileHandle \r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_PEI_FV_FIND_FILE_TYPE)( \r
+ IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, \r
+ IN EFI_FV_FILETYPE SearchType, \r
+ IN EFI_PEI_FV_HANDLE FvHandle,\r
+ IN OUT EFI_PEI_FILE_HANDLE *FileHandle \r
);\r
\r
\r
/**\r
- \r
+ Find a file within a volume by its name. \r
+ \r
This service searches for files with a specific name, within\r
either the specified firmware volume or all firmware volumes.\r
\r
- @param This Points to this instance of the\r
- EFI_PEI_FIRMWARE_VOLUME_PPI.\r
-\r
- @param FileName A pointer to the name of the file to find\r
- within the firmware volume.\r
-\r
- @param FvHandle Upon entry, the pointer to the firmware\r
- volume to search or NULL if all firmware\r
- volumes should be searched. Upon exit, the\r
- actual firmware volume in which the file was\r
- found.\r
-\r
- @param FileHandle Upon exit, points to the found file's\r
- handle or NULL if it could not be found.\r
-\r
- @retval EFI_SUCCESS File was found.\r
-\r
- @param EFI_NOT_FOUND File was not found.\r
-\r
- @param EFI_INVALID_PARAMETER FvHandle or FileHandle or\r
+ @param This Points to this instance of the\r
+ EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+ @param FileName A pointer to the name of the file to find\r
+ within the firmware volume.\r
+ @param FvHandle Upon entry, the pointer to the firmware\r
+ volume to search or NULL if all firmware\r
+ volumes should be searched. Upon exit, the\r
+ actual firmware volume in which the file was\r
+ found.\r
+ @param FileHandle Upon exit, points to the found file's\r
+ handle or NULL if it could not be found.\r
+\r
+ @retval EFI_SUCCESS File was found.\r
+ @retval EFI_NOT_FOUND File was not found.\r
+ @retval EFI_INVALID_PARAMETER FvHandle or FileHandle or\r
FileName was NULL.\r
\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PEI_FV_FIND_FILE_NAME) (\r
- IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
- IN CONST EFI_GUID *FileName,\r
- IN CONST EFI_PEI_FV_HANDLE FvHandle,\r
- OUT EFI_PEI_FILE_HANDLE *FileHandle\r
+(EFIAPI *EFI_PEI_FV_FIND_FILE_NAME)(\r
+ IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
+ IN CONST EFI_GUID *FileName,\r
+ IN EFI_PEI_FV_HANDLE FvHandle,\r
+ OUT EFI_PEI_FILE_HANDLE *FileHandle\r
);\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 and size. \r
\r
- @param This Points to this instance of the\r
- EFI_PEI_FIRMWARE_VOLUME_PPI.\r
-\r
- @param FileHandle Handle of the file.\r
-\r
- @param FileInfo Upon exit, points to the file????s\r
- information.\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
- \r
@retval EFI_INVALID_PARAMETER If FileHandle does not\r
represent a valid file.\r
- EFI_INVALID_PARAMETER If\r
- FileInfo is NULL\r
+ @retval EFI_INVALID_PARAMETER If FileInfo is NULL.\r
\r
**/ \r
-\r
typedef\r
-EFI_STATUS (EFIAPI *EFI_PEI_FV_GET_FILE_INFO) (\r
+EFI_STATUS\r
+(EFIAPI *EFI_PEI_FV_GET_FILE_INFO)(\r
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, \r
- IN CONST EFI_PEI_FILE_HANDLE FileHandle, \r
- OUT EFI_FV_FILE_INFO *FileInfo\r
+ IN EFI_PEI_FILE_HANDLE FileHandle, \r
+ OUT EFI_FV_FILE_INFO *FileInfo\r
);\r
\r
/**\r
- This function returns information about the firmware\r
- volume.\r
- \r
- @param This Points to this instance of the\r
- EFI_PEI_FIRMWARE_VOLUME_PPI.\r
- \r
- @param FvHandle Handle to the firmware handle.\r
+ This function returns information about the firmware volume.\r
\r
- @param VolumeInfo Points to the returned firmware volume\r
- information.\r
- \r
- \r
- @retval EFI_SUCCESS Information returned\r
- successfully.\r
- \r
- @retval EFI_INVALID_PARAMETER FvHandle does not indicate a\r
- valid firmware volume or VolumeInfo is NULL\r
+ @param This Points to this instance of the\r
+ EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+ @param FvHandle Handle to the firmware handle.\r
+ @param VolumeInfo Points to the returned firmware volume\r
+ information.\r
+\r
+ @retval EFI_SUCCESS Information returned successfully.\r
+ @retval EFI_INVALID_PARAMETER FvHandle does not indicate a valid\r
+ firmware volume or VolumeInfo is NULL.\r
+\r
**/ \r
typedef\r
-EFI_STATUS (EFIAPI *EFI_PEI_FV_GET_INFO)(\r
- IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, \r
- IN CONST EFI_PEI_FV_HANDLE FvHandle, \r
- OUT EFI_FV_INFO *VolumeInfo\r
+EFI_STATUS\r
+(EFIAPI *EFI_PEI_FV_GET_INFO)(\r
+ IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This, \r
+ IN EFI_PEI_FV_HANDLE FvHandle, \r
+ OUT EFI_FV_INFO *VolumeInfo\r
);\r
\r
/**\r
- This service enables PEI modules to discover sections of a given type within a valid file.\r
- \r
- @param This Points to this instance of the\r
- EFI_PEI_FIRMWARE_VOLUME_PPI.\r
+ Find the next matching section in the firmware file.\r
\r
- @param SearchType A filter to find only sections of this\r
- type.\r
+ This service enables PEI modules to discover sections\r
+ of a given type within a valid file.\r
\r
- @param FileHandle Handle of firmware file in which to\r
- search.\r
- \r
- @param SectionData Updated upon return to point to the\r
- section found.\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 FileHandle Handle of firmware file in which to\r
+ search.\r
+ @param SectionData Updated upon return to point to the\r
+ section found.\r
\r
@retval EFI_SUCCESS Section was found.\r
- \r
@retval EFI_NOT_FOUND Section of the specified type was not\r
found. SectionData contains NULL.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PEI_FV_FIND_SECTION) (\r
- IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
- IN CONST EFI_SECTION_TYPE SearchType,\r
- IN CONST EFI_PEI_FILE_HANDLE FileHandle,\r
- OUT VOID **SectionData\r
+(EFIAPI *EFI_PEI_FV_FIND_SECTION)(\r
+ IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,\r
+ IN EFI_SECTION_TYPE SearchType,\r
+ IN EFI_PEI_FILE_HANDLE FileHandle,\r
+ OUT VOID **SectionData\r
);\r
\r
-\r
-\r
-/*\r
- This PPI provides functions for accessing a memory-mapped firmware volume of a specific format.\r
-\r
- @param ProcessVolume Process a firmware volume and create a volume handle.\r
- @param FindFileByType Find all files of a specific type.\r
- @param FindFileByName Find the file with a specific name.\r
- @param GetFileInfo Return the information about a specific file\r
- @param GetVolumeInfo Return the firmware volume attributes.\r
- @param FindSectionByType Find all sections of a specific type.\r
-\r
-**/\r
+///\r
+/// This PPI provides functions for accessing a memory-mapped firmware volume of a specific format.\r
+///\r
struct _EFI_PEI_FIRMWARE_VOLUME_PPI {\r
EFI_PEI_FV_PROCESS_FV ProcessVolume;\r
EFI_PEI_FV_FIND_FILE_TYPE FindFileByType;\r
EFI_PEI_FV_GET_FILE_INFO GetFileInfo;\r
EFI_PEI_FV_GET_INFO GetVolumeInfo;\r
EFI_PEI_FV_FIND_SECTION FindSectionByType;\r
-} ;\r
+};\r
\r
extern EFI_GUID gEfiPeiFirmwareVolumePpiGuid;\r
\r