Home | History | Annotate | Download | only in DevicePathToText
      1 /*++
      2 
      3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
      4 This program and the accompanying materials
      5 are licensed and made available under the terms and conditions of the BSD License
      6 which accompanies this distribution.  The full text of the license may be found at
      7 http://opensource.org/licenses/bsd-license.php
      8 
      9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11 
     12 Module Name:
     13 
     14   DevicePathToText.h
     15 
     16 Abstract:
     17 
     18 --*/
     19 
     20 
     21 #ifndef _DEVICE_PATH_TO_TEXT_PROTOCOL_H_
     22 #define _DEVICE_PATH_TO_TEXT_PROTOCOL_H_
     23 
     24 //
     25 // Device Path To Text protocol
     26 //
     27 #define EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID \
     28   { \
     29     0x8b843e20, 0x8132, 0x4852, {0x90, 0xcc, 0x55, 0x1a, 0x4e, 0x4a, 0x7f, 0x1c}  \
     30   }
     31 
     32 typedef
     33 CHAR16*
     34 (EFIAPI *EFI_DEVICE_PATH_TO_TEXT_NODE) (
     35   IN CONST EFI_DEVICE_PATH_PROTOCOL   *DeviceNode,
     36   IN BOOLEAN                          DisplayOnly,
     37   IN BOOLEAN                          AllowShortcuts
     38   )
     39 /*++
     40 
     41   Routine Description:
     42     Convert a device node to its text representation.
     43 
     44   Arguments:
     45     DeviceNode       -   Points to the device node to be converted.
     46     DisplayOnly      -   If DisplayOnly is TRUE, then the shorter text representation
     47                          of the display node is used, where applicable. If DisplayOnly
     48                          is FALSE, then the longer text representation of the display node
     49                          is used.
     50     AllowShortcuts   -   If AllowShortcuts is TRUE, then the shortcut forms of text
     51                          representation for a device node can be used, where applicable.
     52 
     53   Returns:
     54     A pointer        -   a pointer to the allocated text representation of the device node.
     55     NULL             -   if DeviceNode is NULL or there was insufficient memory.
     56 
     57 --*/
     58 ;
     59 
     60 typedef
     61 CHAR16*
     62 (EFIAPI *EFI_DEVICE_PATH_TO_TEXT_PATH) (
     63   IN CONST EFI_DEVICE_PATH_PROTOCOL   *DevicePath,
     64   IN BOOLEAN                          DisplayOnly,
     65   IN BOOLEAN                          AllowShortcuts
     66   )
     67 /*++
     68 
     69   Routine Description:
     70     Convert a device path to its text representation.
     71 
     72   Arguments:
     73     DeviceNode       -   Points to the device path to be converted.
     74     DisplayOnly      -   If DisplayOnly is TRUE, then the shorter text representation
     75                          of the display node is used, where applicable. If DisplayOnly
     76                          is FALSE, then the longer text representation of the display node
     77                          is used.
     78     AllowShortcuts   -   If AllowShortcuts is TRUE, then the shortcut forms of text
     79                          representation for a device node can be used, where applicable.
     80 
     81   Returns:
     82     A pointer        -   a pointer to the allocated text representation of the device path.
     83     NULL             -   if DeviceNode is NULL or there was insufficient memory.
     84 
     85 --*/
     86 ;
     87 
     88 typedef struct {
     89   EFI_DEVICE_PATH_TO_TEXT_NODE        ConvertDeviceNodeToText;
     90   EFI_DEVICE_PATH_TO_TEXT_PATH        ConvertDevicePathToText;
     91 } EFI_DEVICE_PATH_TO_TEXT_PROTOCOL;
     92 
     93 extern EFI_GUID gEfiDevicePathToTextProtocolGuid;
     94 
     95 #endif
     96