]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c
ShellPkg/Dh: Fix coding style issues
[mirror_edk2.git] / ShellPkg / Library / UefiShellDriver1CommandsLib / Dh.c
index 1b42b23addc3923191cfcdc0663fdc2263bb9f68..2773842722d502c1a997efd8102fd3974e21179a 100644 (file)
@@ -1,7 +1,8 @@
 /** @file\r
   Main file for Dh shell Driver1 function.\r
 \r
-  Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
+  (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.<BR>\r
+  Copyright (c) 2010 - 2017, 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
@@ -52,7 +53,6 @@ STATIC CONST EFI_GUID *UefiDriverModelProtocolsGuidArray[] = {
   @retval EFI_SUCCESS     The name was found.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 GetDriverName (\r
   IN EFI_HANDLE   TheHandle,\r
   IN CONST CHAR8  *Language,\r
@@ -60,7 +60,6 @@ GetDriverName (
   )\r
 {\r
   CHAR8                             *Lang;\r
-  CHAR8                             *TempChar;\r
   EFI_STATUS                        Status;\r
   EFI_COMPONENT_NAME2_PROTOCOL      *CompName2;\r
   CHAR16                            *NameToReturn;\r
@@ -87,23 +86,7 @@ GetDriverName (
   if (EFI_ERROR(Status)) {\r
     return (EFI_NOT_FOUND);\r
   }\r
-  if (Language == NULL) {\r
-    Lang = AllocateZeroPool(AsciiStrSize(CompName2->SupportedLanguages));\r
-    if (Lang == NULL) {\r
-      return (EFI_OUT_OF_RESOURCES);\r
-    }\r
-    AsciiStrCpy(Lang, CompName2->SupportedLanguages);\r
-    TempChar = AsciiStrStr(Lang, ";");\r
-    if (TempChar != NULL){\r
-      *TempChar = CHAR_NULL;\r
-    }\r
-  } else {\r
-    Lang = AllocateZeroPool(AsciiStrSize(Language));\r
-    if (Lang == NULL) {\r
-      return (EFI_OUT_OF_RESOURCES);\r
-    }\r
-    AsciiStrCpy(Lang, Language);\r
-  }\r
+  Lang = GetBestLanguageForDriver (CompName2->SupportedLanguages, Language, FALSE);\r
   Status = CompName2->GetDriverName(CompName2, Lang, &NameToReturn);\r
   FreePool(Lang);\r
 \r
@@ -123,7 +106,6 @@ GetDriverName (
   @retval FALSE     The guid does not represent a driver model protocol.\r
 **/\r
 BOOLEAN\r
-EFIAPI\r
 IsDriverProt (\r
   IN CONST EFI_GUID *Guid\r
   )\r
