1 /** @file
2 
3 Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution.  The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8 
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 
12 Module Name:
13 
14   NVDataStruc.h
15 
16 Abstract:
17 
18   NVData structure used by the sample driver
19 
20 Revision History:
21 
22 
23 **/
24 
25 #ifndef _NVDATASTRUC_H_
26 #define _NVDATASTRUC_H_
27 
28 #include <Guid/HiiPlatformSetupFormset.h>
29 #include <Guid/HiiFormMapMethodGuid.h>
30 #include <Guid/DriverSampleHii.h>
31 #include <Guid/ZeroGuid.h>
32 
33 #define CONFIGURATION_VARSTORE_ID    0x1234
34 
35 #pragma pack(1)
36 typedef struct {
37   UINT16  WhatIsThePassword[20];
38   UINT16  WhatIsThePassword2[20];
39   UINT16  MyStringData[40];
40   UINT16  PasswordClearText[20];
41   UINT16  SomethingHiddenForHtml;
42   UINT8   HowOldAreYouInYearsManual;
43   UINT16  HowTallAreYouManual;
44   UINT8   HowOldAreYouInYears;
45   UINT16  HowTallAreYou;
46   UINT8   MyFavoriteNumber;
47   UINT8   TestLateCheck;
48   UINT8   TestLateCheck2;
49   UINT8   QuestionAboutTreeHugging;
50   UINT8   ChooseToActivateNuclearWeaponry;
51   UINT8   SuppressGrayOutSomething;
52   UINT8   OrderedList[8];
53   UINT16  BootOrder[8];
54   UINT8   BootOrderLarge;
55   UINT8   DynamicRefresh;
56   UINT8   DynamicOneof;
57   UINT8   DynamicOrderedList[5];
58   UINT8   Reserved;
59   EFI_HII_REF RefData;
60   UINT8   NameValueVar0;
61   UINT16  NameValueVar1;
62   UINT16  NameValueVar2[20];
63   UINT8   SerialPortNo;
64   UINT8   SerialPortStatus;
65   UINT16  SerialPortIo;
66   UINT8   SerialPortIrq;
67   UINT8   GetDefaultValueFromCallBack;
68   UINT8   GetDefaultValueFromAccess;
69   EFI_HII_TIME  Time;
70   UINT8   RefreshGuidCount;
71   UINT8   Match2;
72 } DRIVER_SAMPLE_CONFIGURATION;
73 
74 //
75 // 2nd NV data structure definition
76 //
77 typedef struct {
78   UINT8         Field8;
79   UINT16        Field16;
80   UINT8         OrderedList[3];
81 } MY_EFI_VARSTORE_DATA;
82 
83 //
84 // Labels definition
85 //
86 #define LABEL_UPDATE1               0x1234
87 #define LABEL_UPDATE2               0x2234
88 #define LABEL_UPDATE3               0x3234
89 #define LABEL_END                   0x2223
90 
91 #pragma pack()
92 
93 #endif
94