]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Protocol/DevicePathToText.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / Protocol / DevicePathToText.h
CommitLineData
d1f95000 1/** @file\r
9095d37b 2 EFI_DEVICE_PATH_TO_TEXT_PROTOCOL as defined in UEFI 2.0.\r
d1f95000 3 This protocol provides service to convert device nodes and paths to text.\r
4\r
9095d37b 5 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
9344f092 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
d1f95000 7\r
d1f95000 8**/\r
9\r
10#ifndef __DEVICE_PATH_TO_TEXT_PROTOCOL_H__\r
11#define __DEVICE_PATH_TO_TEXT_PROTOCOL_H__\r
12\r
99e8ed21 13///\r
14/// Device Path To Text protocol\r
15///\r
d1f95000 16#define EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID \\r
17 { \\r
18 0x8b843e20, 0x8132, 0x4852, {0x90, 0xcc, 0x55, 0x1a, 0x4e, 0x4a, 0x7f, 0x1c } \\r
19 }\r
20\r
21/**\r
22 Convert a device node to its text representation.\r
23\r
24 @param DeviceNode Points to the device node to be converted.\r
25 @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation\r
26 of the display node is used, where applicable. If DisplayOnly\r
27 is FALSE, then the longer text representation of the display node\r
28 is used.\r
29 @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text\r
30 representation for a device node can be used, where applicable.\r
31\r
32 @retval a_pointer a pointer to the allocated text representation of the device node data\r
33 @retval NULL if DeviceNode is NULL or there was insufficient memory.\r
34\r
35**/\r
36typedef\r
2f88bd3a 37CHAR16 *\r
8b13229b 38(EFIAPI *EFI_DEVICE_PATH_TO_TEXT_NODE)(\r
d1f95000 39 IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode,\r
40 IN BOOLEAN DisplayOnly,\r
41 IN BOOLEAN AllowShortcuts\r
9095d37b 42 );\r
d1f95000 43\r
44/**\r
45 Convert a device path to its text representation.\r
46\r
47 @param DevicePath Points to the device path to be converted.\r
48 @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation\r
49 of the display node is used, where applicable. If DisplayOnly\r
50 is FALSE, then the longer text representation of the display node\r
9095d37b 51 is used.\r
d1f95000 52 @param AllowShortcuts The AllowShortcuts is FALSE, then the shortcut forms of\r
53 text representation for a device node cannot be used.\r
54\r
55 @retval a_pointer a pointer to the allocated text representation of the device node.\r
56 @retval NULL if DevicePath is NULL or there was insufficient memory.\r
57\r
58**/\r
59typedef\r
2f88bd3a 60CHAR16 *\r
8b13229b 61(EFIAPI *EFI_DEVICE_PATH_TO_TEXT_PATH)(\r
d1f95000 62 IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
63 IN BOOLEAN DisplayOnly,\r
64 IN BOOLEAN AllowShortcuts\r
9095d37b 65 );\r
d1f95000 66\r
44717a39 67///\r
68/// This protocol converts device paths and device nodes to text.\r
69///\r
d1f95000 70typedef struct {\r
2f88bd3a
MK
71 EFI_DEVICE_PATH_TO_TEXT_NODE ConvertDeviceNodeToText;\r
72 EFI_DEVICE_PATH_TO_TEXT_PATH ConvertDevicePathToText;\r
d1f95000 73} EFI_DEVICE_PATH_TO_TEXT_PROTOCOL;\r
74\r
2f88bd3a 75extern EFI_GUID gEfiDevicePathToTextProtocolGuid;\r
d1f95000 76\r
77#endif\r