]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Protocol/DevicePathFromText.h
MdePkg: Clean up source files
[mirror_edk2.git] / MdePkg / Include / Protocol / DevicePathFromText.h
1 /** @file
2 EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL as defined in UEFI 2.0.
3 This protocol provides service to convert text to device paths and device nodes.
4
5 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__
17 #define __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__
18
19 ///
20 /// Device Path From Text protocol
21 ///
22 #define EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL_GUID \
23 { \
24 0x5c99a21, 0xc70f, 0x4ad2, {0x8a, 0x5f, 0x35, 0xdf, 0x33, 0x43, 0xf5, 0x1e } \
25 }
26
27 /**
28 Convert text to the binary representation of a device node.
29
30 @param TextDeviceNode TextDeviceNode points to the text representation of a device
31 node. Conversion starts with the first character and continues
32 until the first non-device node character.
33
34 @retval a_pointer Pointer to the EFI device node.
35 @retval NULL if TextDeviceNode is NULL or there was insufficient memory.
36
37 **/
38 typedef
39 EFI_DEVICE_PATH_PROTOCOL*
40 (EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_NODE)(
41 IN CONST CHAR16 *TextDeviceNode
42 );
43
44
45 /**
46 Convert text to the binary representation of a device node.
47
48 @param TextDeviceNode TextDevicePath points to the text representation of a device
49 path. Conversion starts with the first character and continues
50 until the first non-device path character.
51
52 @retval a_pointer Pointer to the allocated device path.
53 @retval NULL if TextDeviceNode is NULL or there was insufficient memory.
54
55 **/
56 typedef
57 EFI_DEVICE_PATH_PROTOCOL*
58 (EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_PATH)(
59 IN CONST CHAR16 *TextDevicePath
60 );
61
62 ///
63 /// This protocol converts text to device paths and device nodes.
64 ///
65 typedef struct {
66 EFI_DEVICE_PATH_FROM_TEXT_NODE ConvertTextToDeviceNode;
67 EFI_DEVICE_PATH_FROM_TEXT_PATH ConvertTextToDevicePath;
68 } EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL;
69
70 extern EFI_GUID gEfiDevicePathFromTextProtocolGuid;
71
72 #endif