TianoCore EDK2 master
Loading...
Searching...
No Matches
ComponentName.c
Go to the documentation of this file.
1
9#include "Ps2Keyboard.h"
10
11//
12// EFI Component Name Functions
13//
14
55EFIAPI
58 IN CHAR8 *Language,
59 OUT CHAR16 **DriverName
60 );
61
131EFIAPI
134 IN EFI_HANDLE ControllerHandle,
135 IN EFI_HANDLE ChildHandle OPTIONAL,
136 IN CHAR8 *Language,
137 OUT CHAR16 **ControllerName
138 );
139
140//
141// EFI Component Name Protocol
142//
146 "eng"
147};
148
149//
150// EFI Component Name 2 Protocol
151//
155 "en"
156};
157
158GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mPs2KeyboardDriverNameTable[] = {
159 {
160 "eng;en",
161 L"PS/2 Keyboard Driver"
162 },
163 {
164 NULL,
165 NULL
166 }
167};
168
209EFIAPI
212 IN CHAR8 *Language,
213 OUT CHAR16 **DriverName
214 )
215{
216 return LookupUnicodeString2 (
217 Language,
218 This->SupportedLanguages,
219 mPs2KeyboardDriverNameTable,
220 DriverName,
221 (BOOLEAN)(This == &gPs2KeyboardComponentName)
222 );
223}
224
294EFIAPI
297 IN EFI_HANDLE ControllerHandle,
298 IN EFI_HANDLE ChildHandle OPTIONAL,
299 IN CHAR8 *Language,
300 OUT CHAR16 **ControllerName
301 )
302{
303 EFI_STATUS Status;
305 KEYBOARD_CONSOLE_IN_DEV *ConsoleIn;
306
307 //
308 // This is a device driver, so ChildHandle must be NULL.
309 //
310 if (ChildHandle != NULL) {
311 return EFI_UNSUPPORTED;
312 }
313
314 //
315 // Check Controller's handle
316 //
317 Status = EfiTestManagedDevice (ControllerHandle, gKeyboardControllerDriver.DriverBindingHandle, &gEfiSioProtocolGuid);
318 if (EFI_ERROR (Status)) {
319 return Status;
320 }
321
322 //
323 // Get the device context
324 //
325 Status = gBS->OpenProtocol (
326 ControllerHandle,
327 &gEfiSimpleTextInProtocolGuid,
328 (VOID **)&ConIn,
329 gKeyboardControllerDriver.DriverBindingHandle,
330 ControllerHandle,
331 EFI_OPEN_PROTOCOL_GET_PROTOCOL
332 );
333 if (EFI_ERROR (Status)) {
334 return Status;
335 }
336
337 ConsoleIn = KEYBOARD_CONSOLE_IN_DEV_FROM_THIS (ConIn);
338
339 return LookupUnicodeString2 (
340 Language,
341 This->SupportedLanguages,
342 ConsoleIn->ControllerNameTable,
343 ControllerName,
344 (BOOLEAN)(This == &gPs2KeyboardComponentName)
345 );
346}
EFI_STATUS(EFIAPI * EFI_COMPONENT_NAME2_GET_DRIVER_NAME)(IN EFI_COMPONENT_NAME2_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
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)
EFI_STATUS EFIAPI Ps2KeyboardComponentNameGetDriverName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
EFI_STATUS EFIAPI Ps2KeyboardComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
#define NULL
Definition: Base.h:319
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
#define GLOBAL_REMOVE_IF_UNREFERENCED
Definition: Base.h:48
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
EFI_BOOT_SERVICES * gBS
EFI_STATUS EFIAPI LookupUnicodeString2(IN CONST CHAR8 *Language, IN CONST CHAR8 *SupportedLanguages, IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable, OUT CHAR16 **UnicodeString, IN BOOLEAN Iso639Language)
Definition: UefiLib.c:801
EFI_STATUS EFIAPI EfiTestManagedDevice(IN CONST EFI_HANDLE ControllerHandle, IN CONST EFI_HANDLE DriverBindingHandle, IN CONST EFI_GUID *ProtocolGuid)
Definition: UefiLib.c:540