]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c
ShellPkg/dh: Display the protocol instance pointer value for "-v"
[mirror_edk2.git] / ShellPkg / Library / UefiShellDriver1CommandsLib / Dh.c
index 170a868e07baa225ec7577b2deca5e8d0a664be7..7d06163a7b27b1673b758967cdab0acb481d51ce 100644 (file)
@@ -286,6 +286,8 @@ GetProtocolInfoString(
   UINTN                     Size;\r
   CHAR16                    *Temp;\r
   CHAR16                    GuidStr[40];\r
+  VOID                      *instance;\r
+  CHAR16                    InstanceStr[17];\r
 \r
   ProtocolGuidArray = NULL;\r
   RetVal            = NULL;\r
@@ -312,6 +314,17 @@ GetProtocolInfoString(
         FreePool(Temp);\r
       }\r
       StrnCatGrow(&RetVal, &Size, L"%N", 0);\r
+\r
+      if(Verbose) {\r
+        Status = gBS->HandleProtocol (TheHandle, ProtocolGuidArray[ProtocolIndex], &instance);\r
+        if (!EFI_ERROR (Status)) {\r
+          StrnCatGrow (&RetVal, &Size, L"(%H", 0);\r
+          UnicodeSPrint (InstanceStr, sizeof (InstanceStr), L"%x", instance);\r
+          StrnCatGrow (&RetVal, &Size, InstanceStr, 0);\r
+          StrnCatGrow (&RetVal, &Size, L"%N)", 0);\r
+        }\r
+      }\r
+\r
       if (ExtraInfo) {\r
         Temp = GetProtocolInformationDump(TheHandle, ProtocolGuidArray[ProtocolIndex], Verbose);\r
         if (Temp != NULL) {\r
@@ -319,7 +332,7 @@ GetProtocolInfoString(
           if (!Verbose) {\r
             StrnCatGrow(&RetVal, &Size, L"(", 0);\r
             StrnCatGrow(&RetVal, &Size, Temp, 0);\r
-            StrnCatGrow(&RetVal, &Size, L")\r\n", 0);\r
+            StrnCatGrow(&RetVal, &Size, L")", 0);\r
           } else {\r
             StrnCatGrow(&RetVal, &Size, Separator, 0);\r
             StrnCatGrow(&RetVal, &Size, Temp, 0);\r
@@ -705,7 +718,7 @@ DisplayDriverModelHandle (
         -1, \r
         -1, \r
         NULL, \r
-        STRING_TOKEN (STR_DH_OUTPUT_DRIVER6), \r
+        STRING_TOKEN (STR_DH_OUTPUT_DRIVER9),\r
         gShellDriver1HiiHandle, \r
         L"None"\r
         );\r
@@ -714,7 +727,7 @@ DisplayDriverModelHandle (
       -1, \r
       -1, \r
       NULL, \r
-      STRING_TOKEN (STR_DH_OUTPUT_DRIVER6), \r
+      STRING_TOKEN (STR_DH_OUTPUT_DRIVER9),\r
       gShellDriver1HiiHandle, \r
       L""\r
       );\r
@@ -746,7 +759,7 @@ DisplayDriverModelHandle (
             -1, \r
             -1, \r
             NULL, \r
-            STRING_TOKEN (STR_DH_OUTPUT_DRIVER6B),\r
+            STRING_TOKEN (STR_DH_OUTPUT_DRIVER6C),\r
             gShellDriver1HiiHandle,\r
             ConvertHandleToHandleIndex(ChildControllerHandleBuffer[ChildIndex]),\r
             TempStringPointer!=NULL?TempStringPointer:L"<Unknown>"\r
@@ -802,17 +815,29 @@ DoDhByHandle(
         ProtocolInfoString==NULL?L"":ProtocolInfoString\r
       );\r
     } else {\r
-      ProtocolInfoString = GetProtocolInfoString(TheHandle, Language, L"\r\n", Verbose, TRUE);\r
-      ShellPrintHiiEx(\r
-        -1,\r
-        -1,\r
-        NULL,\r
-        STRING_TOKEN (STR_DH_OUTPUT_SINGLE),\r
-        gShellDriver1HiiHandle,\r
-        ConvertHandleToHandleIndex(TheHandle),\r
-        TheHandle,\r
-        ProtocolInfoString==NULL?L"":ProtocolInfoString\r
-      );\r
+      ProtocolInfoString = GetProtocolInfoString(TheHandle, Language, Verbose ? L"\r\n" : L" ", Verbose, TRUE);\r
+      if (Verbose) {\r
+        ShellPrintHiiEx(\r
+          -1,\r
+          -1,\r
+          NULL,\r
+          STRING_TOKEN (STR_DH_OUTPUT_SINGLE),\r
+          gShellDriver1HiiHandle,\r
+          ConvertHandleToHandleIndex(TheHandle),\r
+          TheHandle,\r
+          ProtocolInfoString==NULL?L"":ProtocolInfoString\r
+        );\r
+      } else {\r
+        ShellPrintHiiEx(\r
+          -1,\r
+          -1,\r
+          NULL,\r
+          STRING_TOKEN (STR_DH_OUTPUT_SINGLE_D),\r
+          gShellDriver1HiiHandle,\r
+          ConvertHandleToHandleIndex(TheHandle),\r
+          ProtocolInfoString==NULL?L"":ProtocolInfoString\r
+        );\r
+      }\r
     }\r
 \r
     if (DriverInfo) {\r