Home | History | Annotate | Download | only in Protocol
      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