[edk2-devel] [PATCH 29/35] ShellPkg: stop using EFI_HANDLE in place of EFI_HII_HANDLE

Laszlo Ersek posted 35 patches 6 years, 4 months ago
[edk2-devel] [PATCH 29/35] ShellPkg: stop using EFI_HANDLE in place of EFI_HII_HANDLE
Posted by Laszlo Ersek 6 years, 4 months ago
The UefiShell*CommandsLib instances have constructor functions that do
something like:

  gHiiHandle = HiiAddPackages (...);
  ...
  ShellCommandRegisterCommandName (..., gHiiHandle, ...);

and destructor functions that implement the following pattern:

  HiiRemovePackages (gHiiHandle);

The -- semantic, not functional -- problem is that "gHiiHandle" is
declared with type EFI_HANDLE, and not EFI_HII_HANDLE, in all of these
library instances, even though HiiAddPackages() correctly returns
EFI_HII_HANDLE, and HiiRemovePackages() takes EFI_HII_HANDLE.

Once we fix the type of "gHiiHandle", it causes sort of a butterfly
effect, because it is passed around widely. Track down and update all of
those locations.

The DynamicCommand lib instances use a similar pattern, so they are
affected too.

NOTE: in practice, this patch is a no-op, as both EFI_HII_HANDLE and
EFI_HANDLE are typedefs to (VOID*). However, we shouldn't use EFI_HANDLE
where semantically EFI_HII_HANDLE is passed around.

Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    tested with:
    - level 1: stall, exit
    - level 2: ls
    - level 3: pause
    - dynamic command: tftp
    - handle parsing: drivers, devices, dh

 ShellPkg/Include/Library/ShellCommandLib.h                                   | 2 +-
 ShellPkg/Include/Library/ShellLib.h                                          | 4 ++--
 ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h                                | 4 ++--
 ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h                            | 4 ++--
 ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h                   | 2 +-
 ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h     | 2 +-
 ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h   | 2 +-
 ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h     | 2 +-
 ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h     | 2 +-
 ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h     | 2 +-
 ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h | 2 +-
 ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h | 2 +-
 ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c                                | 6 +++---
 ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c                            | 6 +++---
 ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c                 | 2 +-
 ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c           | 2 +-
 ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c                   | 2 +-
 ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c     | 2 +-
 ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c   | 2 +-
 ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c     | 2 +-
 ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c     | 2 +-
 ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c     | 2 +-
 ShellPkg/Library/UefiShellLib/UefiShellLib.c                                 | 4 ++--
 ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c | 2 +-
 ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c | 2 +-
 25 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/ShellPkg/Include/Library/ShellCommandLib.h b/ShellPkg/Include/Library/ShellCommandLib.h
index 287bc0eba7f9..63fcac82a2de 100644
--- a/ShellPkg/Include/Library/ShellCommandLib.h
+++ b/ShellPkg/Include/Library/ShellCommandLib.h
@@ -136,7 +136,7 @@ ShellCommandRegisterCommandName (
   IN        UINT32                      ShellMinSupportLevel,
   IN CONST  CHAR16                      *ProfileName,
   IN CONST  BOOLEAN                     CanAffectLE,
-  IN CONST  EFI_HANDLE                  HiiHandle,
+  IN CONST  EFI_HII_HANDLE              HiiHandle,
   IN CONST  EFI_STRING_ID               ManFormatHelp
   );
 
diff --git a/ShellPkg/Include/Library/ShellLib.h b/ShellPkg/Include/Library/ShellLib.h
index 31594796cd21..1dc41f2cc11b 100644
--- a/ShellPkg/Include/Library/ShellLib.h
+++ b/ShellPkg/Include/Library/ShellLib.h
@@ -965,7 +965,7 @@ ShellPrintHiiEx(
   IN INT32                Row OPTIONAL,
   IN CONST CHAR8          *Language OPTIONAL,
   IN CONST EFI_STRING_ID  HiiFormatStringId,
-  IN CONST EFI_HANDLE     HiiFormatHandle,
+  IN CONST EFI_HII_HANDLE HiiFormatHandle,
   ...
   );
 
@@ -1260,7 +1260,7 @@ EFIAPI
 ShellPromptForResponseHii (
   IN SHELL_PROMPT_REQUEST_TYPE         Type,
   IN CONST EFI_STRING_ID  HiiFormatStringId,
-  IN CONST EFI_HANDLE     HiiFormatHandle,
+  IN CONST EFI_HII_HANDLE HiiFormatHandle,
   IN OUT VOID             **Response
   );
 
diff --git a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
index 43aa4505ee37..e446cccde923 100644
--- a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
+++ b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
@@ -36,7 +36,7 @@
 #include <Library/UefiHiiServicesLib.h>
 #include <Library/PerformanceLib.h>
 
-extern EFI_HANDLE mDpHiiHandle;
+extern EFI_HII_HANDLE mDpHiiHandle;
 
 #define DP_MAJOR_VERSION        2
 #define DP_MINOR_VERSION        5
