/** @file Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #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