summaryrefslogtreecommitdiff
path: root/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiDevicePathLib.h
blob: b8068895ff78e9110e4218880663f13f9c60ab10 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/** @file MockUefiDevicePathLib.h
  Google Test mocks for UefiDevicePathLib

  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
  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/DevicePathLib.h>
}

struct MockUefiDevicePathLib {
  MOCK_INTERFACE_DECLARATION (MockUefiDevicePathLib);

  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    DuplicateDevicePath,
    (
     IN CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePath
    )
    );
  MOCK_FUNCTION_DECLARATION (
    BOOLEAN,
    IsDevicePathValid,
    (IN CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePath,
     IN       UINTN                     MaxSize)
    );
  MOCK_FUNCTION_DECLARATION (
    UINT8,
    DevicePathType,
    (IN CONST VOID  *Node)
    );
  MOCK_FUNCTION_DECLARATION (
    UINT8,
    DevicePathSubType,
    (IN CONST VOID  *Node)
    );
  MOCK_FUNCTION_DECLARATION (
    UINTN,
    DevicePathNodeLength,
    (IN CONST VOID  *Node)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    NextDevicePathNode,
    (IN CONST VOID  *Node)
    );
  MOCK_FUNCTION_DECLARATION (
    BOOLEAN,
    IsDevicePathEndType,
    (IN CONST VOID  *Node)
    );
  MOCK_FUNCTION_DECLARATION (
    BOOLEAN,
    IsDevicePathEnd,
    (IN CONST VOID  *Node)
    );
  MOCK_FUNCTION_DECLARATION (
    BOOLEAN,
    IsDevicePathEndInstance,
    (IN CONST VOID  *Node)
    );
  MOCK_FUNCTION_DECLARATION (
    UINT16,
    SetDevicePathNodeLength,
    (IN OUT VOID  *Node,
     IN UINTN     Length)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    SetDevicePathEndNode,
    (OUT VOID  *Node)
    );
  MOCK_FUNCTION_DECLARATION (
    UINTN,
    GetDevicePathSize,
    (IN CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePath)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    AppendDevicePath,
    (IN CONST EFI_DEVICE_PATH_PROTOCOL  *FirstDevicePath   OPTIONAL,
     IN CONST EFI_DEVICE_PATH_PROTOCOL  *SecondDevicePath  OPTIONAL)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    AppendDevicePathNode,
    (IN CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePath      OPTIONAL,
     IN CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePathNode  OPTIONAL)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    AppendDevicePathInstance,
    (IN CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePath         OPTIONAL,
     IN CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePathInstance OPTIONAL)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    GetNextDevicePathInstance,
    (IN OUT EFI_DEVICE_PATH_PROTOCOL  **DevicePath,
     OUT UINTN                        *Size)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    CreateDeviceNode,
    (IN UINT8   NodeType,
     IN UINT8   NodeSubType,
     IN UINT16  NodeLength)
    );
  MOCK_FUNCTION_DECLARATION (
    BOOLEAN,
    IsDevicePathMultiInstance,
    (IN CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePath)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    DevicePathFromHandle,
    (IN EFI_HANDLE  Handle)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    FileDevicePath,
    (IN EFI_HANDLE    Device      OPTIONAL,
     IN CONST CHAR16  *FileName)
    );
  MOCK_FUNCTION_DECLARATION (
    CHAR16 *,
    ConvertDevicePathToText,
    (IN CONST EFI_DEVICE_PATH_PROTOCOL  *DevicePath,
     IN BOOLEAN                         DisplayOnly,
     IN BOOLEAN                         AllowShortcuts)
    );
  MOCK_FUNCTION_DECLARATION (
    CHAR16 *,
    ConvertDeviceNodeToText,
    (IN CONST EFI_DEVICE_PATH_PROTOCOL  *DeviceNode,
     IN BOOLEAN                         DisplayOnly,
     IN BOOLEAN                         AllowShortcuts)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    ConvertTextToDeviceNode,
    (IN CONST CHAR16  *TextDeviceNode)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_DEVICE_PATH_PROTOCOL *,
    ConvertTextToDevicePath,
    (IN CONST CHAR16  *TextDevicePath)
    );
};