summaryrefslogtreecommitdiff
path: root/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.cpp
blob: 04d0ee52cc029a9efc6b3a6f698160931bfc7c36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/** @file
  Google Test mocks for UefiBootServicesTableLib

  Copyright (c) Microsoft Corporation.
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include <GoogleTest/Library/MockUefiBootServicesTableLib.h>

MOCK_INTERFACE_DEFINITION (MockUefiBootServicesTableLib);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_GetMemoryMap, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_CreateEvent, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_CloseEvent, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_HandleProtocol, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_LocateProtocol, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_CreateEventEx, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_LocateDevicePath, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_OpenProtocol, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_CloseProtocol, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_InstallConfigurationTable, 2, EFIAPI);

static EFI_BOOT_SERVICES  LocalBs = {
  { 0, 0, 0, 0, 0 },             // EFI_TABLE_HEADER
  NULL,                          // EFI_RAISE_TPL
  NULL,                          // EFI_RESTORE_TPL
  NULL,                          // EFI_ALLOCATE_PAGES
  NULL,                          // EFI_FREE_PAGES
  gBS_GetMemoryMap,              // EFI_GET_MEMORY_MAP
  NULL,                          // EFI_ALLOCATE_POOL
  NULL,                          // EFI_FREE_POOL
  gBS_CreateEvent,               // EFI_CREATE_EVENT
  NULL,                          // EFI_SET_TIMER
  NULL,                          // EFI_WAIT_FOR_EVENT
  NULL,                          // EFI_SIGNAL_EVENT
  gBS_CloseEvent,                // EFI_CLOSE_EVENT
  NULL,                          // EFI_CHECK_EVENT
  NULL,                          // EFI_INSTALL_PROTOCOL_INTERFACE
  NULL,                          // EFI_REINSTALL_PROTOCOL_INTERFACE
  NULL,                          // EFI_UNINSTALL_PROTOCOL_INTERFACE
  gBS_HandleProtocol,            // EFI_HANDLE_PROTOCOL
  NULL,                          // VOID
  NULL,                          // EFI_REGISTER_PROTOCOL_NOTIFY
  NULL,                          // EFI_LOCATE_HANDLE
  gBS_LocateDevicePath,          // EFI_LOCATE_DEVICE_PATH
  gBS_InstallConfigurationTable, // EFI_INSTALL_CONFIGURATION_TABLE
  NULL,                          // EFI_IMAGE_LOAD
  NULL,                          // EFI_IMAGE_START
  NULL,                          // EFI_EXIT
  NULL,                          // EFI_IMAGE_UNLOAD
  NULL,                          // EFI_EXIT_BOOT_SERVICES
  NULL,                          // EFI_GET_NEXT_MONOTONIC_COUNT
  NULL,                          // EFI_STALL
  NULL,                          // EFI_SET_WATCHDOG_TIMER
  NULL,                          // EFI_CONNECT_CONTROLLER
  NULL,                          // EFI_DISCONNECT_CONTROLLER
  gBS_OpenProtocol,              // EFI_OPEN_PROTOCOL
  gBS_CloseProtocol,             // EFI_CLOSE_PROTOCOL
  NULL,                          // EFI_OPEN_PROTOCOL_INFORMATION
  NULL,                          // EFI_PROTOCOLS_PER_HANDLE
  NULL,                          // EFI_LOCATE_HANDLE_BUFFER
  gBS_LocateProtocol,            // EFI_LOCATE_PROTOCOL
  NULL,                          // EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES
  NULL,                          // EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES
  NULL,                          // EFI_CALCULATE_CRC32
  NULL,                          // EFI_COPY_MEM
  NULL,                          // EFI_SET_MEM
  gBS_CreateEventEx              // EFI_CREATE_EVENT_EX
};

extern "C" {
  EFI_BOOT_SERVICES  *gBS         = &LocalBs;
  EFI_HANDLE         gImageHandle = NULL;
  EFI_SYSTEM_TABLE   *gST         = NULL;
}