/** @file Google Test mocks for PeiServicesLib Copyright (c) 2023, Intel Corporation. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef MOCK_PEI_SERVICES_LIB_H_ #define MOCK_PEI_SERVICES_LIB_H_ #include #include extern "C" { #include #include #include } struct MockPeiServicesLib { MOCK_INTERFACE_DECLARATION (MockPeiServicesLib); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesInstallPpi, (IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesReInstallPpi, (IN CONST EFI_PEI_PPI_DESCRIPTOR *OldPpi, IN CONST EFI_PEI_PPI_DESCRIPTOR *NewPpi) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesLocatePpi, (IN CONST EFI_GUID *Guid, IN UINTN Instance, IN OUT EFI_PEI_PPI_DESCRIPTOR **PpiDescriptor OPTIONAL, IN OUT VOID **Ppi) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesNotifyPpi, (IN CONST EFI_PEI_NOTIFY_DESCRIPTOR *NotifyList) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesGetBootMode, (OUT EFI_BOOT_MODE *BootMode) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesSetBootMode, (IN EFI_BOOT_MODE BootMode) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesGetHobList, (OUT VOID **HobList) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesCreateHob, (IN UINT16 Type, IN UINT16 Length, OUT VOID **Hob) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesFfsFindNextVolume, (IN UINTN Instance, IN OUT EFI_PEI_FV_HANDLE *VolumeHandle) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesFfsFindNextFile, (IN EFI_FV_FILETYPE SearchType, IN EFI_PEI_FV_HANDLE VolumeHandle, IN OUT EFI_PEI_FILE_HANDLE *FileHandle) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesFfsFindSectionData, (IN EFI_SECTION_TYPE SectionType, IN EFI_PEI_FILE_HANDLE FileHandle, OUT VOID **SectionData) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesFfsFindSectionData3, (IN EFI_SECTION_TYPE SectionType, IN UINTN SectionInstance, IN EFI_PEI_FILE_HANDLE FileHandle, OUT VOID **SectionData, OUT UINT32 *AuthenticationStatus) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesInstallPeiMemory, (IN EFI_PHYSICAL_ADDRESS MemoryBegin, IN UINT64 MemoryLength) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesAllocatePages, (IN EFI_MEMORY_TYPE MemoryType, IN UINTN Pages, OUT EFI_PHYSICAL_ADDRESS *Memory) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesFreePages, (IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesAllocatePool, (IN UINTN Size, OUT VOID **Buffer) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesResetSystem, () ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesFfsFindFileByName, (IN CONST EFI_GUID *FileName, IN CONST EFI_PEI_FV_HANDLE VolumeHandle, OUT EFI_PEI_FILE_HANDLE *FileHandle) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesFfsGetFileInfo, (IN CONST EFI_PEI_FILE_HANDLE FileHandle, OUT EFI_FV_FILE_INFO *FileInfo) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesFfsGetFileInfo2, (IN CONST EFI_PEI_FILE_HANDLE FileHandle, OUT EFI_FV_FILE_INFO2 *FileInfo) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesFfsGetVolumeInfo, (IN EFI_PEI_FV_HANDLE VolumeHandle, OUT EFI_FV_INFO *VolumeInfo) ); MOCK_FUNCTION_DECLARATION ( EFI_STATUS, PeiServicesRegisterForShadow, (IN EFI_PEI_FILE_HANDLE FileHandle) ); MOCK_FUNCTION_DECLARATION ( VOID, PeiServicesInstallFvInfoPpi, (IN CONST EFI_GUID *FvFormat OPTIONAL, IN CONST VOID *FvInfo, IN UINT32 FvInfoSize, IN CONST EFI_GUID *ParentFvName OPTIONAL, IN CONST EFI_GUID *ParentFileName OPTIONAL) ); MOCK_FUNCTION_DECLARATION ( VOID, PeiServicesInstallFvInfo2Ppi, (IN CONST EFI_GUID *FvFormat OPTIONAL, IN CONST VOID *FvInfo, IN UINT32 FvInfoSize, IN CONST EFI_GUID *ParentFvName OPTIONAL, IN CONST EFI_GUID *ParentFileName OPTIONAL, IN UINT32 AuthenticationStatus) ); MOCK_FUNCTION_DECLARATION ( VOID, PeiServicesResetSystem2, (IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL) ); }; #endif