@@ -133,7 +133,7 @@ RunDp (
 
   @return HII handle.
 **/
-EFI_HANDLE
+EFI_HII_HANDLE
 InitializeHiiPackage (
   EFI_HANDLE                  ImageHandle
   );
diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
index 7a9ed4724e1f..4cd778436813 100644
--- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
+++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
@@ -30,7 +30,7 @@
 #include <Library/PrintLib.h>
 #include <Library/UefiHiiServicesLib.h>
 
-extern EFI_HANDLE mTftpHiiHandle;
+extern EFI_HII_HANDLE mTftpHiiHandle;
 
 typedef struct {
   UINTN  FileSize;
@@ -62,7 +62,7 @@ RunTftp (
 
   @return HII handle.
 **/
-EFI_HANDLE
+EFI_HII_HANDLE
 InitializeHiiPackage (
   EFI_HANDLE                  ImageHandle
   );
diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
index 36fe628a8c68..8ecc2f6bf5a2 100644
--- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
+++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
@@ -46,7 +46,7 @@ typedef struct{
   SHELL_GET_MAN_FILENAME      GetManFileName;
   SHELL_RUN_COMMAND           CommandHandler;
   BOOLEAN                     LastError;
-  EFI_HANDLE                  HiiHandle;
+  EFI_HII_HANDLE              HiiHandle;
   EFI_STRING_ID               ManFormatHelp;
 } SHELL_COMMAND_INTERNAL_LIST_ENTRY;
 
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h
index 32a933b9f062..082d488cb283 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h
@@ -52,7 +52,7 @@
 #include <Library/HandleParsingLib.h>
 
 
-extern        EFI_HANDLE                        gShellDebug1HiiHandle;
+extern        EFI_HII_HANDLE                    gShellDebug1HiiHandle;
 
 /**
   Function returns a system configuration table that is stored in the
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h
index 7e0b8b094057..ee795c4ce024 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h
@@ -58,7 +58,7 @@
 #include <Library/HandleParsingLib.h>
 
 
-extern        EFI_HANDLE                        gShellDriver1HiiHandle;
+extern        EFI_HII_HANDLE                    gShellDriver1HiiHandle;
 extern        BOOLEAN                           gInReconnect;
 
 /**
diff --git a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h
index 55acdd2b1f95..f2f9cc5dcf3b 100644
--- a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h
+++ b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h
@@ -33,7 +33,7 @@
 #include <Library/HiiLib.h>
 #include <Library/FileHandleLib.h>
 
-extern        EFI_HANDLE                        gShellLevel1HiiHandle;
+extern        EFI_HII_HANDLE                    gShellLevel1HiiHandle;
 
 /**
   Function for 'stall' command.
diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
index 6d522d4bb4a1..77be6f1a12c7 100644
--- a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
+++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
@@ -43,7 +43,7 @@
 #include <Library/FileHandleLib.h>
 
 extern CONST  CHAR16                            mFileName[];
-extern        EFI_HANDLE                        gShellLevel2HiiHandle;
+extern        EFI_HII_HANDLE                    gShellLevel2HiiHandle;
 
 /**
   Function for 'attrib' command.
diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h
index 2d97ae4d3c91..c095b9275ed0 100644
--- a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h
+++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h
@@ -32,7 +32,7 @@
 #include <Library/HiiLib.h>
 #include <Library/FileHandleLib.h>
 
-extern EFI_HANDLE gShellLevel3HiiHandle;
+extern EFI_HII_HANDLE gShellLevel3HiiHandle;
 
 /**
   Function for 'type' command.
diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h
index d4ed8c04652d..fddada2efa48 100644
--- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h
+++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h
@@ -38,7 +38,7 @@
 #include <Library/DevicePathLib.h>
 #include <Library/PrintLib.h>
 
-extern EFI_HANDLE gShellNetwork1HiiHandle;
+extern EFI_HII_HANDLE gShellNetwork1HiiHandle;
 
 /**
   Function for 'ping' command.
diff --git a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h
index 9a5db32f2b76..9ea42cf26d53 100644
--- a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h
+++ b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h
@@ -27,7 +27,7 @@
 #include <Library/HiiLib.h>
 #include <Library/NetLib.h>
 
-extern EFI_HANDLE gShellNetwork2HiiHandle;
+extern EFI_HII_HANDLE gShellNetwork2HiiHandle;
 
 /**
   Function for 'ping6' command.
diff --git a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
index 735cdcbcc018..4ec4c18348bd 100644
--- a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
+++ b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
@@ -36,7 +36,7 @@ typedef struct {
 
 #pragma pack()
 
-EFI_HANDLE   mDpHiiHandle;
+EFI_HII_HANDLE   mDpHiiHandle;
 
 typedef struct {
   EFI_HANDLE    Handle;
@@ -924,14 +924,14 @@ Done:
 
   @return HII handle.
 **/
-EFI_HANDLE
+EFI_HII_HANDLE
 InitializeHiiPackage (
   EFI_HANDLE                  ImageHandle
   )
 {
   EFI_STATUS                  Status;
   EFI_HII_PACKAGE_LIST_HEADER *PackageList;
-  EFI_HANDLE                  HiiHandle;
+  EFI_HII_HANDLE              HiiHandle;
 
   //
   // Retrieve HII package list from ImageHandle
diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
index 607899032e9d..f28da9af723c 100644
--- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
+++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
@@ -11,7 +11,7 @@
 #include "Tftp.h"
 
 #define IP4_CONFIG2_INTERFACE_INFO_NAME_LENGTH 32
-EFI_HANDLE   mTftpHiiHandle;
+EFI_HII_HANDLE   mTftpHiiHandle;
 
 /*
    Constant strings and definitions related to the message indicating the amount of
@@ -1087,14 +1087,14 @@ CheckPacket (
 
   @return HII handle.
 **/
-EFI_HANDLE
+EFI_HII_HANDLE
 InitializeHiiPackage (
   EFI_HANDLE                  ImageHandle
   )
 {
   EFI_STATUS                  Status;
   EFI_HII_PACKAGE_LIST_HEADER *PackageList;
-  EFI_HANDLE                  HiiHandle;
+  EFI_HII_HANDLE              HiiHandle;
 
   //
   // Retrieve HII package list from ImageHandle
diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
index f179c4109223..f62d30ef677a 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
@@ -14,7 +14,7 @@
 #include <PiDxe.h>
 #include <Protocol/FirmwareVolume2.h>
 
-EFI_HANDLE        mHandleParsingHiiHandle = NULL;
+EFI_HII_HANDLE    mHandleParsingHiiHandle = NULL;
 HANDLE_INDEX_LIST mHandleList = {{{NULL,NULL},0,0},0};
 GUID_INFO_BLOCK   *mGuidList;
 UINTN             mGuidListCount;
diff --git a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
index e8b48b4990dd..f8bcaebe46c8 100644
--- a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
+++ b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
@@ -38,7 +38,7 @@
 #include <Library/UefiBootManagerLib.h>
 
 STATIC CONST CHAR16 mFileName[] = L"ShellCommands";
-STATIC EFI_HANDLE gShellBcfgHiiHandle  = NULL;
+STATIC EFI_HII_HANDLE gShellBcfgHiiHandle  = NULL;
 
 typedef enum {
   BcfgTargetBootOrder    = 0,
diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
index 826ced30a8c8..4c48b65fbc1d 100644
--- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
+++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
@@ -554,7 +554,7 @@ ShellCommandRegisterCommandName (
   IN        UINT32                      ShellMinSupportLevel,
   IN CONST  CHAR16                      *ProfileName,
   IN CONST  BOOLEAN                     CanAffectLE,
-  IN CONST  EFI_HANDLE                  HiiHandle,
+  IN CONST  EFI_HII_HANDLE              HiiHandle,
   IN CONST  EFI_STRING_ID               ManFormatHelp
   )
 {
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c
index ddce3bef5a30..f918867f47af 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c
@@ -10,7 +10,7 @@
 #include <Library/BcfgCommandLib.h>
 
 STATIC CONST CHAR16 mFileName[] = L"Debug1Commands";
-EFI_HANDLE gShellDebug1HiiHandle = NULL;
+EFI_HII_HANDLE gShellDebug1HiiHandle = NULL;
 
 /**
   Gets the debug file name.  This will be used if HII is not working.
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c
index 4a05fa9942c4..e2219c62ec25 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c
@@ -9,7 +9,7 @@
 #include "UefiShellDriver1CommandsLib.h"
 
 STATIC CONST CHAR16 mFileName[] = L"Driver1Commands";
-EFI_HANDLE gShellDriver1HiiHandle = NULL;
+EFI_HII_HANDLE gShellDriver1HiiHandle = NULL;
 BOOLEAN    gInReconnect = FALSE;
 
 /**
diff --git a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c
index ecbee99e3b3d..88cddd88ddc4 100644
--- a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c
+++ b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c
@@ -10,7 +10,7 @@
 #include "UefiShellLevel1CommandsLib.h"
 
 STATIC CONST CHAR16 mFileName[] = L"ShellCommands";
-EFI_HANDLE gShellLevel1HiiHandle = NULL;
+EFI_HII_HANDLE gShellLevel1HiiHandle = NULL;
 
 /**
   Return the help text filename.  Only used if no HII information found.
diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c
index c2a0bb492fbb..69427637bb87 100644
--- a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c
+++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c
@@ -29,7 +29,7 @@
 #include "UefiShellLevel2CommandsLib.h"
 
 CONST CHAR16 mFileName[] = L"ShellCommands";
-EFI_HANDLE gShellLevel2HiiHandle = NULL;
+EFI_HII_HANDLE gShellLevel2HiiHandle = NULL;
 
 /**
   Get the filename to get help text from if not using HII.
diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c
index 7d2cc4a48371..ce4afd117aa1 100644
--- a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c
+++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c
@@ -9,7 +9,7 @@
 #include "UefiShellLevel3CommandsLib.h"
 
 CONST CHAR16 gShellLevel3FileName[] = L"ShellCommands";
-EFI_HANDLE gShellLevel3HiiHandle = NULL;
+EFI_HII_HANDLE gShellLevel3HiiHandle = NULL;
 
 /**
   return the filename to get help from is not using HII.
diff --git a/ShellPkg/Library/UefiShellLib/UefiShellLib.c b/ShellPkg/Library/UefiShellLib/UefiShellLib.c
index 5be530092e1b..835d0f88ca74 100644
--- a/ShellPkg/Library/UefiShellLib/UefiShellLib.c
+++ b/ShellPkg/Library/UefiShellLib/UefiShellLib.c
@@ -2997,7 +2997,7 @@ ShellPrintHiiEx(
   IN INT32                Row OPTIONAL,
   IN CONST CHAR8          *Language OPTIONAL,
   IN CONST EFI_STRING_ID  HiiFormatStringId,
-  IN CONST EFI_HANDLE     HiiFormatHandle,
+  IN CONST EFI_HII_HANDLE HiiFormatHandle,
   ...
   )
 {
@@ -3609,7 +3609,7 @@ EFIAPI
 ShellPromptForResponseHii (
   IN SHELL_PROMPT_REQUEST_TYPE         Type,
   IN CONST EFI_STRING_ID  HiiFormatStringId,
-  IN CONST EFI_HANDLE     HiiFormatHandle,
+  IN CONST EFI_HII_HANDLE HiiFormatHandle,
   IN OUT VOID             **Response
   )
 {
diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c
index 7e823cabd2fe..9a2b23fdc5ba 100644
--- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c
+++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c
@@ -8,7 +8,7 @@
 #include "UefiShellNetwork1CommandsLib.h"
 
 CONST CHAR16 gShellNetwork1FileName[] = L"ShellCommands";
-EFI_HANDLE gShellNetwork1HiiHandle = NULL;
+EFI_HII_HANDLE gShellNetwork1HiiHandle = NULL;
 
 /**
   return the file name of the help text file if not using HII.
diff --git a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c
index 5a7ffbfa19eb..4aab4295c1ba 100644
--- a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c
+++ b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c
@@ -8,7 +8,7 @@
 #include "UefiShellNetwork2CommandsLib.h"
 
 CONST CHAR16 gShellNetwork2FileName[] = L"ShellCommands";
-EFI_HANDLE gShellNetwork2HiiHandle = NULL;
+EFI_HII_HANDLE gShellNetwork2HiiHandle = NULL;
 
 /**
   return the file name of the help text file if not using HII.
-- 
2.19.1.3.g30247aa5d201



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#47416): https://edk2.groups.io/g/devel/message/47416
Mute This Topic: https://groups.io/mt/34180232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 29/35] ShellPkg: stop using EFI_HANDLE in place of EFI_HII_HANDLE
Posted by Philippe Mathieu-Daudé 6 years, 4 months ago
On 9/17/19 9:49 PM, Laszlo Ersek wrote:
> The UefiShell*CommandsLib instances have constructor functions that do
> something like:
> 
>   gHiiHandle = HiiAddPackages (...);
>   ...
>   ShellCommandRegisterCommandName (..., gHiiHandle, ...);
> 
> and destructor functions that implement the following pattern:
> 
>   HiiRemovePackages (gHiiHandle);
> 
> The -- semantic, not functional -- problem is that "gHiiHandle" is
> declared with type EFI_HANDLE, and not EFI_HII_HANDLE, in all of these
> library instances, even though HiiAddPackages() correctly returns
> EFI_HII_HANDLE, and HiiRemovePackages() takes EFI_HII_HANDLE.
> 
> Once we fix the type of "gHiiHandle", it causes sort of a butterfly
> effect, because it is passed around widely. Track down and update all of
> those locations.
> 
> The DynamicCommand lib instances use a similar pattern, so they are
> affected too.
> 
> NOTE: in practice, this patch is a no-op, as both EFI_HII_HANDLE and
> EFI_HANDLE are typedefs to (VOID*). However, we shouldn't use EFI_HANDLE
> where semantically EFI_HII_HANDLE is passed around.
> 
> Cc: Jaben Carsey <jaben.carsey@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> 
> Notes:
>     tested with:
>     - level 1: stall, exit
>     - level 2: ls
>     - level 3: pause
>     - dynamic command: tftp
>     - handle parsing: drivers, devices, dh
> 
>  ShellPkg/Include/Library/ShellCommandLib.h                                   | 2 +-
>  ShellPkg/Include/Library/ShellLib.h                                          | 4 ++--
>  ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h                                | 4 ++--
>  ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h                            | 4 ++--
>  ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h                   | 2 +-
>  ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h     | 2 +-
>  ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h   | 2 +-
>  ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h     | 2 +-
>  ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h     | 2 +-
>  ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h     | 2 +-
>  ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h | 2 +-
>  ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h | 2 +-
>  ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c                                | 6 +++---
>  ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c                            | 6 +++---
>  ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c                 | 2 +-
>  ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c           | 2 +-
>  ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c                   | 2 +-
>  ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c     | 2 +-
>  ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c   | 2 +-
>  ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c     | 2 +-
>  ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c     | 2 +-
>  ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c     | 2 +-
>  ShellPkg/Library/UefiShellLib/UefiShellLib.c                                 | 4 ++--
>  ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c | 2 +-
>  ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c | 2 +-
>  25 files changed, 33 insertions(+), 33 deletions(-)
> 
> diff --git a/ShellPkg/Include/Library/ShellCommandLib.h b/ShellPkg/Include/Library/ShellCommandLib.h
> index 287bc0eba7f9..63fcac82a2de 100644
> --- a/ShellPkg/Include/Library/ShellCommandLib.h
> +++ b/ShellPkg/Include/Library/ShellCommandLib.h
> @@ -136,7 +136,7 @@ ShellCommandRegisterCommandName (
>    IN        UINT32                      ShellMinSupportLevel,
>    IN CONST  CHAR16                      *ProfileName,
>    IN CONST  BOOLEAN                     CanAffectLE,
> -  IN CONST  EFI_HANDLE                  HiiHandle,
> +  IN CONST  EFI_HII_HANDLE              HiiHandle,

Updated in UefiShellCommandLib/UefiShellCommandLib.h, OK.

>    IN CONST  EFI_STRING_ID               ManFormatHelp
>    );
>  
> diff --git a/ShellPkg/Include/Library/ShellLib.h b/ShellPkg/Include/Library/ShellLib.h
> index 31594796cd21..1dc41f2cc11b 100644
> --- a/ShellPkg/Include/Library/ShellLib.h
> +++ b/ShellPkg/Include/Library/ShellLib.h
> @@ -965,7 +965,7 @@ ShellPrintHiiEx(
>    IN INT32                Row OPTIONAL,
>    IN CONST CHAR8          *Language OPTIONAL,
>    IN CONST EFI_STRING_ID  HiiFormatStringId,
> -  IN CONST EFI_HANDLE     HiiFormatHandle,
> +  IN CONST EFI_HII_HANDLE HiiFormatHandle,

OK

>    ...
>    );
>  
> @@ -1260,7 +1260,7 @@ EFIAPI
>  ShellPromptForResponseHii (
>    IN SHELL_PROMPT_REQUEST_TYPE         Type,
>    IN CONST EFI_STRING_ID  HiiFormatStringId,
> -  IN CONST EFI_HANDLE     HiiFormatHandle,
> +  IN CONST EFI_HII_HANDLE HiiFormatHandle,

OK

>    IN OUT VOID             **Response
>    );
>  
> diff --git a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
> index 43aa4505ee37..e446cccde923 100644
> --- a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
> +++ b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
> @@ -36,7 +36,7 @@
>  #include <Library/UefiHiiServicesLib.h>
>  #include <Library/PerformanceLib.h>
>  
> -extern EFI_HANDLE mDpHiiHandle;
> +extern EFI_HII_HANDLE mDpHiiHandle;
>  
>  #define DP_MAJOR_VERSION        2
>  #define DP_MINOR_VERSION        5
> @@ -133,7 +133,7 @@ RunDp (
>  
>    @return HII handle.
>  **/
> -EFI_HANDLE
> +EFI_HII_HANDLE

OK

>  InitializeHiiPackage (
>    EFI_HANDLE                  ImageHandle
>    );
> diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
> index 7a9ed4724e1f..4cd778436813 100644
> --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
> +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
> @@ -30,7 +30,7 @@
>  #include <Library/PrintLib.h>
>  #include <Library/UefiHiiServicesLib.h>
>  
> -extern EFI_HANDLE mTftpHiiHandle;
> +extern EFI_HII_HANDLE mTftpHiiHandle;

OK

>  
>  typedef struct {
>    UINTN  FileSize;
> @@ -62,7 +62,7 @@ RunTftp (
>  
>    @return HII handle.
>  **/
> -EFI_HANDLE
> +EFI_HII_HANDLE

OK

>  InitializeHiiPackage (
>    EFI_HANDLE                  ImageHandle
>    );
> diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
> index 36fe628a8c68..8ecc2f6bf5a2 100644
> --- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
> +++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
> @@ -46,7 +46,7 @@ typedef struct{
>    SHELL_GET_MAN_FILENAME      GetManFileName;
>    SHELL_RUN_COMMAND           CommandHandler;
>    BOOLEAN                     LastError;
> -  EFI_HANDLE                  HiiHandle;
> +  EFI_HII_HANDLE              HiiHandle;

OK

>    EFI_STRING_ID               ManFormatHelp;
>  } SHELL_COMMAND_INTERNAL_LIST_ENTRY;
>  
> diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h
> index 32a933b9f062..082d488cb283 100644
> --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h
> @@ -52,7 +52,7 @@
>  #include <Library/HandleParsingLib.h>
>  
>  
> -extern        EFI_HANDLE                        gShellDebug1HiiHandle;
> +extern        EFI_HII_HANDLE                    gShellDebug1HiiHandle;

OK

>  
>  /**
>    Function returns a system configuration table that is stored in the
> diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h
> index 7e0b8b094057..ee795c4ce024 100644
> --- a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h
> +++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h
> @@ -58,7 +58,7 @@
>  #include <Library/HandleParsingLib.h>
>  
>  
> -extern        EFI_HANDLE                        gShellDriver1HiiHandle;
> +extern        EFI_HII_HANDLE                    gShellDriver1HiiHandle;
>  extern        BOOLEAN                           gInReconnect;
>  
>  /**
> diff --git a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h
> index 55acdd2b1f95..f2f9cc5dcf3b 100644
> --- a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h
> +++ b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h
> @@ -33,7 +33,7 @@
>  #include <Library/HiiLib.h>
>  #include <Library/FileHandleLib.h>
>  
> -extern        EFI_HANDLE                        gShellLevel1HiiHandle;
> +extern        EFI_HII_HANDLE                    gShellLevel1HiiHandle;
>  
>  /**
>    Function for 'stall' command.
> diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
> index 6d522d4bb4a1..77be6f1a12c7 100644
> --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
> +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
> @@ -43,7 +43,7 @@
>  #include <Library/FileHandleLib.h>
>  
>  extern CONST  CHAR16                            mFileName[];
> -extern        EFI_HANDLE                        gShellLevel2HiiHandle;
> +extern        EFI_HII_HANDLE                    gShellLevel2HiiHandle;

OK

>  
>  /**
>    Function for 'attrib' command.
> diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h
> index 2d97ae4d3c91..c095b9275ed0 100644
> --- a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h
> +++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h
> @@ -32,7 +32,7 @@
>  #include <Library/HiiLib.h>
>  #include <Library/FileHandleLib.h>
>  
> -extern EFI_HANDLE gShellLevel3HiiHandle;
> +extern EFI_HII_HANDLE gShellLevel3HiiHandle;
>  
>  /**
>    Function for 'type' command.
> diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h
> index d4ed8c04652d..fddada2efa48 100644
> --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h
> +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.h
> @@ -38,7 +38,7 @@
>  #include <Library/DevicePathLib.h>
>  #include <Library/PrintLib.h>
>  
> -extern EFI_HANDLE gShellNetwork1HiiHandle;
> +extern EFI_HII_HANDLE gShellNetwork1HiiHandle;
>  
>  /**
>    Function for 'ping' command.
> diff --git a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h
> index 9a5db32f2b76..9ea42cf26d53 100644
> --- a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h
> +++ b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.h
> @@ -27,7 +27,7 @@
>  #include <Library/HiiLib.h>
>  #include <Library/NetLib.h>
>  
> -extern EFI_HANDLE gShellNetwork2HiiHandle;
> +extern EFI_HII_HANDLE gShellNetwork2HiiHandle;

OK

>  
>  /**
>    Function for 'ping6' command.
> diff --git a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
> index 735cdcbcc018..4ec4c18348bd 100644
> --- a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
> +++ b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
> @@ -36,7 +36,7 @@ typedef struct {
>  
>  #pragma pack()
>  
> -EFI_HANDLE   mDpHiiHandle;
> +EFI_HII_HANDLE   mDpHiiHandle;

OK

>  
>  typedef struct {
>    EFI_HANDLE    Handle;
> @@ -924,14 +924,14 @@ Done:
>  
>    @return HII handle.
>  **/
> -EFI_HANDLE
> +EFI_HII_HANDLE

OK

>  InitializeHiiPackage (
>    EFI_HANDLE                  ImageHandle
>    )
>  {
>    EFI_STATUS                  Status;
>    EFI_HII_PACKAGE_LIST_HEADER *PackageList;
> -  EFI_HANDLE                  HiiHandle;
> +  EFI_HII_HANDLE              HiiHandle;

OK

>  
>    //
>    // Retrieve HII package list from ImageHandle
> diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> index 607899032e9d..f28da9af723c 100644
> --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> @@ -11,7 +11,7 @@
>  #include "Tftp.h"
>  
>  #define IP4_CONFIG2_INTERFACE_INFO_NAME_LENGTH 32
> -EFI_HANDLE   mTftpHiiHandle;
> +EFI_HII_HANDLE   mTftpHiiHandle;

OK

>  
>  /*
>     Constant strings and definitions related to the message indicating the amount of
> @@ -1087,14 +1087,14 @@ CheckPacket (
>  
>    @return HII handle.
>  **/
> -EFI_HANDLE
> +EFI_HII_HANDLE

OK

>  InitializeHiiPackage (
>    EFI_HANDLE                  ImageHandle
>    )
>  {
>    EFI_STATUS                  Status;
>    EFI_HII_PACKAGE_LIST_HEADER *PackageList;
> -  EFI_HANDLE                  HiiHandle;
> +  EFI_HII_HANDLE              HiiHandle;

OK

>  
>    //
>    // Retrieve HII package list from ImageHandle
> diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> index f179c4109223..f62d30ef677a 100644
> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> @@ -14,7 +14,7 @@
>  #include <PiDxe.h>
>  #include <Protocol/FirmwareVolume2.h>
>  
> -EFI_HANDLE        mHandleParsingHiiHandle = NULL;
> +EFI_HII_HANDLE    mHandleParsingHiiHandle = NULL;

OK

>  HANDLE_INDEX_LIST mHandleList = {{{NULL,NULL},0,0},0};
>  GUID_INFO_BLOCK   *mGuidList;
>  UINTN             mGuidListCount;
> diff --git a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
> index e8b48b4990dd..f8bcaebe46c8 100644
> --- a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
> +++ b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
> @@ -38,7 +38,7 @@
>  #include <Library/UefiBootManagerLib.h>
>  
>  STATIC CONST CHAR16 mFileName[] = L"ShellCommands";
> -STATIC EFI_HANDLE gShellBcfgHiiHandle  = NULL;
> +STATIC EFI_HII_HANDLE gShellBcfgHiiHandle  = NULL;

OK

>  
>  typedef enum {
>    BcfgTargetBootOrder    = 0,
> diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> index 826ced30a8c8..4c48b65fbc1d 100644
> --- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> +++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> @@ -554,7 +554,7 @@ ShellCommandRegisterCommandName (
>    IN        UINT32                      ShellMinSupportLevel,
>    IN CONST  CHAR16                      *ProfileName,
>    IN CONST  BOOLEAN                     CanAffectLE,
> -  IN CONST  EFI_HANDLE                  HiiHandle,
> +  IN CONST  EFI_HII_HANDLE              HiiHandle,

OK

>    IN CONST  EFI_STRING_ID               ManFormatHelp
>    )
>  {
> diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c
> index ddce3bef5a30..f918867f47af 100644
> --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c
> @@ -10,7 +10,7 @@
>  #include <Library/BcfgCommandLib.h>
>  
>  STATIC CONST CHAR16 mFileName[] = L"Debug1Commands";
> -EFI_HANDLE gShellDebug1HiiHandle = NULL;
> +EFI_HII_HANDLE gShellDebug1HiiHandle = NULL;

OK

>  
>  /**
>    Gets the debug file name.  This will be used if HII is not working.
> diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c
> index 4a05fa9942c4..e2219c62ec25 100644
> --- a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c
> +++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c
> @@ -9,7 +9,7 @@
>  #include "UefiShellDriver1CommandsLib.h"
>  
>  STATIC CONST CHAR16 mFileName[] = L"Driver1Commands";
> -EFI_HANDLE gShellDriver1HiiHandle = NULL;
> +EFI_HII_HANDLE gShellDriver1HiiHandle = NULL;

OK

>  BOOLEAN    gInReconnect = FALSE;
>  
>  /**
> diff --git a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c
> index ecbee99e3b3d..88cddd88ddc4 100644
> --- a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c
> +++ b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c
> @@ -10,7 +10,7 @@
>  #include "UefiShellLevel1CommandsLib.h"
>  
>  STATIC CONST CHAR16 mFileName[] = L"ShellCommands";
> -EFI_HANDLE gShellLevel1HiiHandle = NULL;
> +EFI_HII_HANDLE gShellLevel1HiiHandle = NULL;

OK

>  
>  /**
>    Return the help text filename.  Only used if no HII information found.
> diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c
> index c2a0bb492fbb..69427637bb87 100644
> --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c
> +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c
> @@ -29,7 +29,7 @@
>  #include "UefiShellLevel2CommandsLib.h"
>  
>  CONST CHAR16 mFileName[] = L"ShellCommands";
> -EFI_HANDLE gShellLevel2HiiHandle = NULL;
> +EFI_HII_HANDLE gShellLevel2HiiHandle = NULL;

OK

>  
>  /**
>    Get the filename to get help text from if not using HII.
> diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c
> index 7d2cc4a48371..ce4afd117aa1 100644
> --- a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c
> +++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c
> @@ -9,7 +9,7 @@
>  #include "UefiShellLevel3CommandsLib.h"
>  
>  CONST CHAR16 gShellLevel3FileName[] = L"ShellCommands";
> -EFI_HANDLE gShellLevel3HiiHandle = NULL;
> +EFI_HII_HANDLE gShellLevel3HiiHandle = NULL;

OK

>  
>  /**
>    return the filename to get help from is not using HII.
> diff --git a/ShellPkg/Library/UefiShellLib/UefiShellLib.c b/ShellPkg/Library/UefiShellLib/UefiShellLib.c
> index 5be530092e1b..835d0f88ca74 100644
> --- a/ShellPkg/Library/UefiShellLib/UefiShellLib.c
> +++ b/ShellPkg/Library/UefiShellLib/UefiShellLib.c
> @@ -2997,7 +2997,7 @@ ShellPrintHiiEx(
>    IN INT32                Row OPTIONAL,
>    IN CONST CHAR8          *Language OPTIONAL,
>    IN CONST EFI_STRING_ID  HiiFormatStringId,
> -  IN CONST EFI_HANDLE     HiiFormatHandle,
> +  IN CONST EFI_HII_HANDLE HiiFormatHandle,

OK

>    ...
>    )
>  {
> @@ -3609,7 +3609,7 @@ EFIAPI
>  ShellPromptForResponseHii (
>    IN SHELL_PROMPT_REQUEST_TYPE         Type,
>    IN CONST EFI_STRING_ID  HiiFormatStringId,
> -  IN CONST EFI_HANDLE     HiiFormatHandle,
> +  IN CONST EFI_HII_HANDLE HiiFormatHandle,

OK

>    IN OUT VOID             **Response
>    )
>  {
> diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c
> index 7e823cabd2fe..9a2b23fdc5ba 100644
> --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c
> +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.c
> @@ -8,7 +8,7 @@
>  #include "UefiShellNetwork1CommandsLib.h"
>  
>  CONST CHAR16 gShellNetwork1FileName[] = L"ShellCommands";
> -EFI_HANDLE gShellNetwork1HiiHandle = NULL;
> +EFI_HII_HANDLE gShellNetwork1HiiHandle = NULL;

OK

>  
>  /**
>    return the file name of the help text file if not using HII.
> diff --git a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c
> index 5a7ffbfa19eb..4aab4295c1ba 100644
> --- a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c
> +++ b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c
> @@ -8,7 +8,7 @@
>  #include "UefiShellNetwork2CommandsLib.h"
>  
>  CONST CHAR16 gShellNetwork2FileName[] = L"ShellCommands";
> -EFI_HANDLE gShellNetwork2HiiHandle = NULL;
> +EFI_HII_HANDLE gShellNetwork2HiiHandle = NULL;

OK

>  
>  /**
>    return the file name of the help text file if not using HII.
> 

I checked every case, entertaining.
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#48044): https://edk2.groups.io/g/devel/message/48044
Mute This Topic: https://groups.io/mt/34180232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 29/35] ShellPkg: stop using EFI_HANDLE in place of EFI_HII_HANDLE
Posted by Laszlo Ersek 6 years, 4 months ago
On 09/25/19 20:04, Philippe Mathieu-Daudé wrote:
> On 9/17/19 9:49 PM, Laszlo Ersek wrote:

>>  25 files changed, 33 insertions(+), 33 deletions(-)

> I checked every case, entertaining.
> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>

Many thanks for the effort! :)
Laszlo

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#48086): https://edk2.groups.io/g/devel/message/48086
Mute This Topic: https://groups.io/mt/34180232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 29/35] ShellPkg: stop using EFI_HANDLE in place of EFI_HII_HANDLE
Posted by Gao, Zhichao 6 years, 4 months ago
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>

> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Wednesday, September 18, 2019 3:49 AM
> To: edk2-devel-groups-io <devel@edk2.groups.io>
> Cc: Carsey, Jaben <jaben.carsey@intel.com>; Ni, Ray <ray.ni@intel.com>;
> Gao, Zhichao <zhichao.gao@intel.com>
> Subject: [PATCH 29/35] ShellPkg: stop using EFI_HANDLE in place of
> EFI_HII_HANDLE
> 
> The UefiShell*CommandsLib instances have constructor functions that do
> something like:
> 
>   gHiiHandle = HiiAddPackages (...);
>   ...
>   ShellCommandRegisterCommandName (..., gHiiHandle, ...);
> 
> and destructor functions that implement the following pattern:
> 
>   HiiRemovePackages (gHiiHandle);
> 
> The -- semantic, not functional -- problem is that "gHiiHandle" is declared
> with type EFI_HANDLE, and not EFI_HII_HANDLE, in all of these library
> instances, even though HiiAddPackages() correctly returns EFI_HII_HANDLE,
> and HiiRemovePackages() takes EFI_HII_HANDLE.
> 
> Once we fix the type of "gHiiHandle", it causes sort of a butterfly effect,
> because it is passed around widely. Track down and update all of those
> locations.
> 
> The DynamicCommand lib instances use a similar pattern, so they are
> affected too.
> 
> NOTE: in practice, this patch is a no-op, as both EFI_HII_HANDLE and
> EFI_HANDLE are typedefs to (VOID*). However, we shouldn't use
> EFI_HANDLE where semantically EFI_HII_HANDLE is passed around.
> 
> Cc: Jaben Carsey <jaben.carsey@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> 
> Notes:
>     tested with:
>     - level 1: stall, exit
>     - level 2: ls
>     - level 3: pause
>     - dynamic command: tftp
>     - handle parsing: drivers, devices, dh
> 
>  ShellPkg/Include/Library/ShellCommandLib.h                                   | 2 +-
>  ShellPkg/Include/Library/ShellLib.h                                          | 4 ++--
>  ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h                                | 4
> ++--
>  ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h                            | 4
> ++--
>  ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h                   | 2
> +-
> 
> ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Commands
> Lib.h     | 2 +-
> 
> ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsL
> ib.h   | 2 +-
> 
> ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib
> .h     | 2 +-
> 
> ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib
> .h     | 2 +-
> 
> ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib
> .h     | 2 +-
> 
> ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Comm
> andsLib.h | 2 +-
> ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Comm
> andsLib.h | 2 +-
>  ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c                                | 6
> +++---
>  ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c                            | 6
> +++---
>  ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c                 | 2 +-
>  ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
> | 2 +-
>  ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c                   | 2
> +-
> 
> ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Commands
> Lib.c     | 2 +-
> 
> ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsL
> ib.c   | 2 +-
> 
> ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib
> .c     | 2 +-
> 
> ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib
> .c     | 2 +-
> 
> ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib
> .c     | 2 +-
>  ShellPkg/Library/UefiShellLib/UefiShellLib.c                                 | 4 ++--
> 
> ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Comm
> andsLib.c | 2 +-
> ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Comm
> andsLib.c | 2 +-
>  25 files changed, 33 insertions(+), 33 deletions(-)
> 
> diff --git a/ShellPkg/Include/Library/ShellCommandLib.h
> b/ShellPkg/Include/Library/ShellCommandLib.h
> index 287bc0eba7f9..63fcac82a2de 100644
> --- a/ShellPkg/Include/Library/ShellCommandLib.h
> +++ b/ShellPkg/Include/Library/ShellCommandLib.h
> @@ -136,7 +136,7 @@ ShellCommandRegisterCommandName (
>    IN        UINT32                      ShellMinSupportLevel,
>    IN CONST  CHAR16                      *ProfileName,
>    IN CONST  BOOLEAN                     CanAffectLE,
> -  IN CONST  EFI_HANDLE                  HiiHandle,
> +  IN CONST  EFI_HII_HANDLE              HiiHandle,
>    IN CONST  EFI_STRING_ID               ManFormatHelp
>    );
> 
> diff --git a/ShellPkg/Include/Library/ShellLib.h
> b/ShellPkg/Include/Library/ShellLib.h
> index 31594796cd21..1dc41f2cc11b 100644
> --- a/ShellPkg/Include/Library/ShellLib.h
> +++ b/ShellPkg/Include/Library/ShellLib.h
> @@ -965,7 +965,7 @@ ShellPrintHiiEx(
>    IN INT32                Row OPTIONAL,
>    IN CONST CHAR8          *Language OPTIONAL,
>    IN CONST EFI_STRING_ID  HiiFormatStringId,
> -  IN CONST EFI_HANDLE     HiiFormatHandle,
> +  IN CONST EFI_HII_HANDLE HiiFormatHandle,
>    ...
>    );
> 
> @@ -1260,7 +1260,7 @@ EFIAPI
>  ShellPromptForResponseHii (
>    IN SHELL_PROMPT_REQUEST_TYPE         Type,
>    IN CONST EFI_STRING_ID  HiiFormatStringId,
> -  IN CONST EFI_HANDLE     HiiFormatHandle,
> +  IN CONST EFI_HII_HANDLE HiiFormatHandle,
>    IN OUT VOID             **Response
>    );
> 
> diff --git a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
> b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
> index 43aa4505ee37..e446cccde923 100644
> --- a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
> +++ b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.h
> @@ -36,7 +36,7 @@
>  #include <Library/UefiHiiServicesLib.h>  #include <Library/PerformanceLib.h>
> 
> -extern EFI_HANDLE mDpHiiHandle;
> +extern EFI_HII_HANDLE mDpHiiHandle;
> 
>  #define DP_MAJOR_VERSION        2
>  #define DP_MINOR_VERSION        5
> @@ -133,7 +133,7 @@ RunDp (
> 
>    @return HII handle.
>  **/
> -EFI_HANDLE
> +EFI_HII_HANDLE
>  InitializeHiiPackage (
>    EFI_HANDLE                  ImageHandle
>    );
> diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
> b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
> index 7a9ed4724e1f..4cd778436813 100644
> --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
> +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.h
> @@ -30,7 +30,7 @@
>  #include <Library/PrintLib.h>
>  #include <Library/UefiHiiServicesLib.h>
> 
> -extern EFI_HANDLE mTftpHiiHandle;
> +extern EFI_HII_HANDLE mTftpHiiHandle;
> 
>  typedef struct {
>    UINTN  FileSize;
> @@ -62,7 +62,7 @@ RunTftp (
> 
>    @return HII handle.
>  **/
> -EFI_HANDLE
> +EFI_HII_HANDLE
>  InitializeHiiPackage (
>    EFI_HANDLE                  ImageHandle
>    );
> diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
> b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
> index 36fe628a8c68..8ecc2f6bf5a2 100644
> --- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
> +++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.h
> @@ -46,7 +46,7 @@ typedef struct{
>    SHELL_GET_MAN_FILENAME      GetManFileName;
>    SHELL_RUN_COMMAND           CommandHandler;
>    BOOLEAN                     LastError;
> -  EFI_HANDLE                  HiiHandle;
> +  EFI_HII_HANDLE              HiiHandle;
>    EFI_STRING_ID               ManFormatHelp;
>  } SHELL_COMMAND_INTERNAL_LIST_ENTRY;
> 
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.h
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.h
> index 32a933b9f062..082d488cb283 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.h
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> d
> +++ sLib.h
> @@ -52,7 +52,7 @@
>  #include <Library/HandleParsingLib.h>
> 
> 
> -extern        EFI_HANDLE                        gShellDebug1HiiHandle;
> +extern        EFI_HII_HANDLE                    gShellDebug1HiiHandle;
> 
>  /**
>    Function returns a system configuration table that is stored in the diff --git
> a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1Command
> sLib.h
> b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1Comman
> dsLib.h
> index 7e0b8b094057..ee795c4ce024 100644
> ---
> a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1Command
> sLib.h
> +++
> b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1Comma
> +++ ndsLib.h
> @@ -58,7 +58,7 @@
>  #include <Library/HandleParsingLib.h>
> 
> 
> -extern        EFI_HANDLE                        gShellDriver1HiiHandle;
> +extern        EFI_HII_HANDLE                    gShellDriver1HiiHandle;
>  extern        BOOLEAN                           gInReconnect;
> 
>  /**
> diff --git
> a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1Commands
> Lib.h
> b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1Commands
> Lib.h
> index 55acdd2b1f95..f2f9cc5dcf3b 100644
> ---
> a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1Commands
> Lib.h
> +++
> b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1Command
> +++ sLib.h
> @@ -33,7 +33,7 @@
>  #include <Library/HiiLib.h>
>  #include <Library/FileHandleLib.h>
> 
> -extern        EFI_HANDLE                        gShellLevel1HiiHandle;
> +extern        EFI_HII_HANDLE                    gShellLevel1HiiHandle;
> 
>  /**
>    Function for 'stall' command.
> diff --git
> a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2Commands
> Lib.h
> b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2Commands
> Lib.h
> index 6d522d4bb4a1..77be6f1a12c7 100644
> ---
> a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2Commands
> Lib.h
> +++
> b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2Command
> +++ sLib.h
> @@ -43,7 +43,7 @@
>  #include <Library/FileHandleLib.h>
> 
>  extern CONST  CHAR16                            mFileName[];
> -extern        EFI_HANDLE                        gShellLevel2HiiHandle;
> +extern        EFI_HII_HANDLE                    gShellLevel2HiiHandle;
> 
>  /**
>    Function for 'attrib' command.
> diff --git
> a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3Commands
> Lib.h
> b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3Commands
> Lib.h
> index 2d97ae4d3c91..c095b9275ed0 100644
> ---
> a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3Commands
> Lib.h
> +++
> b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3Command
> +++ sLib.h
> @@ -32,7 +32,7 @@
>  #include <Library/HiiLib.h>
>  #include <Library/FileHandleLib.h>
> 
> -extern EFI_HANDLE gShellLevel3HiiHandle;
> +extern EFI_HII_HANDLE gShellLevel3HiiHandle;
> 
>  /**
>    Function for 'type' command.
> diff --git
> a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.h
> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.h
> index d4ed8c04652d..fddada2efa48 100644
> ---
> a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.h
> +++
> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> +++ mandsLib.h
> @@ -38,7 +38,7 @@
>  #include <Library/DevicePathLib.h>
>  #include <Library/PrintLib.h>
> 
> -extern EFI_HANDLE gShellNetwork1HiiHandle;
> +extern EFI_HII_HANDLE gShellNetwork1HiiHandle;
> 
>  /**
>    Function for 'ping' command.
> diff --git
> a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.h
> b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.h
> index 9a5db32f2b76..9ea42cf26d53 100644
> ---
> a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.h
> +++
> b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> +++ mandsLib.h
> @@ -27,7 +27,7 @@
>  #include <Library/HiiLib.h>
>  #include <Library/NetLib.h>
> 
> -extern EFI_HANDLE gShellNetwork2HiiHandle;
> +extern EFI_HII_HANDLE gShellNetwork2HiiHandle;
> 
>  /**
>    Function for 'ping6' command.
> diff --git a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
> b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
> index 735cdcbcc018..4ec4c18348bd 100644
> --- a/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
> +++ b/ShellPkg/DynamicCommand/DpDynamicCommand/Dp.c
> @@ -36,7 +36,7 @@ typedef struct {
> 
>  #pragma pack()
> 
> -EFI_HANDLE   mDpHiiHandle;
> +EFI_HII_HANDLE   mDpHiiHandle;
> 
>  typedef struct {
>    EFI_HANDLE    Handle;
> @@ -924,14 +924,14 @@ Done:
> 
>    @return HII handle.
>  **/
> -EFI_HANDLE
> +EFI_HII_HANDLE
>  InitializeHiiPackage (
>    EFI_HANDLE                  ImageHandle
>    )
>  {
>    EFI_STATUS                  Status;
>    EFI_HII_PACKAGE_LIST_HEADER *PackageList;
> -  EFI_HANDLE                  HiiHandle;
> +  EFI_HII_HANDLE              HiiHandle;
> 
>    //
>    // Retrieve HII package list from ImageHandle diff --git
> a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> index 607899032e9d..f28da9af723c 100644
> --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> @@ -11,7 +11,7 @@
>  #include "Tftp.h"
> 
>  #define IP4_CONFIG2_INTERFACE_INFO_NAME_LENGTH 32
> -EFI_HANDLE   mTftpHiiHandle;
> +EFI_HII_HANDLE   mTftpHiiHandle;
> 
>  /*
>     Constant strings and definitions related to the message indicating the
> amount of @@ -1087,14 +1087,14 @@ CheckPacket (
> 
>    @return HII handle.
>  **/
> -EFI_HANDLE
> +EFI_HII_HANDLE
>  InitializeHiiPackage (
>    EFI_HANDLE                  ImageHandle
>    )
>  {
>    EFI_STATUS                  Status;
>    EFI_HII_PACKAGE_LIST_HEADER *PackageList;
> -  EFI_HANDLE                  HiiHandle;
> +  EFI_HII_HANDLE              HiiHandle;
> 
>    //
>    // Retrieve HII package list from ImageHandle diff --git
> a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> index f179c4109223..f62d30ef677a 100644
> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
> @@ -14,7 +14,7 @@
>  #include <PiDxe.h>
>  #include <Protocol/FirmwareVolume2.h>
> 
> -EFI_HANDLE        mHandleParsingHiiHandle = NULL;
> +EFI_HII_HANDLE    mHandleParsingHiiHandle = NULL;
>  HANDLE_INDEX_LIST mHandleList = {{{NULL,NULL},0,0},0};
>  GUID_INFO_BLOCK   *mGuidList;
>  UINTN             mGuidListCount;
> diff --git
> a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
> b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
> index e8b48b4990dd..f8bcaebe46c8 100644
> ---
> a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
> +++
> b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
> @@ -38,7 +38,7 @@
>  #include <Library/UefiBootManagerLib.h>
> 
>  STATIC CONST CHAR16 mFileName[] = L"ShellCommands"; -STATIC
> EFI_HANDLE gShellBcfgHiiHandle  = NULL;
> +STATIC EFI_HII_HANDLE gShellBcfgHiiHandle  = NULL;
> 
>  typedef enum {
>    BcfgTargetBootOrder    = 0,
> diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> index 826ced30a8c8..4c48b65fbc1d 100644
> --- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> +++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> @@ -554,7 +554,7 @@ ShellCommandRegisterCommandName (
>    IN        UINT32                      ShellMinSupportLevel,
>    IN CONST  CHAR16                      *ProfileName,
>    IN CONST  BOOLEAN                     CanAffectLE,
> -  IN CONST  EFI_HANDLE                  HiiHandle,
> +  IN CONST  EFI_HII_HANDLE              HiiHandle,
>    IN CONST  EFI_STRING_ID               ManFormatHelp
>    )
>  {
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.c
> index ddce3bef5a30..f918867f47af 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> dsLib.c
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
> d
> +++ sLib.c
> @@ -10,7 +10,7 @@
>  #include <Library/BcfgCommandLib.h>
> 
>  STATIC CONST CHAR16 mFileName[] = L"Debug1Commands"; -EFI_HANDLE
> gShellDebug1HiiHandle = NULL;
> +EFI_HII_HANDLE gShellDebug1HiiHandle = NULL;
> 
>  /**
>    Gets the debug file name.  This will be used if HII is not working.
> diff --git
> a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1Command
> sLib.c
> b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1Comman
> dsLib.c
> index 4a05fa9942c4..e2219c62ec25 100644
> ---
> a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1Command
> sLib.c
> +++
> b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1Comma
> +++ ndsLib.c
> @@ -9,7 +9,7 @@
>  #include "UefiShellDriver1CommandsLib.h"
> 
>  STATIC CONST CHAR16 mFileName[] = L"Driver1Commands"; -EFI_HANDLE
> gShellDriver1HiiHandle = NULL;
> +EFI_HII_HANDLE gShellDriver1HiiHandle = NULL;
>  BOOLEAN    gInReconnect = FALSE;
> 
>  /**
> diff --git
> a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1Commands
> Lib.c
> b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1Commands
> Lib.c
> index ecbee99e3b3d..88cddd88ddc4 100644
> ---
> a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1Commands
> Lib.c
> +++
> b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1Command
> +++ sLib.c
> @@ -10,7 +10,7 @@
>  #include "UefiShellLevel1CommandsLib.h"
> 
>  STATIC CONST CHAR16 mFileName[] = L"ShellCommands"; -EFI_HANDLE
> gShellLevel1HiiHandle = NULL;
> +EFI_HII_HANDLE gShellLevel1HiiHandle = NULL;
> 
>  /**
>    Return the help text filename.  Only used if no HII information found.
> diff --git
> a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2Commands
> Lib.c
> b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2Commands
> Lib.c
> index c2a0bb492fbb..69427637bb87 100644
> ---
> a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2Commands
> Lib.c
> +++
> b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2Command
> +++ sLib.c
> @@ -29,7 +29,7 @@
>  #include "UefiShellLevel2CommandsLib.h"
> 
>  CONST CHAR16 mFileName[] = L"ShellCommands"; -EFI_HANDLE
> gShellLevel2HiiHandle = NULL;
> +EFI_HII_HANDLE gShellLevel2HiiHandle = NULL;
> 
>  /**
>    Get the filename to get help text from if not using HII.
> diff --git
> a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3Commands
> Lib.c
> b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3Commands
> Lib.c
> index 7d2cc4a48371..ce4afd117aa1 100644
> ---
> a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3Commands
> Lib.c
> +++
> b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3Command
> +++ sLib.c
> @@ -9,7 +9,7 @@
>  #include "UefiShellLevel3CommandsLib.h"
> 
>  CONST CHAR16 gShellLevel3FileName[] = L"ShellCommands"; -EFI_HANDLE
> gShellLevel3HiiHandle = NULL;
> +EFI_HII_HANDLE gShellLevel3HiiHandle = NULL;
> 
>  /**
>    return the filename to get help from is not using HII.
> diff --git a/ShellPkg/Library/UefiShellLib/UefiShellLib.c
> b/ShellPkg/Library/UefiShellLib/UefiShellLib.c
> index 5be530092e1b..835d0f88ca74 100644
> --- a/ShellPkg/Library/UefiShellLib/UefiShellLib.c
> +++ b/ShellPkg/Library/UefiShellLib/UefiShellLib.c
> @@ -2997,7 +2997,7 @@ ShellPrintHiiEx(
>    IN INT32                Row OPTIONAL,
>    IN CONST CHAR8          *Language OPTIONAL,
>    IN CONST EFI_STRING_ID  HiiFormatStringId,
> -  IN CONST EFI_HANDLE     HiiFormatHandle,
> +  IN CONST EFI_HII_HANDLE HiiFormatHandle,
>    ...
>    )
>  {
> @@ -3609,7 +3609,7 @@ EFIAPI
>  ShellPromptForResponseHii (
>    IN SHELL_PROMPT_REQUEST_TYPE         Type,
>    IN CONST EFI_STRING_ID  HiiFormatStringId,
> -  IN CONST EFI_HANDLE     HiiFormatHandle,
> +  IN CONST EFI_HII_HANDLE HiiFormatHandle,
>    IN OUT VOID             **Response
>    )
>  {
> diff --git
> a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.c
> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.c
> index 7e823cabd2fe..9a2b23fdc5ba 100644
> ---
> a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.c
> +++
> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> +++ mandsLib.c
> @@ -8,7 +8,7 @@
>  #include "UefiShellNetwork1CommandsLib.h"
> 
>  CONST CHAR16 gShellNetwork1FileName[] = L"ShellCommands"; -
> EFI_HANDLE gShellNetwork1HiiHandle = NULL;
> +EFI_HII_HANDLE gShellNetwork1HiiHandle = NULL;
> 
>  /**
>    return the file name of the help text file if not using HII.
> diff --git
> a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.c
> b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.c
> index 5a7ffbfa19eb..4aab4295c1ba 100644
> ---
> a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.c
> +++
> b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> +++ mandsLib.c
> @@ -8,7 +8,7 @@
>  #include "UefiShellNetwork2CommandsLib.h"
> 
>  CONST CHAR16 gShellNetwork2FileName[] = L"ShellCommands"; -
> EFI_HANDLE gShellNetwork2HiiHandle = NULL;
> +EFI_HII_HANDLE gShellNetwork2HiiHandle = NULL;
> 
>  /**
>    return the file name of the help text file if not using HII.
> --
> 2.19.1.3.g30247aa5d201
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#48067): https://edk2.groups.io/g/devel/message/48067
Mute This Topic: https://groups.io/mt/34180232/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-