From 256aa6d04a59bf8ef5149a1e3c9fe72cf0774111 Mon Sep 17 00:00:00 2001 From: Samer El-Haj-Mahmoud Date: Tue, 22 Dec 2015 02:13:18 +0000 Subject: [PATCH] ShellPkg: Add AIP IPv6 UNDI support to Shell dh Update Shell DH command to decode and print the value of gEfiAdapterInfoUndiIpv6SupportGuid AIP instance. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Samer El-Haj-Mahmoud Reviewed-by: Jaben Carsey git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19437 6f19259b-4bc3-4df7-8a09-765794883524 --- .../UefiHandleParsingLib.c | 21 +++++++++++++++++-- .../UefiHandleParsingLib.inf | 4 +++- .../UefiHandleParsingLib.uni | 4 +++- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c index 6f093ffe0e..4c46e5e48d 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c @@ -1,9 +1,9 @@ /** @file Provides interface to advanced shell functionality for parsing both handle and protocol database. - (C) Copyright 2015 Hewlett Packard Enterprise Development LP
- (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.
Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.
+ (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.
+ (C) Copyright 2015 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -690,6 +690,10 @@ AdapterInformationDumpInformation ( TempRetVal = CatSPrint (RetVal, TempStr, L"gEfiAdapterInfoSanMacAddressGuid"); SHELL_FREE_NON_NULL (RetVal); RetVal = TempRetVal; + } else if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoUndiIpv6SupportGuid)) { + TempRetVal = CatSPrint (RetVal, TempStr, L"gEfiAdapterInfoUndiIpv6SupportGuid"); + SHELL_FREE_NON_NULL (RetVal); + RetVal = TempRetVal; } else { GuidStr = GetStringNameFromGuid (&InfoTypesBuffer[GuidIndex], NULL); @@ -782,6 +786,19 @@ AdapterInformationDumpInformation ( ); SHELL_FREE_NON_NULL (RetVal); RetVal = TempRetVal; + } else if (CompareGuid (&InfoTypesBuffer[GuidIndex], &gEfiAdapterInfoUndiIpv6SupportGuid) == TRUE) { + TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_UNDI_IPV6_INFO), NULL); + if (TempStr == NULL) { + goto ERROR_EXIT; + } + + TempRetVal = CatSPrint ( + RetVal, + TempStr, + ((EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT *)InformationBlock)->Ipv6Support + ); + SHELL_FREE_NON_NULL (RetVal); + RetVal = TempRetVal; } else { TempStr = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_UNKNOWN_INFO_TYPE), NULL); if (TempStr == NULL) { diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf index 4a19e39450..52eed8604e 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf @@ -1,7 +1,8 @@ ## @file # Provides interface to advanced shell functionality for parsing both handle and protocol database. -# (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.
# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.
+# (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.
+# (C) Copyright 2015 Hewlett Packard Enterprise Development LP
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -309,6 +310,7 @@ gEfiAdapterInfoMediaStateGuid ## SOMETIMES_CONSUMES ## GUID gEfiAdapterInfoNetworkBootGuid ## SOMETIMES_CONSUMES ## GUID gEfiAdapterInfoSanMacAddressGuid ## SOMETIMES_CONSUMES ## GUID + gEfiAdapterInfoUndiIpv6SupportGuid ## SOMETIMES_CONSUMES ## GUID [Pcd.common] gEfiShellPkgTokenSpaceGuid.PcdShellPrintBufferSize ## CONSUMES diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni index f7d54855fb..3dd8896930 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni @@ -1,7 +1,8 @@ // /** // -// (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.
// Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.
+// (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.
+// (C) Copyright 2015 Hewlett Packard Enterprise Development LP
// This program and the accompanying materials // are licensed and made available under the terms and conditions of the BSD License // which accompanies this distribution. The full text of the license may be found at @@ -395,5 +396,6 @@ " iScsiIpv6Boot : %%H%d%%N\r\n" " FCoeBoot : %%H%d%%N\r\n" #string STR_SAN_MAC_ADDRESS_INFO #language en-US " SanMacAddress: %%H%02x-%02x-%02x-%02x-%02x-%02x%%N \r\n" +#string STR_UNDI_IPV6_INFO #language en-US " UNDI IPv6 Supported: %%H%d%%N \r\n" #string STR_UNKNOWN_INFO_TYPE #language en-US " The 'InformationType' - %%H%g%%N can't be recongnized\r\n" -- 2.39.2