/** @file\r
DevicePathToText protocol as defined in the UEFI 2.0 specification.\r
\r
-Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<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
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
+Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
CHAR16 *\r
EFIAPI\r
UefiDevicePathLibCatPrint (\r
- IN OUT POOL_PRINT *Str,\r
- IN CHAR16 *Fmt,\r
+ IN OUT POOL_PRINT *Str,\r
+ IN CHAR16 *Fmt,\r
...\r
)\r
{\r
- UINTN Count;\r
- VA_LIST Args;\r
+ UINTN Count;\r
+ VA_LIST Args;\r
\r
VA_START (Args, Fmt);\r
Count = SPrintLength (Fmt, Args);\r
+ VA_END (Args);\r
\r
if ((Str->Count + (Count + 1)) * sizeof (CHAR16) > Str->Capacity) {\r
Str->Capacity = (Str->Count + (Count + 1) * 2) * sizeof (CHAR16);\r
- Str->Str = ReallocatePool (\r
- Str->Count * sizeof (CHAR16),\r
- Str->Capacity,\r
- Str->Str\r
- );\r
+ Str->Str = ReallocatePool (\r
+ Str->Count * sizeof (CHAR16),\r
+ Str->Capacity,\r
+ Str->Str\r
+ );\r
ASSERT (Str->Str != NULL);\r
}\r
+\r
+ VA_START (Args, Fmt);\r
UnicodeVSPrint (&Str->Str[Str->Count], Str->Capacity - Str->Count * sizeof (CHAR16), Fmt, Args);\r
Str->Count += Count;\r
- \r
+\r
VA_END (Args);\r
return Str->Str;\r
}\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- PCI_DEVICE_PATH *Pci;\r
+ PCI_DEVICE_PATH *Pci;\r
\r
Pci = DevPath;\r
UefiDevicePathLibCatPrint (Str, L"Pci(0x%x,0x%x)", Pci->Device, Pci->Function);\r
UINT32 FlowControlMap;\r
UINT16 Info;\r
\r
- Vendor = (VENDOR_DEVICE_PATH *) DevPath;\r
+ Vendor = (VENDOR_DEVICE_PATH *)DevPath;\r
switch (DevicePathType (&Vendor->Header)) {\r
- case HARDWARE_DEVICE_PATH:\r
- Type = L"Hw";\r
- break;\r
-\r
- case MESSAGING_DEVICE_PATH:\r
- Type = L"Msg";\r
- if (AllowShortcuts) {\r
- if (CompareGuid (&Vendor->Guid, &gEfiPcAnsiGuid)) {\r
- UefiDevicePathLibCatPrint (Str, L"VenPcAnsi()");\r
- return ;\r
- } else if (CompareGuid (&Vendor->Guid, &gEfiVT100Guid)) {\r
- UefiDevicePathLibCatPrint (Str, L"VenVt100()");\r
- return ;\r
- } else if (CompareGuid (&Vendor->Guid, &gEfiVT100PlusGuid)) {\r
- UefiDevicePathLibCatPrint (Str, L"VenVt100Plus()");\r
- return ;\r
- } else if (CompareGuid (&Vendor->Guid, &gEfiVTUTF8Guid)) {\r
- UefiDevicePathLibCatPrint (Str, L"VenUft8()");\r
- return ;\r
- } else if (CompareGuid (&Vendor->Guid, &gEfiUartDevicePathGuid)) {\r
- FlowControlMap = (((UART_FLOW_CONTROL_DEVICE_PATH *) Vendor)->FlowControlMap);\r
- switch (FlowControlMap & 0x00000003) {\r
- case 0:\r
- UefiDevicePathLibCatPrint (Str, L"UartFlowCtrl(%s)", L"None");\r
- break;\r
-\r
- case 1:\r
- UefiDevicePathLibCatPrint (Str, L"UartFlowCtrl(%s)", L"Hardware");\r
- break;\r
-\r
- case 2:\r
- UefiDevicePathLibCatPrint (Str, L"UartFlowCtrl(%s)", L"XonXoff");\r
- break;\r
-\r
- default:\r
- break;\r
- }\r
+ case HARDWARE_DEVICE_PATH:\r
+ Type = L"Hw";\r
+ break;\r
+\r
+ case MESSAGING_DEVICE_PATH:\r
+ Type = L"Msg";\r
+ if (AllowShortcuts) {\r
+ if (CompareGuid (&Vendor->Guid, &gEfiPcAnsiGuid)) {\r
+ UefiDevicePathLibCatPrint (Str, L"VenPcAnsi()");\r
+ return;\r
+ } else if (CompareGuid (&Vendor->Guid, &gEfiVT100Guid)) {\r
+ UefiDevicePathLibCatPrint (Str, L"VenVt100()");\r
+ return;\r
+ } else if (CompareGuid (&Vendor->Guid, &gEfiVT100PlusGuid)) {\r
+ UefiDevicePathLibCatPrint (Str, L"VenVt100Plus()");\r
+ return;\r
+ } else if (CompareGuid (&Vendor->Guid, &gEfiVTUTF8Guid)) {\r
+ UefiDevicePathLibCatPrint (Str, L"VenUtf8()");\r
+ return;\r
+ } else if (CompareGuid (&Vendor->Guid, &gEfiUartDevicePathGuid)) {\r
+ FlowControlMap = (((UART_FLOW_CONTROL_DEVICE_PATH *)Vendor)->FlowControlMap);\r
+ switch (FlowControlMap & 0x00000003) {\r
+ case 0:\r
+ UefiDevicePathLibCatPrint (Str, L"UartFlowCtrl(%s)", L"None");\r
+ break;\r
+\r
+ case 1:\r
+ UefiDevicePathLibCatPrint (Str, L"UartFlowCtrl(%s)", L"Hardware");\r
+ break;\r
+\r
+ case 2:\r
+ UefiDevicePathLibCatPrint (Str, L"UartFlowCtrl(%s)", L"XonXoff");\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
\r
- return ;\r
- } else if (CompareGuid (&Vendor->Guid, &gEfiSasDevicePathGuid)) {\r
- UefiDevicePathLibCatPrint (\r
- Str,\r
- L"SAS(0x%lx,0x%lx,0x%x,",\r
- ((SAS_DEVICE_PATH *) Vendor)->SasAddress,\r
- ((SAS_DEVICE_PATH *) Vendor)->Lun,\r
- ((SAS_DEVICE_PATH *) Vendor)->RelativeTargetPort\r
- );\r
- Info = (((SAS_DEVICE_PATH *) Vendor)->DeviceTopology);\r
- if (((Info & 0x0f) == 0) && ((Info & BIT7) == 0)) {\r
- UefiDevicePathLibCatPrint (Str, L"NoTopology,0,0,0,");\r
- } else if (((Info & 0x0f) <= 2) && ((Info & BIT7) == 0)) {\r
+ return;\r
+ } else if (CompareGuid (&Vendor->Guid, &gEfiSasDevicePathGuid)) {\r
UefiDevicePathLibCatPrint (\r
Str,\r
- L"%s,%s,%s,",\r
- ((Info & BIT4) != 0) ? L"SATA" : L"SAS",\r
- ((Info & BIT5) != 0) ? L"External" : L"Internal",\r
- ((Info & BIT6) != 0) ? L"Expanded" : L"Direct"\r
+ L"SAS(0x%lx,0x%lx,0x%x,",\r
+ ((SAS_DEVICE_PATH *)Vendor)->SasAddress,\r
+ ((SAS_DEVICE_PATH *)Vendor)->Lun,\r
+ ((SAS_DEVICE_PATH *)Vendor)->RelativeTargetPort\r
);\r
- if ((Info & 0x0f) == 1) {\r
- UefiDevicePathLibCatPrint (Str, L"0,");\r
+ Info = (((SAS_DEVICE_PATH *)Vendor)->DeviceTopology);\r
+ if (((Info & 0x0f) == 0) && ((Info & BIT7) == 0)) {\r
+ UefiDevicePathLibCatPrint (Str, L"NoTopology,0,0,0,");\r
+ } else if (((Info & 0x0f) <= 2) && ((Info & BIT7) == 0)) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"%s,%s,%s,",\r
+ ((Info & BIT4) != 0) ? L"SATA" : L"SAS",\r
+ ((Info & BIT5) != 0) ? L"External" : L"Internal",\r
+ ((Info & BIT6) != 0) ? L"Expanded" : L"Direct"\r
+ );\r
+ if ((Info & 0x0f) == 1) {\r
+ UefiDevicePathLibCatPrint (Str, L"0,");\r
+ } else {\r
+ //\r
+ // Value 0x0 thru 0xFF -> Drive 1 thru Drive 256\r
+ //\r
+ UefiDevicePathLibCatPrint (Str, L"0x%x,", ((Info >> 8) & 0xff) + 1);\r
+ }\r
} else {\r
- //\r
- // Value 0x0 thru 0xFF -> Drive 1 thru Drive 256\r
- //\r
- UefiDevicePathLibCatPrint (Str, L"0x%x,", ((Info >> 8) & 0xff) + 1);\r
+ UefiDevicePathLibCatPrint (Str, L"0x%x,0,0,0,", Info);\r
}\r
- } else {\r
- UefiDevicePathLibCatPrint (Str, L"0x%x,0,0,0,", Info);\r
- }\r
\r
- UefiDevicePathLibCatPrint (Str, L"0x%x)", ((SAS_DEVICE_PATH *) Vendor)->Reserved);\r
- return ;\r
- } else if (CompareGuid (&Vendor->Guid, &gEfiDebugPortProtocolGuid)) {\r
- UefiDevicePathLibCatPrint (Str, L"DebugPort()");\r
- return ;\r
+ UefiDevicePathLibCatPrint (Str, L"0x%x)", ((SAS_DEVICE_PATH *)Vendor)->Reserved);\r
+ return;\r
+ } else if (CompareGuid (&Vendor->Guid, &gEfiDebugPortProtocolGuid)) {\r
+ UefiDevicePathLibCatPrint (Str, L"DebugPort()");\r
+ return;\r
+ }\r
}\r
- }\r
- break;\r
\r
- case MEDIA_DEVICE_PATH:\r
- Type = L"Media";\r
- break;\r
+ break;\r
+\r
+ case MEDIA_DEVICE_PATH:\r
+ Type = L"Media";\r
+ break;\r
\r
- default:\r
- Type = L"?";\r
- break;\r
+ default:\r
+ Type = L"?";\r
+ break;\r
}\r
\r
DataLength = DevicePathNodeLength (&Vendor->Header) - sizeof (VENDOR_DEVICE_PATH);\r
if (DataLength != 0) {\r
UefiDevicePathLibCatPrint (Str, L",");\r
for (Index = 0; Index < DataLength; Index++) {\r
- UefiDevicePathLibCatPrint (Str, L"%02x", ((VENDOR_DEVICE_PATH_WITH_DATA *) Vendor)->VendorDefinedData[Index]);\r
+ UefiDevicePathLibCatPrint (Str, L"%02x", ((VENDOR_DEVICE_PATH_WITH_DATA *)Vendor)->VendorDefinedData[Index]);\r
}\r
}\r
\r
);\r
}\r
\r
+/**\r
+ Converts a BMC device path structure to its string representative.\r
+\r
+ @param Str The string representative of input device.\r
+ @param DevPath The input device path structure.\r
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation\r
+ of the display node is used, where applicable. If DisplayOnly\r
+ is FALSE, then the longer text representation of the display node\r
+ is used.\r
+ @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text\r
+ representation for a device node can be used, where applicable.\r
+\r
+**/\r
+VOID\r
+DevPathToTextBmc (\r
+ IN OUT POOL_PRINT *Str,\r
+ IN VOID *DevPath,\r
+ IN BOOLEAN DisplayOnly,\r
+ IN BOOLEAN AllowShortcuts\r
+ )\r
+{\r
+ BMC_DEVICE_PATH *Bmc;\r
+\r
+ Bmc = DevPath;\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"BMC(0x%x,0x%lx)",\r
+ Bmc->InterfaceType,\r
+ ReadUnaligned64 ((UINT64 *)(&Bmc->BaseAddress))\r
+ );\r
+}\r
+\r
/**\r
Converts a ACPI device path structure to its string representative.\r
\r
Acpi = DevPath;\r
if ((Acpi->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {\r
switch (EISA_ID_TO_NUM (Acpi->HID)) {\r
- case 0x0a03:\r
- UefiDevicePathLibCatPrint (Str, L"PciRoot(0x%x)", Acpi->UID);\r
- break;\r
+ case 0x0a03:\r
+ UefiDevicePathLibCatPrint (Str, L"PciRoot(0x%x)", Acpi->UID);\r
+ break;\r
\r
- case 0x0a08:\r
- UefiDevicePathLibCatPrint (Str, L"PcieRoot(0x%x)", Acpi->UID);\r
- break;\r
+ case 0x0a08:\r
+ UefiDevicePathLibCatPrint (Str, L"PcieRoot(0x%x)", Acpi->UID);\r
+ break;\r
\r
- case 0x0604:\r
- UefiDevicePathLibCatPrint (Str, L"Floppy(0x%x)", Acpi->UID);\r
- break;\r
+ case 0x0604:\r
+ UefiDevicePathLibCatPrint (Str, L"Floppy(0x%x)", Acpi->UID);\r
+ break;\r
\r
- case 0x0301:\r
- UefiDevicePathLibCatPrint (Str, L"Keyboard(0x%x)", Acpi->UID);\r
- break;\r
+ case 0x0301:\r
+ UefiDevicePathLibCatPrint (Str, L"Keyboard(0x%x)", Acpi->UID);\r
+ break;\r
\r
- case 0x0501:\r
- UefiDevicePathLibCatPrint (Str, L"Serial(0x%x)", Acpi->UID);\r
- break;\r
+ case 0x0501:\r
+ UefiDevicePathLibCatPrint (Str, L"Serial(0x%x)", Acpi->UID);\r
+ break;\r
\r
- case 0x0401:\r
- UefiDevicePathLibCatPrint (Str, L"ParallelPort(0x%x)", Acpi->UID);\r
- break;\r
+ case 0x0401:\r
+ UefiDevicePathLibCatPrint (Str, L"ParallelPort(0x%x)", Acpi->UID);\r
+ break;\r
\r
- default:\r
- UefiDevicePathLibCatPrint (Str, L"Acpi(PNP%04x,0x%x)", EISA_ID_TO_NUM (Acpi->HID), Acpi->UID);\r
- break;\r
+ default:\r
+ UefiDevicePathLibCatPrint (Str, L"Acpi(PNP%04x,0x%x)", EISA_ID_TO_NUM (Acpi->HID), Acpi->UID);\r
+ break;\r
}\r
} else {\r
UefiDevicePathLibCatPrint (Str, L"Acpi(0x%08x,0x%x)", Acpi->HID, Acpi->UID);\r
CHAR16 CIDText[11];\r
\r
AcpiEx = DevPath;\r
- HIDStr = (CHAR8 *) (((UINT8 *) AcpiEx) + sizeof (ACPI_EXTENDED_HID_DEVICE_PATH));\r
+ HIDStr = (CHAR8 *)(((UINT8 *)AcpiEx) + sizeof (ACPI_EXTENDED_HID_DEVICE_PATH));\r
UIDStr = HIDStr + AsciiStrLen (HIDStr) + 1;\r
CIDStr = UIDStr + AsciiStrLen (UIDStr) + 1;\r
\r
+ if (DisplayOnly) {\r
+ if ((EISA_ID_TO_NUM (AcpiEx->HID) == 0x0A03) ||\r
+ ((EISA_ID_TO_NUM (AcpiEx->CID) == 0x0A03) && (EISA_ID_TO_NUM (AcpiEx->HID) != 0x0A08)))\r
+ {\r
+ if (AcpiEx->UID == 0) {\r
+ UefiDevicePathLibCatPrint (Str, L"PciRoot(%a)", UIDStr);\r
+ } else {\r
+ UefiDevicePathLibCatPrint (Str, L"PciRoot(0x%x)", AcpiEx->UID);\r
+ }\r
+\r
+ return;\r
+ }\r
+\r
+ if ((EISA_ID_TO_NUM (AcpiEx->HID) == 0x0A08) || (EISA_ID_TO_NUM (AcpiEx->CID) == 0x0A08)) {\r
+ if (AcpiEx->UID == 0) {\r
+ UefiDevicePathLibCatPrint (Str, L"PcieRoot(%a)", UIDStr);\r
+ } else {\r
+ UefiDevicePathLibCatPrint (Str, L"PcieRoot(0x%x)", AcpiEx->UID);\r
+ }\r
+\r
+ return;\r
+ }\r
+ }\r
+\r
//\r
// Converts EISA identification to string.\r
- // \r
+ //\r
UnicodeSPrint (\r
HIDText,\r
sizeof (HIDText),\r
(AcpiEx->CID >> 16) & 0xFFFF\r
);\r
\r
- if ((*HIDStr == '\0') && (*CIDStr == '\0') && (AcpiEx->UID == 0)) {\r
+ if ((*HIDStr == '\0') && (*CIDStr == '\0') && (*UIDStr != '\0')) {\r
//\r
// use AcpiExp()\r
//\r
- UefiDevicePathLibCatPrint (\r
- Str,\r
- L"AcpiExp(%s,%s,%a)",\r
- HIDText,\r
- CIDText,\r
- UIDStr\r
- );\r
+ if (AcpiEx->CID == 0) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"AcpiExp(%s,0,%a)",\r
+ HIDText,\r
+ UIDStr\r
+ );\r
+ } else {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"AcpiExp(%s,%s,%a)",\r
+ HIDText,\r
+ CIDText,\r
+ UIDStr\r
+ );\r
+ }\r
} else {\r
- if (AllowShortcuts) {\r
+ if (DisplayOnly) {\r
//\r
// display only\r
//\r
UefiDevicePathLibCatPrint (Str, L"AcpiEx(%s,", HIDText);\r
}\r
\r
- if (AcpiEx->UID == 0) {\r
- UefiDevicePathLibCatPrint (Str, L"%a,", UIDStr);\r
+ if (AcpiEx->CID == 0) {\r
+ UefiDevicePathLibCatPrint (Str, L"%a,", CIDStr);\r
} else {\r
- UefiDevicePathLibCatPrint (Str, L"0x%x,", AcpiEx->UID);\r
+ UefiDevicePathLibCatPrint (Str, L"%s,", CIDText);\r
}\r
\r
- if (AcpiEx->CID == 0) {\r
- UefiDevicePathLibCatPrint (Str, L"%a)", CIDStr);\r
+ if (AcpiEx->UID == 0) {\r
+ UefiDevicePathLibCatPrint (Str, L"%a)", UIDStr);\r
} else {\r
- UefiDevicePathLibCatPrint (Str, L"%s)", CIDText);\r
+ UefiDevicePathLibCatPrint (Str, L"0x%x)", AcpiEx->UID);\r
}\r
} else {\r
UefiDevicePathLibCatPrint (\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- ACPI_ADR_DEVICE_PATH *AcpiAdr;\r
- UINT16 Index;\r
- UINT16 Length;\r
- UINT16 AdditionalAdrCount;\r
+ ACPI_ADR_DEVICE_PATH *AcpiAdr;\r
+ UINT16 Index;\r
+ UINT16 Length;\r
+ UINT16 AdditionalAdrCount;\r
\r
AcpiAdr = DevPath;\r
- Length = (UINT16) DevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) AcpiAdr);\r
- AdditionalAdrCount = (UINT16) ((Length - 8) / 4);\r
+ Length = (UINT16)DevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *)AcpiAdr);\r
+ AdditionalAdrCount = (UINT16)((Length - 8) / 4);\r
\r
UefiDevicePathLibCatPrint (Str, L"AcpiAdr(0x%x", AcpiAdr->ADR);\r
for (Index = 0; Index < AdditionalAdrCount; Index++) {\r
- UefiDevicePathLibCatPrint (Str, L",0x%x", *(UINT32 *) ((UINT8 *) AcpiAdr + 8 + Index * 4));\r
+ UefiDevicePathLibCatPrint (Str, L",0x%x", *(UINT32 *)((UINT8 *)AcpiAdr + 8 + Index * 4));\r
}\r
+\r
UefiDevicePathLibCatPrint (Str, L")");\r
}\r
\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- ATAPI_DEVICE_PATH *Atapi;\r
+ ATAPI_DEVICE_PATH *Atapi;\r
\r
Atapi = DevPath;\r
\r
for (Index = 0; Index < sizeof (FibreEx->WWN) / sizeof (FibreEx->WWN[0]); Index++) {\r
UefiDevicePathLibCatPrint (Str, L"%02x", FibreEx->WWN[Index]);\r
}\r
+\r
UefiDevicePathLibCatPrint (Str, L",0x");\r
for (Index = 0; Index < sizeof (FibreEx->Lun) / sizeof (FibreEx->Lun[0]); Index++) {\r
UefiDevicePathLibCatPrint (Str, L"%02x", FibreEx->Lun[Index]);\r
}\r
+\r
UefiDevicePathLibCatPrint (Str, L")");\r
}\r
\r
for (Index = 0; Index < sizeof (SasEx->SasAddress) / sizeof (SasEx->SasAddress[0]); Index++) {\r
UefiDevicePathLibCatPrint (Str, L"%02x", SasEx->SasAddress[Index]);\r
}\r
+\r
UefiDevicePathLibCatPrint (Str, L",0x");\r
for (Index = 0; Index < sizeof (SasEx->Lun) / sizeof (SasEx->Lun[0]); Index++) {\r
UefiDevicePathLibCatPrint (Str, L"%02x", SasEx->Lun[Index]);\r
}\r
+\r
UefiDevicePathLibCatPrint (Str, L",0x%x,", SasEx->RelativeTargetPort);\r
\r
if (((SasEx->DeviceTopology & 0x0f) == 0) && ((SasEx->DeviceTopology & BIT7) == 0)) {\r
}\r
\r
UefiDevicePathLibCatPrint (Str, L")");\r
- return ;\r
-\r
+ return;\r
}\r
\r
/**\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- NVME_NAMESPACE_DEVICE_PATH *Nvme;\r
- UINT8 *Uuid;\r
+ NVME_NAMESPACE_DEVICE_PATH *Nvme;\r
+ UINT8 *Uuid;\r
\r
Nvme = DevPath;\r
- Uuid = (UINT8 *) &Nvme->NamespaceUuid;\r
+ Uuid = (UINT8 *)&Nvme->NamespaceUuid;\r
UefiDevicePathLibCatPrint (\r
Str,\r
L"NVMe(0x%x,%02x-%02x-%02x-%02x-%02x-%02x-%02x-%02x)",\r
Nvme->NamespaceId,\r
- Uuid[7], Uuid[6], Uuid[5], Uuid[4],\r
- Uuid[3], Uuid[2], Uuid[1], Uuid[0]\r
+ Uuid[7],\r
+ Uuid[6],\r
+ Uuid[5],\r
+ Uuid[4],\r
+ Uuid[3],\r
+ Uuid[2],\r
+ Uuid[1],\r
+ Uuid[0]\r
);\r
}\r
\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- SD_DEVICE_PATH *Sd;\r
+ SD_DEVICE_PATH *Sd;\r
\r
Sd = DevPath;\r
UefiDevicePathLibCatPrint (\r
);\r
}\r
\r
+/**\r
+ Converts a EMMC (Embedded MMC) device path structure to its string representative.\r
+\r
+ @param Str The string representative of input device.\r
+ @param DevPath The input device path structure.\r
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation\r
+ of the display node is used, where applicable. If DisplayOnly\r
+ is FALSE, then the longer text representation of the display node\r
+ is used.\r
+ @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text\r
+ representation for a device node can be used, where applicable.\r
+\r
+**/\r
+VOID\r
+DevPathToTextEmmc (\r
+ IN OUT POOL_PRINT *Str,\r
+ IN VOID *DevPath,\r
+ IN BOOLEAN DisplayOnly,\r
+ IN BOOLEAN AllowShortcuts\r
+ )\r
+{\r
+ EMMC_DEVICE_PATH *Emmc;\r
+\r
+ Emmc = DevPath;\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"eMMC(0x%x)",\r
+ Emmc->SlotNumber\r
+ );\r
+}\r
+\r
/**\r
Converts a 1394 device path structure to its string representative.\r
\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- F1394_DEVICE_PATH *F1394DevPath;\r
+ F1394_DEVICE_PATH *F1394DevPath;\r
\r
F1394DevPath = DevPath;\r
//\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- USB_DEVICE_PATH *Usb;\r
+ USB_DEVICE_PATH *Usb;\r
\r
Usb = DevPath;\r
UefiDevicePathLibCatPrint (Str, L"USB(0x%x,0x%x)", Usb->ParentPortNumber, Usb->InterfaceNumber);\r
\r
UsbWWId = DevPath;\r
\r
- SerialNumberStr = (CHAR16 *) ((UINT8 *) UsbWWId + sizeof (USB_WWID_DEVICE_PATH));\r
- Length = (UINT16) ((DevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) UsbWWId) - sizeof (USB_WWID_DEVICE_PATH)) / sizeof (CHAR16));\r
- if (SerialNumberStr [Length - 1] != 0) {\r
+ SerialNumberStr = (CHAR16 *)((UINT8 *)UsbWWId + sizeof (USB_WWID_DEVICE_PATH));\r
+ Length = (UINT16)((DevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *)UsbWWId) - sizeof (USB_WWID_DEVICE_PATH)) / sizeof (CHAR16));\r
+ if ((Length >= 1) && (SerialNumberStr[Length - 1] != 0)) {\r
//\r
// In case no NULL terminator in SerialNumber, create a new one with NULL terminator\r
//\r
NewStr = AllocateCopyPool ((Length + 1) * sizeof (CHAR16), SerialNumberStr);\r
ASSERT (NewStr != NULL);\r
- NewStr [Length] = 0;\r
+ NewStr[Length] = 0;\r
SerialNumberStr = NewStr;\r
}\r
\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- DEVICE_LOGICAL_UNIT_DEVICE_PATH *LogicalUnit;\r
+ DEVICE_LOGICAL_UNIT_DEVICE_PATH *LogicalUnit;\r
\r
LogicalUnit = DevPath;\r
UefiDevicePathLibCatPrint (Str, L"Unit(0x%x)", LogicalUnit->Lun);\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- USB_CLASS_DEVICE_PATH *UsbClass;\r
- BOOLEAN IsKnownSubClass;\r
-\r
+ USB_CLASS_DEVICE_PATH *UsbClass;\r
+ BOOLEAN IsKnownSubClass;\r
\r
UsbClass = DevPath;\r
\r
IsKnownSubClass = TRUE;\r
switch (UsbClass->DeviceClass) {\r
- case USB_CLASS_AUDIO:\r
- UefiDevicePathLibCatPrint (Str, L"UsbAudio");\r
- break;\r
+ case USB_CLASS_AUDIO:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbAudio");\r
+ break;\r
\r
- case USB_CLASS_CDCCONTROL:\r
- UefiDevicePathLibCatPrint (Str, L"UsbCDCControl");\r
- break;\r
+ case USB_CLASS_CDCCONTROL:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbCDCControl");\r
+ break;\r
\r
- case USB_CLASS_HID:\r
- UefiDevicePathLibCatPrint (Str, L"UsbHID");\r
- break;\r
+ case USB_CLASS_HID:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbHID");\r
+ break;\r
\r
- case USB_CLASS_IMAGE:\r
- UefiDevicePathLibCatPrint (Str, L"UsbImage");\r
- break;\r
+ case USB_CLASS_IMAGE:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbImage");\r
+ break;\r
\r
- case USB_CLASS_PRINTER:\r
- UefiDevicePathLibCatPrint (Str, L"UsbPrinter");\r
- break;\r
+ case USB_CLASS_PRINTER:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbPrinter");\r
+ break;\r
\r
- case USB_CLASS_MASS_STORAGE:\r
- UefiDevicePathLibCatPrint (Str, L"UsbMassStorage");\r
- break;\r
+ case USB_CLASS_MASS_STORAGE:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbMassStorage");\r
+ break;\r
\r
- case USB_CLASS_HUB:\r
- UefiDevicePathLibCatPrint (Str, L"UsbHub");\r
- break;\r
+ case USB_CLASS_HUB:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbHub");\r
+ break;\r
\r
- case USB_CLASS_CDCDATA:\r
- UefiDevicePathLibCatPrint (Str, L"UsbCDCData");\r
- break;\r
+ case USB_CLASS_CDCDATA:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbCDCData");\r
+ break;\r
\r
- case USB_CLASS_SMART_CARD:\r
- UefiDevicePathLibCatPrint (Str, L"UsbSmartCard");\r
- break;\r
+ case USB_CLASS_SMART_CARD:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbSmartCard");\r
+ break;\r
\r
- case USB_CLASS_VIDEO:\r
- UefiDevicePathLibCatPrint (Str, L"UsbVideo");\r
- break;\r
+ case USB_CLASS_VIDEO:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbVideo");\r
+ break;\r
\r
- case USB_CLASS_DIAGNOSTIC:\r
- UefiDevicePathLibCatPrint (Str, L"UsbDiagnostic");\r
- break;\r
+ case USB_CLASS_DIAGNOSTIC:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbDiagnostic");\r
+ break;\r
\r
- case USB_CLASS_WIRELESS:\r
- UefiDevicePathLibCatPrint (Str, L"UsbWireless");\r
- break;\r
+ case USB_CLASS_WIRELESS:\r
+ UefiDevicePathLibCatPrint (Str, L"UsbWireless");\r
+ break;\r
\r
- default:\r
- IsKnownSubClass = FALSE;\r
- break;\r
+ default:\r
+ IsKnownSubClass = FALSE;\r
+ break;\r
}\r
\r
if (IsKnownSubClass) {\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- SATA_DEVICE_PATH *Sata;\r
+ SATA_DEVICE_PATH *Sata;\r
\r
Sata = DevPath;\r
UefiDevicePathLibCatPrint (\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- I2O_DEVICE_PATH *I2ODevPath;\r
+ I2O_DEVICE_PATH *I2ODevPath;\r
\r
I2ODevPath = DevPath;\r
UefiDevicePathLibCatPrint (Str, L"I2O(0x%x)", I2ODevPath->Tid);\r
MacDevPath = DevPath;\r
\r
HwAddressSize = sizeof (EFI_MAC_ADDRESS);\r
- if (MacDevPath->IfType == 0x01 || MacDevPath->IfType == 0x00) {\r
+ if ((MacDevPath->IfType == 0x01) || (MacDevPath->IfType == 0x00)) {\r
HwAddressSize = 6;\r
}\r
\r
**/\r
VOID\r
CatIPv4Address (\r
- IN OUT POOL_PRINT *Str,\r
- IN EFI_IPv4_ADDRESS *Address\r
+ IN OUT POOL_PRINT *Str,\r
+ IN EFI_IPv4_ADDRESS *Address\r
)\r
{\r
UefiDevicePathLibCatPrint (Str, L"%d.%d.%d.%d", Address->Addr[0], Address->Addr[1], Address->Addr[2], Address->Addr[3]);\r
**/\r
VOID\r
CatIPv6Address (\r
- IN OUT POOL_PRINT *Str,\r
- IN EFI_IPv6_ADDRESS *Address\r
+ IN OUT POOL_PRINT *Str,\r
+ IN EFI_IPv6_ADDRESS *Address\r
)\r
{\r
UefiDevicePathLibCatPrint (\r
- Str, L"%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x",\r
- Address->Addr[0], Address->Addr[1],\r
- Address->Addr[2], Address->Addr[3],\r
- Address->Addr[4], Address->Addr[5],\r
- Address->Addr[6], Address->Addr[7],\r
- Address->Addr[8], Address->Addr[9],\r
- Address->Addr[10], Address->Addr[11],\r
- Address->Addr[12], Address->Addr[13],\r
- Address->Addr[14], Address->Addr[15]\r
- );\r
+ Str,\r
+ L"%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x",\r
+ Address->Addr[0],\r
+ Address->Addr[1],\r
+ Address->Addr[2],\r
+ Address->Addr[3],\r
+ Address->Addr[4],\r
+ Address->Addr[5],\r
+ Address->Addr[6],\r
+ Address->Addr[7],\r
+ Address->Addr[8],\r
+ Address->Addr[9],\r
+ Address->Addr[10],\r
+ Address->Addr[11],\r
+ Address->Addr[12],\r
+ Address->Addr[13],\r
+ Address->Addr[14],\r
+ Address->Addr[15]\r
+ );\r
}\r
\r
/**\r
\r
if (DisplayOnly) {\r
UefiDevicePathLibCatPrint (Str, L")");\r
- return ;\r
+ return;\r
}\r
\r
UefiDevicePathLibCatPrint (Str, L",");\r
UefiDevicePathLibCatPrint (Str, L",");\r
CatIPv4Address (Str, &IPDevPath->SubnetMask);\r
}\r
+\r
UefiDevicePathLibCatPrint (Str, L")");\r
}\r
\r
CatIPv6Address (Str, &IPDevPath->RemoteIpAddress);\r
if (DisplayOnly) {\r
UefiDevicePathLibCatPrint (Str, L")");\r
- return ;\r
+ return;\r
}\r
- \r
+\r
UefiDevicePathLibCatPrint (Str, L",");\r
CatNetworkProtocol (Str, IPDevPath->Protocol);\r
\r
UefiDevicePathLibCatPrint (Str, L",0x%x,", IPDevPath->PrefixLength);\r
CatIPv6Address (Str, &IPDevPath->GatewayIpAddress);\r
}\r
+\r
UefiDevicePathLibCatPrint (Str, L")");\r
}\r
\r
\r
Uart = DevPath;\r
switch (Uart->Parity) {\r
- case 0:\r
- Parity = 'D';\r
- break;\r
+ case 0:\r
+ Parity = 'D';\r
+ break;\r
\r
- case 1:\r
- Parity = 'N';\r
- break;\r
+ case 1:\r
+ Parity = 'N';\r
+ break;\r
\r
- case 2:\r
- Parity = 'E';\r
- break;\r
+ case 2:\r
+ Parity = 'E';\r
+ break;\r
\r
- case 3:\r
- Parity = 'O';\r
- break;\r
+ case 3:\r
+ Parity = 'O';\r
+ break;\r
\r
- case 4:\r
- Parity = 'M';\r
- break;\r
+ case 4:\r
+ Parity = 'M';\r
+ break;\r
\r
- case 5:\r
- Parity = 'S';\r
- break;\r
+ case 5:\r
+ Parity = 'S';\r
+ break;\r
\r
- default:\r
- Parity = 'x';\r
- break;\r
+ default:\r
+ Parity = 'x';\r
+ break;\r
}\r
\r
if (Uart->BaudRate == 0) {\r
UefiDevicePathLibCatPrint (Str, L"%c,", Parity);\r
\r
switch (Uart->StopBits) {\r
- case 0:\r
- UefiDevicePathLibCatPrint (Str, L"D)");\r
- break;\r
+ case 0:\r
+ UefiDevicePathLibCatPrint (Str, L"D)");\r
+ break;\r
\r
- case 1:\r
- UefiDevicePathLibCatPrint (Str, L"1)");\r
- break;\r
+ case 1:\r
+ UefiDevicePathLibCatPrint (Str, L"1)");\r
+ break;\r
\r
- case 2:\r
- UefiDevicePathLibCatPrint (Str, L"1.5)");\r
- break;\r
+ case 2:\r
+ UefiDevicePathLibCatPrint (Str, L"1.5)");\r
+ break;\r
\r
- case 3:\r
- UefiDevicePathLibCatPrint (Str, L"2)");\r
- break;\r
+ case 3:\r
+ UefiDevicePathLibCatPrint (Str, L"2)");\r
+ break;\r
\r
- default:\r
- UefiDevicePathLibCatPrint (Str, L"x)");\r
- break;\r
+ default:\r
+ UefiDevicePathLibCatPrint (Str, L"x)");\r
+ break;\r
}\r
}\r
\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- ISCSI_DEVICE_PATH_WITH_NAME *ISCSIDevPath;\r
- UINT16 Options;\r
+ ISCSI_DEVICE_PATH_WITH_NAME *ISCSIDevPath;\r
+ UINT16 Options;\r
+ UINTN Index;\r
\r
ISCSIDevPath = DevPath;\r
UefiDevicePathLibCatPrint (\r
Str,\r
- L"iSCSI(%a,0x%x,0x%lx,",\r
+ L"iSCSI(%a,0x%x,0x",\r
ISCSIDevPath->TargetName,\r
- ISCSIDevPath->TargetPortalGroupTag,\r
- ISCSIDevPath->Lun\r
+ ISCSIDevPath->TargetPortalGroupTag\r
);\r
+ for (Index = 0; Index < sizeof (ISCSIDevPath->Lun) / sizeof (UINT8); Index++) {\r
+ UefiDevicePathLibCatPrint (Str, L"%02x", ((UINT8 *)&ISCSIDevPath->Lun)[Index]);\r
+ }\r
\r
Options = ISCSIDevPath->LoginOption;\r
- UefiDevicePathLibCatPrint (Str, L"%s,", (((Options >> 1) & 0x0001) != 0) ? L"CRC32C" : L"None");\r
+ UefiDevicePathLibCatPrint (Str, L",%s,", (((Options >> 1) & 0x0001) != 0) ? L"CRC32C" : L"None");\r
UefiDevicePathLibCatPrint (Str, L"%s,", (((Options >> 3) & 0x0001) != 0) ? L"CRC32C" : L"None");\r
if (((Options >> 11) & 0x0001) != 0) {\r
UefiDevicePathLibCatPrint (Str, L"%s,", L"None");\r
UefiDevicePathLibCatPrint (Str, L"%s,", L"CHAP_UNI");\r
} else {\r
UefiDevicePathLibCatPrint (Str, L"%s,", L"CHAP_BI");\r
-\r
}\r
\r
UefiDevicePathLibCatPrint (Str, L"%s)", (ISCSIDevPath->NetworkProtocol == 0) ? L"TCP" : L"reserved");\r
Bluetooth = DevPath;\r
UefiDevicePathLibCatPrint (\r
Str,\r
- L"Bluetooth(%02x:%02x:%02x:%02x:%02x:%02x)",\r
- Bluetooth->BD_ADDR.Address[5],\r
- Bluetooth->BD_ADDR.Address[4],\r
- Bluetooth->BD_ADDR.Address[3],\r
- Bluetooth->BD_ADDR.Address[2],\r
+ L"Bluetooth(%02x%02x%02x%02x%02x%02x)",\r
+ Bluetooth->BD_ADDR.Address[0],\r
Bluetooth->BD_ADDR.Address[1],\r
- Bluetooth->BD_ADDR.Address[0]\r
+ Bluetooth->BD_ADDR.Address[2],\r
+ Bluetooth->BD_ADDR.Address[3],\r
+ Bluetooth->BD_ADDR.Address[4],\r
+ Bluetooth->BD_ADDR.Address[5]\r
);\r
}\r
\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- WIFI_DEVICE_PATH *WiFi;\r
+ WIFI_DEVICE_PATH *WiFi;\r
+ UINT8 SSId[33];\r
\r
WiFi = DevPath;\r
- UefiDevicePathLibCatPrint (Str, L"WiFi(%a)", WiFi->SSId);\r
+\r
+ SSId[32] = '\0';\r
+ CopyMem (SSId, WiFi->SSId, 32);\r
+\r
+ UefiDevicePathLibCatPrint (Str, L"Wi-Fi(%a)", SSId);\r
+}\r
+\r
+/**\r
+ Converts a Bluetooth device path structure to its string representative.\r
+\r
+ @param Str The string representative of input device.\r
+ @param DevPath The input device path structure.\r
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation\r
+ of the display node is used, where applicable. If DisplayOnly\r
+ is FALSE, then the longer text representation of the display node\r
+ is used.\r
+ @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text\r
+ representation for a device node can be used, where applicable.\r
+\r
+**/\r
+VOID\r
+DevPathToTextBluetoothLE (\r
+ IN OUT POOL_PRINT *Str,\r
+ IN VOID *DevPath,\r
+ IN BOOLEAN DisplayOnly,\r
+ IN BOOLEAN AllowShortcuts\r
+ )\r
+{\r
+ BLUETOOTH_LE_DEVICE_PATH *BluetoothLE;\r
+\r
+ BluetoothLE = DevPath;\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"BluetoothLE(%02x%02x%02x%02x%02x%02x,0x%02x)",\r
+ BluetoothLE->Address.Address[0],\r
+ BluetoothLE->Address.Address[1],\r
+ BluetoothLE->Address.Address[2],\r
+ BluetoothLE->Address.Address[3],\r
+ BluetoothLE->Address.Address[4],\r
+ BluetoothLE->Address.Address[5],\r
+ BluetoothLE->Address.Type\r
+ );\r
+}\r
+\r
+/**\r
+ Converts a DNS device path structure to its string representative.\r
+\r
+ @param Str The string representative of input device.\r
+ @param DevPath The input device path structure.\r
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation\r
+ of the display node is used, where applicable. If DisplayOnly\r
+ is FALSE, then the longer text representation of the display node\r
+ is used.\r
+ @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text\r
+ representation for a device node can be used, where applicable.\r
+\r
+**/\r
+VOID\r
+DevPathToTextDns (\r
+ IN OUT POOL_PRINT *Str,\r
+ IN VOID *DevPath,\r
+ IN BOOLEAN DisplayOnly,\r
+ IN BOOLEAN AllowShortcuts\r
+ )\r
+{\r
+ DNS_DEVICE_PATH *DnsDevPath;\r
+ UINT32 DnsServerIpCount;\r
+ UINT32 DnsServerIpIndex;\r
+\r
+ DnsDevPath = DevPath;\r
+ DnsServerIpCount = (UINT32)(DevicePathNodeLength (DnsDevPath) - sizeof (EFI_DEVICE_PATH_PROTOCOL) - sizeof (DnsDevPath->IsIPv6)) / sizeof (EFI_IP_ADDRESS);\r
+\r
+ UefiDevicePathLibCatPrint (Str, L"Dns(");\r
+\r
+ for (DnsServerIpIndex = 0; DnsServerIpIndex < DnsServerIpCount; DnsServerIpIndex++) {\r
+ if (DnsDevPath->IsIPv6 == 0x00) {\r
+ CatIPv4Address (Str, &(DnsDevPath->DnsServerIp[DnsServerIpIndex].v4));\r
+ } else {\r
+ CatIPv6Address (Str, &(DnsDevPath->DnsServerIp[DnsServerIpIndex].v6));\r
+ }\r
+\r
+ if (DnsServerIpIndex < DnsServerIpCount - 1) {\r
+ UefiDevicePathLibCatPrint (Str, L",");\r
+ }\r
+ }\r
+\r
+ UefiDevicePathLibCatPrint (Str, L")");\r
}\r
\r
/**\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- URI_DEVICE_PATH *Uri;\r
- UINTN UriLength;\r
- CHAR8 *UriStr;\r
+ URI_DEVICE_PATH *Uri;\r
+ UINTN UriLength;\r
+ CHAR8 *UriStr;\r
\r
//\r
// Uri in the device path may not be null terminated.\r
//\r
Uri = DevPath;\r
UriLength = DevicePathNodeLength (Uri) - sizeof (URI_DEVICE_PATH);\r
- UriStr = AllocatePool (UriLength + 1);\r
+ UriStr = AllocatePool (UriLength + 1);\r
ASSERT (UriStr != NULL);\r
\r
CopyMem (UriStr, Uri->Uri, UriLength);\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- HARDDRIVE_DEVICE_PATH *Hd;\r
+ HARDDRIVE_DEVICE_PATH *Hd;\r
\r
Hd = DevPath;\r
switch (Hd->SignatureType) {\r
- case SIGNATURE_TYPE_MBR:\r
- UefiDevicePathLibCatPrint (\r
- Str,\r
- L"HD(%d,%s,0x%08x,",\r
- Hd->PartitionNumber,\r
- L"MBR",\r
- *((UINT32 *) (&(Hd->Signature[0])))\r
- );\r
- break;\r
+ case SIGNATURE_TYPE_MBR:\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"HD(%d,%s,0x%08x,",\r
+ Hd->PartitionNumber,\r
+ L"MBR",\r
+ *((UINT32 *)(&(Hd->Signature[0])))\r
+ );\r
+ break;\r
\r
- case SIGNATURE_TYPE_GUID:\r
- UefiDevicePathLibCatPrint (\r
- Str,\r
- L"HD(%d,%s,%g,",\r
- Hd->PartitionNumber,\r
- L"GPT",\r
- (EFI_GUID *) &(Hd->Signature[0])\r
- );\r
- break;\r
+ case SIGNATURE_TYPE_GUID:\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"HD(%d,%s,%g,",\r
+ Hd->PartitionNumber,\r
+ L"GPT",\r
+ (EFI_GUID *)&(Hd->Signature[0])\r
+ );\r
+ break;\r
\r
- default:\r
- UefiDevicePathLibCatPrint (\r
- Str,\r
- L"HD(%d,%d,0,",\r
- Hd->PartitionNumber,\r
- Hd->SignatureType\r
- );\r
- break;\r
+ default:\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"HD(%d,%d,0,",\r
+ Hd->PartitionNumber,\r
+ Hd->SignatureType\r
+ );\r
+ break;\r
}\r
\r
UefiDevicePathLibCatPrint (Str, L"0x%lx,0x%lx)", Hd->PartitionStart, Hd->PartitionSize);\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- CDROM_DEVICE_PATH *Cd;\r
+ CDROM_DEVICE_PATH *Cd;\r
\r
Cd = DevPath;\r
if (DisplayOnly) {\r
UefiDevicePathLibCatPrint (Str, L"CDROM(0x%x)", Cd->BootEntry);\r
- return ;\r
+ return;\r
}\r
\r
UefiDevicePathLibCatPrint (Str, L"CDROM(0x%x,0x%lx,0x%lx)", Cd->BootEntry, Cd->PartitionStart, Cd->PartitionSize);\r
**/\r
VOID\r
DevPathRelativeOffsetRange (\r
- IN OUT POOL_PRINT *Str,\r
- IN VOID *DevPath,\r
- IN BOOLEAN DisplayOnly,\r
- IN BOOLEAN AllowShortcuts\r
+ IN OUT POOL_PRINT *Str,\r
+ IN VOID *DevPath,\r
+ IN BOOLEAN DisplayOnly,\r
+ IN BOOLEAN AllowShortcuts\r
)\r
{\r
- MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *Offset;\r
+ MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *Offset;\r
\r
Offset = DevPath;\r
UefiDevicePathLibCatPrint (\r
);\r
}\r
\r
+/**\r
+ Converts a Ram Disk device path structure to its string representative.\r
+\r
+ @param Str The string representative of input device.\r
+ @param DevPath The input device path structure.\r
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation\r
+ of the display node is used, where applicable. If DisplayOnly\r
+ is FALSE, then the longer text representation of the display node\r
+ is used.\r
+ @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text\r
+ representation for a device node can be used, where applicable.\r
+\r
+**/\r
+VOID\r
+DevPathToTextRamDisk (\r
+ IN OUT POOL_PRINT *Str,\r
+ IN VOID *DevPath,\r
+ IN BOOLEAN DisplayOnly,\r
+ IN BOOLEAN AllowShortcuts\r
+ )\r
+{\r
+ MEDIA_RAM_DISK_DEVICE_PATH *RamDisk;\r
+\r
+ RamDisk = DevPath;\r
+\r
+ if (CompareGuid (&RamDisk->TypeGuid, &gEfiVirtualDiskGuid)) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"VirtualDisk(0x%lx,0x%lx,%d)",\r
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance\r
+ );\r
+ } else if (CompareGuid (&RamDisk->TypeGuid, &gEfiVirtualCdGuid)) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"VirtualCD(0x%lx,0x%lx,%d)",\r
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance\r
+ );\r
+ } else if (CompareGuid (&RamDisk->TypeGuid, &gEfiPersistentVirtualDiskGuid)) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"PersistentVirtualDisk(0x%lx,0x%lx,%d)",\r
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance\r
+ );\r
+ } else if (CompareGuid (&RamDisk->TypeGuid, &gEfiPersistentVirtualCdGuid)) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"PersistentVirtualCD(0x%lx,0x%lx,%d)",\r
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance\r
+ );\r
+ } else {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"RamDisk(0x%lx,0x%lx,%d,%g)",\r
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance,\r
+ &RamDisk->TypeGuid\r
+ );\r
+ }\r
+}\r
+\r
/**\r
Converts a BIOS Boot Specification device path structure to its string representative.\r
\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- BBS_BBS_DEVICE_PATH *Bbs;\r
- CHAR16 *Type;\r
+ BBS_BBS_DEVICE_PATH *Bbs;\r
+ CHAR16 *Type;\r
\r
Bbs = DevPath;\r
switch (Bbs->DeviceType) {\r
- case BBS_TYPE_FLOPPY:\r
- Type = L"Floppy";\r
- break;\r
+ case BBS_TYPE_FLOPPY:\r
+ Type = L"Floppy";\r
+ break;\r
\r
- case BBS_TYPE_HARDDRIVE:\r
- Type = L"HD";\r
- break;\r
+ case BBS_TYPE_HARDDRIVE:\r
+ Type = L"HD";\r
+ break;\r
\r
- case BBS_TYPE_CDROM:\r
- Type = L"CDROM";\r
- break;\r
+ case BBS_TYPE_CDROM:\r
+ Type = L"CDROM";\r
+ break;\r
\r
- case BBS_TYPE_PCMCIA:\r
- Type = L"PCMCIA";\r
- break;\r
+ case BBS_TYPE_PCMCIA:\r
+ Type = L"PCMCIA";\r
+ break;\r
\r
- case BBS_TYPE_USB:\r
- Type = L"USB";\r
- break;\r
+ case BBS_TYPE_USB:\r
+ Type = L"USB";\r
+ break;\r
\r
- case BBS_TYPE_EMBEDDED_NETWORK:\r
- Type = L"Network";\r
- break;\r
+ case BBS_TYPE_EMBEDDED_NETWORK:\r
+ Type = L"Network";\r
+ break;\r
\r
- default:\r
- Type = NULL;\r
- break;\r
+ default:\r
+ Type = NULL;\r
+ break;\r
}\r
\r
if (Type != NULL) {\r
\r
if (DisplayOnly) {\r
UefiDevicePathLibCatPrint (Str, L")");\r
- return ;\r
+ return;\r
}\r
\r
UefiDevicePathLibCatPrint (Str, L",0x%x)", Bbs->StatusFlag);\r
UefiDevicePathLibCatPrint (Str, L",");\r
}\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_GENERIC_TABLE mUefiDevicePathLibToTextTableGeneric[] = {\r
- {HARDWARE_DEVICE_PATH, L"HardwarePath" },\r
- {ACPI_DEVICE_PATH, L"AcpiPath" },\r
- {MESSAGING_DEVICE_PATH, L"Msg" },\r
- {MEDIA_DEVICE_PATH, L"MediaPath" },\r
- {BBS_DEVICE_PATH, L"BbsPath" },\r
- {0, NULL}\r
+GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_GENERIC_TABLE mUefiDevicePathLibToTextTableGeneric[] = {\r
+ { HARDWARE_DEVICE_PATH, L"HardwarePath" },\r
+ { ACPI_DEVICE_PATH, L"AcpiPath" },\r
+ { MESSAGING_DEVICE_PATH, L"Msg" },\r
+ { MEDIA_DEVICE_PATH, L"MediaPath" },\r
+ { BBS_DEVICE_PATH, L"BbsPath" },\r
+ { 0, NULL }\r
};\r
\r
/**\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- EFI_DEVICE_PATH_PROTOCOL *Node;\r
- UINTN Index;\r
+ EFI_DEVICE_PATH_PROTOCOL *Node;\r
+ UINTN Index;\r
\r
Node = DevPath;\r
\r
Index = sizeof (EFI_DEVICE_PATH_PROTOCOL);\r
if (Index < DevicePathNodeLength (Node)) {\r
UefiDevicePathLibCatPrint (Str, L",");\r
- for (; Index < DevicePathNodeLength (Node); Index++) {\r
- UefiDevicePathLibCatPrint (Str, L"%02x", ((UINT8 *) Node)[Index]);\r
+ for ( ; Index < DevicePathNodeLength (Node); Index++) {\r
+ UefiDevicePathLibCatPrint (Str, L"%02x", ((UINT8 *)Node)[Index]);\r
}\r
}\r
\r
UefiDevicePathLibCatPrint (Str, L")");\r
}\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_TABLE mUefiDevicePathLibToTextTable[] = {\r
- {HARDWARE_DEVICE_PATH, HW_PCI_DP, DevPathToTextPci },\r
- {HARDWARE_DEVICE_PATH, HW_PCCARD_DP, DevPathToTextPccard },\r
- {HARDWARE_DEVICE_PATH, HW_MEMMAP_DP, DevPathToTextMemMap },\r
- {HARDWARE_DEVICE_PATH, HW_VENDOR_DP, DevPathToTextVendor },\r
- {HARDWARE_DEVICE_PATH, HW_CONTROLLER_DP, DevPathToTextController },\r
- {ACPI_DEVICE_PATH, ACPI_DP, DevPathToTextAcpi },\r
- {ACPI_DEVICE_PATH, ACPI_EXTENDED_DP, DevPathToTextAcpiEx },\r
- {ACPI_DEVICE_PATH, ACPI_ADR_DP, DevPathToTextAcpiAdr },\r
- {MESSAGING_DEVICE_PATH, MSG_ATAPI_DP, DevPathToTextAtapi },\r
- {MESSAGING_DEVICE_PATH, MSG_SCSI_DP, DevPathToTextScsi },\r
- {MESSAGING_DEVICE_PATH, MSG_FIBRECHANNEL_DP, DevPathToTextFibre },\r
- {MESSAGING_DEVICE_PATH, MSG_FIBRECHANNELEX_DP, DevPathToTextFibreEx },\r
- {MESSAGING_DEVICE_PATH, MSG_SASEX_DP, DevPathToTextSasEx },\r
- {MESSAGING_DEVICE_PATH, MSG_NVME_NAMESPACE_DP, DevPathToTextNVMe },\r
- {MESSAGING_DEVICE_PATH, MSG_UFS_DP, DevPathToTextUfs },\r
- {MESSAGING_DEVICE_PATH, MSG_SD_DP, DevPathToTextSd },\r
- {MESSAGING_DEVICE_PATH, MSG_1394_DP, DevPathToText1394 },\r
- {MESSAGING_DEVICE_PATH, MSG_USB_DP, DevPathToTextUsb },\r
- {MESSAGING_DEVICE_PATH, MSG_USB_WWID_DP, DevPathToTextUsbWWID },\r
- {MESSAGING_DEVICE_PATH, MSG_DEVICE_LOGICAL_UNIT_DP, DevPathToTextLogicalUnit },\r
- {MESSAGING_DEVICE_PATH, MSG_USB_CLASS_DP, DevPathToTextUsbClass },\r
- {MESSAGING_DEVICE_PATH, MSG_SATA_DP, DevPathToTextSata },\r
- {MESSAGING_DEVICE_PATH, MSG_I2O_DP, DevPathToTextI2O },\r
- {MESSAGING_DEVICE_PATH, MSG_MAC_ADDR_DP, DevPathToTextMacAddr },\r
- {MESSAGING_DEVICE_PATH, MSG_IPv4_DP, DevPathToTextIPv4 },\r
- {MESSAGING_DEVICE_PATH, MSG_IPv6_DP, DevPathToTextIPv6 },\r
- {MESSAGING_DEVICE_PATH, MSG_INFINIBAND_DP, DevPathToTextInfiniBand },\r
- {MESSAGING_DEVICE_PATH, MSG_UART_DP, DevPathToTextUart },\r
- {MESSAGING_DEVICE_PATH, MSG_VENDOR_DP, DevPathToTextVendor },\r
- {MESSAGING_DEVICE_PATH, MSG_ISCSI_DP, DevPathToTextiSCSI },\r
- {MESSAGING_DEVICE_PATH, MSG_VLAN_DP, DevPathToTextVlan },\r
- {MESSAGING_DEVICE_PATH, MSG_URI_DP, DevPathToTextUri },\r
- {MESSAGING_DEVICE_PATH, MSG_BLUETOOTH_DP, DevPathToTextBluetooth },\r
- {MESSAGING_DEVICE_PATH, MSG_WIFI_DP, DevPathToTextWiFi },\r
- {MEDIA_DEVICE_PATH, MEDIA_HARDDRIVE_DP, DevPathToTextHardDrive },\r
- {MEDIA_DEVICE_PATH, MEDIA_CDROM_DP, DevPathToTextCDROM },\r
- {MEDIA_DEVICE_PATH, MEDIA_VENDOR_DP, DevPathToTextVendor },\r
- {MEDIA_DEVICE_PATH, MEDIA_PROTOCOL_DP, DevPathToTextMediaProtocol },\r
- {MEDIA_DEVICE_PATH, MEDIA_FILEPATH_DP, DevPathToTextFilePath },\r
- {MEDIA_DEVICE_PATH, MEDIA_PIWG_FW_VOL_DP, DevPathToTextFv },\r
- {MEDIA_DEVICE_PATH, MEDIA_PIWG_FW_FILE_DP, DevPathToTextFvFile },\r
- {MEDIA_DEVICE_PATH, MEDIA_RELATIVE_OFFSET_RANGE_DP, DevPathRelativeOffsetRange },\r
- {BBS_DEVICE_PATH, BBS_BBS_DP, DevPathToTextBBS },\r
- {END_DEVICE_PATH_TYPE, END_INSTANCE_DEVICE_PATH_SUBTYPE, DevPathToTextEndInstance },\r
- {0, 0, NULL}\r
+GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_TABLE mUefiDevicePathLibToTextTable[] = {\r
+ { HARDWARE_DEVICE_PATH, HW_PCI_DP, DevPathToTextPci },\r
+ { HARDWARE_DEVICE_PATH, HW_PCCARD_DP, DevPathToTextPccard },\r
+ { HARDWARE_DEVICE_PATH, HW_MEMMAP_DP, DevPathToTextMemMap },\r
+ { HARDWARE_DEVICE_PATH, HW_VENDOR_DP, DevPathToTextVendor },\r
+ { HARDWARE_DEVICE_PATH, HW_CONTROLLER_DP, DevPathToTextController },\r
+ { HARDWARE_DEVICE_PATH, HW_BMC_DP, DevPathToTextBmc },\r
+ { ACPI_DEVICE_PATH, ACPI_DP, DevPathToTextAcpi },\r
+ { ACPI_DEVICE_PATH, ACPI_EXTENDED_DP, DevPathToTextAcpiEx },\r
+ { ACPI_DEVICE_PATH, ACPI_ADR_DP, DevPathToTextAcpiAdr },\r
+ { MESSAGING_DEVICE_PATH, MSG_ATAPI_DP, DevPathToTextAtapi },\r
+ { MESSAGING_DEVICE_PATH, MSG_SCSI_DP, DevPathToTextScsi },\r
+ { MESSAGING_DEVICE_PATH, MSG_FIBRECHANNEL_DP, DevPathToTextFibre },\r
+ { MESSAGING_DEVICE_PATH, MSG_FIBRECHANNELEX_DP, DevPathToTextFibreEx },\r
+ { MESSAGING_DEVICE_PATH, MSG_SASEX_DP, DevPathToTextSasEx },\r
+ { MESSAGING_DEVICE_PATH, MSG_NVME_NAMESPACE_DP, DevPathToTextNVMe },\r
+ { MESSAGING_DEVICE_PATH, MSG_UFS_DP, DevPathToTextUfs },\r
+ { MESSAGING_DEVICE_PATH, MSG_SD_DP, DevPathToTextSd },\r
+ { MESSAGING_DEVICE_PATH, MSG_EMMC_DP, DevPathToTextEmmc },\r
+ { MESSAGING_DEVICE_PATH, MSG_1394_DP, DevPathToText1394 },\r
+ { MESSAGING_DEVICE_PATH, MSG_USB_DP, DevPathToTextUsb },\r
+ { MESSAGING_DEVICE_PATH, MSG_USB_WWID_DP, DevPathToTextUsbWWID },\r
+ { MESSAGING_DEVICE_PATH, MSG_DEVICE_LOGICAL_UNIT_DP, DevPathToTextLogicalUnit },\r
+ { MESSAGING_DEVICE_PATH, MSG_USB_CLASS_DP, DevPathToTextUsbClass },\r
+ { MESSAGING_DEVICE_PATH, MSG_SATA_DP, DevPathToTextSata },\r
+ { MESSAGING_DEVICE_PATH, MSG_I2O_DP, DevPathToTextI2O },\r
+ { MESSAGING_DEVICE_PATH, MSG_MAC_ADDR_DP, DevPathToTextMacAddr },\r
+ { MESSAGING_DEVICE_PATH, MSG_IPv4_DP, DevPathToTextIPv4 },\r
+ { MESSAGING_DEVICE_PATH, MSG_IPv6_DP, DevPathToTextIPv6 },\r
+ { MESSAGING_DEVICE_PATH, MSG_INFINIBAND_DP, DevPathToTextInfiniBand },\r
+ { MESSAGING_DEVICE_PATH, MSG_UART_DP, DevPathToTextUart },\r
+ { MESSAGING_DEVICE_PATH, MSG_VENDOR_DP, DevPathToTextVendor },\r
+ { MESSAGING_DEVICE_PATH, MSG_ISCSI_DP, DevPathToTextiSCSI },\r
+ { MESSAGING_DEVICE_PATH, MSG_VLAN_DP, DevPathToTextVlan },\r
+ { MESSAGING_DEVICE_PATH, MSG_DNS_DP, DevPathToTextDns },\r
+ { MESSAGING_DEVICE_PATH, MSG_URI_DP, DevPathToTextUri },\r
+ { MESSAGING_DEVICE_PATH, MSG_BLUETOOTH_DP, DevPathToTextBluetooth },\r
+ { MESSAGING_DEVICE_PATH, MSG_WIFI_DP, DevPathToTextWiFi },\r
+ { MESSAGING_DEVICE_PATH, MSG_BLUETOOTH_LE_DP, DevPathToTextBluetoothLE },\r
+ { MEDIA_DEVICE_PATH, MEDIA_HARDDRIVE_DP, DevPathToTextHardDrive },\r
+ { MEDIA_DEVICE_PATH, MEDIA_CDROM_DP, DevPathToTextCDROM },\r
+ { MEDIA_DEVICE_PATH, MEDIA_VENDOR_DP, DevPathToTextVendor },\r
+ { MEDIA_DEVICE_PATH, MEDIA_PROTOCOL_DP, DevPathToTextMediaProtocol },\r
+ { MEDIA_DEVICE_PATH, MEDIA_FILEPATH_DP, DevPathToTextFilePath },\r
+ { MEDIA_DEVICE_PATH, MEDIA_PIWG_FW_VOL_DP, DevPathToTextFv },\r
+ { MEDIA_DEVICE_PATH, MEDIA_PIWG_FW_FILE_DP, DevPathToTextFvFile },\r
+ { MEDIA_DEVICE_PATH, MEDIA_RELATIVE_OFFSET_RANGE_DP, DevPathRelativeOffsetRange },\r
+ { MEDIA_DEVICE_PATH, MEDIA_RAM_DISK_DP, DevPathToTextRamDisk },\r
+ { BBS_DEVICE_PATH, BBS_BBS_DP, DevPathToTextBBS },\r
+ { END_DEVICE_PATH_TYPE, END_INSTANCE_DEVICE_PATH_SUBTYPE, DevPathToTextEndInstance },\r
+ { 0, 0, NULL }\r
};\r
\r
/**\r
IN BOOLEAN AllowShortcuts\r
)\r
{\r
- POOL_PRINT Str;\r
- UINTN Index;\r
- DEVICE_PATH_TO_TEXT ToText;\r
+ POOL_PRINT Str;\r
+ UINTN Index;\r
+ DEVICE_PATH_TO_TEXT ToText;\r
\r
if (DeviceNode == NULL) {\r
return NULL;\r
//\r
ToText = DevPathToTextNodeGeneric;\r
for (Index = 0; mUefiDevicePathLibToTextTable[Index].Function != NULL; Index++) {\r
- if (DevicePathType (DeviceNode) == mUefiDevicePathLibToTextTable[Index].Type &&\r
- DevicePathSubType (DeviceNode) == mUefiDevicePathLibToTextTable[Index].SubType\r
- ) {\r
+ if ((DevicePathType (DeviceNode) == mUefiDevicePathLibToTextTable[Index].Type) &&\r
+ (DevicePathSubType (DeviceNode) == mUefiDevicePathLibToTextTable[Index].SubType)\r
+ )\r
+ {\r
ToText = mUefiDevicePathLibToTextTable[Index].Function;\r
break;\r
}\r
//\r
// Print this node\r
//\r
- ToText (&Str, (VOID *) DeviceNode, DisplayOnly, AllowShortcuts);\r
+ ToText (&Str, (VOID *)DeviceNode, DisplayOnly, AllowShortcuts);\r
\r
ASSERT (Str.Str != NULL);\r
return Str.Str;\r
CHAR16 *\r
EFIAPI\r
UefiDevicePathLibConvertDevicePathToText (\r
- IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
- IN BOOLEAN DisplayOnly,\r
- IN BOOLEAN AllowShortcuts\r
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
+ IN BOOLEAN DisplayOnly,\r
+ IN BOOLEAN AllowShortcuts\r
)\r
{\r
- POOL_PRINT Str;\r
- EFI_DEVICE_PATH_PROTOCOL *Node;\r
- EFI_DEVICE_PATH_PROTOCOL *AlignedNode;\r
- UINTN Index;\r
- DEVICE_PATH_TO_TEXT ToText;\r
+ POOL_PRINT Str;\r
+ EFI_DEVICE_PATH_PROTOCOL *Node;\r
+ EFI_DEVICE_PATH_PROTOCOL *AlignedNode;\r
+ UINTN Index;\r
+ DEVICE_PATH_TO_TEXT ToText;\r
\r
if (DevicePath == NULL) {\r
return NULL;\r
//\r
// Process each device path node\r
//\r
- Node = (EFI_DEVICE_PATH_PROTOCOL *) DevicePath;\r
+ Node = (EFI_DEVICE_PATH_PROTOCOL *)DevicePath;\r
while (!IsDevicePathEnd (Node)) {\r
//\r
// Find the handler to dump this device path node\r
//\r
ToText = DevPathToTextNodeGeneric;\r
for (Index = 0; mUefiDevicePathLibToTextTable[Index].Function != NULL; Index += 1) {\r
-\r
- if (DevicePathType (Node) == mUefiDevicePathLibToTextTable[Index].Type &&\r
- DevicePathSubType (Node) == mUefiDevicePathLibToTextTable[Index].SubType\r
- ) {\r
+ if ((DevicePathType (Node) == mUefiDevicePathLibToTextTable[Index].Type) &&\r
+ (DevicePathSubType (Node) == mUefiDevicePathLibToTextTable[Index].SubType)\r
+ )\r
+ {\r
ToText = mUefiDevicePathLibToTextTable[Index].Function;\r
break;\r
}\r
}\r
+\r
//\r
// Put a path separator in if needed\r
//\r
UefiDevicePathLibCatPrint (&Str, L"/");\r
}\r
}\r
- \r
+\r
AlignedNode = AllocateCopyPool (DevicePathNodeLength (Node), Node);\r
//\r
// Print this node of the device path\r
//\r
ToText (&Str, AlignedNode, DisplayOnly, AllowShortcuts);\r
FreePool (AlignedNode);\r
- \r
+\r
//\r
// Next device path node\r
//\r