@@ -148,7 +130,7 @@ IsDriverProt (
 \r
   @param[in] TheHandle        The handles to show info on.\r
   @param[in] Language         Language string per UEFI specification.\r
-  @param[in] Seperator        Separator string between information blocks.\r
+  @param[in] Separator        Separator string between information blocks.\r
   @param[in] Verbose          TRUE for extra info, FALSE otherwise.\r
   @param[in] ExtraInfo        TRUE for extra info, FALSE otherwise.\r
 \r
@@ -156,11 +138,10 @@ IsDriverProt (
   @retval SHELL_INVALID_PARAMETER ProtocolName was NULL or invalid.\r
 **/\r
 CHAR16*\r
-EFIAPI\r
 GetProtocolInfoString(\r
   IN CONST EFI_HANDLE TheHandle,\r
   IN CONST CHAR8      *Language,\r
-  IN CONST CHAR16     *Seperator,\r
+  IN CONST CHAR16     *Separator,\r
   IN CONST BOOLEAN    Verbose,\r
   IN CONST BOOLEAN    ExtraInfo\r
   )\r
@@ -172,6 +153,7 @@ GetProtocolInfoString(
   CHAR16                    *RetVal;\r
   UINTN                     Size;\r
   CHAR16                    *Temp;\r
+  CHAR16                    GuidStr[40];\r
 \r
   ProtocolGuidArray = NULL;\r
   RetVal            = NULL;\r
@@ -185,16 +167,19 @@ GetProtocolInfoString(
   if (!EFI_ERROR (Status)) {\r
     for (ProtocolIndex = 0; ProtocolIndex < ArrayCount; ProtocolIndex++) {\r
       Temp = GetStringNameFromGuid(ProtocolGuidArray[ProtocolIndex], Language);\r
-      if (Temp != NULL) {\r
-        ASSERT((RetVal == NULL && Size == 0) || (RetVal != NULL));\r
-        if (Size != 0) {\r
-          StrnCatGrow(&RetVal, &Size, Seperator, 0);\r
-        }\r
-        StrnCatGrow(&RetVal, &Size, L"%H", 0);\r
+      ASSERT((RetVal == NULL && Size == 0) || (RetVal != NULL));\r
+      if (Size != 0) {\r
+        StrnCatGrow(&RetVal, &Size, Separator, 0);\r
+      }\r
+      StrnCatGrow(&RetVal, &Size, L"%H", 0);\r
+      if (Temp == NULL) {\r
+        UnicodeSPrint (GuidStr, sizeof (GuidStr), L"%g", ProtocolGuidArray[ProtocolIndex]);\r
+        StrnCatGrow (&RetVal, &Size, GuidStr, 0);\r
+      } else {\r
         StrnCatGrow(&RetVal, &Size, Temp, 0);\r
-        StrnCatGrow(&RetVal, &Size, L"%N", 0);\r
         FreePool(Temp);\r
       }\r
+      StrnCatGrow(&RetVal, &Size, L"%N", 0);\r
       if (ExtraInfo) {\r
         Temp = GetProtocolInformationDump(TheHandle, ProtocolGuidArray[ProtocolIndex], Verbose);\r
         if (Temp != NULL) {\r
@@ -204,7 +189,7 @@ GetProtocolInfoString(
             StrnCatGrow(&RetVal, &Size, Temp, 0);\r
             StrnCatGrow(&RetVal, &Size, L")\r\n", 0);\r
           } else {\r
-            StrnCatGrow(&RetVal, &Size, Seperator, 0);\r
+            StrnCatGrow(&RetVal, &Size, Separator, 0);\r
             StrnCatGrow(&RetVal, &Size, Temp, 0);\r
           }\r
           FreePool(Temp);\r
@@ -220,7 +205,7 @@ GetProtocolInfoString(
   }\r
 \r
   ASSERT((RetVal == NULL && Size == 0) || (RetVal != NULL));\r
-  StrnCatGrow(&RetVal, &Size, Seperator, 0);\r
+  StrnCatGrow(&RetVal, &Size, Separator, 0);\r
   return (RetVal);\r
 }\r
 \r
@@ -233,7 +218,6 @@ GetProtocolInfoString(
   @retval EFI_SUCCESS     The operation was successful.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 GetDriverImageName (\r
   IN EFI_HANDLE   TheHandle,\r
   OUT CHAR16      **Name\r
@@ -260,7 +244,7 @@ GetDriverImageName (
     return (Status);\r
   }\r
   DevicePath = LoadedImage->FilePath;\r
-  *Name = gDevPathToText->ConvertDevicePathToText(DevicePath, TRUE, TRUE);\r
+  *Name = ConvertDevicePathToText(DevicePath, TRUE, TRUE);\r
   return (EFI_SUCCESS);\r
 }\r
 \r
@@ -272,7 +256,6 @@ GetDriverImageName (
   @param[in] Language   The language to output in.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 DisplayDriverModelHandle (\r
   IN EFI_HANDLE  Handle,\r
   IN BOOLEAN     BestName,\r
@@ -300,6 +283,8 @@ DisplayDriverModelHandle (
   UINTN                       ChildIndex;\r
   BOOLEAN                     Image;\r
 \r
+  DriverName = NULL;\r
+\r
   //\r
   // See if Handle is a device handle and display its details.\r
   //\r
@@ -354,7 +339,7 @@ DisplayDriverModelHandle (
     ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_DH_OUTPUT_DRIVER1), gShellDriver1HiiHandle, TempStringPointer!=NULL?TempStringPointer:L"<Unknown>");\r
     SHELL_FREE_NON_NULL(TempStringPointer);\r
   \r
-    TempStringPointer = gDevPathToText->ConvertDevicePathToText(DevicePath, TRUE, FALSE);\r
+    TempStringPointer = ConvertDevicePathToText(DevicePath, TRUE, FALSE);\r
     ShellPrintHiiEx(\r
       -1, \r
       -1, \r
@@ -394,11 +379,14 @@ DisplayDriverModelHandle (
                   Language,\r
                   &DriverName\r
                   );\r
-        if (DriverName == NULL) {\r
+        if (EFI_ERROR (Status)) {\r
           Status = GetDriverImageName (\r
                     DriverBindingHandleBuffer[Index],\r
                     &DriverName\r
                     );\r
+          if (EFI_ERROR (Status)) {\r
+            DriverName = NULL;\r
+          }\r
         }\r
 \r
         if (Image) {\r
@@ -537,6 +525,9 @@ DisplayDriverModelHandle (
   }\r
 \r
   Status = GetDriverName (Handle, Language, &DriverName);\r
+  if (EFI_ERROR (Status)) {\r
+    DriverName = NULL;\r
+  }\r
 \r
   ShellPrintHiiEx(\r
     -1, \r
@@ -548,11 +539,13 @@ DisplayDriverModelHandle (
     DriverName!=NULL?DriverName:L"<Unknown>"\r
     );\r
   SHELL_FREE_NON_NULL(DriverName);\r
-  DriverName = NULL;\r
   Status = GetDriverImageName (\r
             Handle,\r
             &DriverName\r
             );\r
+  if (EFI_ERROR (Status)) {\r
+    DriverName = NULL;\r
+  }\r
   ShellPrintHiiEx(\r
     -1, \r
     -1, \r
@@ -649,12 +642,8 @@ DisplayDriverModelHandle (
   @param[in] DriverInfo       TRUE to show all info about the handle.\r
   @param[in] Multiple         TRUE indicates more than  will be output,\r
                               FALSE for a single one.\r
-\r
-  @retval SHELL_SUCCESS           The operation was successful.\r
-  @retval SHELL_INVALID_PARAMETER ProtocolName was NULL or invalid.\r
 **/\r
-SHELL_STATUS\r
-EFIAPI\r
+VOID\r
 DoDhByHandle(\r
   IN CONST EFI_HANDLE TheHandle,\r
   IN CONST BOOLEAN    Verbose,\r
@@ -664,12 +653,8 @@ DoDhByHandle(
   IN CONST BOOLEAN    Multiple\r
   )\r
 {\r
-  CHAR16              *ProtocolInfoString;\r
-  SHELL_STATUS        ShellStatus;\r
-  EFI_STATUS          Status;\r
+  CHAR16 *ProtocolInfoString;\r
 \r
-  Status              = EFI_SUCCESS;\r
-  ShellStatus         = SHELL_SUCCESS;\r
   ProtocolInfoString  = NULL;\r
 \r
   if (!Sfo) {\r
@@ -682,7 +667,8 @@ DoDhByHandle(
         STRING_TOKEN (STR_DH_OUTPUT),\r
         gShellDriver1HiiHandle,\r
         ConvertHandleToHandleIndex(TheHandle),\r
-        ProtocolInfoString==NULL?L"":ProtocolInfoString);\r
+        ProtocolInfoString==NULL?L"":ProtocolInfoString\r
+      );\r
     } else {\r
       ProtocolInfoString = GetProtocolInfoString(TheHandle, Language, L"\r\n", Verbose, TRUE);\r
       ShellPrintHiiEx(\r
@@ -693,7 +679,8 @@ DoDhByHandle(
         gShellDriver1HiiHandle,\r
         ConvertHandleToHandleIndex(TheHandle),\r
         TheHandle,\r
-        ProtocolInfoString==NULL?L"":ProtocolInfoString);\r
+        ProtocolInfoString==NULL?L"":ProtocolInfoString\r
+      );\r
     }\r
 \r
     if (DriverInfo) {\r
@@ -712,16 +699,13 @@ DoDhByHandle(
         L"ControllerName",\r
         ConvertHandleToHandleIndex(TheHandle),\r
         L"DevPath",\r
-        ProtocolInfoString==NULL?L"":ProtocolInfoString);\r
-\r
-\r
+        ProtocolInfoString==NULL?L"":ProtocolInfoString\r
+      );\r
   }\r
 \r
-\r
   if (ProtocolInfoString != NULL) {\r
     FreePool(ProtocolInfoString);\r
   }\r
-  return (ShellStatus);\r
 }\r
 \r
 /**\r
@@ -733,11 +717,10 @@ DoDhByHandle(
   @param[in] Language         Language string per UEFI specification.\r
   @param[in] DriverInfo       TRUE to show all info about the handle.\r
 \r
-  @retval SHELL_SUCCESS           The operation was successful.\r
-  @retval SHELL_INVALID_PARAMETER ProtocolName was NULL or invalid.\r
+  @retval SHELL_SUCCESS       The operation was successful.\r
+  @retval SHELL_ABORTED       The operation was aborted.\r
 **/\r
 SHELL_STATUS\r
-EFIAPI\r
 DoDhForHandleList(\r
   IN CONST EFI_HANDLE *HandleList,\r
   IN CONST BOOLEAN    Verbose,\r
@@ -751,15 +734,12 @@ DoDhForHandleList(
 \r
   ShellStatus       = SHELL_SUCCESS;\r
 \r
-  for (HandleWalker = HandleList ; HandleWalker != NULL && *HandleWalker != NULL && ShellStatus == SHELL_SUCCESS; HandleWalker++) {\r
-    ShellStatus = DoDhByHandle(\r
-          *HandleWalker,\r
-          Verbose,\r
-          Sfo,\r
-          Language,\r
-          DriverInfo,\r
-          TRUE\r
-         );\r
+  for ( HandleWalker = HandleList; HandleWalker != NULL && *HandleWalker != NULL; HandleWalker++ ) {\r
+    DoDhByHandle (*HandleWalker, Verbose, Sfo, Language, DriverInfo, TRUE);\r
+    if (ShellGetExecutionBreakFlag ()) {\r
+      ShellStatus = SHELL_ABORTED;\r
+      break;\r
+    }\r
   }\r
   return (ShellStatus);\r
 }\r
@@ -776,7 +756,6 @@ DoDhForHandleList(
   @retval SHELL_INVALID_PARAMETER ProtocolName was NULL or invalid.\r
 **/\r
 SHELL_STATUS\r
-EFIAPI\r
 DoDhForAll(\r
   IN CONST BOOLEAN  Sfo,\r
   IN CONST BOOLEAN  Verbose,\r
@@ -814,7 +793,6 @@ DoDhForAll(
   @retval SHELL_INVALID_PARAMETER ProtocolName was NULL or invalid.\r
 **/\r
 SHELL_STATUS\r
-EFIAPI\r
 DoDhByProtocol(\r
   IN CONST CHAR16   *ProtocolName,\r
   IN CONST BOOLEAN  Verbose,\r
@@ -871,10 +849,10 @@ ShellCommandRunDh (
   SHELL_STATUS        ShellStatus;\r
   CHAR8               *Language;\r
   CONST CHAR16        *Lang;\r
-  CONST CHAR16        *Temp2;\r
-  BOOLEAN             SfoMode;\r
-  BOOLEAN             FlagD;\r
-  BOOLEAN             Verbose;\r
+  CONST CHAR16        *RawValue;\r
+  BOOLEAN             SfoFlag;\r
+  BOOLEAN             DriverFlag;\r
+  BOOLEAN             VerboseFlag;\r
   UINT64              Intermediate;\r
 \r
   ShellStatus         = SHELL_SUCCESS;\r
@@ -896,7 +874,7 @@ ShellCommandRunDh (
   Status = ShellCommandLineParse (ParamList, &Package, &ProblemParam, TRUE);\r
   if (EFI_ERROR(Status)) {\r
     if (Status == EFI_VOLUME_CORRUPTED && ProblemParam != NULL) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDriver1HiiHandle, ProblemParam);\r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDriver1HiiHandle, L"dh", ProblemParam);  \r
       FreePool(ProblemParam);\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
     } else {\r
@@ -904,35 +882,37 @@ ShellCommandRunDh (
     }\r
   } else {\r
     if (ShellCommandLineGetCount(Package) > 2) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDriver1HiiHandle);\r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDriver1HiiHandle, L"dh");  \r
       ShellCommandLineFreeVarList (Package);\r
       return (SHELL_INVALID_PARAMETER);\r
     }\r
 \r
-    Lang = ShellCommandLineGetValue(Package, L"-l");\r
-    if (Lang != NULL) {\r
-      Language = AllocateZeroPool(StrSize(Lang));\r
-      AsciiSPrint(Language, StrSize(Lang), "%S", Lang);\r
-    } else if (!ShellCommandLineGetFlag(Package, L"-l")){\r
+    if (ShellCommandLineGetFlag(Package, L"-l")) {\r
+      Lang = ShellCommandLineGetValue(Package, L"-l");\r
+      if (Lang != NULL) {\r
+        Language = AllocateZeroPool(StrSize(Lang));\r
+        AsciiSPrint(Language, StrSize(Lang), "%S", Lang);\r
+      } else {\r
+        ASSERT(Language == NULL);\r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN(STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"dh", L"-l");\r
+        ShellCommandLineFreeVarList(Package);\r
+        return (SHELL_INVALID_PARAMETER);\r
+      }\r
+    } else {\r
       Language = AllocateZeroPool(10);\r
       AsciiSPrint(Language, 10, "en-us");\r
-    } else {\r
-      ASSERT(Language == NULL);\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"-l");\r
-      ShellCommandLineFreeVarList (Package);\r
-      return (SHELL_INVALID_PARAMETER);\r
     }\r
 \r
-    SfoMode = ShellCommandLineGetFlag(Package, L"-sfo");\r
-    FlagD   = ShellCommandLineGetFlag(Package, L"-d");\r
-    Verbose = (BOOLEAN)(ShellCommandLineGetFlag(Package, L"-v") || ShellCommandLineGetFlag(Package, L"-verbose"));\r
+    SfoFlag     = ShellCommandLineGetFlag (Package, L"-sfo");\r
+    DriverFlag  = ShellCommandLineGetFlag (Package, L"-d");\r
+    VerboseFlag = (BOOLEAN)(ShellCommandLineGetFlag (Package, L"-v") || ShellCommandLineGetFlag (Package, L"-verbose"));\r
 \r
-    if (ShellCommandLineGetFlag(Package, L"-p")) {\r
-      if (ShellCommandLineGetCount(Package) > 1) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDriver1HiiHandle);\r
+    if (ShellCommandLineGetFlag (Package, L"-p")) {\r
+      if (ShellCommandLineGetCount (Package) > 1) {\r
+        ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDriver1HiiHandle, L"dh");\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
       } else if (ShellCommandLineGetValue(Package, L"-p") == NULL) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"-p");\r
+        ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_VALUE), gShellDriver1HiiHandle, L"dh",  L"-p");\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
       } else {\r
         //\r
@@ -940,41 +920,41 @@ ShellCommandRunDh (
         //\r
         ShellStatus = DoDhByProtocol(\r
           ShellCommandLineGetValue(Package, L"-p"),\r
-          Verbose,\r
-          SfoMode,\r
-          Lang==NULL?NULL:Language,\r
-          FlagD\r
-         );\r
+          VerboseFlag,\r
+          SfoFlag,\r
+          Language,\r
+          DriverFlag\r
+        );\r
       }\r
     } else {\r
-      Temp2 = ShellCommandLineGetRawValue(Package, 1);\r
-      if (Temp2 == NULL) {\r
+      RawValue = ShellCommandLineGetRawValue(Package, 1);\r
+      if (RawValue == NULL) {\r
         //\r
         // Print everything\r
         //\r
         ShellStatus = DoDhForAll(\r
-          SfoMode,\r
-          Verbose,\r
-          Lang==NULL?NULL:Language,\r
-          FlagD\r
+          SfoFlag,\r
+          VerboseFlag,\r
+          Language,\r
+          DriverFlag\r
          );\r
       } else {\r
-        Status = ShellConvertStringToUint64(Temp2, &Intermediate, TRUE, FALSE);\r
+        Status = ShellConvertStringToUint64(RawValue, &Intermediate, TRUE, FALSE);\r
         if (EFI_ERROR(Status) || ConvertHandleIndexToHandle((UINTN)Intermediate) == NULL) {\r
-          ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, Temp2);\r
+          ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, L"dh", RawValue);\r
           ShellStatus = SHELL_INVALID_PARAMETER;\r
         } else {\r
           //\r
           // print 1 handle\r
           //\r
-          ShellStatus = DoDhByHandle(\r
+          DoDhByHandle(\r
             ConvertHandleIndexToHandle((UINTN)Intermediate),\r
-            Verbose,\r
-            SfoMode,\r
-            Lang==NULL?NULL:Language,\r
-            FlagD,\r
+            VerboseFlag,\r
+            SfoFlag,\r
+            Language,\r
+            DriverFlag,\r
             FALSE\r
-           );\r
+          );\r
         }\r
       }\r
     }\r