44 UINT32 AuthenticationStatus;
46 if ((LoadedImage ==
NULL) || (LoadedImage->FilePath ==
NULL)) {
52 if (NameGuid ==
NULL) {
59 Status =
gBS->HandleProtocol (LoadedImage->DeviceHandle, &gEfiFirmwareVolume2ProtocolGuid, (VOID **)&Fv);
64 if (EFI_ERROR (Status)) {
72 Status = Fv->ReadSection (Fv, NameGuid, EFI_SECTION_USER_INTERFACE, 0, &Buffer, &BufferSize, &AuthenticationStatus);
74 if (EFI_ERROR (Status)) {
130 case EfiMaxMemoryType:
StrnCatGrow (&RetVal,
NULL, L
"EfiMaxMemoryType", 0);
132 default: ASSERT (
FALSE);
165 default: ASSERT (
FALSE);
204 if (mHandleParsingHiiHandle ==
NULL) {
206 ASSERT (mHandleParsingHiiHandle !=
NULL);
227 for (LoopCount = 0; mGuidList !=
NULL && LoopCount < mGuidListCount; LoopCount++) {
228 SHELL_FREE_NON_NULL (mGuidList[LoopCount].GuidId);
231 SHELL_FREE_NON_NULL (mGuidList);
232 if (mHandleParsingHiiHandle !=
NULL) {
266 Status =
gBS->OpenProtocol (
268 &gEfiLoadedImageProtocolGuid,
269 (VOID **)&LoadedImage,
272 EFI_OPEN_PROTOCOL_GET_PROTOCOL
275 if (EFI_ERROR (Status)) {
282 if (FileName ==
NULL) {
285 SHELL_FREE_NON_NULL (FilePath);
293 if (FileName !=
NULL) {
300 SHELL_FREE_NON_NULL (Temp);
301 SHELL_FREE_NON_NULL (FileName);
302 if (RetVal ==
NULL) {
312 PdbFileName = PeCoffLoaderGetPdbPointer (LoadedImage->
ImageBase);
315 if ((PdbFileName !=
NULL) && (DataType !=
NULL) && (CodeType !=
NULL) && (FilePath !=
NULL)) {
335 SHELL_FREE_NON_NULL (Temp);
336 SHELL_FREE_NON_NULL (FilePath);
337 SHELL_FREE_NON_NULL (CodeType);
338 SHELL_FREE_NON_NULL (DataType);
381 Status =
gBS->OpenProtocol (
383 &gEfiGraphicsOutputProtocolGuid,
384 (VOID **)&GraphicsOutput,
387 EFI_OPEN_PROTOCOL_GET_PROTOCOL
390 if (EFI_ERROR (Status)) {
391 SHELL_FREE_NON_NULL (Temp);
397 SHELL_FREE_NON_NULL (Temp);
419 SHELL_FREE_NON_NULL (Temp);
420 if (RetVal ==
NULL) {
426 SHELL_FREE_NON_NULL (RetVal);
431 SHELL_FREE_NON_NULL (RetVal);
432 if (TempRetVal ==
NULL) {
437 SHELL_FREE_NON_NULL (Temp);
441 SHELL_FREE_NON_NULL (RetVal);
445 for (Mode = 0; Mode < GraphicsOutput->
Mode->
MaxMode; Mode++) {
446 Status = GraphicsOutput->QueryMode (
452 if (EFI_ERROR (Status)) {
464 SHELL_FREE_NON_NULL (GopInfo);
465 SHELL_FREE_NON_NULL (RetVal);
470 SHELL_FREE_NON_NULL (Temp);
471 SHELL_FREE_NON_NULL (Fmt);
503 Status =
gBS->OpenProtocol (
505 &gEfiEdidDiscoveredProtocolGuid,
506 (VOID **)&EdidDiscovered,
509 EFI_OPEN_PROTOCOL_GET_PROTOCOL
512 if (EFI_ERROR (Status)) {
522 SHELL_FREE_NON_NULL (Temp);
523 if (RetVal ==
NULL) {
530 SHELL_FREE_NON_NULL (RetVal);
535 SHELL_FREE_NON_NULL (RetVal);
572 Status =
gBS->OpenProtocol (
574 &gEfiEdidActiveProtocolGuid,
575 (VOID **)&EdidActive,
578 EFI_OPEN_PROTOCOL_GET_PROTOCOL
581 if (EFI_ERROR (Status)) {
591 SHELL_FREE_NON_NULL (Temp);
592 if (RetVal ==
NULL) {
599 SHELL_FREE_NON_NULL (RetVal);
604 SHELL_FREE_NON_NULL (RetVal);
648 Status =
gBS->HandleProtocol (
650 &gEfiPciRootBridgeIoProtocolGuid,
651 (VOID **)&PciRootBridgeIo
654 if (EFI_ERROR (Status)) {
670 SHELL_FREE_NON_NULL (RetVal);
682 Status = PciRootBridgeIo->GetAttributes (PciRootBridgeIo, &Supports, &Attributes);
683 if (!EFI_ERROR (Status)) {
686 SHELL_FREE_NON_NULL (RetVal);
690 Temp2 =
CatSPrint (RetVal, Temp, Attributes);
698 SHELL_FREE_NON_NULL (RetVal);
702 Temp2 =
CatSPrint (RetVal, Temp, Supports);
709 Configuration =
NULL;
710 Status = PciRootBridgeIo->Configuration (PciRootBridgeIo, (VOID **)&Configuration);
711 if (!EFI_ERROR (Status) && (Configuration !=
NULL)) {
714 SHELL_FREE_NON_NULL (RetVal);
718 Temp2 =
CatSPrint (RetVal, Temp, Supports);
723 while (Configuration->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR) {
725 switch (Configuration->ResType) {
726 case ACPI_ADDRESS_SPACE_TYPE_MEM:
729 case ACPI_ADDRESS_SPACE_TYPE_IO:
732 case ACPI_ADDRESS_SPACE_TYPE_BUS:
738 Temp2 =
CatSPrint (RetVal, L
"\r\n%s", Temp);
747 L
"%%H%02x %016lx %016lx %02x%%N",
748 Configuration->SpecificFlag,
749 Configuration->AddrRangeMin,
750 Configuration->AddrRangeMax,
751 Configuration->AddrSpaceGranularity
799 Status =
gBS->HandleProtocol (
801 &gEfiSimpleTextOutProtocolGuid,
810 if (RetVal ==
NULL) {
829 for (Index = 0; Index < Dev->
Mode->
MaxMode; Index++) {
830 Status = Dev->QueryMode (Dev, Index, &Col, &Row);
831 NewSize = Size -
StrSize (RetVal);
835 Temp ==
NULL ? L
"" : Temp,
836 Index == Dev->
Mode->
Mode ? L
'*' : L
' ',
838 !EFI_ERROR (Status) ? (
INTN)Col : -1,
839 !EFI_ERROR (Status) ? (
INTN)Row : -1
870 Status =
gBS->HandleProtocol (
872 &gEfiDriverSupportedEfiVersionProtocolGuid,
873 (VOID **)&DriverEfiVersion
879 if (RetVal !=
NULL) {
912 if (!Verbose && (Temp !=
NULL) && (
StrLen (Temp) > Length)) {
945 CHAR16 *DevPathStrTemp;
950 DevPathStrTemp =
NULL;
951 Status =
gBS->OpenProtocol (TheHandle, Protocol, (VOID **)&DevPath,
gImageHandle,
NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
952 if (!EFI_ERROR (Status)) {
955 Size =
StrSize (DevPathStr) +
sizeof (CHAR16) * 2;
957 if (DevPathStrTemp !=
NULL) {
958 StrnCatS (DevPathStrTemp, Size/
sizeof (CHAR16), L
" ", 2);
959 StrnCatS (DevPathStrTemp, Size/
sizeof (CHAR16), DevPathStr,
StrLen (DevPathStr));
963 DevPathStr = DevPathStrTemp;
1048 Status =
gBS->OpenProtocol (
1050 &gEfiBusSpecificDriverOverrideProtocolGuid,
1051 (VOID **)&BusSpecificDriverOverride,
1054 EFI_OPEN_PROTOCOL_GET_PROTOCOL
1056 if (EFI_ERROR (Status)) {
1062 if (GetString ==
NULL) {
1067 Status = BusSpecificDriverOverride->GetDriver (
1068 BusSpecificDriverOverride,
1071 if (!EFI_ERROR (Status)) {
1072 Status =
gBS->HandleProtocol (
1074 &gEfiLoadedImageProtocolGuid,
1075 (VOID **)&LoadedImage
1077 if (!EFI_ERROR (Status)) {
1084 if (TempRetVal ==
NULL) {
1089 SHELL_FREE_NON_NULL (TempRetVal);
1092 }
while (!EFI_ERROR (Status));
1094 SHELL_FREE_NON_NULL (GetString);
1128 Status =
gBS->OpenProtocol (
1130 &gEfiBlockIoProtocolGuid,
1134 EFI_OPEN_PROTOCOL_GET_PROTOCOL
1136 if (EFI_ERROR (Status)) {
1140 BlockMedia = BlockIo->
Media;
1147 BlockIo->ReadBlocks (
1157 if (GetString ==
NULL) {
1171 BlockMedia->
ReadOnly ? L
"ro" : L
"rw",
1175 SHELL_FREE_NON_NULL (GetString);
1205 Status =
gBS->OpenProtocol (
1207 &gEfiDebugSupportProtocolGuid,
1208 (VOID **)&DebugSupport,
1211 EFI_OPEN_PROTOCOL_GET_PROTOCOL
1213 if (EFI_ERROR (Status)) {
1219 if (GetString ==
NULL) {
1226 switch (DebugSupport->
Isa) {
1228 RetVal =
CatSPrint (RetVal, GetString, L
"IA-32");
1231 RetVal =
CatSPrint (RetVal, GetString, L
"IPF");
1234 RetVal =
CatSPrint (RetVal, GetString, L
"EBC");
1237 SHELL_FREE_NON_NULL (GetString);
1243 SHELL_FREE_NON_NULL (GetString);
1283 Status =
gBS->OpenProtocol (
1285 &gEfiPciIoProtocolGuid,
1289 EFI_OPEN_PROTOCOL_GET_PROTOCOL
1292 if (EFI_ERROR (Status)) {
1296 PciIo->Pci.
Read (PciIo, EfiPciIoWidthUint8, 0,
sizeof (Pci), &Pci);
1297 PciIo->GetLocation (PciIo, &Segment, &Bus, &Device, &Function);
1300 if (GetString ==
NULL) {
1315 Pci.Hdr.ClassCode[0],
1316 Pci.Hdr.ClassCode[1],
1317 Pci.Hdr.ClassCode[2]
1319 if (RetVal ==
NULL) {
1324 for (Index = 0; Index <
sizeof (Pci); Index++) {
1325 if ((Index % 0x10) == 0) {
1326 TempRetVal =
CatSPrint (RetVal, L
"\r\n %02x", *((UINT8 *)(&Pci) + Index));
1328 TempRetVal =
CatSPrint (RetVal, L
"%02x", *((UINT8 *)(&Pci) + Index));
1332 RetVal = TempRetVal;
1369 Status =
gBS->OpenProtocol (
1371 &gEfiUsbIoProtocolGuid,
1375 EFI_OPEN_PROTOCOL_GET_PROTOCOL
1378 if (EFI_ERROR (Status)) {
1382 UsbIo->UsbGetInterfaceDescriptor (UsbIo, &InterfaceDesc);
1385 if (GetString ==
NULL) {
1392 InterfaceDesc.InterfaceNumber,
1393 InterfaceDesc.InterfaceClass,
1394 InterfaceDesc.InterfaceSubClass,
1395 InterfaceDesc.InterfaceProtocol
1419 UINTN InfoTypesBufferCount;
1426 VOID *InformationBlock;
1427 UINTN InformationBlockSize;
1433 InfoTypesBuffer =
NULL;
1434 InformationBlock =
NULL;
1436 Status =
gBS->OpenProtocol (
1438 &gEfiAdapterInformationProtocolGuid,
1439 (VOID **)&EfiAdptrInfoProtocol,
1442 EFI_OPEN_PROTOCOL_GET_PROTOCOL
1445 if (EFI_ERROR (Status)) {
1452 Status = EfiAdptrInfoProtocol->GetSupportedTypes (
1453 EfiAdptrInfoProtocol,
1455 &InfoTypesBufferCount
1458 if (EFI_ERROR (Status)) {
1460 if (TempStr !=
NULL) {
1467 if (TempStr ==
NULL) {
1472 if (RetVal ==
NULL) {
1476 SHELL_FREE_NON_NULL (TempStr);
1478 for (GuidIndex = 0; GuidIndex < InfoTypesBufferCount; GuidIndex++) {
1480 if (TempStr ==
NULL) {
1484 TempRetVal =
CatSPrint (RetVal, TempStr, (GuidIndex + 1), &InfoTypesBuffer[GuidIndex]);
1485 SHELL_FREE_NON_NULL (RetVal);
1486 RetVal = TempRetVal;
1487 SHELL_FREE_NON_NULL (TempStr);
1490 if (TempStr ==
NULL) {
1494 if (
CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoMediaStateGuid)) {
1495 TempRetVal =
CatSPrint (RetVal, TempStr, L
"gEfiAdapterInfoMediaStateGuid");
1496 SHELL_FREE_NON_NULL (RetVal);
1497 RetVal = TempRetVal;
1498 }
else if (
CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoNetworkBootGuid)) {
1499 TempRetVal =
CatSPrint (RetVal, TempStr, L
"gEfiAdapterInfoNetworkBootGuid");
1500 SHELL_FREE_NON_NULL (RetVal);
1501 RetVal = TempRetVal;
1502 }
else if (
CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoSanMacAddressGuid)) {
1503 TempRetVal =
CatSPrint (RetVal, TempStr, L
"gEfiAdapterInfoSanMacAddressGuid");
1504 SHELL_FREE_NON_NULL (RetVal);
1505 RetVal = TempRetVal;
1506 }
else if (
CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoUndiIpv6SupportGuid)) {
1507 TempRetVal =
CatSPrint (RetVal, TempStr, L
"gEfiAdapterInfoUndiIpv6SupportGuid");
1508 SHELL_FREE_NON_NULL (RetVal);
1509 RetVal = TempRetVal;
1512 if (GuidStr ==
NULL) {
1513 TempRetVal =
CatSPrint (RetVal, TempStr, L
"UnknownInfoType");
1514 SHELL_FREE_NON_NULL (RetVal);
1515 RetVal = TempRetVal;
1517 SHELL_FREE_NON_NULL (TempStr);
1518 SHELL_FREE_NON_NULL (GuidStr);
1524 TempRetVal =
CatSPrint (RetVal, TempStr, GuidStr);
1525 SHELL_FREE_NON_NULL (RetVal);
1526 RetVal = TempRetVal;
1527 SHELL_FREE_NON_NULL (GuidStr);
1531 SHELL_FREE_NON_NULL (TempStr);
1533 Status = EfiAdptrInfoProtocol->GetInformation (
1534 EfiAdptrInfoProtocol,
1535 &InfoTypesBuffer[GuidIndex],
1537 &InformationBlockSize
1540 if (EFI_ERROR (Status)) {
1542 if (TempStr ==
NULL) {
1546 TempRetVal =
CatSPrint (RetVal, TempStr, Status);
1547 SHELL_FREE_NON_NULL (RetVal);
1548 RetVal = TempRetVal;
1550 if (
CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoMediaStateGuid)) {
1552 if (TempStr ==
NULL) {
1562 SHELL_FREE_NON_NULL (RetVal);
1563 RetVal = TempRetVal;
1564 }
else if (
CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoNetworkBootGuid)) {
1566 if (TempStr ==
NULL) {
1582 SHELL_FREE_NON_NULL (RetVal);
1583 RetVal = TempRetVal;
1584 }
else if (
CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoSanMacAddressGuid) ==
TRUE) {
1586 if (TempStr ==
NULL) {
1600 SHELL_FREE_NON_NULL (RetVal);
1601 RetVal = TempRetVal;
1602 }
else if (
CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoUndiIpv6SupportGuid) ==
TRUE) {
1604 if (TempStr ==
NULL) {
1613 SHELL_FREE_NON_NULL (RetVal);
1614 RetVal = TempRetVal;
1617 if (TempStr ==
NULL) {
1621 TempRetVal =
CatSPrint (RetVal, TempStr, &InfoTypesBuffer[GuidIndex]);
1622 SHELL_FREE_NON_NULL (RetVal);
1623 RetVal = TempRetVal;
1627 SHELL_FREE_NON_NULL (TempStr);
1628 SHELL_FREE_NON_NULL (InformationBlock);
1632 SHELL_FREE_NON_NULL (InfoTypesBuffer);
1636 SHELL_FREE_NON_NULL (RetVal);
1637 SHELL_FREE_NON_NULL (InfoTypesBuffer);
1638 SHELL_FREE_NON_NULL (InformationBlock);
1662 UINT64 AttributeSetting;
1663 UINTN ImageInfoSize;
1664 UINTN DescriptorSize;
1665 UINT32 DescriptorVersion;
1666 UINT32 PackageVersion;
1667 UINT8 DescriptorCount;
1671 CHAR16 *PackageVersionName;
1675 CHAR16 *AttributeSettingStr;
1677 BOOLEAN AttributeSupported;
1684 AttributeSetting = 0;
1686 AttributeSupported =
FALSE;
1690 PackageVersionName =
NULL;
1694 AttributeSettingStr =
NULL;
1700 Status =
gBS->OpenProtocol (
1702 &gEfiFirmwareManagementProtocolGuid,
1703 (VOID **)&EfiFwMgmtProtocol,
1706 EFI_OPEN_PROTOCOL_GET_PROTOCOL
1709 if (EFI_ERROR (Status)) {
1713 Status = EfiFwMgmtProtocol->GetImageInfo (
1724 if (Status == EFI_BUFFER_TOO_SMALL) {
1727 if (ImageInfo ==
NULL) {
1728 Status = EFI_OUT_OF_RESOURCES;
1730 Status = EfiFwMgmtProtocol->GetImageInfo (
1743 if (EFI_ERROR (Status)) {
1751 if (ImageInfo ==
NULL) {
1762 if (TempStr ==
NULL) {
1767 if (RetVal ==
NULL) {
1771 SHELL_FREE_NON_NULL (TempStr);
1777 if (TempStr ==
NULL) {
1781 TempRetVal =
CatSPrint (RetVal, TempStr, DescriptorVersion);
1782 SHELL_FREE_NON_NULL (RetVal);
1783 RetVal = TempRetVal;
1784 SHELL_FREE_NON_NULL (TempStr);
1790 if (TempStr ==
NULL) {
1794 TempRetVal =
CatSPrint (RetVal, TempStr, DescriptorCount);
1795 SHELL_FREE_NON_NULL (RetVal);
1796 RetVal = TempRetVal;
1797 SHELL_FREE_NON_NULL (TempStr);
1803 if (TempStr ==
NULL) {
1807 TempRetVal =
CatSPrint (RetVal, TempStr, DescriptorSize);
1808 SHELL_FREE_NON_NULL (RetVal);
1809 RetVal = TempRetVal;
1810 SHELL_FREE_NON_NULL (TempStr);
1816 if (TempStr ==
NULL) {
1820 TempRetVal =
CatSPrint (RetVal, TempStr, PackageVersion);
1821 SHELL_FREE_NON_NULL (RetVal);
1822 RetVal = TempRetVal;
1823 SHELL_FREE_NON_NULL (TempStr);
1829 if (TempStr ==
NULL) {
1833 TempRetVal =
CatSPrint (RetVal, TempStr, PackageVersionName);
1834 SHELL_FREE_NON_NULL (RetVal);
1835 RetVal = TempRetVal;
1836 SHELL_FREE_NON_NULL (TempStr);
1838 for (Index = 0; Index < DescriptorCount; Index++) {
1843 SHELL_FREE_NON_NULL (AttributeSettingStr);
1844 AttributeSupported =
FALSE;
1845 AttributeSetting = 0;
1846 if (DescriptorVersion == EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V1) {
1847 if (ImageInfoV1[Index].AttributesSupported != 0x0) {
1848 AttributeSupported =
TRUE;
1851 }
else if (DescriptorVersion == EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V2) {
1852 if (ImageInfoV2[Index].AttributesSupported != 0x0) {
1853 AttributeSupported =
TRUE;
1857 if (ImageInfo[Index].AttributesSupported != 0x0) {
1858 AttributeSupported =
TRUE;
1863 if (!AttributeSupported) {
1868 if (AttributeSettingStr ==
NULL) {
1873 TempRetVal =
CatSPrint (AttributeSettingStr, L
" IMAGE_ATTRIBUTE_IMAGE_UPDATABLE");
1874 if (TempRetVal ==
NULL) {
1878 SHELL_FREE_NON_NULL (AttributeSettingStr);
1879 AttributeSettingStr = TempRetVal;
1883 TempRetVal =
CatSPrint (AttributeSettingStr, L
" IMAGE_ATTRIBUTE_RESET_REQUIRED");
1884 if (TempRetVal ==
NULL) {
1888 SHELL_FREE_NON_NULL (AttributeSettingStr);
1889 AttributeSettingStr = TempRetVal;
1893 TempRetVal =
CatSPrint (AttributeSettingStr, L
" IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED");
1894 if (TempRetVal ==
NULL) {
1898 SHELL_FREE_NON_NULL (AttributeSettingStr);
1899 AttributeSettingStr = TempRetVal;
1903 TempRetVal =
CatSPrint (AttributeSettingStr, L
" IMAGE_ATTRIBUTE_IN_USE");
1904 if (TempRetVal ==
NULL) {
1908 SHELL_FREE_NON_NULL (AttributeSettingStr);
1909 AttributeSettingStr = TempRetVal;
1913 TempRetVal =
CatSPrint (AttributeSettingStr, L
" IMAGE_ATTRIBUTE_UEFI_IMAGE");
1914 if (TempRetVal ==
NULL) {
1918 SHELL_FREE_NON_NULL (AttributeSettingStr);
1919 AttributeSettingStr = TempRetVal;
1922 TempRetVal =
CatSPrint (AttributeSettingStr, L
" )");
1923 if (TempRetVal ==
NULL) {
1927 SHELL_FREE_NON_NULL (AttributeSettingStr);
1928 AttributeSettingStr = TempRetVal;
1931 if (DescriptorVersion == EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V1) {
1932 if (ImageInfoV1[Index].ImageIndex != 0x0) {
1937 if (TempStr ==
NULL) {
1945 ImageInfoV1[Index].ImageIndex,
1946 &ImageInfoV1[Index].ImageTypeId,
1947 ImageInfoV1[Index].ImageId,
1948 ImageInfoV1[Index].ImageIdName,
1949 ImageInfoV1[Index].Version,
1950 ImageInfoV1[Index].VersionName,
1951 ImageInfoV1[Index].Size,
1952 ImageInfoV1[Index].AttributesSupported,
1953 AttributeSettingStr,
1954 ImageInfoV1[Index].Compatibilities
1956 SHELL_FREE_NON_NULL (RetVal);
1957 RetVal = TempRetVal;
1958 SHELL_FREE_NON_NULL (TempStr);
1959 }
else if (DescriptorVersion == EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V2) {
1960 if (ImageInfoV2[Index].ImageIndex != 0x0) {
1965 if (TempStr ==
NULL) {
1973 ImageInfoV2[Index].ImageIndex,
1974 &ImageInfoV2[Index].ImageTypeId,
1975 ImageInfoV2[Index].ImageId,
1976 ImageInfoV2[Index].ImageIdName,
1977 ImageInfoV2[Index].Version,
1978 ImageInfoV2[Index].VersionName,
1979 ImageInfoV2[Index].Size,
1980 ImageInfoV2[Index].AttributesSupported,
1981 AttributeSettingStr,
1982 ImageInfoV2[Index].Compatibilities,
1983 ImageInfoV2[Index].LowestSupportedImageVersion
1985 SHELL_FREE_NON_NULL (RetVal);
1986 RetVal = TempRetVal;
1987 SHELL_FREE_NON_NULL (TempStr);
1989 if (ImageInfo[Index].ImageIndex != 0x0) {
1994 if (TempStr ==
NULL) {
2002 ImageInfo[Index].ImageIndex,
2003 &ImageInfo[Index].ImageTypeId,
2004 ImageInfo[Index].ImageId,
2005 ImageInfo[Index].ImageIdName,
2006 ImageInfo[Index].Version,
2007 ImageInfo[Index].VersionName,
2008 ImageInfo[Index].Size,
2009 ImageInfo[Index].AttributesSupported,
2010 AttributeSettingStr,
2011 ImageInfo[Index].Compatibilities,
2012 ImageInfo[Index].LowestSupportedImageVersion,
2013 ImageInfo[Index].LastAttemptVersion,
2014 ImageInfo[Index].LastAttemptStatus,
2015 ImageInfo[Index].HardwareInstance
2017 SHELL_FREE_NON_NULL (RetVal);
2018 RetVal = TempRetVal;
2019 SHELL_FREE_NON_NULL (TempStr);
2024 if (ImageCount > 0) {
2025 for (Index = 0; Index < DescriptorCount; Index++) {
2026 for (Index1 = Index+1; Index1 < DescriptorCount; Index1++) {
2027 if (DescriptorVersion == EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V1) {
2028 if (ImageInfoV1[Index].ImageId == ImageInfoV1[Index1].ImageId) {
2035 }
else if (DescriptorVersion == EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION_V2) {
2036 if (ImageInfoV2[Index].ImageId == ImageInfoV2[Index1].ImageId) {
2044 if (ImageInfo[Index].ImageId == ImageInfo[Index1].ImageId) {
2062 if (TempStr ==
NULL) {
2066 TempRetVal =
CatSPrint (RetVal, TempStr);
2067 SHELL_FREE_NON_NULL (RetVal);
2068 RetVal = TempRetVal;
2069 SHELL_FREE_NON_NULL (TempStr);
2072 SHELL_FREE_NON_NULL (ImageInfo);
2073 SHELL_FREE_NON_NULL (PackageVersionName);
2074 SHELL_FREE_NON_NULL (AttributeSettingStr);
2079 SHELL_FREE_NON_NULL (RetVal);
2080 SHELL_FREE_NON_NULL (ImageInfo);
2081 SHELL_FREE_NON_NULL (PackageVersionName);
2082 SHELL_FREE_NON_NULL (AttributeSettingStr);
2106 CHAR16 *PartitionType;
2107 CHAR16 *EfiSystemPartition;
2114 Status =
gBS->OpenProtocol (
2117 (VOID **)&PartitionInfo,
2120 EFI_OPEN_PROTOCOL_GET_PROTOCOL
2122 if (EFI_ERROR (Status)) {
2128 switch (PartitionInfo->Type) {
2129 case PARTITION_TYPE_OTHER:
2132 case PARTITION_TYPE_MBR:
2135 case PARTITION_TYPE_GPT:
2139 PartitionType =
NULL;
2143 if (PartitionType ==
NULL) {
2147 if (PartitionInfo->System == 1) {
2153 if (EfiSystemPartition ==
NULL) {
2154 SHELL_FREE_NON_NULL (PartitionType);
2165 SHELL_FREE_NON_NULL (EfiSystemPartition);
2166 SHELL_FREE_NON_NULL (PartitionType);
2173#define LOCAL_EFI_WIN_NT_THUNK_PROTOCOL_GUID \
2175 0x58c518b1, 0x76f3, 0x11d4, { 0xbc, 0xea, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
2178#define LOCAL_EFI_WIN_NT_BUS_DRIVER_IO_PROTOCOL_GUID \
2180 0x96eb4ad6, 0xa32a, 0x11d4, { 0xbc, 0xfd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
2183#define LOCAL_EFI_WIN_NT_SERIAL_PORT_GUID \
2185 0xc95a93d, 0xa006, 0x11d4, { 0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
2194#define LOCAL_EFI_ISA_IO_PROTOCOL_GUID \
2196 0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
2198#define LOCAL_EFI_ISA_ACPI_PROTOCOL_GUID \
2200 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 } \
2216 {
STRING_TOKEN (STR_DEVICE_PATH_UTIL), &gEfiDevicePathUtilitiesProtocolGuid,
NULL },
2217 {
STRING_TOKEN (STR_DEVICE_PATH_TXT), &gEfiDevicePathToTextProtocolGuid,
NULL },
2218 {
STRING_TOKEN (STR_DEVICE_PATH_FTXT), &gEfiDevicePathFromTextProtocolGuid,
NULL },
2223 {
STRING_TOKEN (STR_DRIVER_BINDING), &gEfiDriverBindingProtocolGuid,
NULL },
2224 {
STRING_TOKEN (STR_PLATFORM_OVERRIDE), &gEfiPlatformDriverOverrideProtocolGuid,
NULL },
2226 {
STRING_TOKEN (STR_DRIVER_DIAG), &gEfiDriverDiagnosticsProtocolGuid,
NULL },
2227 {
STRING_TOKEN (STR_DRIVER_DIAG2), &gEfiDriverDiagnostics2ProtocolGuid,
NULL },
2230 {
STRING_TOKEN (STR_PLAT_DRV_CFG), &gEfiPlatformToDriverConfigurationProtocolGuid,
NULL },
2233 {
STRING_TOKEN (STR_TXT_IN_EX), &gEfiSimpleTextInputExProtocolGuid,
NULL },
2236 {
STRING_TOKEN (STR_ABS_POINTER), &gEfiAbsolutePointerProtocolGuid,
NULL },
2247 {
STRING_TOKEN (STR_SIMPLE_FILE_SYS), &gEfiSimpleFileSystemProtocolGuid,
NULL },
2257 {
STRING_TOKEN (STR_SCSI_PT_EXT), &gEfiExtScsiPassThruProtocolGuid,
NULL },
2268 {
STRING_TOKEN (STR_NII), &gEfiNetworkInterfaceIdentifierProtocolGuid,
NULL },
2269 {
STRING_TOKEN (STR_NII_31), &gEfiNetworkInterfaceIdentifierProtocolGuid_31,
NULL },
2273 {
STRING_TOKEN (STR_MNP_SB), &gEfiManagedNetworkServiceBindingProtocolGuid,
NULL },
2277 {
STRING_TOKEN (STR_DHCPV4_SB), &gEfiDhcp4ServiceBindingProtocolGuid,
NULL },
2279 {
STRING_TOKEN (STR_TCPV4_SB), &gEfiTcp4ServiceBindingProtocolGuid,
NULL },
2285 {
STRING_TOKEN (STR_UDPV4_SB), &gEfiUdp4ServiceBindingProtocolGuid,
NULL },
2287 {
STRING_TOKEN (STR_MTFTPV4_SB), &gEfiMtftp4ServiceBindingProtocolGuid,
NULL },
2289 {
STRING_TOKEN (STR_AUTH_INFO), &gEfiAuthenticationInfoProtocolGuid,
NULL },
2296 {
STRING_TOKEN (STR_HII_CONFIG_ROUT), &gEfiHiiConfigRoutingProtocolGuid,
NULL },
2297 {
STRING_TOKEN (STR_HII_CONFIG_ACC), &gEfiHiiConfigAccessProtocolGuid,
NULL },
2298 {
STRING_TOKEN (STR_HII_FORM_BROWSER2), &gEfiFormBrowser2ProtocolGuid,
NULL },
2299 {
STRING_TOKEN (STR_DRIVER_FAM_OVERRIDE), &gEfiDriverFamilyOverrideProtocolGuid,
NULL },
2302 {
STRING_TOKEN (STR_HII_PACKAGE_LIST), &gEfiHiiPackageListProtocolGuid,
NULL },
2315 {
STRING_TOKEN (STR_DRIVER_CONFIG), &gEfiDriverConfigurationProtocolGuid,
NULL },
2316 {
STRING_TOKEN (STR_DRIVER_CONFIG2), &gEfiDriverConfiguration2ProtocolGuid,
NULL },
2341 {
STRING_TOKEN (STR_MTFTP6_SB), &gEfiMtftp6ServiceBindingProtocolGuid,
NULL },
2343 {
STRING_TOKEN (STR_DHCP6_SB), &gEfiDhcp6ServiceBindingProtocolGuid,
NULL },
2356 {
STRING_TOKEN (STR_DEF_IMG_LOAD), &gEfiDeferredImageLoadProtocolGuid,
NULL },
2387 {
STRING_TOKEN (STR_TLS_CONFIG), &gEfiTlsConfigurationProtocolGuid,
NULL },
2388 {
STRING_TOKEN (STR_SUPPLICANT_SB), &gEfiSupplicantServiceBindingProtocolGuid,
NULL },
2404 {
STRING_TOKEN (STR_BLUETOOTH_ATTR), &gEfiBluetoothAttributeProtocolGuid,
NULL },
2405 {
STRING_TOKEN (STR_BLUETOOTH_ATTR_SB), &gEfiBluetoothAttributeServiceBindingProtocolGuid,
NULL },
2406 {
STRING_TOKEN (STR_BLUETOOTH_LE_CONFIG), &gEfiBluetoothLeConfigProtocolGuid,
NULL },
2408 {
STRING_TOKEN (STR_HTTP_BOOT_CALL), &gEfiHttpBootCallbackProtocolGuid,
NULL },
2409 {
STRING_TOKEN (STR_RESET_NOTI), &gEfiResetNotificationProtocolGuid,
NULL },
2417 {
STRING_TOKEN (STR_REDFISH_DISCOVER), &gEfiRedfishDiscoverProtocolGuid,
NULL },
2422 {
STRING_TOKEN (STR_IDE_CONT_INIT), &gEfiIdeControllerInitProtocolGuid,
NULL },
2431 {
STRING_TOKEN (STR_MON_ARCH), &gEfiMonotonicCounterArchProtocolGuid,
NULL },
2444 {
STRING_TOKEN (STR_FV_BLOCK), &gEfiFirmwareVolumeBlockProtocolGuid,
NULL },
2447 {
STRING_TOKEN (STR_HBRAP), &gEfiPciHostBridgeResourceAllocationProtocolGuid,
NULL },
2450 {
STRING_TOKEN (STR_PCIE), &gEfiPciEnumerationCompleteProtocolGuid,
NULL },
2451 {
STRING_TOKEN (STR_IPCID), &gEfiIncompatiblePciDeviceSupportProtocolGuid,
NULL },
2471 {
STRING_TOKEN (STR_S_PCIRBIO), &gEfiSmmPciRootBridgeIoProtocolGuid,
NULL },
2474 {
STRING_TOKEN (STR_S_PTD2), &gEfiSmmPeriodicTimerDispatch2ProtocolGuid,
NULL },
2477 {
STRING_TOKEN (STR_S_SBD2), &gEfiSmmStandbyButtonDispatch2ProtocolGuid,
NULL },
2478 {
STRING_TOKEN (STR_S_PBD2), &gEfiSmmPowerButtonDispatch2ProtocolGuid,
NULL },
2487 {
STRING_TOKEN (STR_ISAHC_B), &gEfiIsaHcServiceBindingProtocolGuid,
NULL },
2506 {
STRING_TOKEN (STR_BC_IO_SB), &gEfiBluetoothIoServiceBindingProtocolGuid,
NULL },
2516 {
STRING_TOKEN (STR_NET_DNS4_SB), &gEfiDns4ServiceBindingProtocolGuid,
NULL },
2518 {
STRING_TOKEN (STR_NET_DNS6_SB), &gEfiDns6ServiceBindingProtocolGuid,
NULL },
2520 {
STRING_TOKEN (STR_NET_HTTP_SB), &gEfiHttpServiceBindingProtocolGuid,
NULL },
2530 {
STRING_TOKEN (STR_MM_PBD), &gEfiMmPowerButtonDispatchProtocolGuid,
NULL },
2531 {
STRING_TOKEN (STR_MM_SBD), &gEfiMmStandbyButtonDispatchProtocolGuid,
NULL },
2534 {
STRING_TOKEN (STR_MM_PTD), &gEfiMmPeriodicTimerDispatchProtocolGuid,
NULL },
2553 {
STRING_TOKEN (STR_SHELL_PARAMETERS), &gEfiShellParametersProtocolGuid,
NULL },
2559 {
STRING_TOKEN (STR_SHELL_DYNAMIC), &gEfiShellDynamicCommandProtocolGuid,
NULL },
2589 ASSERT (Guid !=
NULL);
2591 for (LoopCount = 0, ListWalker = mGuidList; mGuidList !=
NULL && LoopCount < mGuidListCount; LoopCount++, ListWalker++) {
2593 return (ListWalker);
2598 for (ListWalker = mGuidStringListNT; ListWalker !=
NULL && ListWalker->GuidId !=
NULL; ListWalker++) {
2600 return (ListWalker);
2605 for (ListWalker = mGuidStringList; ListWalker !=
NULL && ListWalker->GuidId !=
NULL; ListWalker++) {
2607 return (ListWalker);
2629 IN CONST EFI_STRING_ID NameID,
2630 IN CONST DUMP_PROTOCOL_INFO DumpFunc OPTIONAL
2633 ASSERT (Guid !=
NULL);
2634 ASSERT (NameID != 0);
2641 if (mGuidList ==
NULL) {
2643 return (EFI_OUT_OF_RESOURCES);
2649 mGuidList[mGuidListCount - 1].StringId = NameID;
2650 mGuidList[mGuidListCount - 1].DumpInfo = DumpFunc;
2652 if (mGuidList[mGuidListCount - 1].GuidId ==
NULL) {
2653 return (EFI_OUT_OF_RESOURCES);
2681 EFI_STRING_ID NameID;
2685 if ((Guid ==
NULL) || (TheName ==
NULL)) {
2686 return (EFI_INVALID_PARAMETER);
2690 return (EFI_ACCESS_DENIED);
2693 NameID =
HiiSetString (mHandleParsingHiiHandle, 0, (CHAR16 *)TheName, Lang);
2695 return (EFI_OUT_OF_RESOURCES);
2728 return HiiGetString (mHandleParsingHiiHandle, Id->StringId, Lang);
2757 ASSERT (TheHandle !=
NULL);
2758 ASSERT (Guid !=
NULL);
2760 if ((TheHandle ==
NULL) || (Guid ==
NULL)) {
2765 if ((Id !=
NULL) && (Id->DumpInfo !=
NULL)) {
2766 return (Id->DumpInfo (TheHandle, Verbose));
2787 IN CONST CHAR8 *Lang OPTIONAL,
2797 ASSERT (Guid !=
NULL);
2799 return (EFI_INVALID_PARAMETER);
2805 for (ListWalker = mGuidStringListNT; ListWalker !=
NULL && ListWalker->GuidId !=
NULL; ListWalker++) {
2806 String =
HiiGetString (mHandleParsingHiiHandle, ListWalker->StringId, Lang);
2808 *Guid = ListWalker->GuidId;
2811 SHELL_FREE_NON_NULL (String);
2812 if (*Guid !=
NULL) {
2818 for (ListWalker = mGuidStringList; ListWalker !=
NULL && ListWalker->GuidId !=
NULL; ListWalker++) {
2819 String =
HiiGetString (mHandleParsingHiiHandle, ListWalker->StringId, Lang);
2821 *Guid = ListWalker->GuidId;
2824 SHELL_FREE_NON_NULL (String);
2825 if (*Guid !=
NULL) {
2830 for (LoopCount = 0, ListWalker = mGuidList; mGuidList !=
NULL && LoopCount < mGuidListCount; LoopCount++, ListWalker++) {
2831 String =
HiiGetString (mHandleParsingHiiHandle, ListWalker->StringId, Lang);
2833 *Guid = ListWalker->GuidId;
2836 SHELL_FREE_NON_NULL (String);
2837 if (*Guid !=
NULL) {
2842 return (EFI_NOT_FOUND);
2861 IN CONST CHAR8 *SupportedLanguages,
2862 IN CONST CHAR8 *InputLanguage,
2863 IN BOOLEAN Iso639Language
2866 CHAR8 *LanguageVariable;
2867 CHAR8 *BestLanguage;
2869 GetVariable2 (Iso639Language ? L
"Lang" : L
"PlatformLang", &gEfiGlobalVariableGuid, (VOID **)&LanguageVariable,
NULL);
2874 (InputLanguage !=
NULL) ? InputLanguage :
"",
2875 (LanguageVariable !=
NULL) ? LanguageVariable :
"",
2880 if (LanguageVariable !=
NULL) {
2884 return BestLanguage;
2911 Status =
gBS->OpenProtocol (
2913 &gEfiComponentName2ProtocolGuid,
2914 (VOID **)&CompNameStruct,
2917 EFI_OPEN_PROTOCOL_GET_PROTOCOL
2919 if (!EFI_ERROR (Status)) {
2921 if (BestLang ==
NULL) {
2925 Status = CompNameStruct->GetDriverName (CompNameStruct, BestLang, &RetVal);
2926 if (BestLang !=
NULL) {
2931 if (!EFI_ERROR (Status)) {
2936 Status =
gBS->OpenProtocol (
2938 &gEfiComponentNameProtocolGuid,
2939 (VOID **)&CompNameStruct,
2942 EFI_OPEN_PROTOCOL_GET_PROTOCOL
2944 if (!EFI_ERROR (Status)) {
2946 if (BestLang ==
NULL) {
2950 Status = CompNameStruct->GetDriverName (CompNameStruct, BestLang, &RetVal);
2951 if (BestLang !=
NULL) {
2955 if (!EFI_ERROR (Status)) {
2979 if (mHandleList.NextIndex != 0) {
2984 mHandleList.NextIndex = 1;
2985 Status =
gBS->LocateHandleBuffer (
2993 if (EFI_ERROR (Status)) {
2997 for (mHandleList.NextIndex = 1; mHandleList.NextIndex <= HandleCount; mHandleList.NextIndex++) {
2999 if (ListWalker !=
NULL) {
3000 ListWalker->TheHandle = HandleBuffer[mHandleList.NextIndex - 1];
3001 ListWalker->TheIndex = mHandleList.NextIndex;
3029 UINTN ProtocolCount;
3032 if (TheHandle ==
NULL) {
3039 ; !
IsNull (&mHandleList.List.Link, &ListWalker->Link)
3043 if (ListWalker->TheHandle == TheHandle) {
3047 Status =
gBS->ProtocolsPerHandle (TheHandle, &ProtocolBuffer, &ProtocolCount);
3048 if (EFI_ERROR (Status)) {
3057 return (ListWalker->TheIndex);
3064 Status =
gBS->ProtocolsPerHandle (TheHandle, &ProtocolBuffer, &ProtocolCount);
3065 if (EFI_ERROR (Status)) {
3075 if (ListWalker ==
NULL) {
3079 ListWalker->TheHandle = TheHandle;
3080 ListWalker->TheIndex = mHandleList.NextIndex++;
3082 return (ListWalker->TheIndex);
3102 UINTN ProtocolCount;
3107 if (TheIndex >= mHandleList.NextIndex) {
3112 ; !
IsNull (&mHandleList.List.Link, &ListWalker->Link)
3116 if ((ListWalker->TheIndex == TheIndex) && (ListWalker->TheHandle !=
NULL)) {
3120 Status =
gBS->ProtocolsPerHandle (ListWalker->TheHandle, &ProtocolBuffer, &ProtocolCount);
3121 if (!EFI_ERROR (Status)) {
3127 ListWalker->TheHandle =
NULL;
3130 return (ListWalker->TheHandle);
3177 UINTN ProtocolIndex;
3179 UINTN OpenInfoCount;
3180 UINTN OpenInfoIndex;
3182 INTN DriverBindingHandleIndex;
3184 ASSERT (HandleCount !=
NULL);
3185 ASSERT (HandleBuffer !=
NULL);
3186 ASSERT (HandleType !=
NULL);
3187 ASSERT (DriverBindingHandle !=
NULL || ControllerHandle !=
NULL);
3190 *HandleBuffer =
NULL;
3196 Status =
gBS->LocateHandleBuffer (
3203 if (EFI_ERROR (Status)) {
3208 if (*HandleType ==
NULL) {
3209 SHELL_FREE_NON_NULL (*HandleBuffer);
3211 return EFI_OUT_OF_RESOURCES;
3214 DriverBindingHandleIndex = -1;
3215 for (HandleIndex = 0; HandleIndex < *HandleCount; HandleIndex++) {
3216 if ((DriverBindingHandle !=
NULL) && ((*HandleBuffer)[HandleIndex] == DriverBindingHandle)) {
3217 DriverBindingHandleIndex = (
INTN)HandleIndex;
3221 for (HandleIndex = 0; HandleIndex < *HandleCount; HandleIndex++) {
3225 Status =
gBS->ProtocolsPerHandle (
3226 (*HandleBuffer)[HandleIndex],
3230 if (EFI_ERROR (Status)) {
3234 for (ProtocolIndex = 0; ProtocolIndex < ArrayCount; ProtocolIndex++) {
3238 if (
CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiLoadedImageProtocolGuid)) {
3239 (*HandleType)[HandleIndex] |= (
UINTN)HR_IMAGE_HANDLE;
3240 }
else if (
CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverBindingProtocolGuid)) {
3241 (*HandleType)[HandleIndex] |= (
UINTN)HR_DRIVER_BINDING_HANDLE;
3242 }
else if (
CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverConfiguration2ProtocolGuid)) {
3243 (*HandleType)[HandleIndex] |= (
UINTN)HR_DRIVER_CONFIGURATION_HANDLE;
3244 }
else if (
CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverConfigurationProtocolGuid)) {
3245 (*HandleType)[HandleIndex] |= (
UINTN)HR_DRIVER_CONFIGURATION_HANDLE;
3246 }
else if (
CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverDiagnostics2ProtocolGuid)) {
3247 (*HandleType)[HandleIndex] |= (
UINTN)HR_DRIVER_DIAGNOSTICS_HANDLE;
3248 }
else if (
CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverDiagnosticsProtocolGuid)) {
3249 (*HandleType)[HandleIndex] |= (
UINTN)HR_DRIVER_DIAGNOSTICS_HANDLE;
3250 }
else if (
CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiComponentName2ProtocolGuid)) {
3251 (*HandleType)[HandleIndex] |= (
UINTN)HR_COMPONENT_NAME_HANDLE;
3252 }
else if (
CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiComponentNameProtocolGuid)) {
3253 (*HandleType)[HandleIndex] |= (
UINTN)HR_COMPONENT_NAME_HANDLE;
3254 }
else if (
CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDevicePathProtocolGuid)) {
3255 (*HandleType)[HandleIndex] |= (
UINTN)HR_DEVICE_HANDLE;
3261 Status =
gBS->OpenProtocolInformation (
3262 (*HandleBuffer)[HandleIndex],
3263 ProtocolGuidArray[ProtocolIndex],
3267 if (EFI_ERROR (Status)) {
3271 if (ControllerHandle ==
NULL) {
3276 for (OpenInfoIndex = 0; OpenInfoIndex < OpenInfoCount; OpenInfoIndex++) {
3277 if ((OpenInfo[OpenInfoIndex].AgentHandle == DriverBindingHandle) && ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_DRIVER) != 0)) {
3278 (*HandleType)[HandleIndex] |= (
UINTN)(HR_DEVICE_HANDLE | HR_CONTROLLER_HANDLE);
3279 if (DriverBindingHandleIndex != -1) {
3280 (*HandleType)[DriverBindingHandleIndex] |= (
UINTN)HR_DEVICE_DRIVER;
3284 if ((OpenInfo[OpenInfoIndex].AgentHandle == DriverBindingHandle) && ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0)) {
3285 (*HandleType)[HandleIndex] |= (
UINTN)(HR_DEVICE_HANDLE | HR_CONTROLLER_HANDLE);
3286 if (DriverBindingHandleIndex != -1) {
3287 (*HandleType)[DriverBindingHandleIndex] |= (
UINTN)(HR_BUS_DRIVER | HR_DEVICE_DRIVER);
3290 for (ChildIndex = 0; ChildIndex < *HandleCount; ChildIndex++) {
3291 if (OpenInfo[OpenInfoIndex].ControllerHandle == (*HandleBuffer)[ChildIndex]) {
3292 (*HandleType)[ChildIndex] |= (
UINTN)(HR_DEVICE_HANDLE | HR_CHILD_HANDLE);
3299 if ((DriverBindingHandle ==
NULL) && (ControllerHandle !=
NULL)) {
3300 if (ControllerHandle == (*HandleBuffer)[HandleIndex]) {
3301 (*HandleType)[HandleIndex] |= (
UINTN)(HR_DEVICE_HANDLE | HR_CONTROLLER_HANDLE);
3302 for (OpenInfoIndex = 0; OpenInfoIndex < OpenInfoCount; OpenInfoIndex++) {
3303 if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_DRIVER) != 0) {
3304 for (ChildIndex = 0; ChildIndex < *HandleCount; ChildIndex++) {
3305 if (OpenInfo[OpenInfoIndex].AgentHandle == (*HandleBuffer)[ChildIndex]) {
3306 (*HandleType)[ChildIndex] |= (
UINTN)HR_DEVICE_DRIVER;
3311 if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {
3312 for (ChildIndex = 0; ChildIndex < *HandleCount; ChildIndex++) {
3313 if (OpenInfo[OpenInfoIndex].AgentHandle == (*HandleBuffer)[ChildIndex]) {
3314 (*HandleType)[ChildIndex] |= (
UINTN)(HR_BUS_DRIVER | HR_DEVICE_DRIVER);
3317 if (OpenInfo[OpenInfoIndex].ControllerHandle == (*HandleBuffer)[ChildIndex]) {
3318 (*HandleType)[ChildIndex] |= (
UINTN)(HR_DEVICE_HANDLE | HR_CHILD_HANDLE);
3324 for (OpenInfoIndex = 0; OpenInfoIndex < OpenInfoCount; OpenInfoIndex++) {
3325 if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {
3326 if (OpenInfo[OpenInfoIndex].ControllerHandle == ControllerHandle) {
3327 (*HandleType)[HandleIndex] |= (
UINTN)(HR_DEVICE_HANDLE | HR_PARENT_HANDLE);
3334 if ((DriverBindingHandle !=
NULL) && (ControllerHandle !=
NULL)) {
3335 if (ControllerHandle == (*HandleBuffer)[HandleIndex]) {
3336 (*HandleType)[HandleIndex] |= (
UINTN)(HR_DEVICE_HANDLE | HR_CONTROLLER_HANDLE);
3337 for (OpenInfoIndex = 0; OpenInfoIndex < OpenInfoCount; OpenInfoIndex++) {
3338 if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_DRIVER) != 0) {
3339 if (OpenInfo[OpenInfoIndex].AgentHandle == DriverBindingHandle) {
3340 if (DriverBindingHandleIndex != -1) {
3341 (*HandleType)[DriverBindingHandleIndex] |= (
UINTN)HR_DEVICE_DRIVER;
3346 if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {
3347 if (OpenInfo[OpenInfoIndex].AgentHandle == DriverBindingHandle) {
3348 for (ChildIndex = 0; ChildIndex < *HandleCount; ChildIndex++) {
3349 if (OpenInfo[OpenInfoIndex].ControllerHandle == (*HandleBuffer)[ChildIndex]) {
3350 (*HandleType)[ChildIndex] |= (
UINTN)(HR_DEVICE_HANDLE | HR_CHILD_HANDLE);
3355 for (ChildIndex = 0; ChildIndex < *HandleCount; ChildIndex++) {
3356 if (OpenInfo[OpenInfoIndex].AgentHandle == (*HandleBuffer)[ChildIndex]) {
3357 (*HandleType)[ChildIndex] |= (
UINTN)(HR_BUS_DRIVER | HR_DEVICE_DRIVER);
3363 for (OpenInfoIndex = 0; OpenInfoIndex < OpenInfoCount; OpenInfoIndex++) {
3364 if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {
3365 if (OpenInfo[OpenInfoIndex].ControllerHandle == ControllerHandle) {
3366 (*HandleType)[HandleIndex] |= (
UINTN)(HR_DEVICE_HANDLE | HR_PARENT_HANDLE);
3416 IN UINTN *MatchingHandleCount,
3426 ASSERT (MatchingHandleCount !=
NULL);
3427 ASSERT (DriverBindingHandle !=
NULL || ControllerHandle !=
NULL);
3429 if ((Mask & HR_VALID_MASK) != Mask) {
3430 return (EFI_INVALID_PARAMETER);
3433 if (((Mask & HR_CHILD_HANDLE) != 0) && (DriverBindingHandle ==
NULL)) {
3434 return (EFI_INVALID_PARAMETER);
3437 *MatchingHandleCount = 0;
3438 if (MatchingHandleBuffer !=
NULL) {
3439 *MatchingHandleBuffer =
NULL;
3442 HandleBuffer =
NULL;
3446 DriverBindingHandle,
3452 if (!EFI_ERROR (Status)) {
3456 for (HandleIndex = 0; HandleIndex < HandleCount; HandleIndex++) {
3457 if ((HandleType[HandleIndex] & Mask) == Mask) {
3458 (*MatchingHandleCount)++;
3465 if (*MatchingHandleCount == 0) {
3466 Status = EFI_NOT_FOUND;
3468 if (MatchingHandleBuffer ==
NULL) {
3478 if (*MatchingHandleBuffer ==
NULL) {
3479 Status = EFI_OUT_OF_RESOURCES;
3481 for (HandleIndex = 0, *MatchingHandleCount = 0
3482 ; HandleIndex < HandleCount
3489 if ((HandleType[HandleIndex] & Mask) == Mask) {
3490 (*MatchingHandleBuffer)[(*MatchingHandleCount)++] = HandleBuffer[HandleIndex];
3497 (*MatchingHandleBuffer)[*MatchingHandleCount] =
NULL;
3505 if (HandleBuffer !=
NULL) {
3509 if (HandleType !=
NULL) {
3514 (MatchingHandleBuffer ==
NULL) ||
3515 (*MatchingHandleCount == 0 && *MatchingHandleBuffer ==
NULL) ||
3516 (*MatchingHandleCount != 0 && *MatchingHandleBuffer !=
NULL)
3543 UINTN DriverBindingHandleCount;
3545 UINTN DriverBindingHandleIndex;
3546 UINTN ChildControllerHandleCount;
3548 UINTN ChildControllerHandleIndex;
3551 if (MatchingHandleCount ==
NULL) {
3552 return (EFI_INVALID_PARAMETER);
3555 *MatchingHandleCount = 0;
3559 &DriverBindingHandleCount,
3560 &DriverBindingHandleBuffer
3562 if (EFI_ERROR (Status)) {
3570 if (HandleBufferForReturn ==
NULL) {
3571 FreePool (DriverBindingHandleBuffer);
3572 return (EFI_NOT_FOUND);
3575 for (DriverBindingHandleIndex = 0; DriverBindingHandleIndex < DriverBindingHandleCount; DriverBindingHandleIndex++) {
3577 DriverBindingHandleBuffer[DriverBindingHandleIndex],
3579 &ChildControllerHandleCount,
3580 &ChildControllerHandleBuffer
3582 if (EFI_ERROR (Status)) {
3586 for (ChildControllerHandleIndex = 0;
3587 ChildControllerHandleIndex < ChildControllerHandleCount;
3588 ChildControllerHandleIndex++
3591 for (HandleIndex = 0; HandleIndex < *MatchingHandleCount; HandleIndex++) {
3592 if (HandleBufferForReturn[HandleIndex] == ChildControllerHandleBuffer[ChildControllerHandleIndex]) {
3597 if (HandleIndex >= *MatchingHandleCount) {
3598 HandleBufferForReturn[(*MatchingHandleCount)++] = ChildControllerHandleBuffer[ChildControllerHandleIndex];
3602 FreePool (ChildControllerHandleBuffer);
3605 FreePool (DriverBindingHandleBuffer);
3607 if ((MatchingHandleBuffer ==
NULL) || (*MatchingHandleCount == 0)) {
3612 HandleBufferForReturn =
NULL;
3615 if (MatchingHandleBuffer !=
NULL) {
3616 *MatchingHandleBuffer = HandleBufferForReturn;
3620 (MatchingHandleBuffer ==
NULL) ||
3621 (*MatchingHandleCount == 0 && *MatchingHandleBuffer ==
NULL) ||
3622 (*MatchingHandleCount != 0 && *MatchingHandleBuffer !=
NULL)
3645 IN OUT VOID **DestinationBuffer,
3647 IN VOID *SourceBuffer,
3651 UINTN LocalDestinationSize;
3652 UINTN LocalDestinationFinalSize;
3654 ASSERT (DestinationBuffer !=
NULL);
3656 if ((SourceSize == 0) || (SourceBuffer ==
NULL)) {
3657 return (*DestinationBuffer);
3660 if (DestinationSize ==
NULL) {
3661 LocalDestinationSize = 0;
3663 LocalDestinationSize = *DestinationSize;
3666 LocalDestinationFinalSize = LocalDestinationSize + SourceSize;
3668 if (DestinationSize !=
NULL) {
3669 *DestinationSize = LocalDestinationSize;
3672 if (LocalDestinationSize == 0) {
3677 *DestinationBuffer =
ReallocatePool (LocalDestinationSize, LocalDestinationFinalSize, *DestinationBuffer);
3680 ASSERT (*DestinationBuffer !=
NULL);
3683 return (
CopyMem (((UINT8 *)(*DestinationBuffer)) + LocalDestinationSize, SourceBuffer, SourceSize));
3701 IN UINTN *MatchingHandleCount,
3711 UINTN HandleBufferSize;
3713 ASSERT (MatchingHandleCount !=
NULL);
3715 HandleBufferSize = 0;
3718 *MatchingHandleCount = 0;
3725 if (!EFI_ERROR (Status)) {
3726 for (HandleIndex = 0; HandleIndex < Count1; HandleIndex++) {
3732 Buffer[HandleIndex],
3736 if (EFI_ERROR (Status)) {
3743 *MatchingHandleCount += Count2;
3744 if (MatchingHandleBuffer !=
NULL) {
3745 *MatchingHandleBuffer =
BuffernCatGrow ((VOID **)MatchingHandleBuffer, &HandleBufferSize, Buffer2, Count2 *
sizeof (Buffer2[0]));
3751 if (Buffer2 !=
NULL) {
3757 if (Buffer !=
NULL) {
3789 if (ProtocolGuid ==
NULL) {
3791 if (Status == EFI_BUFFER_TOO_SMALL) {
3793 if (HandleList ==
NULL) {
3802 if (Status == EFI_BUFFER_TOO_SMALL) {
3804 if (HandleList ==
NULL) {
3813 if (EFI_ERROR (Status)) {
3814 if (HandleList !=
NULL) {
3821 return (HandleList);
3852 for (GuidWalker = ProtocolGuids; GuidWalker !=
NULL && *GuidWalker !=
NULL; GuidWalker++, Size = 0) {
3854 if (Status == EFI_BUFFER_TOO_SMALL) {
3867 if (HandleList ==
NULL) {
3872 for (GuidWalker = ProtocolGuids; GuidWalker !=
NULL && *GuidWalker !=
NULL; GuidWalker++) {
3873 TempSize = TotalSize - Size;
3879 if (!EFI_ERROR (Status)) {
3886 for (HandleWalker1 = HandleList; HandleWalker1 !=
NULL && *HandleWalker1 !=
NULL; HandleWalker1++) {
3887 for (HandleWalker2 = HandleWalker1 + 1; HandleWalker2 !=
NULL && *HandleWalker2 !=
NULL; HandleWalker2++) {
3888 if (*HandleWalker1 == *HandleWalker2) {
3892 CopyMem (HandleWalker2, HandleWalker2 + 1, TotalSize - ((HandleWalker2-HandleList+1)*
sizeof (
EFI_HANDLE)));
3897 return (HandleList);
3922 if (Count ==
NULL) {
3923 return EFI_INVALID_PARAMETER;
3928 NtGuidCount =
ARRAY_SIZE (mGuidStringListNT) - 1;
3931 GuidCount =
ARRAY_SIZE (mGuidStringList) - 1;
3933 if (*Count < NtGuidCount + GuidCount + mGuidListCount) {
3934 *Count = NtGuidCount + GuidCount + mGuidListCount;
3935 return EFI_BUFFER_TOO_SMALL;
3938 for (Index = 0; Index < NtGuidCount; Index++) {
3939 CopyGuid (&Guids[Index], mGuidStringListNT[Index].GuidId);
3942 for (Index = 0; Index < GuidCount; Index++) {
3943 CopyGuid (&Guids[NtGuidCount + Index], mGuidStringList[Index].GuidId);
3946 for (Index = 0; Index < mGuidListCount; Index++) {
3947 CopyGuid (&Guids[NtGuidCount + GuidCount + Index], mGuidList[Index].GuidId);
PACKED struct @89 EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR
BOOLEAN EFIAPI IsNull(IN CONST LIST_ENTRY *List, IN CONST LIST_ENTRY *Node)
UINTN EFIAPI StrSize(IN CONST CHAR16 *String)
LIST_ENTRY *EFIAPI GetNextNode(IN CONST LIST_ENTRY *List, IN CONST LIST_ENTRY *Node)
LIST_ENTRY *EFIAPI GetFirstNode(IN CONST LIST_ENTRY *List)
LIST_ENTRY *EFIAPI RemoveEntryList(IN CONST LIST_ENTRY *Entry)
UINT64 EFIAPI MultU64x32(IN UINT64 Multiplicand, IN UINT32 Multiplier)
LIST_ENTRY *EFIAPI InitializeListHead(IN OUT LIST_ENTRY *ListHead)
RETURN_STATUS EFIAPI StrnCatS(IN OUT CHAR16 *Destination, IN UINTN DestMax, IN CONST CHAR16 *Source, IN UINTN Length)
UINTN EFIAPI StrLen(IN CONST CHAR16 *String)
LIST_ENTRY *EFIAPI InsertTailList(IN OUT LIST_ENTRY *ListHead, IN OUT LIST_ENTRY *Entry)
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
BOOLEAN EFIAPI CompareGuid(IN CONST GUID *Guid1, IN CONST GUID *Guid2)
GUID *EFIAPI CopyGuid(OUT GUID *DestinationGuid, IN CONST GUID *SourceGuid)
CHAR16 *EFIAPI ConvertDevicePathToText(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN BOOLEAN DisplayOnly, IN BOOLEAN AllowShortcuts)
VOID *EFIAPI ReallocatePool(IN UINTN OldSize, IN UINTN NewSize, IN VOID *OldBuffer OPTIONAL)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
VOID *EFIAPI AllocateCopyPool(IN UINTN AllocationSize, IN CONST VOID *Buffer)
#define IMAGE_ATTRIBUTE_UEFI_IMAGE
#define IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED
#define IMAGE_ATTRIBUTE_RESET_REQUIRED
#define IMAGE_ATTRIBUTE_IMAGE_UPDATABLE
#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION
#define IMAGE_ATTRIBUTE_IN_USE
#define PARSE_HANDLE_DATABASE_MANAGED_CHILDREN(DriverHandle, ControllerHandle, Count, Buffer)
#define PARSE_HANDLE_DATABASE_DEVICES(DriverHandle, Count, Buffer)
#define PARSE_HANDLE_DATABASE_UEFI_DRIVERS(ControllerHandle, Count, Buffer)
EFI_HII_HANDLE EFIAPI HiiAddPackages(IN CONST EFI_GUID *PackageListGuid, IN EFI_HANDLE DeviceHandle OPTIONAL,...)
EFI_STRING EFIAPI HiiGetString(IN EFI_HII_HANDLE HiiHandle, IN EFI_STRING_ID StringId, IN CONST CHAR8 *Language OPTIONAL)
EFI_STRING_ID EFIAPI HiiSetString(IN EFI_HII_HANDLE HiiHandle, IN EFI_STRING_ID StringId OPTIONAL, IN CONST EFI_STRING String, IN CONST CHAR8 *SupportedLanguages OPTIONAL)
VOID EFIAPI HiiRemovePackages(IN EFI_HII_HANDLE HiiHandle)
EFI_GUID gEfiI2cBusConfigurationManagementProtocolGuid
EFI_GUID gEfiI2cEnumerateProtocolGuid
EFI_GUID gEfiI2cHostProtocolGuid
EFI_GUID gEfiI2cIoProtocolGuid
UINTN EFIAPI UnicodeSPrint(OUT CHAR16 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR16 *FormatString,...)
#define ARRAY_SIZE(Array)
#define ASSERT_EFI_ERROR(StatusParameter)
EFI_GRAPHICS_PIXEL_FORMAT
@ PixelRedGreenBlueReserved8BitPerColor
@ PixelBlueGreenRedReserved8BitPerColor
EFI_GUID gEfiPartitionInfoProtocolGuid
#define PcdGetBool(TokenName)
EFI_GUID gEfiIsaHcProtocolGuid
EFI_GUID gEfiRamDiskProtocolGuid
CHAR16 *EFIAPI CatSDumpHex(IN CHAR16 *Buffer, IN UINTN Indent, IN UINTN Offset, IN UINTN DataSize, IN VOID *UserData)
CHAR16 *EFIAPI StrnCatGrow(IN OUT CHAR16 **Destination, IN OUT UINTN *CurrentSize, IN CONST CHAR16 *Source, IN UINTN Count)
INTN EFIAPI StringNoCaseCompare(IN CONST VOID *Buffer1, IN CONST VOID *Buffer2)
EFI_STATUS EFIAPI GetAllMappingGuids(OUT EFI_GUID *Guids, IN OUT UINTN *Count)
CHAR16 *EFIAPI GetProtocolInformationDump(IN CONST EFI_HANDLE TheHandle, IN CONST EFI_GUID *Guid, IN CONST BOOLEAN Verbose)
CHAR16 *EFIAPI TxtOutProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CHAR16 *EFIAPI DevicePathProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CONST CHAR16 *EFIAPI GetStringNameFromHandle(IN CONST EFI_HANDLE TheHandle, IN CONST CHAR8 *Language)
VOID HandleParsingHiiInit(VOID)
CHAR16 *EFIAPI AdapterInformationDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CHAR16 *EFIAPI DriverEfiVersionProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CHAR16 *EFIAPI GetStringNameFromGuid(IN CONST EFI_GUID *Guid, IN CONST CHAR8 *Lang OPTIONAL)
CHAR16 * FindLoadedImageFileName(IN EFI_LOADED_IMAGE_PROTOCOL *LoadedImage)
CHAR8 *EFIAPI GetBestLanguageForDriver(IN CONST CHAR8 *SupportedLanguages, IN CONST CHAR8 *InputLanguage, IN BOOLEAN Iso639Language)
EFI_STATUS EFIAPI ParseHandleDatabaseByRelationshipWithType(IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL, IN CONST EFI_HANDLE ControllerHandle OPTIONAL, IN UINTN *HandleCount, OUT EFI_HANDLE **HandleBuffer, OUT UINTN **HandleType)
EFI_STATUS EFIAPI GetGuidFromStringName(IN CONST CHAR16 *Name, IN CONST CHAR8 *Lang OPTIONAL, OUT EFI_GUID **Guid)
EFI_HANDLE EFIAPI ConvertHandleIndexToHandle(IN CONST UINTN TheIndex)
EFI_STATUS EFIAPI ParseHandleDatabaseForChildDevices(IN CONST EFI_HANDLE DriverHandle, IN UINTN *MatchingHandleCount, OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL)
CONST GUID_INFO_BLOCK * InternalShellGetNodeFromGuid(IN CONST EFI_GUID *Guid)
EFI_STATUS EFIAPI HandleParsingLibConstructor(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
CHAR16 *EFIAPI EdidDiscoveredProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CHAR16 *EFIAPI DebugSupportProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CHAR16 *EFIAPI EdidActiveProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
VOID * BuffernCatGrow(IN OUT VOID **DestinationBuffer, IN OUT UINTN *DestinationSize, IN VOID *SourceBuffer, IN UINTN SourceSize)
CHAR16 *EFIAPI BlockIoProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CHAR16 *EFIAPI LoadedImageDevicePathProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CHAR16 * ConvertDevicePathToShortText(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevPath, IN CONST BOOLEAN Verbose, IN CONST UINTN Length)
CHAR16 *EFIAPI PciIoProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
EFI_STATUS EFIAPI HandleParsingLibDestructor(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
CHAR16 *EFIAPI BusSpecificDriverOverrideProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CHAR16 *EFIAPI GraphicsOutputProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
EFI_STATUS EFIAPI AddNewGuidNameMapping(IN CONST EFI_GUID *Guid, IN CONST CHAR16 *TheName, IN CONST CHAR8 *Lang OPTIONAL)
CHAR16 * ConvertPixelFormat(IN CONST EFI_GRAPHICS_PIXEL_FORMAT Fmt)
EFI_STATUS EFIAPI ParseHandleDatabaseByRelationship(IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL, IN CONST EFI_HANDLE ControllerHandle OPTIONAL, IN CONST UINTN Mask, IN UINTN *MatchingHandleCount, OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL)
CHAR16 *EFIAPI FirmwareManagementDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
EFI_STATUS InternalShellInitHandleList(VOID)
CHAR16 *EFIAPI UsbIoProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
STATIC CHAR16 *EFIAPI DevicePathProtocolDumpInformationEx(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose, IN EFI_GUID *Protocol)
EFI_STATUS InsertNewGuidNameMapping(IN CONST EFI_GUID *Guid, IN CONST EFI_STRING_ID NameID, IN CONST DUMP_PROTOCOL_INFO DumpFunc OPTIONAL)
CHAR16 *EFIAPI PartitionInfoProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
CHAR16 * ConvertMemoryType(IN CONST EFI_MEMORY_TYPE Memory)
UINTN EFIAPI ConvertHandleToHandleIndex(IN CONST EFI_HANDLE TheHandle)
CHAR16 *EFIAPI PciRootBridgeIoDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
EFI_HANDLE *EFIAPI GetHandleListByProtocolList(IN CONST EFI_GUID **ProtocolGuids)
EFI_STATUS EFIAPI ParseHandleDatabaseForChildControllers(IN CONST EFI_HANDLE ControllerHandle, OUT UINTN *MatchingHandleCount, OUT EFI_HANDLE **MatchingHandleBuffer OPTIONAL)
CHAR16 *EFIAPI LoadedImageProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
EFI_HANDLE *EFIAPI GetHandleListByProtocol(IN CONST EFI_GUID *ProtocolGuid OPTIONAL)
EFI_STATUS EFIAPI GetVariable2(IN CONST CHAR16 *Name, IN CONST EFI_GUID *Guid, OUT VOID **Value, OUT UINTN *Size OPTIONAL)
CHAR16 *EFIAPI CatSPrint(IN CHAR16 *String OPTIONAL, IN CONST CHAR16 *FormatString,...)
CHAR8 *EFIAPI GetBestLanguage(IN CONST CHAR8 *SupportedLanguages, IN UINTN Iso639Language,...)
EFI_GUID *EFIAPI EfiGetNameGuidFromFwVolDevicePathNode(IN CONST MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvDevicePathNode)
@ EfiMemoryMappedIOPortSpace
EFI_GUID gEfiUfsDeviceConfigProtocolGuid
EFI_BLOCK_IO_MEDIA * Media
CHAR8 * SupportedLanguages
EFI_INSTRUCTION_SET_ARCHITECTURE Isa
EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE * Mode
EFI_SIMPLE_TEXT_OUTPUT_MODE * Mode
UINT32 VerticalResolution
EFI_GRAPHICS_PIXEL_FORMAT PixelFormat
UINT32 HorizontalResolution
EFI_PIXEL_BITMASK PixelInformation
EFI_PHYSICAL_ADDRESS FrameBufferBase
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION * Info
EFI_DEVICE_PATH_PROTOCOL * FilePath
EFI_MEMORY_TYPE ImageDataType
The memory type that the data sections were loaded as.
VOID * LoadOptions
A pointer to the image's binary load options.
EFI_HANDLE DeviceHandle
The device handle that the EFI Image was loaded from.
UINT32 LoadOptionsSize
The size in bytes of LoadOptions.
EFI_MEMORY_TYPE ImageCodeType
The memory type that the code sections were loaded as.
UINT64 ImageSize
The size in bytes of the loaded image.
EFI_SYSTEM_TABLE * SystemTable
the image's EFI system table pointer.
VOID * ImageBase
The base address at which the image was loaded.
EFI_PCI_IO_PROTOCOL_CONFIG Read