\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
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
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
);\r
}\r
\r
+STATIC\r
VOID\r
DevPathToTextAcpi (\r
IN OUT POOL_PRINT *Str,\r
\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