/** @file Copyright (c) 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php. THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ #ifndef _PEI_LIB_H_ #define _PEI_LIB_H_ #include /** Returns the status whether get the variable success. The function retrieves variable through the ReadOnlyVariable2 PPI GetVariable(). If the *Size is 0, the returned buffer is allocated using AllocatePool(). The caller is responsible for freeing this buffer with FreePool(). If the *Size is non-0, this function just uses caller allocated *Value. @param[in] Name The pointer to a Null-terminated Unicode string. @param[in] Guid The pointer to an EFI_GUID structure @param[out] Value The buffer point saved the variable info. @param[out] Size The buffer size of the variable. @return EFI_OUT_OF_RESOURCES Allocate buffer failed. @return EFI_SUCCESS Find the specified variable. @return Others Errors Return errors from call to gRT->GetVariable. **/ EFI_STATUS EFIAPI PeiGetVariable ( IN CONST CHAR16 *Name, IN CONST EFI_GUID *Guid, OUT VOID **Value, OUT UINTN *Size ); /** Finds the file in any FV and gets file Address and Size @param[in] NameGuid File GUID @param[out] Address Pointer to the File Address @param[out] Size Pointer to File Size @retval EFI_SUCCESS Successfull in reading the file from any FV **/ EFI_STATUS EFIAPI PeiGetFfsFromAnyFv ( IN CONST EFI_GUID *NameGuid, OUT VOID **Address, OUT UINTN *Size ); /** Finds the section in any FV and gets section Address and Size @param[in] NameGuid File GUID @param[in] SectionType The SectionType of Section to be found @param[in] SectionInstance The Instance of Section to be found @param[out] Address Pointer to the section Address @param[out] Size Pointer to section Size @retval EFI_SUCCESS Successfull in reading the section from any FV **/ EFI_STATUS EFIAPI PeiGetSectionFromAnyFv ( IN CONST EFI_GUID *NameGuid, IN EFI_SECTION_TYPE SectionType, IN UINTN SectionInstance, OUT VOID **Address, OUT UINTN *Size ); #endif