iPXE
ComponentName2.h
Go to the documentation of this file.
1 /** @file
2  UEFI Component Name 2 Protocol as defined in the UEFI 2.1 specification.
3  This protocol is used to retrieve user readable names of drivers
4  and controllers managed by UEFI Drivers.
5 
6  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
7  This program and the accompanying materials
8  are licensed and made available under the terms and conditions of the BSD License
9  which accompanies this distribution. The full text of the license may be found at
10  http://opensource.org/licenses/bsd-license.php
11 
12  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 
15 **/
16 
17 #ifndef __EFI_COMPONENT_NAME2_H__
18 #define __EFI_COMPONENT_NAME2_H__
19 
20 FILE_LICENCE ( BSD3 );
21 
22 ///
23 /// Global ID for the Component Name Protocol
24 ///
25 #define EFI_COMPONENT_NAME2_PROTOCOL_GUID \
26  {0x6a7a5cff, 0xe8d9, 0x4f70, { 0xba, 0xda, 0x75, 0xab, 0x30, 0x25, 0xce, 0x14 } }
27 
29 
30 
31 /**
32  Retrieves a string that is the user readable name of
33  the EFI Driver.
34 
35  @param This A pointer to the
36  EFI_COMPONENT_NAME2_PROTOCOL instance.
37 
38  @param Language A pointer to a Null-terminated ASCII string
39  array indicating the language. This is the
40  language of the driver name that the caller
41  is requesting, and it must match one of the
42  languages specified in SupportedLanguages.
43  The number of languages supported by a
44  driver is up to the driver writer. Language
45  is specified in RFC 4646 language code
46  format.
47 
48  @param DriverName A pointer to the string to return.
49  This string is the name of the
50  driver specified by This in the language
51  specified by Language.
52 
53  @retval EFI_SUCCESS The string for the
54  Driver specified by This and the
55  language specified by Language
56  was returned in DriverName.
57 
58  @retval EFI_INVALID_PARAMETER Language is NULL.
59 
60  @retval EFI_INVALID_PARAMETER DriverName is NULL.
61 
62  @retval EFI_UNSUPPORTED The driver specified by This
63  does not support the language
64  specified by Language.
65 
66 **/
67 typedef
71  IN CHAR8 *Language,
72  OUT CHAR16 **DriverName
73  );
74 
75 
76 /**
77  Retrieves a string that is the user readable name of
78  the controller that is being managed by an EFI Driver.
79 
80  @param This A pointer to the
81  EFI_COMPONENT_NAME2_PROTOCOL instance.
82 
83  @param ControllerHandle The handle of a controller that the
84  driver specified by This is managing.
85  This handle specifies the controller
86  whose name is to be returned.
87 
88  @param ChildHandle The handle of the child controller to
89  retrieve the name of. This is an
90  optional parameter that may be NULL.
91  It will be NULL for device drivers.
92  It will also be NULL for bus
93  drivers that wish to retrieve the
94  name of the bus controller. It will
95  not be NULL for a bus driver that
96  wishes to retrieve the name of a
97  child controller.
98 
99  @param Language A pointer to a Null-terminated ASCII
100  string array indicating the language.
101  This is the language of the driver
102  name that the caller is requesting,
103  and it must match one of the
104  languages specified in
105  SupportedLanguages. The number of
106  languages supported by a driver is up
107  to the driver writer. Language is
108  specified in RFC 4646 language code
109  format.
110 
111  @param ControllerName A pointer to the string to return.
112  This string is the name of the controller
113  specified by ControllerHandle and ChildHandle
114  in the language specified by Language
115  from the point of view of the driver
116  specified by This.
117 
118  @retval EFI_SUCCESS The string for the user
119  readable name in the language
120  specified by Language for the
121  driver specified by This was
122  returned in DriverName.
123 
124  @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.
125 
126  @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it
127  is not a valid EFI_HANDLE.
128 
129  @retval EFI_INVALID_PARAMETER Language is NULL.
130 
131  @retval EFI_INVALID_PARAMETER ControllerName is NULL.
132 
133  @retval EFI_UNSUPPORTED The driver specified by This is
134  not currently managing the
135  controller specified by
136  ControllerHandle and
137  ChildHandle.
138 
139  @retval EFI_UNSUPPORTED The driver specified by This
140  does not support the language
141  specified by Language.
142 
143 **/
144 typedef
149  IN EFI_HANDLE ChildHandle OPTIONAL,
150  IN CHAR8 *Language,
151  OUT CHAR16 **ControllerName
152  );
153 
154 ///
155 /// This protocol is used to retrieve user readable names of drivers
156 /// and controllers managed by UEFI Drivers.
157 ///
161 
162  ///
163  /// A Null-terminated ASCII string array that contains one or more
164  /// supported language codes. This is the list of language codes that
165  /// this protocol supports. The number of languages supported by a
166  /// driver is up to the driver writer. SupportedLanguages is
167  /// specified in RFC 4646 format.
168  ///
170 };
171 
173 
174 #endif
#define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
Definition: Base.h:340
EFI_STATUS(EFIAPI * EFI_COMPONENT_NAME2_GET_DRIVER_NAME)(IN EFI_COMPONENT_NAME2_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
Retrieves a string that is the user readable name of the EFI Driver.
This protocol is used to retrieve user readable names of drivers and controllers managed by UEFI Driv...
128 bit buffer containing a unique identifier value.
Definition: Base.h:263
FILE_LICENCE(BSD3)
EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME GetControllerName
unsigned short CHAR16
Definition: ProcessorBind.h:59
#define OUT
Definition: mlx_utils.h:29
EFI_COMPONENT_NAME2_GET_DRIVER_NAME GetDriverName
EFI_STATUS(EFIAPI * EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)(IN EFI_COMPONENT_NAME2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
Retrieves a string that is the user readable name of the controller that is being managed by an EFI D...
#define EFIAPI
EFI_GUID gEfiComponentName2ProtocolGuid
EFI_HANDLE ControllerHandle
Definition: efi_bofm.c:109
#define IN
Definition: mlx_utils.h:28
CHAR8 * SupportedLanguages
A Null-terminated ASCII string array that contains one or more supported language codes.
char CHAR8
Definition: ProcessorBind.h:63
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
Definition: UefiBaseType.h:35
Definition: efi.h:55