Home | History | Annotate | Download | only in Protocol
      1 /** @file
      2   EFI_DEVICE_PATH_TO_TEXT_PROTOCOL as defined in UEFI 2.0.
      3   This protocol provides service to convert device nodes and paths to text.
      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_TO_TEXT_PROTOCOL_H__
     17 #define __DEVICE_PATH_TO_TEXT_PROTOCOL_H__
     18 
     19 ///
     20 /// Device Path To Text protocol
     21 ///
     22 #define EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID \
     23   { \
     24     0x8b843e20, 0x8132, 0x4852, {0x90, 0xcc, 0x55, 0x1a, 0x4e, 0x4a, 0x7f, 0x1c } \
     25   }
     26 
     27 /**
     28   Convert a device node to its text representation.
     29 
     30   @param  DeviceNode     Points to the device node to be converted.
     31   @param  DisplayOnly    If DisplayOnly is TRUE, then the shorter text representation
     32                          of the display node is used, where applicable. If DisplayOnly
     33                          is FALSE, then the longer text representation of the display node
     34                          is used.
     35   @param  AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text
     36                          representation for a device node can be used, where applicable.
     37 
     38   @retval a_pointer      a pointer to the allocated text representation of the device node data
     39   @retval NULL           if DeviceNode is NULL or there was insufficient memory.
     40 
     41 **/
     42 typedef
     43 CHAR16*
     44 (EFIAPI *EFI_DEVICE_PATH_TO_TEXT_NODE)(
     45   IN CONST EFI_DEVICE_PATH_PROTOCOL   *DeviceNode,
     46   IN BOOLEAN                          DisplayOnly,
     47   IN BOOLEAN                          AllowShortcuts
     48   );
     49 
     50 /**
     51   Convert a device path to its text representation.
     52 
     53   @param  DevicePath     Points to the device path to be converted.
     54   @param  DisplayOnly    If DisplayOnly is TRUE, then the shorter text representation
     55                          of the display node is used, where applicable. If DisplayOnly
     56                          is FALSE, then the longer text representation of the display node
     57                          is used.
     58   @param  AllowShortcuts The AllowShortcuts is FALSE, then the shortcut forms of
     59                          text representation for a device node cannot be used.
     60 
     61   @retval a_pointer      a pointer to the allocated text representation of the device node.
     62   @retval NULL           if DevicePath is NULL or there was insufficient memory.
     63 
     64 **/
     65 typedef
     66 CHAR16*
     67 (EFIAPI *EFI_DEVICE_PATH_TO_TEXT_PATH)(
     68   IN CONST EFI_DEVICE_PATH_PROTOCOL   *DevicePath,
     69   IN BOOLEAN                          DisplayOnly,
     70   IN BOOLEAN                          AllowShortcuts
     71   );
     72 
     73 ///
     74 /// This protocol converts device paths and device nodes to text.
     75 ///
     76 typedef struct {
     77   EFI_DEVICE_PATH_TO_TEXT_NODE        ConvertDeviceNodeToText;
     78   EFI_DEVICE_PATH_TO_TEXT_PATH        ConvertDevicePathToText;
     79 } EFI_DEVICE_PATH_TO_TEXT_PROTOCOL;
     80 
     81 extern EFI_GUID gEfiDevicePathToTextProtocolGuid;
     82 
     83 #endif
     84 
     85 
     86