/** @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 #include extern "C" { #include #include } 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) ); };