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 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 **/ 9 10 #ifndef __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__ 11 #define __DEVICE_PATH_FROM_TEXT_PROTOCOL_H__ 12 13 /// 14 /// Device Path From Text protocol 15 /// 16 #define EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL_GUID \ 17 { \ 18 0x5c99a21, 0xc70f, 0x4ad2, {0x8a, 0x5f, 0x35, 0xdf, 0x33, 0x43, 0xf5, 0x1e } \ 19 } 20 21 /** 22 Convert text to the binary representation of a device node. 23 24 @param TextDeviceNode TextDeviceNode points to the text representation of a device 25 node. Conversion starts with the first character and continues 26 until the first non-device node character. 27 28 @retval a_pointer Pointer to the EFI device node. 29 @retval NULL if TextDeviceNode is NULL or there was insufficient memory. 30 31 **/ 32 typedef 33 EFI_DEVICE_PATH_PROTOCOL* 34 (EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_NODE)( 35 IN CONST CHAR16 *TextDeviceNode 36 ); 37 38 39 /** 40 Convert text to the binary representation of a device node. 41 42 @param TextDeviceNode TextDevicePath points to the text representation of a device 43 path. Conversion starts with the first character and continues 44 until the first non-device path character. 45 46 @retval a_pointer Pointer to the allocated device path. 47 @retval NULL if TextDeviceNode is NULL or there was insufficient memory. 48 49 **/ 50 typedef 51 EFI_DEVICE_PATH_PROTOCOL* 52 (EFIAPI *EFI_DEVICE_PATH_FROM_TEXT_PATH)( 53 IN CONST CHAR16 *TextDevicePath 54 ); 55 56 /// 57 /// This protocol converts text to device paths and device nodes. 58 /// 59 typedef struct { 60 EFI_DEVICE_PATH_FROM_TEXT_NODE ConvertTextToDeviceNode; 61 EFI_DEVICE_PATH_FROM_TEXT_PATH ConvertTextToDevicePath; 62 } EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL; 63 64 extern EFI_GUID gEfiDevicePathFromTextProtocolGuid; 65 66 #endif 67