summaryrefslogtreecommitdiff
path: root/Core/EM/AMITSE/Inc/HookAnchor.h
blob: 106d722686ecffaf5ed7ed25a37a55fce7084d6f (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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
//**                                                             **//
//**         (C)Copyright 2011, American Megatrends, Inc.        **//
//**                                                             **//
//**                     All Rights Reserved.                    **//
//**                                                             **//
//**   5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093  **//
//**                                                             **//
//**                     Phone (770)-246-8600                    **//
//**                                                             **//
//*****************************************************************//
//*****************************************************************//
//*****************************************************************//
// $Archive: /Alaska/BIN/Modules/AMITSE2_0/AMITSE/Inc/HookAnchor.h $
//
// $Author: Premkumara $
//
// $Revision: 10 $
//
// $Date: 3/06/13 12:20a $
//
//*****************************************************************//
//*****************************************************************//
// Revision History
// ----------------
// $Log: /Alaska/BIN/Modules/AMITSE2_0/AMITSE/Inc/HookAnchor.h $
// 
// 10    3/06/13 12:20a Premkumara
// [TAG]  		EIP111415
// [Category]  	Improvement
// [Description]  	Elink function for SETUP_TOGGLE_KEY_UNICODE function
// [Files]  		HookAnchor.h, AMITSE.sdl, commonoem.c, Commonoem.h,
// HookList.c, HookAnchor.c
// 
// 9     10/18/12 5:31a Arunsb
// Updated for 2.16.1235 QA submission
// 
// 11    10/10/12 12:23p Arunsb
// Synched the source for v2.16.1232 backup with Aptio
// 
// 8     11/20/11 6:33a Rajashakerg
// [TAG]  		EIP62763 
// [Category]  	Improvement
// [Description]  	Utilize the Improvements done from mouse driver in
// AMITSE
// [Files]  		HookAnchor.h, TseCommon.h, AMITSE.sdl, CommonHelper.c,
// commonoem.c, commonoem.h, buffer.c, globals.c, HookAnchor.c,
// minisetup.h, notify.c, postmgmt.c, protocol.c, ezport.c, stylecommon.c,
// Mouse.c, Action.c, Date.c, frame.c, MessageBox.c, minisetupext.c,
// minisetupext.h, numeric.c, numeric.h, page.c, PopupEdit.c, PopupEdit.h,
// PopupPassword.c, postmgmtext.c, time.c.
// 
// 7     3/28/11 9:06p Madhans
// [TAG]  		EIP41744 
// [Category]  	Improvement
// [Description]  	SoftKeyBoard Support in TSE. and Support to Work with
// new mouse driver(Label 07).
// [Files]  		HookAnchor.h
// AMITSE.sdl
// CommonHelper.c
// commonoem.c
// commonoem.h
// HookList.c
// HookAnchor.c
// Mouse.c
// minisetupext.c
// postmgmtext.c
// minisetupext.h
// PopupPassword.c
// PopupString.c
// TseLiteCommon.c
// 
// 6     9/16/10 8:39p Madhans
// Updated for TSE 2.10. Refer changelog.log for more deatils.
// 
// 5     6/04/10 12:12p Blaines
// Created new AMITSE hook, hook33
// 
// 4     4/16/10 5:11p Madhans
// Changes for Tse 2.02. Please see Changelog.log for more details.
// 
// 3     2/19/10 12:59p Madhans
// Updated for TSE 2.01. Refer Changelog.log for File change history.
// 
// 5     2/19/10 7:59a Mallikarjunanv
// updated the year in copyright message
// 
// 4     2/04/10 11:08p Madhans
// MapControlMouseAction hook added
// 
// 3     9/15/09 9:03a Sudhirv
// added two hooks one for LoadSetupDefaults and the other for
// PreSystemReset
// 
// 2     6/24/09 6:33p Madhans
// Coding Standards.
// 
// 1     6/09/09 9:53a Madhans
// TSE 2.00.1201
// 
// 1     6/04/09 7:49p Madhans
// AMI TSE Advanced.
// 
// 1     4/28/09 10:50p Madhans
// Tse 2.0 Code complete Checkin.
// 
// 1     4/28/09 10:24p Madhans
// Tse 2.0 Code complete Checkin.
// 
//
//*****************************************************************//
//*****************************************************************//
//<AMI_FHDR_START>
//----------------------------------------------------------------------------
//
// Name:		hookanchor.h
//
// Description:	TSE hook functions
//
//----------------------------------------------------------------------------
//<AMI_FHDR_END>

#ifndef _HOOKANCHOR_H_
#define	_HOOKANCHOR_H_

#if TSE_USE_AMI_EFI_KEYCODE_PROTOCOL
#include <Protocol/AmiKeyCode.h>
#else
#ifndef _AMI_EFI_KEY_DATA_
#define _AMI_EFI_KEY_DATA_
typedef struct {
  EFI_INPUT_KEY  Key;
} AMI_EFI_KEY_DATA;
#endif
#endif

VOID DrawQuietBootLogoHook(VOID);
BOOLEAN ProcessConInAvailabilityHook(VOID);
VOID ProcessEnterSetupHook(VOID);
VOID ProcessProceedToBootHook(VOID);
VOID MinisetupDriverEntryHookHook(VOID);
VOID PostManagerHandShakeHookHook(VOID);
CONTROL_ACTION MapControlKeysHook(AMI_EFI_KEY_DATA key);
VOID CheckForKeyHook( EFI_EVENT Event, VOID *Context );
VOID CheckForClickHook( EFI_EVENT Event, VOID *Context );//EIP 62763 : Utilize the Improvements done from mouse driver in AMITSE 
VOID BeforeLegacyBootLaunchHook(VOID);
VOID AfterLegacyBootLaunchHook(VOID);
VOID BeforeEfiBootLaunchHook(VOID);
VOID AfterEfiBootLaunchHook(VOID);
VOID SavedConfigChangesHook(VOID);
VOID LoadedConfigDefaultsHook(VOID);
VOID TimeOutLoopHookHook(VOID);
EFI_STATUS	OemKey1HookHook ( BOOT_FLOW *bootFlowPtr );
EFI_STATUS	OemKey2HookHook ( BOOT_FLOW *bootFlowPtr );
EFI_STATUS	OemKey3HookHook ( BOOT_FLOW *bootFlowPtr );
EFI_STATUS	OemKey4HookHook ( BOOT_FLOW *bootFlowPtr );
VOID PasswordEncodeHook( CHAR16 *Password, UINTN MaxSize);
EFI_STATUS SetControlColorsHook(UINT8 *BGColor, UINT8 *FGColor, UINT8 *SecBGColor, UINT8 *SecFGColor, 
								 UINT8 *SelBGColor, UINT8 *SelFGColor, UINT8 *NSelBGColor, UINT8 *NSelFGColor,
								 UINT8 *LabelBGColor, UINT8 *LabelFGColor,UINT8 *NSelLabelFGColor, UINT8 *EditBGColor, UINT8 *EditFGColor,
								 UINT8 *PopupFGColor, UINT8 *PopupBGColor);
VOID InvalidActionHookHook(VOID);
VOID LoadedUserDefaultsHook(VOID);
VOID LoadedBuildDefaultsHook(VOID);
VOID LoadedPreviousValuesHook(VOID);
VOID SetupConfigModifiedHook(VOID);
VOID DrawPopupMenuHook();
VOID BbsBootHook();
VOID LoadSetupDefaultsHook( NVRAM_VARIABLE *defaults, UINTN data );
VOID PreSystemResetHookHook(VOID);
CONTROL_ACTION MapControlMouseActionHook(VOID *pMouseInfo);
VOID ProcessProceedToBootNowHook(VOID);
VOID ProcessConOutAvailableHook(VOID);
VOID ProcessUIInitHookHook(VOID);
VOID AfterInitPostScreenHook(VOID);
VOID SwitchToPostScreenHook(VOID);//EIP-111415 SwitchToPostScreenHook

VOID LastTSEHook(VOID);

typedef VOID (TSE_HOOK) (VOID);
typedef BOOLEAN (TSE_HOOK_T1) ();
typedef CONTROL_ACTION (TSE_HOOK_T2) (AMI_EFI_KEY_DATA key);
typedef VOID (TSE_HOOK_T3) (EFI_EVENT Event, VOID *Context);
typedef EFI_STATUS (TSE_HOOK_T4) (BOOT_FLOW *bootFlowPtr);
typedef VOID (TSE_HOOK_T5) (CHAR16 *Password, UINTN MaxSize);
typedef EFI_STATUS (TSE_HOOK_T6) (UINT8 *BGColor, UINT8 *FGColor, UINT8 *SecBGColor, UINT8 *SecFGColor, 
								 UINT8 *SelBGColor, UINT8 *SelFGColor, UINT8 *NSelBGColor, UINT8 *NSelFGColor,
								 UINT8 *LabelBGColor, UINT8 *LabelFGColor,UINT8 *NSelLabelFGColor, UINT8 *EditBGColor, UINT8 *EditFGColor,
								 UINT8 *PopupFGColor, UINT8 *PopupBGColor);
typedef CONTROL_ACTION (TSE_HOOK_T7) (VOID *MouseInfo);

extern TSE_HOOK * AMITSE_HookList [];

extern UINTN gHookBase;

#define HOOKID0		(gHookBase)
#define HOOKID1		(gHookBase+1)
#define HOOKID2		(gHookBase+2)
#define HOOKID3		(gHookBase+3)
#define HOOKID4		(gHookBase+4)
#define HOOKID5		(gHookBase+5)
#define HOOKID6		(gHookBase+6)
#define HOOKID7		(gHookBase+7)
#define HOOKID8		(gHookBase+8)
#define HOOKID9		(gHookBase+9)
#define HOOKID10	(gHookBase+10)
#define HOOKID11	(gHookBase+11)
#define HOOKID12	(gHookBase+12)
#define HOOKID13	(gHookBase+13)
#define HOOKID14	(gHookBase+14)
#define HOOKID15	(gHookBase+15)
#define HOOKID16	(gHookBase+16)
#define HOOKID17	(gHookBase+17)
#define HOOKID18	(gHookBase+18)
#define HOOKID19	(gHookBase+19)
#define HOOKID20	(gHookBase+20)
#define HOOKID21	(gHookBase+21)
#define HOOKID22	(gHookBase+22)
#define HOOKID23	(gHookBase+23)
#define HOOKID24	(gHookBase+24)
#define HOOKID25	(gHookBase+25)
#define HOOKID26	(gHookBase+26)
#define HOOKID27	(gHookBase+27)
#define HOOKID28	(gHookBase+28)
#define HOOKID29	(gHookBase+29)
#define HOOKID30	(gHookBase+30)
#define HOOKID31	(gHookBase+31)
#define HOOKID32	(gHookBase+32)
#define HOOKID33	(gHookBase+33)
#define HOOKID34	(gHookBase+34)
#define HOOKID35	(gHookBase+35)
#define HOOKID36	(gHookBase+36)
#define HOOKID37	(gHookBase+37)//EIP-SwitchToPostScreenHook


#endif /* _HOOKANCHOR_H_ */

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