/** @file\r
\r
-Copyright (c) 2007, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
Module Name:\r
\r
#include <Protocol/HiiConfigAccess.h>\r
#include <Protocol/HiiDatabase.h>\r
#include <Protocol/HiiString.h>\r
+#include <Protocol/FormBrowserEx.h>\r
+#include <Protocol/HiiConfigKeyword.h>\r
+#include <Protocol/HiiPopup.h>\r
\r
#include <Guid/MdeModuleHii.h>\r
#include <Library/DebugLib.h>\r
+#include <Library/BaseLib.h>\r
#include <Library/BaseMemoryLib.h>\r
#include <Library/UefiRuntimeServicesTableLib.h>\r
#include <Library/UefiDriverEntryPoint.h>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/HiiLib.h>\r
#include <Library/DevicePathLib.h>\r
+#include <Library/PrintLib.h>\r
+#include <Library/UefiLib.h>\r
\r
#include "NVDataStruc.h"\r
\r
-//\r
-// This is the generated <AltResp> for defaults defined in VFR\r
-//\r
-extern UINT8 VfrMyIfrNVDataDefault0000[];\r
-extern UINT8 VfrMyIfrNVDataDefault0001[];\r
-extern UINT8 VfrMyIfrNVDataBlockName[];\r
-\r
//\r
// This is the generated IFR binary data for each formset defined in VFR.\r
-// This data array is ready to be used as input of HiiLibPreparePackageList() to\r
+// This data array is ready to be used as input of HiiAddPackages() to\r
// create a packagelist (which contains Form packages, String packages, etc).\r
//\r
extern UINT8 VfrBin[];\r
\r
//\r
// This is the generated String package data for all .UNI files.\r
-// This data array is ready to be used as input of HiiLibPreparePackageList() to\r
+// This data array is ready to be used as input of HiiAddPackages() to\r
// create a packagelist (which contains Form packages, String packages, etc).\r
//\r
extern UINT8 DriverSampleStrings[];\r
#define DYNAMIC_ONE_OF_VAR_OFFSET OFFSET_OF (DRIVER_SAMPLE_CONFIGURATION, DynamicOneof)\r
#define DYNAMIC_ORDERED_LIST_VAR_OFFSET OFFSET_OF (DRIVER_SAMPLE_CONFIGURATION, DynamicOrderedList)\r
\r
-#define DRIVER_SAMPLE_PRIVATE_SIGNATURE SIGNATURE_32 ('D', 'S', 'p', 's')\r
+#define DEFAULT_CLASS_MANUFACTURING_VALUE 0xFF\r
+#define DEFAULT_CLASS_STANDARD_VALUE 0x0\r
+\r
+//\r
+// Number of name in Name/Value storage\r
+//\r
+#define NAME_VALUE_NAME_NUMBER 3\r
+\r
+#define DRIVER_SAMPLE_PRIVATE_SIGNATURE SIGNATURE_32 ('D', 'S', 'p', 's')\r
\r
typedef struct {\r
- UINTN Signature;\r
+ UINTN Signature;\r
+\r
+ EFI_HANDLE DriverHandle[2];\r
+ EFI_HII_HANDLE HiiHandle[2];\r
+ DRIVER_SAMPLE_CONFIGURATION Configuration;\r
+ MY_EFI_VARSTORE_DATA VarStoreConfig;\r
+ MY_EFI_BITS_VARSTORE_DATA BitsVarStoreConfig;\r
+ MY_EFI_UNION_DATA UnionConfig;\r
\r
- EFI_HANDLE DriverHandle[2];\r
- EFI_HII_HANDLE HiiHandle[2];\r
- DRIVER_SAMPLE_CONFIGURATION Configuration;\r
- UINT8 PasswordState;\r
+ //\r
+ // Name/Value storage Name list\r
+ //\r
+ EFI_STRING_ID NameStringId[NAME_VALUE_NAME_NUMBER];\r
+ EFI_STRING NameValueName[NAME_VALUE_NAME_NUMBER];\r
\r
//\r
// Consumed protocol\r
//\r
- EFI_HII_DATABASE_PROTOCOL *HiiDatabase;\r
- EFI_HII_STRING_PROTOCOL *HiiString;\r
- EFI_HII_CONFIG_ROUTING_PROTOCOL *HiiConfigRouting;\r
- EFI_FORM_BROWSER2_PROTOCOL *FormBrowser2;\r
+ EFI_HII_DATABASE_PROTOCOL *HiiDatabase;\r
+ EFI_HII_STRING_PROTOCOL *HiiString;\r
+ EFI_HII_CONFIG_ROUTING_PROTOCOL *HiiConfigRouting;\r
+ EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *HiiKeywordHandler;\r
+ EFI_HII_POPUP_PROTOCOL *HiiPopup;\r
+\r
+ EFI_FORM_BROWSER2_PROTOCOL *FormBrowser2;\r
\r
//\r
// Produced protocol\r
//\r
- EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;\r
+ EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;\r
} DRIVER_SAMPLE_PRIVATE_DATA;\r
\r
#define DRIVER_SAMPLE_PRIVATE_FROM_THIS(a) CR (a, DRIVER_SAMPLE_PRIVATE_DATA, ConfigAccess, DRIVER_SAMPLE_PRIVATE_SIGNATURE)\r
/// HII specific Vendor Device Path definition.\r
///\r
typedef struct {\r
- VENDOR_DEVICE_PATH VendorDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL End;\r
+ VENDOR_DEVICE_PATH VendorDevicePath;\r
+ EFI_DEVICE_PATH_PROTOCOL End;\r
} HII_VENDOR_DEVICE_PATH;\r
\r
#pragma pack()\r