blob: 1fa1a5f3d5870a7ccde269c0728f8fd7571ad4a0 [file]
/** @file MockSmmMemLib.h
Google Test mocks for SmmMemLib
Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#pragma once
#include <Library/GoogleTestLib.h>
#include <Library/FunctionMockLib.h>
extern "C" {
#include <Uefi.h>
#include <Library/SmmMemLib.h>
}
//
// Declarations to handle usage of the SmmMemLib by creating mock
//
struct MockSmmMemLib {
MOCK_INTERFACE_DECLARATION (MockSmmMemLib);
MOCK_FUNCTION_DECLARATION (
BOOLEAN,
SmmIsBufferOutsideSmmValid,
(
IN EFI_PHYSICAL_ADDRESS Buffer,
IN UINT64 Length
)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
SmmCopyMemToSmram,
(
OUT VOID *DestinationBuffer,
IN CONST VOID *SourceBuffer,
IN UINTN Length
)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
SmmCopyMemFromSmram,
(
OUT VOID *DestinationBuffer,
IN CONST VOID *SourceBuffer,
IN UINTN Length
)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
SmmCopyMem,
(
OUT VOID *DestinationBuffer,
IN CONST VOID *SourceBuffer,
IN UINTN Length
)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
SmmSetMem,
(
OUT VOID *Buffer,
IN UINTN Length,
IN UINT8 Value
)
);
MOCK_FUNCTION_DECLARATION (
BOOLEAN,
SmmCommBufferValid,
(
IN EFI_PHYSICAL_ADDRESS Buffer,
IN UINT64 Length
)
);
};