diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
index 515fab3294..8fd9c4b0bb 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
@@ -1,6 +1,7 @@
/** @file
Provides interface to advanced shell functionality for parsing both handle and protocol database.
+ Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -620,6 +621,11 @@ STATIC CONST GUID_INFO_BLOCK mGuidStringList[] = {
{STRING_TOKEN(STR_SSC), &gEfiStorageSecurityCommandProtocolGuid, NULL},
{STRING_TOKEN(STR_UC2), &gEfiUserCredential2ProtocolGuid, NULL},
+//
+// UEFI 2.4
+//
+ {STRING_TOKEN(STR_DISK_IO2), &gEfiDiskIo2ProtocolGuid, NULL},
+
//
// terminator
//
@@ -753,7 +759,7 @@ GetGuidFromStringName(
if (PcdGetBool(PcdShellIncludeNtGuids)) {
for (ListWalker = mGuidStringListNT ; ListWalker != NULL && ListWalker->GuidId != NULL ; ListWalker++) {
String = HiiGetString(mHandleParsingHiiHandle, ListWalker->StringId, Lang);
- if (Name != NULL && String != NULL && StrCmp(Name, String)==0) {
+ if (Name != NULL && String != NULL && StringNoCaseCompare (&Name, &String) == 0) {
*Guid = ListWalker->GuidId;
}
SHELL_FREE_NON_NULL(String);
@@ -764,7 +770,7 @@ GetGuidFromStringName(
}
for (ListWalker = mGuidStringList ; ListWalker != NULL && ListWalker->GuidId != NULL ; ListWalker++) {
String = HiiGetString(mHandleParsingHiiHandle, ListWalker->StringId, Lang);
- if (Name != NULL && String != NULL && StrCmp(Name, String)==0) {
+ if (Name != NULL && String != NULL && StringNoCaseCompare (&Name, &String) == 0) {
*Guid = ListWalker->GuidId;
}
SHELL_FREE_NON_NULL(String);
diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.h b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.h
index 3b1ad2bac4..767e1e68f1 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.h
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.h
@@ -1,6 +1,7 @@
/** @file
Provides interface to advanced shell functionality for parsing both handle and protocol database.
+ Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
Copyright (c) 2011 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -130,6 +131,7 @@
#include
#include
#include
+#include
#include
#include
@@ -143,6 +145,7 @@
#include
#include
#include
+#include
typedef struct {
LIST_ENTRY Link;
diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
index 15226a0b2e..83f8733cde 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
@@ -1,5 +1,6 @@
## @file
# Provides interface to advanced shell functionality for parsing both handle and protocol database.
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
# Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
#
# This program and the accompanying materials
@@ -47,6 +48,7 @@
PrintLib
UefiLib
HiiLib
+ SortLib
[Protocols]
gEfiSimpleFileSystemProtocolGuid ##CONSUMES
@@ -167,6 +169,7 @@
gEfiTcgProtocolGuid ##UNDEFINED
gEfiHiiPackageListProtocolGuid ##UNDEFINED
gEfiDriverFamilyOverrideProtocolGuid ##UNDEFINED
+ gEfiDiskIo2ProtocolGuid ##UNDEFINED
[Guids]
gEfiFileInfoGuid ##CONSUMES
diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni
index 6a9074eafe..eed23c9300 100644
Binary files a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni and b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni differ