]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/DevicePathDxe/DevicePathFromText.c
Code scrub for DevicePathDxe driver.
[mirror_edk2.git] / MdeModulePkg / Universal / DevicePathDxe / DevicePathFromText.c
index 75e5cf8a32084ad3ea60ac6f67b938ede26be277..e183abbfe054d3ab51e7fda75f9a17fc052893b2 100644 (file)
@@ -14,54 +14,40 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include "DevicePath.h"\r
 \r
-STATIC\r
-CHAR16 *\r
-StrDuplicate (\r
-  IN CONST CHAR16  *Src\r
-  )\r
-/*++\r
 \r
-  Routine Description:\r
-    Duplicate a string\r
+/**\r
 \r
-  Arguments:\r
-    Src - Source string\r
+  Duplicates a string.\r
 \r
-  Returns:\r
-    Duplicated string\r
+  @param  Src  Source string.\r
 \r
---*/\r
+  @return The duplicated string.\r
+\r
+**/\r
+CHAR16 *\r
+StrDuplicate (\r
+  IN CONST CHAR16  *Src\r
+  )\r
 {\r
-  UINTN   Length;\r
-  CHAR16  *ReturnStr;\r
+  return AllocateCopyPool (StrSize (Src), Src);\r
+}\r
 \r
-  Length = StrLen ((CHAR16 *) Src);\r
+/**\r
 \r
-  ReturnStr = AllocateCopyPool ((Length + 1) * sizeof (CHAR16), (VOID *) Src);\r
+  Get parameter in a pair of parentheses follow the given node name.\r
+  For example, given the "Pci(0,1)" and NodeName "Pci", it returns "0,1".\r
 \r
-  return ReturnStr;\r
-}\r
+  @param  Str      Device Path Text.\r
+  @param  NodeName Name of the node.\r
 \r
-STATIC\r
+  @return Parameter text for the node.\r
+\r
+**/\r
 CHAR16 *\r
 GetParamByNodeName (\r
   IN CHAR16 *Str,\r
   IN CHAR16 *NodeName\r
   )\r
