summaryrefslogtreecommitdiff
path: root/EDK/MiniSetup/uefi2.1/CtrlCond.h
blob: 32c51ce634e248306a437e791c71b30ea45c167f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
//**                                                             **//
//**         (C)Copyright 2012, American Megatrends, Inc.        **//
//**                                                             **//
//**                     All Rights Reserved.                    **//
//**                                                             **//
//**   5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093  **//
//**                                                             **//
//**                     Phone (770)-246-8600                    **//
//**                                                             **//
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
// $Archive: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/Uefi2.1/CtrlCond.h $
//
// $Author: Arunsb $
//
// $Revision: 8 $
//
// $Date: 10/18/12 6:04a $
//
//*****************************************************************//
//*****************************************************************//
// Revision History
// ----------------
// $Log: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/Uefi2.1/CtrlCond.h $
// 
// 8     10/18/12 6:04a Arunsb
// Updated for 2.16.1235 QA submission
// 
// 5     10/10/12 12:41p Arunsb
// Synched the source for v2.16.1232, backup with Aptio
// 
// 7     2/01/12 4:59a Rajashakerg
// [TAG]  		EIP77256 
// [Category]  	Improvement
// [Description]  	Provide the Support to override the control Condition
// checking() generically. And provide customization to supress the
// controls with Security GUIDed opcode.
// [Files]  		AMITSE.sdl, CommonHelper.c, CtrlCond.c and CtrlCond.h
// 
// 6     3/28/11 11:03p Madhans
// [TAG]  		EIP56414 
// [Category]  	Improvement
// [Description]  	TSE: Support for EFI_IFR_NO_SUBMIT_IF opcode
// [Files]  		Callback.c, FakeToken.c, AMITSEstr.uni, Parse.c, CtrlCond.c,
// CtrlCond.h, ctrlcond.h, ctrlcond.c
// 
// 5     12/02/10 5:34p Madhans
// [TAG] - EIP 49559   
// [Category]- defect
// [Severity]- Mordarate
// [Symptom]- OneOption contols works ok if it stores the values in BYTE
// and Does not contain any suppressif for options.
// But it has issues in supporting UINT16, UINT32 and UINT64 storage.
// [Rootcause] - The Type is not checked for Storeage and issues with
// condition check for options.
// [Solution]- Fix done ctrlcond.c and uefi21wrapper.c 
// [Files] - CtrlCond.h, ctrlcond.c and uefi21wrapper.c 
// 
// 4     4/16/10 5:13p Madhans
// Changes for Tse 2.02. Please see Changelog.log for more details.
// 
// 3     2/19/10 8:50p Madhans
// 
// 1     7/24/09 6:54p Presannar
// 
// 1     1/09/09 2:38p Presannar
// UEFI 2.1 Hii Related Code - Initial Drop
// 
// 6     9/17/08 7:44p Madhans
// For Boot only Driver file split changes.
// 
// 5     2/14/06 1:02p Arunkumars
// 1. Added Inconsistentif feature
// 2. We publish two events before and after asking for password (see
// postmgt.c and minisetup.h)
// 
// 4     7/19/05 3:40p Jerryp
// Reduced number of parameters.
// Code spacing cleanup
// 
// 3     5/16/05 5:09p Franklynd
// 1-Support for multivariable (varstore, varstore_select,
// varstore_select_pair)
// 2-Support of optimal and failsafe defaults.
// 3- support of refresh of controls using their flag information.
// 4- added ORDERED_LIST control/
//
// 2     2/24/05 5:14p Franklynd
// 1- adding number of control after a label in control_info structure.
// 2- adding check of access flags in control (password)
// 3- color schema code moved to styles area.
//
// 1     2/16/05 7:09p Franklynd
//
//*************************************************************************
//<AMI_FHDR_START>
//
// Name:          CtrlCond.h
//
// Description:	  Header File
//
//<AMI_FHDR_END>
//*************************************************************************

//---------------------------------------------------------------------------
#include "minisetup.h"
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------
#define COND_NONE			0x0
#define COND_SUPPRESS		0x1
#define COND_HIDDEN			0x2
#define COND_GRAYOUT		0x3
#define COND_INCONSISTENT	0x4
#define COND_NOSUBMIT		0x5
//---------------------------------------------------------------------------


// functions
//UINT8 CheckControlCondition(UINT32 ControlAccess, UINT8  *CtrlPtr, UINT32 CtrlVar, UINT32 CtrlVar2, UINT8 *CondPtr);
UINT8 CheckControlCondition( CONTROL_INFO *controlInfo );
BOOLEAN CheckInconsistence( PAGE_INFO *pPageInfo );
UINT8 CheckOneOfOptionSuppressIf(CONTROL_INFO *ParentCtrlInfo, UINT8* CtrlCondPtr, UINT8* CtrlPtr);
//Start EIP : NO_SUBMIT_IF
BOOLEAN CheckNoSubmitIf( VOID );
BOOLEAN DrawMessageBox(CONTROL_INFO *pControlInfo, UINT16 Title, EFI_STRING_ID  Error);
UINT8 OEMCheckControlCondition(UINT8 FinalCond, CONTROL_INFO *controlInfo);//EIP 77256 : Provide the Support to override the control Condition checking() generically. And provide customization to supress the controls with Security GUIDed opcode.

//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2012, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**     5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093     **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************