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]
-=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-
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] -=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.