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.
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
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.
17
#ifndef __EFI_COMPONENT_NAME2_H__
18
#define __EFI_COMPONENT_NAME2_H__
20
FILE_LICENCE ( BSD3 );
23
/// Global ID for the Component Name Protocol
25
#define EFI_COMPONENT_NAME2_PROTOCOL_GUID \
26
{0x6a7a5cff, 0xe8d9, 0x4f70, { 0xba, 0xda, 0x75, 0xab, 0x30, 0x25, 0xce, 0x14 } }
28
typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
32
Retrieves a string that is the user readable name of
35
@param This A pointer to the
36
EFI_COMPONENT_NAME2_PROTOCOL instance.
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
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.
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.
58
@retval EFI_INVALID_PARAMETER Language is NULL.
60
@retval EFI_INVALID_PARAMETER DriverName is NULL.
62
@retval EFI_UNSUPPORTED The driver specified by This
63
does not support the language
64
specified by Language.
69
(EFIAPI *EFI_COMPONENT_NAME2_GET_DRIVER_NAME)(
70
IN EFI_COMPONENT_NAME2_PROTOCOL *This,
72
OUT CHAR16 **DriverName
77
Retrieves a string that is the user readable name of
78
the controller that is being managed by an EFI Driver.
80
@param This A pointer to the
81
EFI_COMPONENT_NAME2_PROTOCOL instance.
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.
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
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
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
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.
124
@retval EFI_INVALID_PARAMETER ControllerHandle is NULL.
126
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it
127
is not a valid EFI_HANDLE.
129
@retval EFI_INVALID_PARAMETER Language is NULL.
131
@retval EFI_INVALID_PARAMETER ControllerName is NULL.
133
@retval EFI_UNSUPPORTED The driver specified by This is
134
not currently managing the
135
controller specified by
139
@retval EFI_UNSUPPORTED The driver specified by This
140
does not support the language
141
specified by Language.
146
(EFIAPI *EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)(
147
IN EFI_COMPONENT_NAME2_PROTOCOL *This,
148
IN EFI_HANDLE ControllerHandle,
149
IN EFI_HANDLE ChildHandle OPTIONAL,
151
OUT CHAR16 **ControllerName
155
/// This protocol is used to retrieve user readable names of drivers
156
/// and controllers managed by UEFI Drivers.
158
struct _EFI_COMPONENT_NAME2_PROTOCOL {
159
EFI_COMPONENT_NAME2_GET_DRIVER_NAME GetDriverName;
160
EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME GetControllerName;
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.
169
CHAR8 *SupportedLanguages;
172
extern EFI_GUID gEfiComponentName2ProtocolGuid;