]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Library/GenericBdsLib/DevicePath.c
Add back the BdsDeleteBootOption to pass build.
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / GenericBdsLib / DevicePath.c
index bfc668f5b7acb5112dd7b57ba3ea4e49bca4864b..9d46b1cfb0239f677d7b199051a4f23903249022 100644 (file)
@@ -2,8 +2,8 @@
   BDS internal function define the default device path string, it can be\r
   replaced by platform device path.\r
 \r
-Copyright (c) 2004 - 2008, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2004 - 2009, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 http://opensource.org/licenses/bsd-license.php\r
@@ -20,7 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   The caller must free the resulting buffer.\r
 \r
   @param  Str      Tracks the allocated pool, size in use, and amount of pool allocated.\r
-  @param  fmt      The format string\r
+  @param  Fmt      The format string\r
   @param  ...      The data will be printed.\r
 \r
   @return Allocated buffer with the formatted string printed in it.\r
@@ -32,7 +32,7 @@ CHAR16 *
 EFIAPI\r
 CatPrint (\r
   IN OUT POOL_PRINT   *Str,\r
-  IN CHAR16           *fmt,\r
+  IN CHAR16           *Fmt,\r
   ...\r
   )\r
 {\r
@@ -42,36 +42,36 @@ CatPrint (
 \r
   AppendStr = AllocateZeroPool (0x1000);\r
   if (AppendStr == NULL) {\r
-    return Str->str;\r
+    return Str->Str;\r
   }\r
 \r
-  VA_START (Args, fmt);\r
-  UnicodeVSPrint (AppendStr, 0x1000, fmt, Args);\r
+  VA_START (Args, Fmt);\r
+  UnicodeVSPrint (AppendStr, 0x1000, Fmt, Args);\r
   VA_END (Args);\r
-  if (NULL == Str->str) {\r
+  if (NULL == Str->Str) {\r
     StringSize   = StrSize (AppendStr);\r
-    Str->str  = AllocateZeroPool (StringSize);\r
-    ASSERT (Str->str != NULL);\r
+    Str->Str  = AllocateZeroPool (StringSize);\r
+    ASSERT (Str->Str != NULL);\r
   } else {\r
     StringSize = StrSize (AppendStr);\r
-    StringSize += (StrSize (Str->str) - sizeof (UINT16));\r
+    StringSize += (StrSize (Str->Str) - sizeof (UINT16));\r
 \r
-    Str->str = ReallocatePool (\r
-                StrSize (Str->str),\r
+    Str->Str = ReallocatePool (\r
+                StrSize (Str->Str),\r
                 StringSize,\r
-                Str->str\r
+                Str->Str\r
                 );\r
-    ASSERT (Str->str != NULL);\r
+    ASSERT (Str->Str != NULL);\r
   }\r
 \r
-  Str->maxlen = MAX_CHAR * sizeof (UINT16);\r
-  if (StringSize < Str->maxlen) {\r
-    StrCat (Str->str, AppendStr);\r
-    Str->len = StringSize - sizeof (UINT16);\r
+  Str->Maxlen = MAX_CHAR * sizeof (UINT16);\r
+  if (StringSize < Str->Maxlen) {\r
+    StrCat (Str->Str, AppendStr);\r
+    Str->Len = StringSize - sizeof (UINT16);\r
   }\r
 \r
   FreePool (AppendStr);\r
-  return Str->str;\r
+  return Str->Str;\r
 }\r
 \r
 /**\r
@@ -487,8 +487,8 @@ DevPathAtapi (
   CatPrint (\r
     Str,\r
     L"Ata(%s,%s)",\r
-    Atapi->PrimarySecondary ? L"Secondary" : L"Primary",\r
-    Atapi->SlaveMaster ? L"Slave" : L"Master"\r
+    (Atapi->PrimarySecondary != 0)? L"Secondary" : L"Primary",\r
+    (Atapi->SlaveMaster != 0)? L"Slave" : L"Master"\r
     );\r
 }\r
 \r
@@ -679,7 +679,7 @@ DevPathSata (
   SATA_DEVICE_PATH *Sata;\r
 \r
   Sata = DevPath;\r
-  if (Sata->PortMultiplierPortNumber & SATA_HBA_DIRECT_CONNECT_FLAG) {\r
+  if ((Sata->PortMultiplierPortNumber & SATA_HBA_DIRECT_CONNECT_FLAG) != 0) {\r
     CatPrint (\r
       Str,\r
       L"Sata(%x,%x)",\r
@@ -964,7 +964,7 @@ DevPathiSCSI (
   CatPrint (\r
     Str,\r
     L"iSCSI(%a,%x,%lx,",\r
-    IScsi->iSCSITargetName,\r
+    IScsi->TargetName,\r
     (UINTN) IScsi->TargetPortalGroupTag,\r
     IScsi->Lun\r
     );\r
@@ -984,6 +984,28 @@ DevPathiSCSI (
   CatPrint (Str, L"%s)", (IScsi->NetworkProtocol == 0) ? L"TCP" : L"reserved");\r
 }\r
 \r
+/**\r
+  Convert Device Path to a Unicode string for printing.\r
+\r
+  @param Str             The buffer holding the output string.\r
+                         This buffer contains the length of the\r
+                         string and the maixmum length reserved\r
+                         for the string buffer.\r
+  @param DevPath         The device path.\r
+\r
+**/\r
+VOID\r
+DevPathVlan (\r
+  IN OUT POOL_PRINT       *Str,\r
+  IN VOID                 *DevPath\r
+  )\r
+{\r
+  VLAN_DEVICE_PATH  *Vlan;\r
+\r
+  Vlan = DevPath;\r
+  CatPrint (Str, L"Vlan(%d)", (UINTN) Vlan->VlanId);\r
+}\r
+\r
 /**\r
   Convert Device Path to a Unicode string for printing.\r
 \r
@@ -1390,6 +1412,11 @@ DEVICE_PATH_STRING_TABLE  DevPathTable[] = {
     MSG_ISCSI_DP,\r
     DevPathiSCSI\r
   },\r
+  {\r
+    MESSAGING_DEVICE_PATH,\r
+    MSG_VLAN_DP,\r
+    DevPathVlan\r
+  },\r
   {\r
     MEDIA_DEVICE_PATH,\r
     MEDIA_HARDDRIVE_DP,\r
@@ -1503,7 +1530,7 @@ DevicePathToStr (
     // Find the handler to dump this device path node\r
     //\r
     DumpNode = NULL;\r
-    for (Index = 0; DevPathTable[Index].Function; Index += 1) {\r
+    for (Index = 0; DevPathTable[Index].Function != NULL; Index += 1) {\r
 \r
       if (DevicePathType (DevPathNode) == DevPathTable[Index].Type &&\r
           DevicePathSubType (DevPathNode) == DevPathTable[Index].SubType\r
@@ -1521,7 +1548,7 @@ DevicePathToStr (
     //\r
     //  Put a path seperator in if needed\r
     //\r
-    if (Str.len && DumpNode != DevPathEndInstance) {\r
+    if ((Str.Len != 0) && (DumpNode != DevPathEndInstance)) {\r
       CatPrint (&Str, L"/");\r
     }\r
     //\r
@@ -1536,9 +1563,9 @@ DevicePathToStr (
   }\r
 \r
 Done:\r
-  NewSize = (Str.len + 1) * sizeof (CHAR16);\r
-  Str.str = ReallocatePool (NewSize, NewSize, Str.str);\r
-  ASSERT (Str.str != NULL);\r
-  Str.str[Str.len] = 0;\r
-  return Str.str;\r
+  NewSize = (Str.Len + 1) * sizeof (CHAR16);\r
+  Str.Str = ReallocatePool (NewSize, NewSize, Str.Str);\r
+  ASSERT (Str.Str != NULL);\r
+  Str.Str[Str.Len] = 0;\r
+  return Str.Str;\r
 }\r