\r
#include "DevicePath.h"\r
\r
+STATIC\r
CHAR16 *\r
StrDuplicate (\r
IN CONST CHAR16 *Src\r
return ReturnStr;\r
}\r
\r
+STATIC\r
CHAR16 *\r
GetParamByNodeName (\r
IN CHAR16 *Str,\r
return ParamStr;\r
}\r
\r
+STATIC\r
CHAR16 *\r
SplitStr (\r
IN OUT CHAR16 **List,\r
return ReturnStr;\r
}\r
\r
+STATIC\r
CHAR16 *\r
GetNextParamStr (\r
IN OUT CHAR16 **List\r
return SplitStr (List, L',');\r
}\r
\r
+STATIC\r
CHAR16 *\r
GetNextDeviceNodeStr (\r
IN OUT CHAR16 **DevicePath,\r
return ReturnStr;\r
}\r
\r
+STATIC\r
BOOLEAN\r
IsHexDigit (\r
OUT UINT8 *Digit,\r
return FALSE;\r
}\r
\r
+STATIC\r
CHAR16\r
NibbleToHexChar (\r
IN UINT8 Nibble\r
return (CHAR16)(Nibble - 0xA + L'A');\r
}\r
\r
+STATIC\r
EFI_STATUS\r
HexStringToBuf (\r
IN OUT UINT8 *Buf, \r
} else {\r
Byte = Buf[Idx / 2];\r
Byte &= 0x0F;\r
- Byte |= Digit << 4;\r
+ Byte = (UINT8) (Byte | Digit << 4);\r
}\r
\r
Buf[Idx / 2] = Byte;\r
return EFI_SUCCESS;\r
}\r
\r
+STATIC\r
EFI_STATUS\r
BufToHexString (\r
IN OUT CHAR16 *Str,\r
return EFI_SUCCESS;\r
}\r
\r
+STATIC\r
CHAR16 *\r
TrimHexStr (\r
IN CHAR16 *Str\r
return Str;\r
}\r
\r
+STATIC\r
UINTN\r
Xtoi (\r
IN CHAR16 *Str\r
return Rvalue;\r
}\r
\r
+STATIC\r
VOID\r
Xtoi64 (\r
IN CHAR16 *Str,\r
HexStringToBuf ((UINT8 *) Data, &Length, TrimHexStr (Str), NULL);\r
}\r
\r
+STATIC\r
UINTN\r
Atoi (\r
IN CHAR16 *str\r
return Rvalue;\r
}\r
\r
+STATIC\r
EFI_STATUS \r
StrToBuf (\r
OUT UINT8 *Buf,\r
// and for even characters, the lower nibble.\r
//\r
if ((Index & 1) == 0) {\r
- Byte = Digit << 4;\r
+ Byte = (UINT8) (Digit << 4);\r
} else {\r
Byte = Buf[Index / 2];\r
Byte &= 0xF0;\r
- Byte |= Digit;\r
+ Byte = (UINT8) (Byte | Digit);\r
}\r
\r
Buf[Index / 2] = Byte;\r
return EFI_SUCCESS;\r
}\r
\r
+STATIC\r
EFI_STATUS\r
StrToGuid (\r
IN CHAR16 *Str,\r
return EFI_SUCCESS;\r
}\r
\r
+STATIC\r
VOID\r
StrToIPv4Addr (\r
IN OUT CHAR16 **Str,\r
}\r
}\r
\r
+STATIC\r
VOID\r
StrToIPv6Addr (\r
IN OUT CHAR16 **Str,\r
}\r
}\r
\r
+STATIC\r
VOID\r
StrToAscii (\r
IN CHAR16 *Str,\r
*AsciiStr = Dest + 1;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextPci (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Pci;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextPcCard (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Pccard;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextMemoryMapped (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) MemMap;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
ConvertFromTextVendor (\r
IN CHAR16 *TextDeviceNode,\r
return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextVenHw (\r
IN CHAR16 *TextDeviceNode\r
);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextCtrl (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Controller;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextAcpi (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Acpi;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
ConvertFromTextAcpi (\r
IN CHAR16 *TextDeviceNode,\r
return (EFI_DEVICE_PATH_PROTOCOL *) Acpi;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextPciRoot (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextAcpi (TextDeviceNode, 0x0a0341d0);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextFloppy (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextAcpi (TextDeviceNode, 0x060441d0);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextKeyboard (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextAcpi (TextDeviceNode, 0x030141d0);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextSerial (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextAcpi (TextDeviceNode, 0x050141d0);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextParallelPort (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextAcpi (TextDeviceNode, 0x040141d0);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextAcpiEx (\r
IN CHAR16 *TextDeviceNode\r
HIDSTRStr = GetNextParamStr (&TextDeviceNode);\r
CIDSTRStr = GetNextParamStr (&TextDeviceNode);\r
UIDSTRStr = GetNextParamStr (&TextDeviceNode);\r
- Length = sizeof (ACPI_EXTENDED_HID_DEVICE_PATH) + \r
- (UINT16) StrLen (HIDSTRStr) + 1 +\r
- (UINT16) StrLen (UIDSTRStr) + 1 +\r
- (UINT16) StrLen (CIDSTRStr) + 1;\r
+\r
+ Length = (UINT16) (sizeof (ACPI_EXTENDED_HID_DEVICE_PATH) + StrLen (HIDSTRStr) + 1);\r
+ Length = (UINT16) (Length + StrLen (UIDSTRStr) + 1);\r
+ Length = (UINT16) (Length + StrLen (CIDSTRStr) + 1);\r
AcpiExt = (ACPI_EXTENDED_HID_DEVICE_PATH_WITH_STR *) CreateDeviceNode (\r
ACPI_DEVICE_PATH,\r
ACPI_EXTENDED_DP,\r
return (EFI_DEVICE_PATH_PROTOCOL *) AcpiExt;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextAcpiExp (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) AcpiExt;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextAta (\r
IN CHAR16 *TextDeviceNode\r
SlaveMasterStr = GetNextParamStr (&TextDeviceNode);\r
LunStr = GetNextParamStr (&TextDeviceNode);\r
\r
- Atapi->PrimarySecondary = (StrCmp (PrimarySecondaryStr, L"Primary") == 0) ? (UINT8) 0 : (UINT8) 1;\r
- Atapi->SlaveMaster = (StrCmp (SlaveMasterStr, L"Master") == 0) ? (UINT8) 0 : (UINT8) 1;\r
+ Atapi->PrimarySecondary = (UINT8) ((StrCmp (PrimarySecondaryStr, L"Primary") == 0) ? 0 : 1);\r
+ Atapi->SlaveMaster = (UINT8) ((StrCmp (SlaveMasterStr, L"Master") == 0) ? 0 : 1);\r
Atapi->Lun = (UINT16) Xtoi (LunStr);\r
\r
return (EFI_DEVICE_PATH_PROTOCOL *) Atapi;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextScsi (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Scsi;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextFibre (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Fibre;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromText1394 (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) F1394;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsb (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Usb;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextI2O (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) I2O;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextInfiniband (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) InfiniBand;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextVenMsg (\r
IN CHAR16 *TextDeviceNode\r
);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextVenPcAnsi (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextVenVt100 (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextVenVt100Plus (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextVenUtf8 (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUartFlowCtrl (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) UartFlowControl;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextSAS (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Sas;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextDebugPort (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Vend;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextMAC (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) MAC;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextIPv4 (\r
IN CHAR16 *TextDeviceNode\r
);\r
\r
StrToIPv4Addr (&RemoteIPStr, &IPv4->RemoteIpAddress);\r
- IPv4->Protocol = (StrCmp (ProtocolStr, L"UDP") == 0) ? (UINT16) 0 : (UINT16) 1;\r
+ IPv4->Protocol = (UINT16) ((StrCmp (ProtocolStr, L"UDP") == 0) ? 0 : 1);\r
if (StrCmp (TypeStr, L"Static") == 0) {\r
IPv4->StaticIpAddress = TRUE;\r
} else {\r
return (EFI_DEVICE_PATH_PROTOCOL *) IPv4;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextIPv6 (\r
IN CHAR16 *TextDeviceNode\r
);\r
\r
StrToIPv6Addr (&RemoteIPStr, &IPv6->RemoteIpAddress);\r
- IPv6->Protocol = (StrCmp (ProtocolStr, L"UDP") == 0) ? (UINT16) 0 : (UINT16) 1;\r
+ IPv6->Protocol = (UINT16) ((StrCmp (ProtocolStr, L"UDP") == 0) ? 0 : 1);\r
if (StrCmp (TypeStr, L"Static") == 0) {\r
IPv6->StaticIpAddress = TRUE;\r
} else {\r
return (EFI_DEVICE_PATH_PROTOCOL *) IPv6;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUart (\r
IN CHAR16 *TextDeviceNode\r
);\r
\r
Uart->BaudRate = (StrCmp (BaudStr, L"DEFAULT") == 0) ? 115200 : Atoi (BaudStr);\r
- Uart->DataBits = (StrCmp (DataBitsStr, L"DEFAULT") == 0) ? (UINT8) 8 : (UINT8) Atoi (DataBitsStr);\r
+ Uart->DataBits = (UINT8) ((StrCmp (DataBitsStr, L"DEFAULT") == 0) ? 8 : Atoi (DataBitsStr));\r
switch (*ParityStr) {\r
case L'D':\r
Uart->Parity = 0;\r
return (EFI_DEVICE_PATH_PROTOCOL *) Uart;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
ConvertFromTextUsbClass (\r
IN CHAR16 *TextDeviceNode,\r
}\r
\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbClass (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbAudio (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbCDCControl (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbHID (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbImage (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbPrinter (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbMassStorage (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbHub (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbCDCData (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbSmartCard (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbVideo (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbDiagnostic (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbWireless (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbDeviceFirmwareUpdate (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbIrdaBridge (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbTestAndMeasurement (\r
IN CHAR16 *TextDeviceNode\r
return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUsbWwid (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) UsbWwid;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextUnit (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) LogicalUnit;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextiSCSI (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) iSCSI;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextHD (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Hd;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextCDROM (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) CDROM;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextVenMEDIA (\r
IN CHAR16 *TextDeviceNode\r
);\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextFilePath (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) File;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextMedia (\r
IN CHAR16 *TextDeviceNode\r
return (EFI_DEVICE_PATH_PROTOCOL *) Media;\r
}\r
\r
+STATIC\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextBBS (\r
IN CHAR16 *TextDeviceNode\r