/** @file\r
Provides interface to advanced shell functionality for parsing both handle and protocol database.\r
\r
- (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR>\r
Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR>\r
+ (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
return (EFI_SUCCESS);\r
}\r
\r
-/** \r
+/**\r
Initialization function for HII packages.\r
- \r
+\r
**/\r
VOID\r
HandleParsingHiiInit (VOID)\r
HandleParsingHiiInit();\r
\r
Temp = HiiGetString(mHandleParsingHiiHandle, STRING_TOKEN(STR_LI_DUMP_MAIN), NULL);\r
- RetVal = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize));\r
- if (Temp == NULL || RetVal == NULL) {\r
- SHELL_FREE_NON_NULL(Temp);\r
- SHELL_FREE_NON_NULL(RetVal);\r
+ if (Temp == NULL) {\r
return NULL;\r
}\r
\r
\r
if (EFI_ERROR (Status)) {\r
SHELL_FREE_NON_NULL (Temp);\r
- SHELL_FREE_NON_NULL (RetVal);\r
return NULL;\r
}\r
\r
DataType = ConvertMemoryType(LoadedImage->ImageDataType);\r
CodeType = ConvertMemoryType(LoadedImage->ImageCodeType);\r
\r
- RetVal = CatSPrint(RetVal,\r
- Temp,\r
- LoadedImage->Revision,\r
- LoadedImage->ParentHandle,\r
- LoadedImage->SystemTable,\r
- LoadedImage->DeviceHandle,\r
- LoadedImage->FilePath,\r
- LoadedImage->LoadOptionsSize,\r
- LoadedImage->LoadOptions,\r
- LoadedImage->ImageBase,\r
- LoadedImage->ImageSize,\r
- CodeType,\r
- DataType,\r
- LoadedImage->Unload);\r
-\r
- \r
+ RetVal = CatSPrint(\r
+ NULL,\r
+ Temp,\r
+ LoadedImage->Revision,\r
+ LoadedImage->ParentHandle,\r
+ LoadedImage->SystemTable,\r
+ LoadedImage->DeviceHandle,\r
+ LoadedImage->FilePath,\r
+ LoadedImage->LoadOptionsSize,\r
+ LoadedImage->LoadOptions,\r
+ LoadedImage->ImageBase,\r
+ LoadedImage->ImageSize,\r
+ CodeType,\r
+ DataType,\r
+ LoadedImage->Unload\r
+ );\r
+\r
+\r
SHELL_FREE_NON_NULL(Temp);\r
SHELL_FREE_NON_NULL(CodeType);\r
SHELL_FREE_NON_NULL(DataType);\r
HandleParsingHiiInit();\r
\r
Temp = HiiGetString(mHandleParsingHiiHandle, STRING_TOKEN(STR_GOP_DUMP_MAIN), NULL);\r
- RetVal = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize));\r
- if (Temp == NULL || RetVal == NULL) {\r
- SHELL_FREE_NON_NULL(Temp);\r
- SHELL_FREE_NON_NULL(RetVal);\r
+ if (Temp == NULL) {\r
return NULL;\r
}\r
\r
\r
if (EFI_ERROR (Status)) {\r
SHELL_FREE_NON_NULL (Temp);\r
- SHELL_FREE_NON_NULL (RetVal);\r
return NULL;\r
}\r
\r
Fmt = ConvertPixelFormat(GraphicsOutput->Mode->Info->PixelFormat);\r
\r
- RetVal = CatSPrint(RetVal,\r
- Temp,\r
- GraphicsOutput->Mode->MaxMode,\r
- GraphicsOutput->Mode->Mode,\r
- GraphicsOutput->Mode->FrameBufferBase,\r
- (UINT64)GraphicsOutput->Mode->FrameBufferSize,\r
- (UINT64)GraphicsOutput->Mode->SizeOfInfo,\r
- GraphicsOutput->Mode->Info->Version,\r
- GraphicsOutput->Mode->Info->HorizontalResolution,\r
- GraphicsOutput->Mode->Info->VerticalResolution,\r
- Fmt,\r
- GraphicsOutput->Mode->Info->PixelsPerScanLine,\r
- GraphicsOutput->Mode->Info->PixelFormat!=PixelBitMask?0:GraphicsOutput->Mode->Info->PixelInformation.RedMask,\r
- GraphicsOutput->Mode->Info->PixelFormat!=PixelBitMask?0:GraphicsOutput->Mode->Info->PixelInformation.GreenMask,\r
- GraphicsOutput->Mode->Info->PixelFormat!=PixelBitMask?0:GraphicsOutput->Mode->Info->PixelInformation.BlueMask\r
- );\r
- \r
+ RetVal = CatSPrint(\r
+ NULL,\r
+ Temp,\r
+ GraphicsOutput->Mode->MaxMode,\r
+ GraphicsOutput->Mode->Mode,\r
+ GraphicsOutput->Mode->FrameBufferBase,\r
+ (UINT64)GraphicsOutput->Mode->FrameBufferSize,\r
+ (UINT64)GraphicsOutput->Mode->SizeOfInfo,\r
+ GraphicsOutput->Mode->Info->Version,\r
+ GraphicsOutput->Mode->Info->HorizontalResolution,\r
+ GraphicsOutput->Mode->Info->VerticalResolution,\r
+ Fmt,\r
+ GraphicsOutput->Mode->Info->PixelsPerScanLine,\r
+ GraphicsOutput->Mode->Info->PixelFormat!=PixelBitMask?0:GraphicsOutput->Mode->Info->PixelInformation.RedMask,\r
+ GraphicsOutput->Mode->Info->PixelFormat!=PixelBitMask?0:GraphicsOutput->Mode->Info->PixelInformation.GreenMask,\r
+ GraphicsOutput->Mode->Info->PixelFormat!=PixelBitMask?0:GraphicsOutput->Mode->Info->PixelInformation.BlueMask\r
+ );\r
+\r
SHELL_FREE_NON_NULL(Temp);\r
SHELL_FREE_NON_NULL(Fmt);\r
\r
FreePool(Temp);\r
RetVal = Temp2;\r
Temp2 = NULL;\r
- \r
+\r
Temp = HiiGetString(mHandleParsingHiiHandle, STRING_TOKEN(STR_PCIRB_DUMP_SEG), NULL);\r
if (Temp == NULL) {\r
SHELL_FREE_NON_NULL(RetVal);\r
if (Temp == NULL) {\r
SHELL_FREE_NON_NULL(RetVal);\r
return NULL;\r
- } \r
+ }\r
Temp2 = CatSPrint(RetVal, Temp, Attributes);\r
FreePool(Temp);\r
FreePool(RetVal);\r
RetVal = Temp2;\r
Temp2 = NULL;\r
- \r
+\r
Temp = HiiGetString(mHandleParsingHiiHandle, STRING_TOKEN(STR_PCIRB_DUMP_SUPPORTS), NULL);\r
if (Temp == NULL) {\r
SHELL_FREE_NON_NULL(RetVal);\r
Temp2 = NULL;\r
}\r
\r
- Temp2 = CatSPrint(RetVal, \r
+ Temp2 = CatSPrint(RetVal,\r
L"%H%02x %016lx %016lx %02x%N\r\n",\r
Configuration->SpecificFlag,\r
Configuration->AddrRangeMin,\r
CHAR16 *GuidStr;\r
CHAR16 *TempStr;\r
CHAR16 *RetVal;\r
+ CHAR16 *TempRetVal;\r
VOID *InformationBlock;\r
UINTN InformationBlockSize;\r
- \r
+\r
if (!Verbose) {\r
return (CatSPrint(NULL, L"AdapterInfo"));\r
}\r
\r
InfoTypesBuffer = NULL;\r
InformationBlock = NULL;\r
- \r
- //\r
- // Allocate print buffer to store data\r
- //\r
- RetVal = AllocateZeroPool (PcdGet16(PcdShellPrintBufferSize));\r
- if (RetVal == NULL) {\r
- return NULL;\r
- }\r
+\r
\r
Status = gBS->OpenProtocol (\r
(EFI_HANDLE) (TheHandle),\r
);\r
\r
if (EFI_ERROR (Status)) {\r
- SHELL_FREE_NON_NULL (RetVal);\r
return NULL;\r
}\r
\r
//\r
Status = EfiAdptrInfoProtocol->GetSupportedTypes (\r
EfiAdptrInfoProtocol,\r
- &InfoTypesBuffer, \r
+ &InfoTypesBuffer,\r
&InfoTypesBufferCount\r
);\r
+ RetVal = NULL;\r
if (EFI_ERROR (Status)) {\r
TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_GET_SUPP_TYPES_FAILED), NULL);\r
if (TempStr != NULL) {\r
- RetVal = CatSPrint (RetVal, TempStr, Status);\r
+ RetVal = CatSPrint (NULL, TempStr, Status);\r
} else {\r
goto ERROR_EXIT;\r
- } \r
+ }\r
} else {\r
TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_SUPP_TYPE_HEADER), NULL);\r
if (TempStr == NULL) {\r
goto ERROR_EXIT;\r
}\r
- RetVal = CatSPrint (RetVal, TempStr);\r
+ RetVal = CatSPrint (NULL, TempStr);\r
SHELL_FREE_NON_NULL (TempStr);\r
\r
for (GuidIndex = 0; GuidIndex < InfoTypesBufferCount; GuidIndex++) {\r
if (TempStr == NULL) {\r
goto ERROR_EXIT;\r
}\r
- RetVal = CatSPrint (RetVal, TempStr, (GuidIndex + 1), InfoTypesBuffer[GuidIndex]);\r
+ TempRetVal = CatSPrint (RetVal, TempStr, (GuidIndex + 1), InfoTypesBuffer[GuidIndex]);\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
SHELL_FREE_NON_NULL (TempStr);\r
\r
TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_GUID_STRING), NULL);\r
}\r
\r
if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoMediaStateGuid)) {\r
- RetVal = CatSPrint (RetVal, TempStr, L"gEfiAdapterInfoMediaStateGuid");\r
+ TempRetVal = CatSPrint (RetVal, TempStr, L"gEfiAdapterInfoMediaStateGuid");\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
} else if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoNetworkBootGuid)) {\r
- RetVal = CatSPrint (RetVal, TempStr, L"gEfiAdapterInfoNetworkBootGuid");\r
+ TempRetVal = CatSPrint (RetVal, TempStr, L"gEfiAdapterInfoNetworkBootGuid");\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
} else if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoSanMacAddressGuid)) {\r
- RetVal = CatSPrint (RetVal, TempStr, L"gEfiAdapterInfoSanMacAddressGuid");\r
+ TempRetVal = CatSPrint (RetVal, TempStr, L"gEfiAdapterInfoSanMacAddressGuid");\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
+ } else if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoUndiIpv6SupportGuid)) {\r
+ TempRetVal = CatSPrint (RetVal, TempStr, L"gEfiAdapterInfoUndiIpv6SupportGuid");\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
} else {\r
\r
GuidStr = GetStringNameFromGuid (&InfoTypesBuffer[GuidIndex], NULL);\r
- \r
+\r
if (GuidStr != NULL) {\r
if (StrCmp(GuidStr, L"UnknownDevice") == 0) {\r
- RetVal = CatSPrint (RetVal, TempStr, L"UnknownInfoType");\r
- \r
+ TempRetVal = CatSPrint (RetVal, TempStr, L"UnknownInfoType");\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
+\r
SHELL_FREE_NON_NULL (TempStr);\r
SHELL_FREE_NON_NULL(GuidStr);\r
//\r
// So that we never have to pass this UnknownInfoType to the parsing function "GetInformation" service of AIP\r
//\r
- continue; \r
+ continue;\r
} else {\r
- RetVal = CatSPrint (RetVal, TempStr, GuidStr);\r
+ TempRetVal = CatSPrint (RetVal, TempStr, GuidStr);\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
SHELL_FREE_NON_NULL(GuidStr);\r
}\r
}\r
}\r
- \r
+\r
SHELL_FREE_NON_NULL (TempStr);\r
\r
Status = EfiAdptrInfoProtocol->GetInformation (\r
if (TempStr == NULL) {\r
goto ERROR_EXIT;\r
}\r
- RetVal = CatSPrint (RetVal, TempStr, Status);\r
+ TempRetVal = CatSPrint (RetVal, TempStr, Status);\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
} else {\r
if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoMediaStateGuid)) {\r
TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_MEDIA_STATE), NULL);\r
if (TempStr == NULL) {\r
goto ERROR_EXIT;\r
}\r
- RetVal = CatSPrint (\r
- RetVal,\r
- TempStr,\r
- ((EFI_ADAPTER_INFO_MEDIA_STATE *)InformationBlock)->MediaState,\r
- ((EFI_ADAPTER_INFO_MEDIA_STATE *)InformationBlock)->MediaState\r
- );\r
+ TempRetVal = CatSPrint (\r
+ RetVal,\r
+ TempStr,\r
+ ((EFI_ADAPTER_INFO_MEDIA_STATE *)InformationBlock)->MediaState,\r
+ ((EFI_ADAPTER_INFO_MEDIA_STATE *)InformationBlock)->MediaState\r
+ );\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
} else if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoNetworkBootGuid)) {\r
TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_NETWORK_BOOT_INFO), NULL);\r
if (TempStr == NULL) {\r
goto ERROR_EXIT;\r
}\r
- RetVal = CatSPrint (\r
- RetVal,\r
- TempStr,\r
- ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiIpv4BootCapablity,\r
- ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiIpv6BootCapablity, \r
- ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->FCoeBootCapablity, \r
- ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->OffloadCapability, \r
- ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiMpioCapability, \r
- ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiIpv4Boot, \r
- ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiIpv6Boot,\r
- ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->FCoeBoot\r
- );\r
- } else if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoSanMacAddressGuid) == TRUE) { \r
+ TempRetVal = CatSPrint (\r
+ RetVal,\r
+ TempStr,\r
+ ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiIpv4BootCapablity,\r
+ ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiIpv6BootCapablity,\r
+ ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->FCoeBootCapablity,\r
+ ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->OffloadCapability,\r
+ ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiMpioCapability,\r
+ ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiIpv4Boot,\r
+ ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->iScsiIpv6Boot,\r
+ ((EFI_ADAPTER_INFO_NETWORK_BOOT *)InformationBlock)->FCoeBoot\r
+ );\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
+ } else if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoSanMacAddressGuid) == TRUE) {\r
TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_SAN_MAC_ADDRESS_INFO), NULL);\r
if (TempStr == NULL) {\r
goto ERROR_EXIT;\r
}\r
- RetVal = CatSPrint (\r
- RetVal,\r
- TempStr,\r
- ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[0], \r
- ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[1], \r
- ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[2],\r
- ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[3], \r
- ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[4], \r
- ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[5]\r
- ); \r
+ TempRetVal = CatSPrint (\r
+ RetVal,\r
+ TempStr,\r
+ ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[0],\r
+ ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[1],\r
+ ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[2],\r
+ ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[3],\r
+ ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[4],\r
+ ((EFI_ADAPTER_INFO_SAN_MAC_ADDRESS *)InformationBlock)->SanMacAddress.Addr[5]\r
+ );\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
+ } else if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoUndiIpv6SupportGuid) == TRUE) {\r
+ TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_UNDI_IPV6_INFO), NULL);\r
+ if (TempStr == NULL) {\r
+ goto ERROR_EXIT;\r
+ }\r
+\r
+ TempRetVal = CatSPrint (\r
+ RetVal,\r
+ TempStr,\r
+ ((EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT *)InformationBlock)->Ipv6Support\r
+ ); \r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
} else {\r
TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_UNKNOWN_INFO_TYPE), NULL);\r
if (TempStr == NULL) {\r
goto ERROR_EXIT;\r
}\r
- RetVal = CatSPrint (RetVal, TempStr, &InfoTypesBuffer[GuidIndex]);\r
+ TempRetVal = CatSPrint (RetVal, TempStr, &InfoTypesBuffer[GuidIndex]);\r
+ SHELL_FREE_NON_NULL (RetVal);\r
+ RetVal = TempRetVal;\r
}\r
}\r
SHELL_FREE_NON_NULL (TempStr);\r
#define LOCAL_EFI_ISA_IO_PROTOCOL_GUID \\r
{ \\r
0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \\r
- } \r
+ }\r
#define LOCAL_EFI_ISA_ACPI_PROTOCOL_GUID \\r
{ \\r
0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 } \\r
{STRING_TOKEN(STR_IDE_CONT_INIT), &gEfiIdeControllerInitProtocolGuid, NULL},\r
{STRING_TOKEN(STR_DISK_INFO), &gEfiDiskInfoProtocolGuid, NULL},\r
\r
+//\r
+// PI Spec 1.0\r
+//\r
+ {STRING_TOKEN(STR_BDS_ARCH), &gEfiBdsArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_CPU_ARCH), &gEfiCpuArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_MET_ARCH), &gEfiMetronomeArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_MON_ARCH), &gEfiMonotonicCounterArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_RTC_ARCH), &gEfiRealTimeClockArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_RESET_ARCH), &gEfiResetArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_RT_ARCH), &gEfiRuntimeArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SEC_ARCH), &gEfiSecurityArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_TIMER_ARCH), &gEfiTimerArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_VAR_ARCH), &gEfiVariableWriteArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_V_ARCH), &gEfiVariableArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SECP), &gEfiSecurityPolicyProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_WDT_ARCH), &gEfiWatchdogTimerArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SCR), &gEfiStatusCodeRuntimeProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SMB_HC), &gEfiSmbusHcProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_FV_2), &gEfiFirmwareVolume2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_FV_BLOCK), &gEfiFirmwareVolumeBlockProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_CAP_ARCH), &gEfiCapsuleArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_MP_SERVICE), &gEfiMpServiceProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_HBRAP), &gEfiPciHostBridgeResourceAllocationProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_PCIP), &gEfiPciPlatformProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_PCIO), &gEfiPciOverrideProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_PCIE), &gEfiPciEnumerationCompleteProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_IPCID), &gEfiIncompatiblePciDeviceSupportProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_PCIHPI), &gEfiPciHotPlugInitProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_PCIHPR), &gEfiPciHotPlugRequestProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SMBIOS), &gEfiSmbiosProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S3_SAVE), &gEfiS3SaveStateProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S3_S_SMM), &gEfiS3SmmSaveStateProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_RSC), &gEfiRscHandlerProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_RSC), &gEfiSmmRscHandlerProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ACPI_SDT), &gEfiAcpiSdtProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SIO), &gEfiSioProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_CPU2), &gEfiSmmCpuIo2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_BASE2), &gEfiSmmBase2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_ACC_2), &gEfiSmmAccess2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_CON_2), &gEfiSmmControl2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_CONFIG), &gEfiSmmConfigurationProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_RTL), &gEfiSmmReadyToLockProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_DS_RTL), &gEfiDxeSmmReadyToLockProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_COMM), &gEfiSmmCommunicationProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_STAT), &gEfiSmmStatusCodeProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_CPU), &gEfiSmmCpuProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_PCIRBIO), &gEfiPciRootBridgeIoProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_SWD), &gEfiSmmSwDispatch2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_SXD), &gEfiSmmSxDispatch2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_PTD2), &gEfiSmmPeriodicTimerDispatch2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_UD2), &gEfiSmmUsbDispatch2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_GD2), &gEfiSmmGpiDispatch2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_SBD2), &gEfiSmmStandbyButtonDispatch2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_PBD2), &gEfiSmmPowerButtonDispatch2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S_ITD2), &gEfiSmmIoTrapDispatch2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_PCD), &gEfiPcdProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_FVB2), &gEfiFirmwareVolumeBlock2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_CPUIO2), &gEfiCpuIo2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_LEGACY_R2), &gEfiLegacyRegion2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SAL_MIP), &gEfiSalMcaInitPmiProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_BS), &gEfiExtendedSalBootServiceProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_BIO), &gEfiExtendedSalBaseIoServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_STALL), &gEfiExtendedSalStallServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_RTC), &gEfiExtendedSalRtcServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_VS), &gEfiExtendedSalVariableServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_MTC), &gEfiExtendedSalMtcServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_RESET), &gEfiExtendedSalResetServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_SC), &gEfiExtendedSalStatusCodeServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_FBS), &gEfiExtendedSalFvBlockServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_MP), &gEfiExtendedSalMpServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_PAL), &gEfiExtendedSalPalServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_BASE), &gEfiExtendedSalBaseServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_MCA), &gEfiExtendedSalMcaServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_PCI), &gEfiExtendedSalPciServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_CACHE), &gEfiExtendedSalCacheServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ES_MCA_LOG), &gEfiExtendedSalMcaLogServicesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_S2ARCH), &gEfiSecurity2ArchProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_EODXE), &gEfiSmmEndOfDxeProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ISAHC), &gEfiIsaHcProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_ISAHC_B), &gEfiIsaHcServiceBindingProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SIO_C), &gEfiSioControlProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_GET_PCD), &gEfiGetPcdInfoProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_I2C_M), &gEfiI2cMasterProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_I2CIO), &gEfiI2cIoProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_I2CEN), &gEfiI2cEnumerateProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_I2C_H), &gEfiI2cHostProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_I2C_BCM), &gEfiI2cBusConfigurationManagementProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_TREE), &gEfiTrEEProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_TCG2), &gEfiTcg2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_TIMESTAMP), &gEfiTimestampProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_RNG), &gEfiRngProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_NVMEPT), &gEfiNvmExpressPassThruProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_H2_SB), &gEfiHash2ServiceBindingProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_HASH2), &gEfiHash2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_BIO_C), &gEfiBlockIoCryptoProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SCR), &gEfiSmartCardReaderProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_SCE), &gEfiSmartCardEdgeProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_USB_FIO), &gEfiUsbFunctionIoProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_BC_HC), &gEfiBluetoothHcProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_BC_IO_SB), &gEfiBluetoothIoServiceBindingProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_BC_IO), &gEfiBluetoothIoProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_BC_C), &gEfiBluetoothConfigProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_REG_EXP), &gEfiRegularExpressionProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_B_MGR_P), &gEfiBootManagerPolicyProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_CKH), &gEfiConfigKeywordHandlerProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_WIFI), &gEfiWiFiProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_EAP_M), &gEfiEapManagement2ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_EAP_C), &gEfiEapConfigurationProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_PKCS7), &gEfiPkcs7VerifyProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_NET_DNS4_SB), &gEfiDns4ServiceBindingProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_NET_DNS4), &gEfiDns4ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_NET_DNS6_SB), &gEfiDns6ServiceBindingProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_NET_DNS6), &gEfiDns6ProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_NET_HTTP_SB), &gEfiHttpServiceBindingProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_NET_HTTP), &gEfiHttpProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_NET_HTTP_U), &gEfiHttpUtilitiesProtocolGuid, NULL},\r
+ {STRING_TOKEN(STR_REST), &gEfiRestProtocolGuid, NULL},\r
+\r
//\r
// UEFI Shell Spec 2.0\r
//\r
//\r
{STRING_TOKEN(STR_SHELL_DYNAMIC), &gEfiShellDynamicCommandProtocolGuid, NULL},\r
\r
+//\r
+// Misc\r
+//\r
+ {STRING_TOKEN(STR_PCDINFOPROT), &gGetPcdInfoProtocolGuid, NULL},\r
+\r
//\r
// terminator\r
//\r
\r
/**\r
Get best support language for this driver.\r
- \r
- First base on the user input language to search, second base on the current \r
- platform used language to search, third get the first language from the \r
+\r
+ First base on the user input language to search, second base on the current\r
+ platform used language to search, third get the first language from the\r
support language list. The caller need to free the buffer of the best language.\r
\r
@param[in] SupportedLanguages The support languages for this driver.\r
\r
if (ControllerHandle == NULL) {\r
//\r
- // ControllerHandle == NULL and DriverBindingHandle != NULL. \r
+ // ControllerHandle == NULL and DriverBindingHandle != NULL.\r
// Return information on all the controller handles that the driver specified by DriverBindingHandle is managing\r
//\r
for (OpenInfoIndex = 0; OpenInfoIndex < OpenInfoCount; OpenInfoIndex++) {\r