blob: 4a99fec539c0e32f853f60bcfa874a2062c2166f [file] [log] [blame]
/** @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 <Library/GoogleTestLib.h>
#include <Library/FunctionMockLib.h>
extern "C" {
#include <PiPei.h>
#include <Uefi.h>
#include <Library/PeiServicesLib.h>
}
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