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 - 2008, 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 73