-/*++\r
-\r
-  Routine Description:\r
-    Get parameter in a pair of parentheses follow the given node name.\r
-    For example, given the "Pci(0,1)" and NodeName "Pci", it returns "0,1".\r
-\r
-  Arguments:\r
-    Str      - Device Path Text\r
-    NodeName - Name of the node\r
-\r
-  Returns:\r
-    Parameter text for the node\r
-\r
---*/\r
 {\r
   CHAR16  *ParamStr;\r
   CHAR16  *StrPointer;\r
@@ -113,28 +99,23 @@ GetParamByNodeName (
   return ParamStr;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Gets current sub-string from a string list, before return\r
+  the list header is moved to next sub-string. The sub-string is separated\r
+  by the specified character. For example, the separator is ',', the string\r
+  list is "2,0,3", it returns "2", the remain list move to "0,3"\r
+\r
+  @param  List        A string list separated by the specified separator\r
+  @param  Separator   The separator character\r
+\r
+  @return A pointer to the current sub-string\r
+\r
+**/\r
 CHAR16 *\r
 SplitStr (\r
   IN OUT CHAR16 **List,\r
   IN     CHAR16 Separator\r
   )\r
-/*++\r
-\r
-  Routine Description:\r
-    Get current sub-string from a string list, before return\r
-    the list header is moved to next sub-string. The sub-string is separated\r
-    by the specified character. For example, the separator is ',', the string\r
-    list is "2,0,3", it returns "2", the remain list move to "0,3"\r
-\r
-  Arguments:\r
-    List       - A string list separated by the specified separator\r
-    Separator  - The separator character\r
-\r
-  Returns:\r
-    pointer    - The current sub-string\r
-\r
---*/\r
 {\r
   CHAR16  *Str;\r
   CHAR16  *ReturnStr;\r
@@ -172,7 +153,14 @@ SplitStr (
   return ReturnStr;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Gets the next parameter string from the list.\r
+\r
+  @param List            A string list separated by the specified separator\r
+\r
+  @return A pointer to the current sub-string\r
+\r
+**/\r
 CHAR16 *\r
 GetNextParamStr (\r
   IN OUT CHAR16 **List\r
@@ -184,26 +172,20 @@ GetNextParamStr (
   return SplitStr (List, L',');\r
 }\r
 \r
-STATIC\r
+/**\r
+  Get one device node from entire device path text.\r
+\r
+  @param DevicePath      On input, the current Device Path node; on output, the next device path node\r
+  @param IsInstanceEnd   This node is the end of a device path instance\r
+\r
+  @return A device node text or NULL if no more device node available\r
+\r
+**/\r
 CHAR16 *\r
 GetNextDeviceNodeStr (\r
   IN OUT CHAR16   **DevicePath,\r
   OUT    BOOLEAN  *IsInstanceEnd\r
   )\r
-/*++\r
-\r
-  Routine Description:\r
-    Get one device node from entire device path text.\r
-\r
-  Arguments:\r
-    Str           - The entire device path text string\r
-    IsInstanceEnd - This node is the end of a device path instance\r
-\r
-  Returns:\r
-    a pointer     - A device node text\r
-    NULL          - No more device node available\r
-\r
---*/\r
 {\r
   CHAR16  *Str;\r
   CHAR16  *ReturnStr;\r
@@ -272,43 +254,39 @@ GetNextDeviceNodeStr (
 }\r
 \r
 \r
-STATIC\r
+/**\r
+  Skip the leading white space and '0x' or '0X' of a integer string\r
+\r
+  @param Str             The integer string\r
+  @param IsHex           TRUE: Hex string, FALSE: Decimal string\r
+\r
+  @return The trimmed Hex string.\r
+\r
+**/\r
 CHAR16 *\r
 TrimHexStr (\r
   IN CHAR16   *Str,\r
   OUT BOOLEAN *IsHex\r
   )\r
-/*++\r
-\r
-  Routine Description:\r
-    Skip the leading white space and '0x' or '0X' of a integer string\r
-\r
-  Arguments:\r
-    Str   -  The integer string\r
-    IsHex -  1: Hex string,  0: Decimal string\r
-\r
-  Returns:\r
-\r
---*/\r
 {\r
   *IsHex = FALSE;\r
 \r
   //\r
   // skip preceeding white space\r
   //\r
-  while (*Str && *Str == ' ') {\r
+  while ((*Str != 0) && *Str == ' ') {\r
     Str += 1;\r
   }\r
   //\r
   // skip preceeding zeros\r
   //\r
-  while (*Str && *Str == '0') {\r
+  while ((*Str != 0) && *Str == '0') {\r
     Str += 1;\r
   }\r
   //\r
   // skip preceeding character 'x' or 'X'\r
   //\r
-  if (*Str && (*Str == 'x' || *Str == 'X')) {\r
+  if ((*Str != 0) && (*Str == 'x' || *Str == 'X')) {\r
     Str += 1;\r
     *IsHex = TRUE;\r
   }\r
@@ -316,24 +294,19 @@ TrimHexStr (
   return Str;\r
 }\r
 \r
-STATIC\r
-UINTN\r
-Xtoi (\r
-  IN CHAR16  *Str\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
-  Convert hex string to uint\r
+  Convert hex string to uint.\r
 \r
-Arguments:\r
+  @param Str             The hex string\r
 \r
-  Str  -  The string\r
-  \r
-Returns:\r
+  @return A UINTN value represented by Str\r
 \r
---*/\r
+**/\r
+UINTN\r
+Xtoi (\r
+  IN CHAR16  *Str\r
+  )\r
 {\r
   UINTN   Rvalue;\r
   UINTN   Length;\r
@@ -350,25 +323,19 @@ Returns:
   return Rvalue;\r
 }\r
 \r
-STATIC\r
-VOID\r
-Xtoi64 (\r
-  IN CHAR16  *Str,\r
-  IN UINT64  *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
   Convert hex string to 64 bit data.\r
 \r
-Arguments:\r
-\r
-  Str  -  The string\r
-  \r
-Returns:\r
+  @param Str             The hex string\r
+  @param Data            A pointer to the UINT64 value represented by Str\r
 \r
---*/\r
+**/\r
+VOID\r
+Xtoi64 (\r
+  IN  CHAR16  *Str,\r
+  OUT UINT64  *Data\r
+  )\r
 {\r
   UINTN  Length;\r
 \r
@@ -377,46 +344,41 @@ Returns:
   HexStringToBuf ((UINT8 *) Data, &Length, Str, NULL);\r
 }\r
 \r
-STATIC\r
-UINTN\r
-Dtoi (\r
-  IN CHAR16  *str\r
-  )\r
-/*++\r
+/**\r
 \r
-Routine Description:\r
+  Convert decimal string to uint.\r
 \r
-  Convert decimal string to uint\r
+  @param Str             The decimal string\r
 \r
-Arguments:\r
+  @return A UINTN value represented by Str\r
 \r
-  Str  -  The string\r
-  \r
-Returns:\r
-\r
---*/\r
+**/\r
+UINTN\r
+Dtoi (\r
+  IN CHAR16  *Str\r
+  )\r
 {\r
   UINTN   Rvalue;\r
   CHAR16  Char;\r
   UINTN   High;\r
   UINTN   Low;\r
 \r
-  ASSERT (str != NULL);\r
+  ASSERT (Str != NULL);\r
 \r
   High = (UINTN) -1 / 10;\r
   Low  = (UINTN) -1 % 10;\r
   //\r
   // skip preceeding white space\r
   //\r
-  while (*str && *str == ' ') {\r
-    str += 1;\r
+  while ((*Str != 0) && *Str == ' ') {\r
+    Str += 1;\r
   }\r
   //\r
   // convert digits\r
   //\r
   Rvalue = 0;\r
-  Char = *(str++);\r
-  while (Char) {\r
+  Char = *(Str++);\r
+  while (Char != 0) {\r
     if (Char >= '0' && Char <= '9') {\r
       if ((Rvalue > High || Rvalue == High) && (Char - '0' > (INTN) Low)) {\r
         return (UINTN) -1;\r
@@ -427,52 +389,46 @@ Returns:
       break;\r
     }\r
 \r
-    Char = *(str++);\r
+    Char = *(Str++);\r
   }\r
 \r
   return Rvalue;\r
 }\r
 \r
-STATIC\r
+/**\r
+\r
+  Convert decimal string to uint.\r
+\r
+  @param Str             The decimal string\r
+  @param Data            A pointer to the UINT64 value represented by Str\r
+\r
+**/\r
 VOID\r
 Dtoi64 (\r
-  IN CHAR16  *str,\r
+  IN CHAR16  *Str,\r
   OUT UINT64 *Data\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Convert decimal string to uint\r
-\r
-Arguments:\r
-\r
-  Str  -  The string\r
-\r
-Returns:\r
-\r
---*/\r
 {\r
   UINT64   Rvalue;\r
   CHAR16   Char;\r
   UINT64   High;\r
   UINT64   Low;\r
 \r
-  ASSERT (str != NULL);\r
+  ASSERT (Str != NULL);\r
   ASSERT (Data != NULL);\r
 \r
   //\r
   // skip preceeding white space\r
   //\r
-  while (*str && *str == ' ') {\r
-    str += 1;\r
+  while ((*Str != 0) && *Str == ' ') {\r
+    Str += 1;\r
   }\r
   //\r
   // convert digits\r
   //\r
   Rvalue = 0;\r
-  Char = *(str++);\r
-  while (Char) {\r
+  Char = *(Str++);\r
+  while (Char != 0) {\r
     if (Char >= '0' && Char <= '9') {\r
       High = LShiftU64 (Rvalue, 3);\r
       Low = LShiftU64 (Rvalue, 1);\r
@@ -481,30 +437,25 @@ Returns:
       break;\r
     }\r
 \r
-    Char = *(str++);\r
+    Char = *(Str++);\r
   }\r
 \r
   *Data = Rvalue;\r
 }\r
 \r
-STATIC\r
-UINTN\r
-Strtoi (\r
-  IN CHAR16  *Str\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
   Convert integer string to uint.\r
 \r
-Arguments:\r
+  @param Str             The integer string. If leading with "0x" or "0X", it's heximal.\r
 \r
-  Str  -  The integer string. If leading with "0x" or "0X", it's heximal.\r
+  @return A UINTN value represented by Str\r
 \r
-Returns:\r
-\r
---*/\r
+**/\r
+UINTN\r
+Strtoi (\r
+  IN CHAR16  *Str\r
+  )\r
 {\r
   BOOLEAN IsHex;\r
 \r
@@ -517,25 +468,19 @@ Returns:
   }\r
 }\r
 \r
-STATIC\r
-VOID\r
-Strtoi64 (\r
-  IN CHAR16  *Str,\r
-  IN UINT64  *Data\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
   Convert integer string to 64 bit data.\r
 \r
-Arguments:\r
-\r
-  Str  -  The integer string. If leading with "0x" or "0X", it's heximal.\r
-\r
-Returns:\r
+  @param Str             The integer string. If leading with "0x" or "0X", it's heximal.\r
+  @param Data            A pointer to the UINT64 value represented by Str\r
 \r
---*/\r
+**/\r
+VOID\r
+Strtoi64 (\r
+  IN  CHAR16  *Str,\r
+  OUT UINT64  *Data\r
+  )\r
 {\r
   BOOLEAN IsHex;\r
 \r
@@ -548,8 +493,17 @@ Returns:
   }\r
 }\r
 \r
-STATIC\r
-EFI_STATUS \r
+/**\r
+  Converts a list of string to a specified buffer.\r
+\r
+  @param Buf             The output buffer that contains the string.\r
+  @param BufferLength    The length of the buffer\r
+  @param Str             The input string that contains the hex number\r
+\r
+  @retval EFI_SUCCESS    The string was successfully converted to the buffer.\r
+\r
+**/\r
+EFI_STATUS\r
 StrToBuf (\r
   OUT UINT8    *Buf,\r
   IN  UINTN    BufferLength,\r
@@ -590,7 +544,17 @@ StrToBuf (
   return EFI_SUCCESS;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a string to GUID value.\r
+\r
+  @param Str              The registry format GUID string that contains the GUID value.\r
+  @param Guid             A pointer to the converted GUID value.\r
+\r
+  @retval EFI_SUCCESS     The GUID string was successfully converted to the GUID value.\r
+  @retval EFI_UNSUPPORTED The input string is not in registry format.\r
+  @return others          Some error occurred when converting part of GUID value.\r
+\r
+**/\r
 EFI_STATUS\r
 StrToGuid (\r
   IN  CHAR16   *Str,\r
@@ -608,7 +572,7 @@ StrToGuid (
   }\r
   Str += ConvertedStrLen;\r
   if (IS_HYPHEN (*Str)) {\r
-    Str++;   \r
+    Str++;\r
   } else {\r
     return EFI_UNSUPPORTED;\r
   }\r
@@ -653,7 +617,13 @@ StrToGuid (
   return EFI_SUCCESS;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a string to IPv4 address\r
+\r
+  @param Str             A string representation of IPv4 address.\r
+  @param IPv4Addr        A pointer to the converted IPv4 address.\r
+\r
+**/\r
 VOID\r
 StrToIPv4Addr (\r
   IN OUT CHAR16           **Str,\r
@@ -667,7 +637,13 @@ StrToIPv4Addr (
   }\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a string to IPv4 address\r
+\r
+  @param Str             A string representation of IPv6 address.\r
+  @param IPv6Addr        A pointer to the converted IPv6 address.\r
+\r
+**/\r
 VOID\r
 StrToIPv6Addr (\r
   IN OUT CHAR16           **Str,\r
@@ -684,7 +660,14 @@ StrToIPv6Addr (
   }\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a Unicode string to ASCII string.\r
+\r
+  @param Str             The equiventant Unicode string\r
+  @param AsciiStr        On input, it points to destination ASCII string buffer; on output, it points\r
+                         to the next ASCII string next to it\r
+\r
+**/\r
 VOID\r
 StrToAscii (\r
   IN     CHAR16 *Str,\r
@@ -705,7 +688,14 @@ StrToAscii (
   *AsciiStr = Dest + 1;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Hardware PCI device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to Hardware PCI device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextPci (\r
   IN CHAR16 *TextDeviceNode\r
@@ -729,7 +719,14 @@ DevPathFromTextPci (
   return (EFI_DEVICE_PATH_PROTOCOL *) Pci;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Hardware PC card device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to Hardware PC card device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextPcCard (\r
   IN CHAR16 *TextDeviceNode\r
@@ -750,7 +747,14 @@ DevPathFromTextPcCard (
   return (EFI_DEVICE_PATH_PROTOCOL *) Pccard;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Hardware memory map device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to Hardware memory map device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextMemoryMapped (\r
   IN CHAR16 *TextDeviceNode\r
@@ -777,7 +781,17 @@ DevPathFromTextMemoryMapped (
   return (EFI_DEVICE_PATH_PROTOCOL *) MemMap;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Vendor device path structure based on the input Type\r
+  and SubType.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+  @param Type            The type of device path node.\r
+  @param SubType         The subtype of device path node.\r
+\r
+  @return A pointer to the newly-created Vendor device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 ConvertFromTextVendor (\r
   IN CHAR16 *TextDeviceNode,\r
@@ -811,7 +825,14 @@ ConvertFromTextVendor (
   return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Vendor Hardware device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Vendor Hardware device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextVenHw (\r
   IN CHAR16 *TextDeviceNode\r
@@ -824,7 +845,14 @@ DevPathFromTextVenHw (
            );\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Hardware Controller device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Hardware Controller device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextCtrl (\r
   IN CHAR16 *TextDeviceNode\r
@@ -844,7 +872,13 @@ DevPathFromTextCtrl (
   return (EFI_DEVICE_PATH_PROTOCOL *) Controller;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a string to EisaId.\r
+\r
+  @param Text   The input string.\r
+  @param EisaId A pointer to the output EisaId.\r
+\r
+**/\r
 VOID\r
 EisaIdFromText (\r
   IN CHAR16 *Text,\r
@@ -854,12 +888,20 @@ EisaIdFromText (
   UINTN PnpId;\r
 \r
   PnpId = Xtoi (Text + 3);\r
-  *EisaId = (((Text[0] - '@') & 0x1f) << 10) + \r
-            (((Text[1] - '@') & 0x1f) << 5) + \r
+  *EisaId = (((Text[0] - '@') & 0x1f) << 10) +\r
+            (((Text[1] - '@') & 0x1f) << 5) +\r
             ((Text[2] - '@') & 0x1f) +\r
             (UINT32) (PnpId << 16);\r
 }\r
 \r
+/**\r
+  Converts a text device path node to ACPI HID device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created ACPI HID device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextAcpi (\r
   IN CHAR16 *TextDeviceNode\r
@@ -883,7 +925,15 @@ DevPathFromTextAcpi (
   return (EFI_DEVICE_PATH_PROTOCOL *) Acpi;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to ACPI HID device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+  @param PnPId           The input plug and play identification.\r
+\r
+  @return A pointer to the newly-created ACPI HID device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 ConvertFromTextAcpi (\r
   IN CHAR16 *TextDeviceNode,\r
@@ -906,7 +956,14 @@ ConvertFromTextAcpi (
   return (EFI_DEVICE_PATH_PROTOCOL *) Acpi;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to PCI root device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created PCI root device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextPciRoot (\r
   IN CHAR16 *TextDeviceNode\r
@@ -915,7 +972,14 @@ DevPathFromTextPciRoot (
   return ConvertFromTextAcpi (TextDeviceNode, 0x0a03);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Floppy device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Floppy device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextFloppy (\r
   IN CHAR16 *TextDeviceNode\r
@@ -924,7 +988,14 @@ DevPathFromTextFloppy (
   return ConvertFromTextAcpi (TextDeviceNode, 0x0604);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Keyboard device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created  Keyboard device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextKeyboard (\r
   IN CHAR16 *TextDeviceNode\r
@@ -933,7 +1004,14 @@ DevPathFromTextKeyboard (
   return ConvertFromTextAcpi (TextDeviceNode, 0x0301);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Serial device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Serial device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextSerial (\r
   IN CHAR16 *TextDeviceNode\r
@@ -942,7 +1020,14 @@ DevPathFromTextSerial (
   return ConvertFromTextAcpi (TextDeviceNode, 0x0501);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Parallel Port device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Parallel Port device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextParallelPort (\r
   IN CHAR16 *TextDeviceNode\r
@@ -951,7 +1036,14 @@ DevPathFromTextParallelPort (
   return ConvertFromTextAcpi (TextDeviceNode, 0x0401);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to ACPI extention device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created ACPI extention device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextAcpiEx (\r
   IN CHAR16 *TextDeviceNode\r
@@ -995,7 +1087,14 @@ DevPathFromTextAcpiEx (
   return (EFI_DEVICE_PATH_PROTOCOL *) AcpiEx;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to ACPI extention device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created ACPI extention device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextAcpiExp (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1040,7 +1139,14 @@ DevPathFromTextAcpiExp (
   return (EFI_DEVICE_PATH_PROTOCOL *) AcpiEx;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Parallel Port device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Parallel Port device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextAta (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1068,7 +1174,14 @@ DevPathFromTextAta (
   return (EFI_DEVICE_PATH_PROTOCOL *) Atapi;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to SCSI device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created SCSI device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextScsi (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1092,7 +1205,14 @@ DevPathFromTextScsi (
   return (EFI_DEVICE_PATH_PROTOCOL *) Scsi;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Fibre device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Fibre device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextFibre (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1117,29 +1237,43 @@ DevPathFromTextFibre (
   return (EFI_DEVICE_PATH_PROTOCOL *) Fibre;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to 1394 device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created 1394 device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromText1394 (\r
   IN CHAR16 *TextDeviceNode\r
   )\r
 {\r
   CHAR16            *GuidStr;\r
-  F1394_DEVICE_PATH *F1394;\r
+  F1394_DEVICE_PATH *F1394DevPath;\r
 \r
   GuidStr = GetNextParamStr (&TextDeviceNode);\r
-  F1394  = (F1394_DEVICE_PATH *) CreateDeviceNode (\r
-                                   MESSAGING_DEVICE_PATH,\r
-                                   MSG_1394_DP,\r
-                                   sizeof (F1394_DEVICE_PATH)\r
-                                   );\r
+  F1394DevPath  = (F1394_DEVICE_PATH *) CreateDeviceNode (\r
+                                          MESSAGING_DEVICE_PATH,\r
+                                          MSG_1394_DP,\r
+                                          sizeof (F1394_DEVICE_PATH)\r
+                                          );\r
 \r
-  F1394->Reserved = 0;\r
-  Xtoi64 (GuidStr, &F1394->Guid);\r
+  F1394DevPath->Reserved = 0;\r
+  Xtoi64 (GuidStr, &F1394DevPath->Guid);\r
 \r
-  return (EFI_DEVICE_PATH_PROTOCOL *) F1394;\r
+  return (EFI_DEVICE_PATH_PROTOCOL *) F1394DevPath;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsb (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1163,28 +1297,42 @@ DevPathFromTextUsb (
   return (EFI_DEVICE_PATH_PROTOCOL *) Usb;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to I20 device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created I20 device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextI2O (\r
   IN CHAR16 *TextDeviceNode\r
   )\r
 {\r
   CHAR16          *TIDStr;\r
-  I2O_DEVICE_PATH *I2O;\r
+  I2O_DEVICE_PATH *I2ODevPath;\r
 \r
-  TIDStr    = GetNextParamStr (&TextDeviceNode);\r
-  I2O       = (I2O_DEVICE_PATH *) CreateDeviceNode (\r
+  TIDStr     = GetNextParamStr (&TextDeviceNode);\r
+  I2ODevPath = (I2O_DEVICE_PATH *) CreateDeviceNode (\r
                                     MESSAGING_DEVICE_PATH,\r
                                     MSG_I2O_DP,\r
                                     sizeof (I2O_DEVICE_PATH)\r
                                     );\r
 \r
-  I2O->Tid  = (UINT32) Strtoi (TIDStr);\r
+  I2ODevPath->Tid  = (UINT32) Strtoi (TIDStr);\r
 \r
-  return (EFI_DEVICE_PATH_PROTOCOL *) I2O;\r
+  return (EFI_DEVICE_PATH_PROTOCOL *) I2ODevPath;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Infini Band device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Infini Band device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextInfiniband (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1219,7 +1367,14 @@ DevPathFromTextInfiniband (
   return (EFI_DEVICE_PATH_PROTOCOL *) InfiniBand;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Vendor-Defined Messaging device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Vendor-Defined Messaging device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextVenMsg (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1232,7 +1387,14 @@ DevPathFromTextVenMsg (
             );\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Vendor defined PC-ANSI device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Vendor defined PC-ANSI device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextVenPcAnsi (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1249,7 +1411,14 @@ DevPathFromTextVenPcAnsi (
   return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Vendor defined VT100 device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Vendor defined VT100 device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextVenVt100 (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1266,7 +1435,14 @@ DevPathFromTextVenVt100 (
   return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Vendor defined VT100 Plus device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Vendor defined VT100 Plus device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextVenVt100Plus (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1283,7 +1459,14 @@ DevPathFromTextVenVt100Plus (
   return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Vendor defined UTF8 device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Vendor defined UTF8 device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextVenUtf8 (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1300,7 +1483,14 @@ DevPathFromTextVenUtf8 (
   return (EFI_DEVICE_PATH_PROTOCOL *) Vendor;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to UART Flow Control device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created UART Flow Control device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUartFlowCtrl (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1328,7 +1518,14 @@ DevPathFromTextUartFlowCtrl (
   return (EFI_DEVICE_PATH_PROTOCOL *) UartFlowControl;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Serial Attached SCSI device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Serial Attached SCSI device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextSAS (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1391,7 +1588,14 @@ DevPathFromTextSAS (
   return (EFI_DEVICE_PATH_PROTOCOL *) Sas;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Debug Port device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Debug Port device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextDebugPort (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1410,7 +1614,14 @@ DevPathFromTextDebugPort (
   return (EFI_DEVICE_PATH_PROTOCOL *) Vend;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to MAC device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created MAC device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextMAC (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1419,25 +1630,32 @@ DevPathFromTextMAC (
   CHAR16                *AddressStr;\r
   CHAR16                *IfTypeStr;\r
   UINTN                 Length;\r
-  MAC_ADDR_DEVICE_PATH  *MAC;\r
+  MAC_ADDR_DEVICE_PATH  *MACDevPath;\r
 \r
   AddressStr    = GetNextParamStr (&TextDeviceNode);\r
   IfTypeStr     = GetNextParamStr (&TextDeviceNode);\r
-  MAC           = (MAC_ADDR_DEVICE_PATH *) CreateDeviceNode (\r
+  MACDevPath    = (MAC_ADDR_DEVICE_PATH *) CreateDeviceNode (\r
                                               MESSAGING_DEVICE_PATH,\r
                                               MSG_MAC_ADDR_DP,\r
                                               sizeof (MAC_ADDR_DEVICE_PATH)\r
                                               );\r
 \r
-  MAC->IfType   = (UINT8) Strtoi (IfTypeStr);\r
+  MACDevPath->IfType   = (UINT8) Strtoi (IfTypeStr);\r
 \r
   Length = sizeof (EFI_MAC_ADDRESS);\r
-  StrToBuf (&MAC->MacAddress.Addr[0], Length, AddressStr);\r
+  StrToBuf (&MACDevPath->MacAddress.Addr[0], Length, AddressStr);\r
 \r
-  return (EFI_DEVICE_PATH_PROTOCOL *) MAC;\r
+  return (EFI_DEVICE_PATH_PROTOCOL *) MACDevPath;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to IPV4 device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created IPV4 device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextIPv4 (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1475,7 +1693,14 @@ DevPathFromTextIPv4 (
   return (EFI_DEVICE_PATH_PROTOCOL *) IPv4;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to IPV6 device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created IPV6 device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextIPv6 (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1513,7 +1738,14 @@ DevPathFromTextIPv6 (
   return (EFI_DEVICE_PATH_PROTOCOL *) IPv6;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to UART device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created UART device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUart (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1580,7 +1812,15 @@ DevPathFromTextUart (
   return (EFI_DEVICE_PATH_PROTOCOL *) Uart;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB class device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+  @param UsbClassText    A pointer to USB_CLASS_TEXT structure to be integrated to USB Class Text.\r
+\r
+  @return A pointer to the newly-created USB class device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 ConvertFromTextUsbClass (\r
   IN CHAR16         *TextDeviceNode,\r
@@ -1613,7 +1853,7 @@ ConvertFromTextUsbClass (
     UsbClass->DeviceSubClass = (UINT8) Strtoi (SubClassStr);\r
   } else {\r
     UsbClass->DeviceSubClass = UsbClassText->SubClass;\r
-  }  \r
+  }\r
 \r
   ProtocolStr = GetNextParamStr (&TextDeviceNode);\r
 \r
@@ -1625,7 +1865,14 @@ ConvertFromTextUsbClass (
 }\r
 \r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB class device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB class device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbClass (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1639,7 +1886,14 @@ DevPathFromTextUsbClass (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB audio device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB audio device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbAudio (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1654,7 +1908,14 @@ DevPathFromTextUsbAudio (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB CDC Control device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB CDC Control device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbCDCControl (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1669,7 +1930,14 @@ DevPathFromTextUsbCDCControl (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB HID device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB HID device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbHID (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1684,7 +1952,14 @@ DevPathFromTextUsbHID (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB Image device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB Image device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbImage (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1699,7 +1974,14 @@ DevPathFromTextUsbImage (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB Print device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB Print device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbPrinter (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1714,7 +1996,14 @@ DevPathFromTextUsbPrinter (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB mass storage device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB mass storage device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbMassStorage (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1729,7 +2018,14 @@ DevPathFromTextUsbMassStorage (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB HUB device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB HUB device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbHub (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1744,7 +2040,14 @@ DevPathFromTextUsbHub (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB CDC data device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB CDC data device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbCDCData (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1759,7 +2062,14 @@ DevPathFromTextUsbCDCData (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB smart card device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB smart card device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbSmartCard (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1774,7 +2084,14 @@ DevPathFromTextUsbSmartCard (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB video device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB video device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbVideo (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1789,7 +2106,14 @@ DevPathFromTextUsbVideo (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB diagnostic device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB diagnostic device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbDiagnostic (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1804,7 +2128,14 @@ DevPathFromTextUsbDiagnostic (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB wireless device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB wireless device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbWireless (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1819,7 +2150,14 @@ DevPathFromTextUsbWireless (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB device firmware update device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB device firmware update device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbDeviceFirmwareUpdate (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1835,7 +2173,14 @@ DevPathFromTextUsbDeviceFirmwareUpdate (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB IRDA bridge device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB IRDA bridge device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbIrdaBridge (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1851,7 +2196,14 @@ DevPathFromTextUsbIrdaBridge (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB text and measurement device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB text and measurement device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbTestAndMeasurement (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1867,7 +2219,14 @@ DevPathFromTextUsbTestAndMeasurement (
   return ConvertFromTextUsbClass (TextDeviceNode, &UsbClassText);\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to USB WWID device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created USB WWID device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUsbWwid (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1897,7 +2256,14 @@ DevPathFromTextUsbWwid (
   return (EFI_DEVICE_PATH_PROTOCOL *) UsbWwid;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Logic Unit device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Logic Unit device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextUnit (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1918,7 +2284,14 @@ DevPathFromTextUnit (
   return (EFI_DEVICE_PATH_PROTOCOL *) LogicalUnit;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to iSCSI device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created iSCSI device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextiSCSI (\r
   IN CHAR16 *TextDeviceNode\r
@@ -1933,7 +2306,7 @@ DevPathFromTextiSCSI (
   CHAR16                      *AuthenticationStr;\r
   CHAR16                      *ProtocolStr;\r
   CHAR8                       *AsciiStr;\r
-  ISCSI_DEVICE_PATH_WITH_NAME *iSCSI;\r
+  ISCSI_DEVICE_PATH_WITH_NAME *ISCSIDevPath;\r
 \r
   NameStr           = GetNextParamStr (&TextDeviceNode);\r
   PortalGroupStr    = GetNextParamStr (&TextDeviceNode);\r
@@ -1942,17 +2315,17 @@ DevPathFromTextiSCSI (
   DataDigestStr     = GetNextParamStr (&TextDeviceNode);\r
   AuthenticationStr = GetNextParamStr (&TextDeviceNode);\r
   ProtocolStr       = GetNextParamStr (&TextDeviceNode);\r
-  iSCSI             = (ISCSI_DEVICE_PATH_WITH_NAME *) CreateDeviceNode (\r
+  ISCSIDevPath      = (ISCSI_DEVICE_PATH_WITH_NAME *) CreateDeviceNode (\r
                                                         MESSAGING_DEVICE_PATH,\r
                                                         MSG_ISCSI_DP,\r
                                                         (UINT16) (sizeof (ISCSI_DEVICE_PATH_WITH_NAME) + StrLen (NameStr))\r
                                                         );\r
 \r
-  AsciiStr = iSCSI->iSCSITargetName;\r
+  AsciiStr = ISCSIDevPath->iSCSITargetName;\r
   StrToAscii (NameStr, &AsciiStr);\r
 \r
-  iSCSI->TargetPortalGroupTag = (UINT16) Strtoi (PortalGroupStr);\r
-  Strtoi64 (LunStr, &iSCSI->Lun);\r
+  ISCSIDevPath->TargetPortalGroupTag = (UINT16) Strtoi (PortalGroupStr);\r
+  Strtoi64 (LunStr, &ISCSIDevPath->Lun);\r
 \r
   Options = 0x0000;\r
   if (StrCmp (HeaderDigestStr, L"CRC32C") == 0) {\r
@@ -1971,14 +2344,21 @@ DevPathFromTextiSCSI (
     Options |= 0x1000;\r
   }\r
 \r
-  iSCSI->LoginOption      = (UINT16) Options;\r
+  ISCSIDevPath->LoginOption      = (UINT16) Options;\r
 \r
-  iSCSI->NetworkProtocol  = (UINT16) StrCmp (ProtocolStr, L"TCP");\r
+  ISCSIDevPath->NetworkProtocol  = (UINT16) StrCmp (ProtocolStr, L"TCP");\r
 \r
-  return (EFI_DEVICE_PATH_PROTOCOL *) iSCSI;\r
+  return (EFI_DEVICE_PATH_PROTOCOL *) ISCSIDevPath;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to HD device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created HD device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextHD (\r
   IN CHAR16 *TextDeviceNode\r
@@ -2031,7 +2411,14 @@ DevPathFromTextHD (
   return (EFI_DEVICE_PATH_PROTOCOL *) Hd;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to CDROM device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created CDROM device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextCDROM (\r
   IN CHAR16 *TextDeviceNode\r
@@ -2040,25 +2427,32 @@ DevPathFromTextCDROM (
   CHAR16            *EntryStr;\r
   CHAR16            *StartStr;\r
   CHAR16            *SizeStr;\r
-  CDROM_DEVICE_PATH *CDROM;\r
+  CDROM_DEVICE_PATH *CDROMDevPath;\r
 \r
   EntryStr              = GetNextParamStr (&TextDeviceNode);\r
   StartStr              = GetNextParamStr (&TextDeviceNode);\r
   SizeStr               = GetNextParamStr (&TextDeviceNode);\r
-  CDROM                 = (CDROM_DEVICE_PATH *) CreateDeviceNode (\r
+  CDROMDevPath          = (CDROM_DEVICE_PATH *) CreateDeviceNode (\r
                                                   MEDIA_DEVICE_PATH,\r
                                                   MEDIA_CDROM_DP,\r
                                                   sizeof (CDROM_DEVICE_PATH)\r
                                                   );\r
 \r
-  CDROM->BootEntry      = (UINT32) Strtoi (EntryStr);\r
-  Strtoi64 (StartStr, &CDROM->PartitionStart);\r
-  Strtoi64 (SizeStr, &CDROM->PartitionSize);\r
+  CDROMDevPath->BootEntry = (UINT32) Strtoi (EntryStr);\r
+  Strtoi64 (StartStr, &CDROMDevPath->PartitionStart);\r
+  Strtoi64 (SizeStr, &CDROMDevPath->PartitionSize);\r
 \r
-  return (EFI_DEVICE_PATH_PROTOCOL *) CDROM;\r
+  return (EFI_DEVICE_PATH_PROTOCOL *) CDROMDevPath;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Vendor-defined media device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Vendor-defined media device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextVenMEDIA (\r
   IN CHAR16 *TextDeviceNode\r
@@ -2071,7 +2465,14 @@ DevPathFromTextVenMEDIA (
            );\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to File device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created File device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextFilePath (\r
   IN CHAR16 *TextDeviceNode\r
@@ -2090,7 +2491,14 @@ DevPathFromTextFilePath (
   return (EFI_DEVICE_PATH_PROTOCOL *) File;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to Media protocol device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created Media protocol device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextMedia (\r
   IN CHAR16 *TextDeviceNode\r
@@ -2111,7 +2519,14 @@ DevPathFromTextMedia (
   return (EFI_DEVICE_PATH_PROTOCOL *) Media;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to firmware volume device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created firmware volume device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextFv (\r
   IN CHAR16 *TextDeviceNode\r
@@ -2132,7 +2547,14 @@ DevPathFromTextFv (
   return (EFI_DEVICE_PATH_PROTOCOL *) Fv;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to firmware file device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created firmware file device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextFvFile (\r
   IN CHAR16 *TextDeviceNode\r
@@ -2153,7 +2575,14 @@ DevPathFromTextFvFile (
   return (EFI_DEVICE_PATH_PROTOCOL *) FvFile;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to BIOS Boot Specification device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created BIOS Boot Specificationa device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextBBS (\r
   IN CHAR16 *TextDeviceNode\r
@@ -2198,7 +2627,14 @@ DevPathFromTextBBS (
   return (EFI_DEVICE_PATH_PROTOCOL *) Bbs;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Converts a text device path node to SATA device path structure.\r
+\r
+  @param TextDeviceNode  The input Text device path node.\r
+\r
+  @return A pointer to the newly-created SATA device path structure.\r
+\r
+**/\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 DevPathFromTextSata (\r
   IN CHAR16 *TextDeviceNode\r
@@ -2299,27 +2735,24 @@ GLOBAL_REMOVE_IF_UNREFERENCED DEVICE_PATH_FROM_TEXT_TABLE DevPathFromTextTable[]
   {NULL, NULL}\r
 };\r
 \r
-EFI_DEVICE_PATH_PROTOCOL *\r
-ConvertTextToDeviceNode (\r
-  IN CONST CHAR16 *TextDeviceNode\r
-  )\r
-/*++\r
+/**\r
+  Convert text to the binary representation of a device node.\r
 \r
-  Routine Description:\r
-    Convert text to the binary representation of a device node.\r
-\r
-  Arguments:\r
-    TextDeviceNode   -   TextDeviceNode points to the text representation of a device\r
+  @param TextDeviceNode  TextDeviceNode points to the text representation of a device\r
                          node. Conversion starts with the first character and continues\r
                          until the first non-device node character.\r
 \r
-  Returns:\r
-    A pointer        -   Pointer to the EFI device node.\r
-    NULL             -   If TextDeviceNode is NULL or there was insufficient memory or text unsupported.\r
+  @return A pointer to the EFI device node or NULL if TextDeviceNode is NULL or there was\r
+          insufficient memory or text unsupported.\r
 \r
---*/\r
+**/\r
+EFI_DEVICE_PATH_PROTOCOL *\r
+EFIAPI\r
+ConvertTextToDeviceNode (\r
+  IN CONST CHAR16 *TextDeviceNode\r
+  )\r
 {\r
-  EFI_DEVICE_PATH_PROTOCOL * (*DumpNode) (CHAR16 *);\r
+  DUMP_NODE                DumpNode;\r
   CHAR16                   *ParamStr;\r
   EFI_DEVICE_PATH_PROTOCOL *DeviceNode;\r
   CHAR16                   *DeviceNodeStr;\r
@@ -2357,27 +2790,25 @@ ConvertTextToDeviceNode (
   return DeviceNode;\r
 }\r
 \r
-EFI_DEVICE_PATH_PROTOCOL *\r
-ConvertTextToDevicePath (\r
-  IN CONST CHAR16 *TextDevicePath\r
-  )\r
-/*++\r
+/**\r
+  Convert text to the binary representation of a device path.\r
 \r
-  Routine Description:\r
-    Convert text to the binary representation of a device path.\r
 \r
-  Arguments:\r
-    TextDevicePath   -   TextDevicePath points to the text representation of a device\r
+  @param TextDevicePath  TextDevicePath points to the text representation of a device\r
                          path. Conversion starts with the first character and continues\r
                          until the first non-device node character.\r
 \r
-  Returns:\r
-    A pointer        -   Pointer to the allocated device path.\r
-    NULL             -   If TextDeviceNode is NULL or there was insufficient memory.\r
+  @return A pointer to the allocated device path or NULL if TextDeviceNode is NULL or\r
+          there was insufficient memory.\r
 \r
---*/\r
+**/\r
+EFI_DEVICE_PATH_PROTOCOL *\r
+EFIAPI\r
+ConvertTextToDevicePath (\r
+  IN CONST CHAR16 *TextDevicePath\r
+  )\r
 {\r
-  EFI_DEVICE_PATH_PROTOCOL * (*DumpNode) (CHAR16 *);\r
+  DUMP_NODE                DumpNode;\r
   CHAR16                   *ParamStr;\r
   EFI_DEVICE_PATH_PROTOCOL *DeviceNode;\r
   UINTN                    Index;\r
@@ -2426,9 +2857,9 @@ ConvertTextToDevicePath (
     FreePool (DeviceNode);\r
     DevicePath = NewDevicePath;\r
 \r
-    if (IsInstanceEnd) {\r
+    if (IsInstanceEnd != 0) {\r
       DeviceNode = (EFI_DEVICE_PATH_PROTOCOL *) AllocatePool (END_DEVICE_PATH_LENGTH);\r
-      SetDevicePathInstanceEndNode (DeviceNode);\r
+      SET_DEVICE_PATH_INSTANCE_END_NODE (DeviceNode);\r
 \r
       NewDevicePath = AppendDeviceNodeProtocolInterface (DevicePath, DeviceNode);\r
       FreePool (DevicePath);\r