summaryrefslogtreecommitdiff
path: root/EDK/MiniSetup/uefi2.1/FormBrowser2.h
blob: 1ba0808bacd42fc7fff9af9118abcb27956b9dd5 (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
147
148
149
150
151
152
153
154
155
156
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
//**                                                             **//
//**         (C)Copyright 2004, American Megatrends, Inc.        **//
//**                                                             **//
//**                     All Rights Reserved.                    **//
//**                                                             **//
//**           6145-F Northbelt Pkwy, Norcross, GA 30071         **//
//**                                                             **//
//**                     Phone (770)-246-8600                    **//
//**                                                             **//
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
// $Archive: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/Uefi2.1/FormBrowser2.h $
//
// $Author: Arunsb $
//
// $Revision: 9 $
//
// $Date: 10/18/12 6:04a $
//
//*****************************************************************//
//*****************************************************************//
// Revision History
// ----------------
// $Log: /Alaska/SOURCE/Modules/AMITSE2_0/AMITSE/Uefi2.1/FormBrowser2.h $
// 
// 9     10/18/12 6:04a Arunsb
// Updated for 2.16.1235 QA submission
// 
// 4     10/10/12 12:41p Arunsb
// Synched the source for v2.16.1232, backup with Aptio
// 
// 8     9/17/12 6:22a Rajashakerg
// Updated EIP changes for 2.16 release.
// 
// 6     9/08/12 3:53p Premkumara
// [TAG]  		EIP 100546
// [Category]  	Bug Fix
// [Severity]  	Important
// [Symptom]  	Old core(such as 4.6.4.0) is not building successfully with
// latest TSE
// [RootCause]  	BROWSER_ACTION related request macro are not defined in
// TSE
// [Solution]  	Defined BROWSER_ACTION related request macros in
// FormBrowser2.h
// [Files]  		FormBrowser2.h
// 
// 5     12/07/11 8:13a Rajashakerg
// [TAG]  		EIP75118 
// [Category]  	Improvement
// [Description]  	xtractConfig() fail since BrowserCallback() cannot find
// the variable to process
// [Files]  		FormBrowser2.c, FormBrowser2.h, HiiCallback.c,
// Uefi21Wapper.c, PopupSel.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
// 
// 2     4/14/09 12:36p Presannar
// Added Fn prototype FormBrowserLocateSetupHandles and
// FormBrowserHandleValid
// 
// 1     1/09/09 2:38p Presannar
// UEFI 2.1 Hii Related Code - Initial Drop
// 
// 1     12/29/08 4:46p Presannar
// FormBrowser2 protocol Send Form and BrowserCallback initial draft
//
//*************************************************************************
//<AMI_FHDR_START>
//
// Name:          FormBrowser2.h
//
// Description:
//
//<AMI_FHDR_END>
//*************************************************************************

//----------------------------------------------------------------------------
#ifndef _FORM_BROWSER2_H
#define _FORM_BROWSER2_H
//----------------------------------------------------------------------------

//----------------------------------------------------------------------------
#include "Minisetup.h"
#include EFI_PROTOCOL_DEFINITION (FormBrowser2)
//----------------------------------------------------------------------------
//Added for UEFI spec. 2.3 compatibility- EIP-100546 Start
#ifndef EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT
#define EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT 	4
#endif

#ifndef EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT
#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT	5
#endif

#ifndef EFI_BROWSER_ACTION_REQUEST_FORM_APPLY
#define EFI_BROWSER_ACTION_REQUEST_FORM_APPLY	6
#endif

#ifndef EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD
#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD	7
#endif
//Added for UEFI spec. 2.3 compatibility- EIP-100546 End
VOID SetCallBackControlInfo(EFI_HANDLE VarHandle, UINT32 VarIndex);

EFI_STATUS  InstallFormBrowserProtocol(EFI_HANDLE Handle);
VOID UnInstallFormBrowserProtocol(EFI_HANDLE Handle);

EFI_STATUS
EFIAPI
SendForm (
  IN  CONST EFI_FORM_BROWSER2_PROTOCOL *This,
  IN  EFI_HII_HANDLE                   *Handles,
  IN  UINTN                            HandleCount,
  IN  EFI_GUID                         *FormSetGuid, OPTIONAL
  IN  UINT16                           FormId, OPTIONAL
  IN  CONST EFI_SCREEN_DESCRIPTOR      *ScreenDimensions, OPTIONAL
  OUT EFI_BROWSER_ACTION_REQUEST       *ActionRequest  OPTIONAL
  );

EFI_STATUS
EFIAPI
BrowserCallback (
  IN CONST EFI_FORM_BROWSER2_PROTOCOL  *This,
  IN OUT UINTN                         *ResultsDataSize,
  IN OUT EFI_STRING                    ResultsData,
  IN BOOLEAN                           RetrieveData,
  IN CONST EFI_GUID                    *VariableGuid, OPTIONAL
  IN CONST CHAR16                      *VariableName  OPTIONAL
  );

EFI_STATUS FormBrowserLocateSetupHandles(VOID*	**handleBuffer,UINT16 *count);
BOOLEAN FormBrowserHandleValid(VOID);

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