| /** @file MockSynchronizationLib.h | |
| Google Test mocks for the synchronization Library | |
| 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/SynchronizationLib.h> | |
| } | |
| struct MockSynchronizationLib { | |
| MOCK_INTERFACE_DECLARATION (MockSynchronizationLib); | |
| MOCK_FUNCTION_DECLARATION ( | |
| UINTN, | |
| GetSpinLockProperties, | |
| ( | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| SPIN_LOCK *, | |
| InitializeSpinLock, | |
| ( | |
| OUT SPIN_LOCK *SpinLock | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| SPIN_LOCK *, | |
| AcquireSpinLock, | |
| ( | |
| IN OUT SPIN_LOCK *SpinLock | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| BOOLEAN, | |
| AcquireSpinLockOrFail, | |
| ( | |
| IN OUT SPIN_LOCK *SpinLock | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| SPIN_LOCK *, | |
| ReleaseSpinLock, | |
| ( | |
| IN OUT SPIN_LOCK *SpinLock | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| UINT32, | |
| InterlockedIncrement, | |
| ( | |
| IN volatile UINT32 *Value | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| UINT32, | |
| InterlockedDecrement, | |
| ( | |
| IN volatile UINT32 *Value | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| UINT16, | |
| InterlockedCompareExchange16, | |
| ( | |
| IN OUT volatile UINT16 *Value, | |
| IN UINT16 CompareValue, | |
| IN UINT16 ExchangeValue | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| UINT32, | |
| InterlockedCompareExchange32, | |
| ( | |
| IN OUT volatile UINT32 *Value, | |
| IN UINT32 CompareValue, | |
| IN UINT32 ExchangeValue | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| UINT64, | |
| InterlockedCompareExchange64, | |
| ( | |
| IN OUT volatile UINT64 *Value, | |
| IN UINT64 CompareValue, | |
| IN UINT64 ExchangeValue | |
| ) | |
| ); | |
| MOCK_FUNCTION_DECLARATION ( | |
| VOID *, | |
| InterlockedCompareExchangePointer, | |
| ( | |
| IN OUT VOID *volatile *Value, | |
| IN VOID *CompareValue, | |
| IN VOID *ExchangeValue | |
| ) | |
| ); | |
| }; |