110590588cce553a3d8d304974982845682cbce5bklu/*++ 210590588cce553a3d8d304974982845682cbce5bklu 3b1f700a8593435e2bdc8f9b3dc21bced4774c80fhhtianCopyright (c) 2005 - 2007, Intel Corporation. All rights reserved.<BR> 4b1f700a8593435e2bdc8f9b3dc21bced4774c80fhhtianThis program and the accompanying materials 510590588cce553a3d8d304974982845682cbce5bkluare licensed and made available under the terms and conditions of the BSD License 610590588cce553a3d8d304974982845682cbce5bkluwhich accompanies this distribution. The full text of the license may be found at 710590588cce553a3d8d304974982845682cbce5bkluhttp://opensource.org/licenses/bsd-license.php 810590588cce553a3d8d304974982845682cbce5bklu 910590588cce553a3d8d304974982845682cbce5bkluTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 1010590588cce553a3d8d304974982845682cbce5bkluWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 1110590588cce553a3d8d304974982845682cbce5bklu 1210590588cce553a3d8d304974982845682cbce5bkluModule Name: 1310590588cce553a3d8d304974982845682cbce5bklu ComponentName.c 1410590588cce553a3d8d304974982845682cbce5bklu 1510590588cce553a3d8d304974982845682cbce5bkluAbstract: 1610590588cce553a3d8d304974982845682cbce5bklu 1710590588cce553a3d8d304974982845682cbce5bklu--*/ 1810590588cce553a3d8d304974982845682cbce5bklu 1910590588cce553a3d8d304974982845682cbce5bklu#include "PciBus.h" 2010590588cce553a3d8d304974982845682cbce5bklu 2110590588cce553a3d8d304974982845682cbce5bklu// 2210590588cce553a3d8d304974982845682cbce5bklu// EFI Component Name Functions 2310590588cce553a3d8d304974982845682cbce5bklu// 2410590588cce553a3d8d304974982845682cbce5bkluEFI_STATUS 2510590588cce553a3d8d304974982845682cbce5bkluEFIAPI 2610590588cce553a3d8d304974982845682cbce5bkluPciBusComponentNameGetDriverName ( 2710590588cce553a3d8d304974982845682cbce5bklu IN EFI_COMPONENT_NAME_PROTOCOL *This, 2810590588cce553a3d8d304974982845682cbce5bklu IN CHAR8 *Language, 2910590588cce553a3d8d304974982845682cbce5bklu OUT CHAR16 **DriverName 3010590588cce553a3d8d304974982845682cbce5bklu ); 3110590588cce553a3d8d304974982845682cbce5bklu 3210590588cce553a3d8d304974982845682cbce5bkluEFI_STATUS 3310590588cce553a3d8d304974982845682cbce5bkluEFIAPI 3410590588cce553a3d8d304974982845682cbce5bkluPciBusComponentNameGetControllerName ( 3510590588cce553a3d8d304974982845682cbce5bklu IN EFI_COMPONENT_NAME_PROTOCOL *This, 3610590588cce553a3d8d304974982845682cbce5bklu IN EFI_HANDLE ControllerHandle, 3710590588cce553a3d8d304974982845682cbce5bklu IN EFI_HANDLE ChildHandle OPTIONAL, 3810590588cce553a3d8d304974982845682cbce5bklu IN CHAR8 *Language, 3910590588cce553a3d8d304974982845682cbce5bklu OUT CHAR16 **ControllerName 4010590588cce553a3d8d304974982845682cbce5bklu ); 4110590588cce553a3d8d304974982845682cbce5bklu 4210590588cce553a3d8d304974982845682cbce5bklu// 4310590588cce553a3d8d304974982845682cbce5bklu// EFI Component Name Protocol 4410590588cce553a3d8d304974982845682cbce5bklu// 4510590588cce553a3d8d304974982845682cbce5bkluGLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName = { 4610590588cce553a3d8d304974982845682cbce5bklu PciBusComponentNameGetDriverName, 4710590588cce553a3d8d304974982845682cbce5bklu PciBusComponentNameGetControllerName, 4810590588cce553a3d8d304974982845682cbce5bklu "eng" 4910590588cce553a3d8d304974982845682cbce5bklu}; 5010590588cce553a3d8d304974982845682cbce5bklu 5110590588cce553a3d8d304974982845682cbce5bkluGLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2 = { 5210590588cce553a3d8d304974982845682cbce5bklu (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) PciBusComponentNameGetDriverName, 5310590588cce553a3d8d304974982845682cbce5bklu (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) PciBusComponentNameGetControllerName, 5410590588cce553a3d8d304974982845682cbce5bklu "en" 5510590588cce553a3d8d304974982845682cbce5bklu}; 5610590588cce553a3d8d304974982845682cbce5bklu 5710590588cce553a3d8d304974982845682cbce5bklu 58e56dd2ce1342c358962eeab09d54cb1a95c064bfjjiEFI_UNICODE_STRING_TABLE mPciBusDriverNameTable[] = { 5910590588cce553a3d8d304974982845682cbce5bklu { "eng;en", L"PCI Bus Driver" }, 6010590588cce553a3d8d304974982845682cbce5bklu { NULL, NULL } 6110590588cce553a3d8d304974982845682cbce5bklu}; 6210590588cce553a3d8d304974982845682cbce5bklu 6310590588cce553a3d8d304974982845682cbce5bkluEFI_STATUS 6410590588cce553a3d8d304974982845682cbce5bkluEFIAPI 6510590588cce553a3d8d304974982845682cbce5bkluPciBusComponentNameGetDriverName ( 6610590588cce553a3d8d304974982845682cbce5bklu IN EFI_COMPONENT_NAME_PROTOCOL *This, 6710590588cce553a3d8d304974982845682cbce5bklu IN CHAR8 *Language, 6810590588cce553a3d8d304974982845682cbce5bklu OUT CHAR16 **DriverName 6910590588cce553a3d8d304974982845682cbce5bklu ) 7010590588cce553a3d8d304974982845682cbce5bklu/*++ 7110590588cce553a3d8d304974982845682cbce5bklu 7210590588cce553a3d8d304974982845682cbce5bklu Routine Description: 7310590588cce553a3d8d304974982845682cbce5bklu Retrieves a Unicode string that is the user readable name of the EFI Driver. 7410590588cce553a3d8d304974982845682cbce5bklu 7510590588cce553a3d8d304974982845682cbce5bklu Arguments: 7610590588cce553a3d8d304974982845682cbce5bklu This - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. 7710590588cce553a3d8d304974982845682cbce5bklu Language - A pointer to a three character ISO 639-2 language identifier. 7810590588cce553a3d8d304974982845682cbce5bklu This is the language of the driver name that that the caller 7910590588cce553a3d8d304974982845682cbce5bklu is requesting, and it must match one of the languages specified 8010590588cce553a3d8d304974982845682cbce5bklu in SupportedLanguages. The number of languages supported by a 8110590588cce553a3d8d304974982845682cbce5bklu driver is up to the driver writer. 8210590588cce553a3d8d304974982845682cbce5bklu DriverName - A pointer to the Unicode string to return. This Unicode string 8310590588cce553a3d8d304974982845682cbce5bklu is the name of the driver specified by This in the language 8410590588cce553a3d8d304974982845682cbce5bklu specified by Language. 8510590588cce553a3d8d304974982845682cbce5bklu 8610590588cce553a3d8d304974982845682cbce5bklu Returns: 8710590588cce553a3d8d304974982845682cbce5bklu EFI_SUCCESS - The Unicode string for the Driver specified by This 8810590588cce553a3d8d304974982845682cbce5bklu and the language specified by Language was returned 8910590588cce553a3d8d304974982845682cbce5bklu in DriverName. 9010590588cce553a3d8d304974982845682cbce5bklu EFI_INVALID_PARAMETER - Language is NULL. 9110590588cce553a3d8d304974982845682cbce5bklu EFI_INVALID_PARAMETER - DriverName is NULL. 9210590588cce553a3d8d304974982845682cbce5bklu EFI_UNSUPPORTED - The driver specified by This does not support the 9310590588cce553a3d8d304974982845682cbce5bklu language specified by Language. 9410590588cce553a3d8d304974982845682cbce5bklu 9510590588cce553a3d8d304974982845682cbce5bklu--*/ 9610590588cce553a3d8d304974982845682cbce5bklu{ 9710590588cce553a3d8d304974982845682cbce5bklu return LookupUnicodeString2 ( 9810590588cce553a3d8d304974982845682cbce5bklu Language, 9910590588cce553a3d8d304974982845682cbce5bklu This->SupportedLanguages, 10010590588cce553a3d8d304974982845682cbce5bklu mPciBusDriverNameTable, 10110590588cce553a3d8d304974982845682cbce5bklu DriverName, 10210590588cce553a3d8d304974982845682cbce5bklu (BOOLEAN)(This == &gPciBusComponentName) 10310590588cce553a3d8d304974982845682cbce5bklu ); 10410590588cce553a3d8d304974982845682cbce5bklu} 10510590588cce553a3d8d304974982845682cbce5bklu 10610590588cce553a3d8d304974982845682cbce5bkluEFI_STATUS 10710590588cce553a3d8d304974982845682cbce5bkluEFIAPI 10810590588cce553a3d8d304974982845682cbce5bkluPciBusComponentNameGetControllerName ( 10910590588cce553a3d8d304974982845682cbce5bklu IN EFI_COMPONENT_NAME_PROTOCOL *This, 11010590588cce553a3d8d304974982845682cbce5bklu IN EFI_HANDLE ControllerHandle, 11110590588cce553a3d8d304974982845682cbce5bklu IN EFI_HANDLE ChildHandle OPTIONAL, 11210590588cce553a3d8d304974982845682cbce5bklu IN CHAR8 *Language, 11310590588cce553a3d8d304974982845682cbce5bklu OUT CHAR16 **ControllerName 11410590588cce553a3d8d304974982845682cbce5bklu ) 11510590588cce553a3d8d304974982845682cbce5bklu/*++ 11610590588cce553a3d8d304974982845682cbce5bklu 11710590588cce553a3d8d304974982845682cbce5bklu Routine Description: 11810590588cce553a3d8d304974982845682cbce5bklu Retrieves a Unicode string that is the user readable name of the controller 11910590588cce553a3d8d304974982845682cbce5bklu that is being managed by an EFI Driver. 12010590588cce553a3d8d304974982845682cbce5bklu 12110590588cce553a3d8d304974982845682cbce5bklu Arguments: 12210590588cce553a3d8d304974982845682cbce5bklu This - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance. 12310590588cce553a3d8d304974982845682cbce5bklu ControllerHandle - The handle of a controller that the driver specified by 12410590588cce553a3d8d304974982845682cbce5bklu This is managing. This handle specifies the controller 12510590588cce553a3d8d304974982845682cbce5bklu whose name is to be returned. 12610590588cce553a3d8d304974982845682cbce5bklu ChildHandle - The handle of the child controller to retrieve the name 12710590588cce553a3d8d304974982845682cbce5bklu of. This is an optional parameter that may be NULL. It 12810590588cce553a3d8d304974982845682cbce5bklu will be NULL for device drivers. It will also be NULL 12910590588cce553a3d8d304974982845682cbce5bklu for a bus drivers that wish to retrieve the name of the 13010590588cce553a3d8d304974982845682cbce5bklu bus controller. It will not be NULL for a bus driver 13110590588cce553a3d8d304974982845682cbce5bklu that wishes to retrieve the name of a child controller. 13210590588cce553a3d8d304974982845682cbce5bklu Language - A pointer to a three character ISO 639-2 language 13310590588cce553a3d8d304974982845682cbce5bklu identifier. This is the language of the controller name 13410590588cce553a3d8d304974982845682cbce5bklu that that the caller is requesting, and it must match one 13510590588cce553a3d8d304974982845682cbce5bklu of the languages specified in SupportedLanguages. The 13610590588cce553a3d8d304974982845682cbce5bklu number of languages supported by a driver is up to the 13710590588cce553a3d8d304974982845682cbce5bklu driver writer. 13810590588cce553a3d8d304974982845682cbce5bklu ControllerName - A pointer to the Unicode string to return. This Unicode 13910590588cce553a3d8d304974982845682cbce5bklu string is the name of the controller specified by 14010590588cce553a3d8d304974982845682cbce5bklu ControllerHandle and ChildHandle in the language specified 14110590588cce553a3d8d304974982845682cbce5bklu by Language from the point of view of the driver specified 14210590588cce553a3d8d304974982845682cbce5bklu by This. 14310590588cce553a3d8d304974982845682cbce5bklu 14410590588cce553a3d8d304974982845682cbce5bklu Returns: 14510590588cce553a3d8d304974982845682cbce5bklu EFI_SUCCESS - The Unicode string for the user readable name in the 14610590588cce553a3d8d304974982845682cbce5bklu language specified by Language for the driver 14710590588cce553a3d8d304974982845682cbce5bklu specified by This was returned in DriverName. 14810590588cce553a3d8d304974982845682cbce5bklu EFI_INVALID_PARAMETER - ControllerHandle is not a valid EFI_HANDLE. 14910590588cce553a3d8d304974982845682cbce5bklu EFI_INVALID_PARAMETER - ChildHandle is not NULL and it is not a valid EFI_HANDLE. 15010590588cce553a3d8d304974982845682cbce5bklu EFI_INVALID_PARAMETER - Language is NULL. 15110590588cce553a3d8d304974982845682cbce5bklu EFI_INVALID_PARAMETER - ControllerName is NULL. 15210590588cce553a3d8d304974982845682cbce5bklu EFI_UNSUPPORTED - The driver specified by This is not currently managing 15310590588cce553a3d8d304974982845682cbce5bklu the controller specified by ControllerHandle and 15410590588cce553a3d8d304974982845682cbce5bklu ChildHandle. 15510590588cce553a3d8d304974982845682cbce5bklu EFI_UNSUPPORTED - The driver specified by This does not support the 15610590588cce553a3d8d304974982845682cbce5bklu language specified by Language. 15710590588cce553a3d8d304974982845682cbce5bklu 15810590588cce553a3d8d304974982845682cbce5bklu--*/ 15910590588cce553a3d8d304974982845682cbce5bklu{ 16010590588cce553a3d8d304974982845682cbce5bklu return EFI_UNSUPPORTED; 16110590588cce553a3d8d304974982845682cbce5bklu} 162