UINTN Index;\r
\r
for (Index = 0; Index < 4; Index++) {\r
- IPv4Addr->Addr[Index] = (UINT8) StrDecimalToUintn (SplitStr (Str, L'.'));\r
+ IPv4Addr->Addr[Index] = (UINT8) Strtoi (SplitStr (Str, L'.'));\r
}\r
}\r
\r
**/\r
EFI_DEVICE_PATH_PROTOCOL *\r
DevPathFromTextAta (\r
- IN CHAR16 *TextDeviceNode\r
- )\r
+IN CHAR16 *TextDeviceNode\r
+)\r
{\r
CHAR16 *PrimarySecondaryStr;\r
CHAR16 *SlaveMasterStr;\r
ATAPI_DEVICE_PATH *Atapi;\r
\r
Atapi = (ATAPI_DEVICE_PATH *) CreateDeviceNode (\r
- MESSAGING_DEVICE_PATH,\r
- MSG_ATAPI_DP,\r
- (UINT16) sizeof (ATAPI_DEVICE_PATH)\r
- );\r
-\r
- PrimarySecondaryStr = GetNextParamStr (&TextDeviceNode);\r
- SlaveMasterStr = GetNextParamStr (&TextDeviceNode);\r
- LunStr = GetNextParamStr (&TextDeviceNode);\r
+ MESSAGING_DEVICE_PATH,\r
+ MSG_ATAPI_DP,\r
+ (UINT16) sizeof (ATAPI_DEVICE_PATH)\r
+ );\r
+\r
+ PrimarySecondaryStr = GetNextParamStr (&TextDeviceNode);\r
+ SlaveMasterStr = GetNextParamStr (&TextDeviceNode);\r
+ LunStr = GetNextParamStr (&TextDeviceNode);\r
+\r
+ if (StrCmp (PrimarySecondaryStr, L"Primary") == 0) {\r
+ Atapi->PrimarySecondary = 0;\r
+ } else if (StrCmp (PrimarySecondaryStr, L"Secondary") == 0) {\r
+ Atapi->PrimarySecondary = 1;\r
+ } else {\r
+ Atapi->PrimarySecondary = (UINT8) Strtoi (PrimarySecondaryStr);\r
+ }\r
+ if (StrCmp (SlaveMasterStr, L"Master") == 0) {\r
+ Atapi->SlaveMaster = 0;\r
+ } else if (StrCmp (SlaveMasterStr, L"Slave") == 0) {\r
+ Atapi->SlaveMaster = 1;\r
+ } else {\r
+ Atapi->SlaveMaster = (UINT8) Strtoi (SlaveMasterStr);\r
+ }\r
\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) Strtoi (LunStr);\r
+ Atapi->Lun = (UINT16) Strtoi (LunStr);\r
\r
return (EFI_DEVICE_PATH_PROTOCOL *) Atapi;\r
}\r
(UINT16) sizeof (UART_DEVICE_PATH)\r
);\r
\r
- Uart->BaudRate = (StrCmp (BaudStr, L"DEFAULT") == 0) ? 115200 : StrDecimalToUintn (BaudStr);\r
- Uart->DataBits = (UINT8) ((StrCmp (DataBitsStr, L"DEFAULT") == 0) ? 8 : StrDecimalToUintn (DataBitsStr));\r
+ if (StrCmp (BaudStr, L"DEFAULT") == 0) {\r
+ Uart->BaudRate = 115200;\r
+ } else {\r
+ Strtoi64 (BaudStr, &Uart->BaudRate);\r
+ }\r
+ Uart->DataBits = (UINT8) ((StrCmp (DataBitsStr, L"DEFAULT") == 0) ? 8 : Strtoi (DataBitsStr));\r
switch (*ParityStr) {\r
case L'D':\r
Uart->Parity = 0;\r
break;\r
\r
default:\r
- Uart->Parity = 0xff;\r
+ Uart->Parity = (UINT8) Strtoi (ParityStr);\r
+ break;\r
}\r
\r
if (StrCmp (StopBitsStr, L"D") == 0) {\r
} else if (StrCmp (StopBitsStr, L"2") == 0) {\r
Uart->StopBits = (UINT8) 3;\r
} else {\r
- Uart->StopBits = 0xff;\r
+ Uart->StopBits = (UINT8) Strtoi (StopBitsStr);\r
}\r
\r
return (EFI_DEVICE_PATH_PROTOCOL *) Uart;\r
CHAR16 *InterfaceNumStr;\r
CHAR16 *SerialNumberStr;\r
USB_WWID_DEVICE_PATH *UsbWwid;\r
-\r
- VIDStr = GetNextParamStr (&TextDeviceNode);\r
- PIDStr = GetNextParamStr (&TextDeviceNode);\r
- InterfaceNumStr = GetNextParamStr (&TextDeviceNode);\r
- SerialNumberStr = GetNextParamStr (&TextDeviceNode);\r
- UsbWwid = (USB_WWID_DEVICE_PATH *) CreateDeviceNode (\r
+ UINTN SerialNumberStrLen;\r
+\r
+ VIDStr = GetNextParamStr (&TextDeviceNode);\r
+ PIDStr = GetNextParamStr (&TextDeviceNode);\r
+ InterfaceNumStr = GetNextParamStr (&TextDeviceNode);\r
+ SerialNumberStr = GetNextParamStr (&TextDeviceNode);\r
+ SerialNumberStrLen = StrLen (SerialNumberStr);\r
+ if (SerialNumberStrLen >= 2 &&\r
+ SerialNumberStr[0] == L'\"' &&\r
+ SerialNumberStr[SerialNumberStrLen - 1] == L'\"'\r
+ ) {\r
+ SerialNumberStr[SerialNumberStrLen - 1] = L'\0';\r
+ SerialNumberStr++;\r
+ SerialNumberStrLen -= 2;\r
+ }\r
+ UsbWwid = (USB_WWID_DEVICE_PATH *) CreateDeviceNode (\r
MESSAGING_DEVICE_PATH,\r
MSG_USB_WWID_DP,\r
- (UINT16) (sizeof (USB_WWID_DEVICE_PATH) + StrSize (SerialNumberStr))\r
+ (UINT16) (sizeof (USB_WWID_DEVICE_PATH) + SerialNumberStrLen * sizeof (CHAR16))\r
);\r
-\r
- UsbWwid->VendorId = (UINT16) Strtoi (VIDStr);\r
- UsbWwid->ProductId = (UINT16) Strtoi (PIDStr);\r
- UsbWwid->InterfaceNumber = (UINT16) Strtoi (InterfaceNumStr);\r
- StrCpy ((CHAR16 *) ((UINT8 *) UsbWwid + sizeof (USB_WWID_DEVICE_PATH)), SerialNumberStr);\r
+ UsbWwid->VendorId = (UINT16) Strtoi (VIDStr);\r
+ UsbWwid->ProductId = (UINT16) Strtoi (PIDStr);\r
+ UsbWwid->InterfaceNumber = (UINT16) Strtoi (InterfaceNumStr);\r
+ StrnCpy ((CHAR16 *) ((UINT8 *) UsbWwid + sizeof (USB_WWID_DEVICE_PATH)), SerialNumberStr, SerialNumberStrLen);\r
\r
return (EFI_DEVICE_PATH_PROTOCOL *) UsbWwid;\r
}\r
(UINT16) sizeof (HARDDRIVE_DEVICE_PATH)\r
);\r
\r
- Hd->PartitionNumber = (UINT32) StrDecimalToUintn (PartitionStr);\r
+ Hd->PartitionNumber = (UINT32) Strtoi (PartitionStr);\r
\r
ZeroMem (Hd->Signature, 16);\r
Hd->MBRType = (UINT8) 0;\r
\r
**/\r
EFI_DEVICE_PATH_PROTOCOL *\r
-DevPathFromTextVenMEDIA (\r
+DevPathFromTextVenMedia (\r
IN CHAR16 *TextDeviceNode\r
)\r
{\r
CHAR16 *Param2;\r
CHAR16 *Param3;\r
\r
- //\r
- // The PMPN is optional.\r
- //\r
Param1 = GetNextParamStr (&TextDeviceNode);\r
Param2 = GetNextParamStr (&TextDeviceNode);\r
- Param3 = NULL;\r
- if (!IS_NULL (TextDeviceNode)) {\r
- Param3 = GetNextParamStr (&TextDeviceNode);\r
- }\r
+ Param3 = GetNextParamStr (&TextDeviceNode);\r
\r
Sata = (SATA_DEVICE_PATH *) CreateDeviceNode (\r
MESSAGING_DEVICE_PATH,\r
MSG_SATA_DP,\r
(UINT16) sizeof (SATA_DEVICE_PATH)\r
);\r
- Sata->HBAPortNumber = (UINT16) StrHexToUintn (Param1);\r
- if (Param3 != NULL) {\r
- Sata->PortMultiplierPortNumber = (UINT16) StrHexToUintn (Param2);\r
- Param2 = Param3;\r
- } else {\r
- Sata->PortMultiplierPortNumber = SATA_HBA_DIRECT_CONNECT_FLAG;\r
- }\r
- Sata->Lun = (UINT16) StrHexToUintn (Param2);\r
+ Sata->HBAPortNumber = (UINT16) Strtoi (Param1);\r
+ Sata->PortMultiplierPortNumber = (UINT16) Strtoi (Param2);\r
+ Sata->Lun = (UINT16) Strtoi (Param3);\r
\r
return (EFI_DEVICE_PATH_PROTOCOL *) Sata;\r
}\r
{L"Vlan", DevPathFromTextVlan },\r
{L"HD", DevPathFromTextHD },\r
{L"CDROM", DevPathFromTextCDROM },\r
- {L"VenMEDIA", DevPathFromTextVenMEDIA },\r
+ {L"VenMedia", DevPathFromTextVenMedia },\r
{L"Media", DevPathFromTextMedia },\r
{L"Fv", DevPathFromTextFv },\r
{L"FvFile", DevPathFromTextFvFile },\r