X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FDriverSampleDxe%2FNVDataStruc.h;h=40fb3d0964787c56ddca25479749edeeaa80d97b;hb=b4e96b82b4e2e47e95014b51787ba5b43abac784;hp=4fbd6a5650e2724c6f1fb1fffd20163823551985;hpb=7064c0a5aa3eabe99be9c143e4abaa73d7139609;p=mirror_edk2.git diff --git a/MdeModulePkg/Universal/DriverSampleDxe/NVDataStruc.h b/MdeModulePkg/Universal/DriverSampleDxe/NVDataStruc.h index 4fbd6a5650..40fb3d0964 100644 --- a/MdeModulePkg/Universal/DriverSampleDxe/NVDataStruc.h +++ b/MdeModulePkg/Universal/DriverSampleDxe/NVDataStruc.h @@ -1,7 +1,7 @@ /** @file -Copyright (c) 2007 - 2008, Intel Corporation -All rights reserved. This program and the accompanying materials +Copyright (c) 2007 - 2017, 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 which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php @@ -25,24 +25,32 @@ Revision History: #ifndef _NVDATASTRUC_H_ #define _NVDATASTRUC_H_ -#define FORMSET_GUID \ - { \ - 0xA04A27f4, 0xDF00, 0x4D42, {0xB5, 0x52, 0x39, 0x51, 0x13, 0x02, 0x11, 0x3D} \ - } - -#define INVENTORY_GUID \ - { \ - 0xb3f56470, 0x6141, 0x4621, {0x8f, 0x19, 0x70, 0x4e, 0x57, 0x7a, 0xa9, 0xe8} \ - } +#include +#include +#include +#include #define CONFIGURATION_VARSTORE_ID 0x1234 +#define BITS_VARSTORE_ID 0x2345 #pragma pack(1) + +typedef struct { + UINT16 NestByteField; + UINT8 : 1; // unamed field can be used for padding + UINT8 NestBitCheckbox : 1; + UINT8 NestBitOneof : 2; + UINT8 : 0; // Special width 0 can be used to force alignment at the next word boundary + UINT8 NestBitNumeric : 4; +} MY_BITS_DATA; + +typedef union { + UINT16 BitField : 10; + UINT8 ByteField; +} MY_EFI_UNION_DATA; + typedef struct { - UINT16 WhatIsThePassword[20]; - UINT16 WhatIsThePassword2[20]; UINT16 MyStringData[40]; - UINT16 PasswordClearText[20]; UINT16 SomethingHiddenForHtml; UINT8 HowOldAreYouInYearsManual; UINT16 HowTallAreYouManual; @@ -55,11 +63,31 @@ typedef struct { UINT8 ChooseToActivateNuclearWeaponry; UINT8 SuppressGrayOutSomething; UINT8 OrderedList[8]; - UINT8 BootOrder[8]; + UINT16 BootOrder[8]; UINT8 BootOrderLarge; UINT8 DynamicRefresh; UINT8 DynamicOneof; UINT8 DynamicOrderedList[5]; + UINT8 Reserved; + EFI_HII_REF RefData; + UINT8 NameValueVar0; + UINT16 NameValueVar1; + UINT16 NameValueVar2[20]; + UINT8 SerialPortNo; + UINT8 SerialPortStatus; + UINT16 SerialPortIo; + UINT8 SerialPortIrq; + UINT8 GetDefaultValueFromCallBack; + UINT8 GetDefaultValueFromAccess; + EFI_HII_TIME Time; + UINT8 RefreshGuidCount; + UINT8 Match2; + UINT8 GetDefaultValueFromCallBackForOrderedList[3]; + UINT8 BitCheckbox : 1; + UINT16 BitOneof : 6; + UINT16 BitNumeric : 12; + MY_BITS_DATA MyBitData; + MY_EFI_UNION_DATA MyUnionData; } DRIVER_SAMPLE_CONFIGURATION; // @@ -69,8 +97,27 @@ typedef struct { UINT8 Field8; UINT16 Field16; UINT8 OrderedList[3]; -} MY_DATA2; + UINT16 SubmittedCallback; +} MY_EFI_VARSTORE_DATA; + +// +// 3rd NV data structure definition +// +typedef struct { + MY_BITS_DATA BitsData; + UINT32 EfiBitGrayoutTest : 5; + UINT32 EfiBitNumeric : 4; + UINT32 EfiBitOneof : 10; + UINT32 EfiBitCheckbox : 1; +} MY_EFI_BITS_VARSTORE_DATA; +// +// Labels definition +// +#define LABEL_UPDATE1 0x1234 +#define LABEL_UPDATE2 0x2234 +#define LABEL_UPDATE3 0x3234 +#define LABEL_END 0x2223 #pragma pack()