MdeModulePkg/DriverSample: Add questions with bit/union VarStore
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=545 Cc: Eric Dong <eric.dong@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
@@ -31,8 +31,24 @@ Revision History:
|
||||
#include <Guid/ZeroGuid.h>
|
||||
|
||||
#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 MyStringData[40];
|
||||
UINT16 SomethingHiddenForHtml;
|
||||
@@ -67,6 +83,11 @@ typedef struct {
|
||||
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;
|
||||
|
||||
//
|
||||
@@ -79,6 +100,17 @@ typedef struct {
|
||||
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
|
||||
//
|
||||
|
Reference in New Issue
Block a user