/** @file\r
Shell application for VLAN configuration.\r
\r
- Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/HiiLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/UefiHiiServicesLib.h>\r
#include <Library/NetLib.h>\r
\r
+//\r
+// String token ID of VConfig command help message text.\r
+//\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringVConfigHelpTokenId = STRING_TOKEN (STR_VCONFIG_HELP);\r
+\r
#define INVALID_NIC_INDEX 0xffff\r
#define INVALID_VLAN_ID 0xffff\r
\r
{\r
LIST_ENTRY *List;\r
CONST CHAR16 *Str;\r
+ EFI_HII_PACKAGE_LIST_HEADER *PackageList;\r
+ EFI_STATUS Status;\r
\r
mImageHandle = ImageHandle;\r
+ \r
+ //\r
+ // Retrieve HII package list from ImageHandle\r
+ //\r
+ Status = gBS->OpenProtocol (\r
+ ImageHandle,\r
+ &gEfiHiiPackageListProtocolGuid,\r
+ (VOID **) &PackageList,\r
+ ImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
\r
//\r
- // Register our string package to HII database.\r
+ // Publish HII package list to HII Database.\r
//\r
- mHiiHandle = HiiAddPackages (&gEfiCallerIdGuid, ImageHandle, VConfigStrings, NULL);\r
+ Status = gHiiDatabase->NewPackageList (\r
+ gHiiDatabase,\r
+ PackageList,\r
+ NULL,\r
+ &mHiiHandle\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
if (mHiiHandle == NULL) {\r
return EFI_SUCCESS;\r
}\r
goto Exit;\r
}\r
\r
- if (ShellCommandLineGetFlag (List, L"-?")) {\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_VCONFIG_HELP), mHiiHandle);\r
- goto Exit;\r
- }\r
-\r
if (ShellCommandLineGetFlag (List, L"-l")) {\r
Str = ShellCommandLineGetValue (List, L"-l");\r
DisplayVlan ((CHAR16 *) Str);\r