\r
--*/\r
\r
-#include <protocol/DevicePathToText.h>\r
#include "DevicePath.h"\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
UnpackDevicePath (\r
IN EFI_DEVICE_PATH_PROTOCOL *DevPath\r
return NewPath;\r
}\r
\r
+STATIC\r
VOID *\r
ReallocatePool (\r
IN VOID *OldPool,\r
CopyMem (NewPool, OldPool, OldSize < NewSize ? OldSize : NewSize);\r
}\r
\r
- gBS->FreePool (OldPool);\r
+ FreePool (OldPool);\r
}\r
\r
return NewPool;\r
}\r
\r
+STATIC\r
CHAR16 *\r
CatPrint (\r
IN OUT POOL_PRINT *Str,\r
Str->Str = AllocateZeroPool (Size);\r
ASSERT (Str->Str != NULL);\r
} else {\r
- Size = StrSize (AppendStr) + StrSize (Str->Str) - sizeof (UINT16);\r
+ Size = StrSize (AppendStr) - sizeof (UINT16);\r
+ Size = Size + StrSize (Str->Str);\r
Str->Str = ReallocatePool (\r
Str->Str,\r
StrSize (Str->Str),\r
Str->Len = Size - sizeof (UINT16);\r
}\r
\r
- gBS->FreePool (AppendStr);\r
+ FreePool (AppendStr);\r
return Str->Str;\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextPci (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"Pci(%x,%x)", Pci->Function, Pci->Device);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextPccard (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"PcCard(%x)", Pccard->FunctionNumber);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextMemMap (\r
IN OUT POOL_PRINT *Str,\r
);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextVendor (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L")");\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextController (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (\r
Str,\r
L"Ctrl(%x)",\r
- (UINT16 *)Controller->ControllerNumber\r
+ Controller->ControllerNumber\r
);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextAcpi (\r
IN OUT POOL_PRINT *Str,\r
}\r
}\r
\r
-#define NextStrA(a) ((UINT8 *) (((UINT8 *) (a)) + AsciiStrLen (a) + 1))\r
+#define NextStrA(a) ((UINT8 *) (((UINT8 *) (a)) + AsciiStrLen ((CHAR8 *) (a)) + 1))\r
\r
+STATIC\r
VOID\r
DevPathToTextExtAcpi (\r
IN OUT POOL_PRINT *Str,\r
)\r
{\r
ACPI_EXTENDED_HID_DEVICE_PATH_WITH_STR *AcpiExt;\r
+ UINT8 *NextString;\r
\r
AcpiExt = DevPath;\r
\r
if (AllowShortcuts) {\r
+ NextString = NextStrA (AcpiExt->HidUidCidStr);\r
if ((*(AcpiExt->HidUidCidStr) == '\0') &&\r
- (*(NextStrA (NextStrA (AcpiExt->HidUidCidStr))) == '\0') &&\r
+ (*(NextStrA (NextString)) == '\0') &&\r
(AcpiExt->UID == 0)\r
) {\r
if ((AcpiExt->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {\r
return ;\r
}\r
\r
+ NextString = NextStrA (AcpiExt->HidUidCidStr);\r
+ NextString = NextStrA (NextString);\r
if ((AcpiExt->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {\r
CatPrint (\r
Str,\r
AcpiExt->CID,\r
AcpiExt->UID,\r
AcpiExt->HidUidCidStr,\r
- NextStrA (NextStrA (AcpiExt->HidUidCidStr)),\r
+ NextString,\r
NextStrA (AcpiExt->HidUidCidStr)\r
);\r
} else {\r
AcpiExt->CID,\r
AcpiExt->UID,\r
AcpiExt->HidUidCidStr,\r
- NextStrA (NextStrA (AcpiExt->HidUidCidStr)),\r
+ NextString,\r
NextStrA (AcpiExt->HidUidCidStr)\r
);\r
}\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextAtapi (\r
IN OUT POOL_PRINT *Str,\r
}\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextScsi (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"Scsi(%x,%x)", Scsi->Pun, Scsi->Lun);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextFibre (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"Fibre(%lx,%lx)", Fibre->WWN, Fibre->Lun);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToText1394 (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"I1394(%lx)", F1394->Guid);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextUsb (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"USB(%x,%x)", Usb->ParentPortNumber, Usb->InterfaceNumber);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextUsbWWID (\r
IN OUT POOL_PRINT *Str,\r
);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextLogicalUnit (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"Unit(%x)", LogicalUnit->Lun);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextUsbClass (\r
IN OUT POOL_PRINT *Str,\r
);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextI2O (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"I2O(%x)", I2O->Tid);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextMacAddr (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L",%x)", MAC->IfType);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextIPv4 (\r
IN OUT POOL_PRINT *Str,\r
);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextIPv6 (\r
IN OUT POOL_PRINT *Str,\r
);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextInfiniBand (\r
IN OUT POOL_PRINT *Str,\r
);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextUart (\r
IN OUT POOL_PRINT *Str,\r
}\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextiSCSI (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"%s)", (iSCSI->NetworkProtocol == 0) ? L"TCP" : L"reserved");\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextHardDrive (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"%lx,%lx)", Hd->PartitionStart, Hd->PartitionSize);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextCDROM (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"CDROM(%x,%lx,%lx)", Cd->BootEntry, Cd->PartitionStart, Cd->PartitionSize);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextFilePath (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"%s", Fp->PathName);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextMediaProtocol (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"Media(%g)", &MediaProt->Protocol);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextBBS (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L",%x)", Bbs->StatusFlag);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextEndInstance (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L",");\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextNodeUnknown (\r
IN OUT POOL_PRINT *Str,\r
CatPrint (Str, L"?");\r
}\r
\r
-DEVICE_PATH_TO_TEXT_TABLE DevPathToTextTable[] = {\r
- HARDWARE_DEVICE_PATH,\r
- HW_PCI_DP,\r
- DevPathToTextPci,\r
- HARDWARE_DEVICE_PATH,\r
- HW_PCCARD_DP,\r
- DevPathToTextPccard,\r
- HARDWARE_DEVICE_PATH,\r
- HW_MEMMAP_DP,\r
- DevPathToTextMemMap,\r
- HARDWARE_DEVICE_PATH,\r
- HW_VENDOR_DP,\r
- DevPathToTextVendor,\r
- HARDWARE_DEVICE_PATH,\r
- HW_CONTROLLER_DP,\r
- DevPathToTextController,\r
- ACPI_DEVICE_PATH,\r
- ACPI_DP,\r
- DevPathToTextAcpi,\r
- ACPI_DEVICE_PATH,\r
- ACPI_EXTENDED_DP,\r
- DevPathToTextExtAcpi,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_ATAPI_DP,\r
- DevPathToTextAtapi,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_SCSI_DP,\r
- DevPathToTextScsi,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_FIBRECHANNEL_DP,\r
- DevPathToTextFibre,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_1394_DP,\r
- DevPathToText1394,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_USB_DP,\r
- DevPathToTextUsb,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_USB_WWID_DP,\r
- DevPathToTextUsbWWID,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_DEVICE_LOGICAL_UNIT_DP,\r
- DevPathToTextLogicalUnit,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_USB_CLASS_DP,\r
- DevPathToTextUsbClass,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_I2O_DP,\r
- DevPathToTextI2O,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_MAC_ADDR_DP,\r
- DevPathToTextMacAddr,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_IPv4_DP,\r
- DevPathToTextIPv4,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_IPv6_DP,\r
- DevPathToTextIPv6,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_INFINIBAND_DP,\r
- DevPathToTextInfiniBand,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_UART_DP,\r
- DevPathToTextUart,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_VENDOR_DP,\r
- DevPathToTextVendor,\r
- MESSAGING_DEVICE_PATH,\r
- MSG_ISCSI_DP,\r
- DevPathToTextiSCSI,\r
- MEDIA_DEVICE_PATH,\r
- MEDIA_HARDDRIVE_DP,\r
- DevPathToTextHardDrive,\r
- MEDIA_DEVICE_PATH,\r
- MEDIA_CDROM_DP,\r
- DevPathToTextCDROM,\r
- MEDIA_DEVICE_PATH,\r
- MEDIA_VENDOR_DP,\r
- DevPathToTextVendor,\r
- MEDIA_DEVICE_PATH,\r
- MEDIA_FILEPATH_DP,\r
- DevPathToTextFilePath,\r
- MEDIA_DEVICE_PATH,\r
- MEDIA_PROTOCOL_DP,\r
- DevPathToTextMediaProtocol,\r
- MEDIA_DEVICE_PATH,\r
- MEDIA_FILEPATH_DP,\r
- DevPathToTextFilePath,\r
- BBS_DEVICE_PATH,\r
- BBS_BBS_DP,\r
- DevPathToTextBBS,\r
- END_DEVICE_PATH_TYPE,\r
- END_INSTANCE_DEVICE_PATH_SUBTYPE,\r
- DevPathToTextEndInstance,\r
- 0,\r
- 0,\r
- NULL\r
+GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_TABLE DevPathToTextTable[] = {\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, DevPathToTextExtAcpi},\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_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_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
+ {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_FILEPATH_DP, DevPathToTextFilePath},\r
+ {MEDIA_DEVICE_PATH, MEDIA_PROTOCOL_DP, DevPathToTextMediaProtocol},\r
+ {MEDIA_DEVICE_PATH, MEDIA_FILEPATH_DP, DevPathToTextFilePath},\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
CHAR16 *\r
//\r
// Shrink pool used for string allocation\r
//\r
- gBS->FreePool (UnpackDevPath);\r
+ FreePool (UnpackDevPath);\r
\r
NewSize = (Str.Len + 1) * sizeof (CHAR16);\r
Str.Str = ReallocatePool (Str.Str, NewSize, NewSize);\r