3 Copyright (c) 2004 - 2008, Intel Corporation
4 All rights reserved. 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
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.
18 FrontPage routines to handle the callbacks and browser calls
27 #include "DeviceMngr/DeviceManager.h"
28 #include "BootMaint/BootMaint.h"
29 #include "BootMngr/BootManager.h"
32 #define ONE_SECOND 10000000
35 // This is the VFR compiler generated header file which defines the
36 // string identifiers.
38 #define PRINTABLE_LANGUAGE_NAME_STRING_ID 0x0001
41 // These are defined as the same with vfr file
43 #define FRONT_PAGE_FORM_ID 0x1000
45 #define FRONT_PAGE_KEY_CONTINUE 0x1000
46 #define FRONT_PAGE_KEY_LANGUAGE 0x1234
47 #define FRONT_PAGE_KEY_BOOT_MANAGER 0x1064
48 #define FRONT_PAGE_KEY_DEVICE_MANAGER 0x8567
49 #define FRONT_PAGE_KEY_BOOT_MAINTAIN 0x9876
51 #define LABEL_SELECT_LANGUAGE 0x1000
53 #define FRONT_PAGE_FORMSET_GUID \
55 0x9e0c30bc, 0x3f06, 0x4ba6, 0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe \
58 #define FRONT_PAGE_CALLBACK_DATA_SIGNATURE EFI_SIGNATURE_32 ('F', 'P', 'C', 'B')
64 // HII relative handles
66 EFI_HII_HANDLE HiiHandle
;
67 EFI_HANDLE DriverHandle
;
68 EFI_STRING_ID
*LanguageToken
;
73 EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess
;
74 } FRONT_PAGE_CALLBACK_DATA
;
76 #define EFI_FP_CALLBACK_DATA_FROM_THIS(a) \
78 FRONT_PAGE_CALLBACK_DATA, \
80 FRONT_PAGE_CALLBACK_DATA_SIGNATURE \
84 // These are the VFR compiler generated data representing our VFR data.
86 extern UINT8 FrontPageVfrBin
[];
88 extern EFI_HII_DATABASE_PROTOCOL
*gHiiDatabase
;
89 extern EFI_HII_STRING_PROTOCOL
*gHiiString
;
90 extern EFI_FORM_BROWSER2_PROTOCOL
*gFormBrowser2
;
91 extern EFI_HII_CONFIG_ROUTING_PROTOCOL
*gHiiConfigRouting
;
93 extern UINTN gCallbackKey
;
94 extern BOOLEAN gConnectAllHappened
;
99 IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL
*This
,
100 IN CONST EFI_STRING Request
,
101 OUT EFI_STRING
*Progress
,
102 OUT EFI_STRING
*Results
108 IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL
*This
,
109 IN CONST EFI_STRING Configuration
,
110 OUT EFI_STRING
*Progress
116 IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL
*This
,
117 IN EFI_BROWSER_ACTION Action
,
118 IN EFI_QUESTION_ID QuestionId
,
120 IN EFI_IFR_TYPE_VALUE
*Value
,
121 OUT EFI_BROWSER_ACTION_REQUEST
*ActionRequest
125 InitializeFrontPage (
126 IN BOOLEAN ReInitializeStrings
131 IN EFI_GUID
*ProducerGuid
,
132 IN EFI_STRING_ID Token
,
138 IN EFI_TIME
*FirstTime
,
139 IN EFI_TIME
*SecondTime
143 PlatformBdsEnterFrontPage (
144 IN UINT16 TimeoutDefault
,
145 IN BOOLEAN ConnectAllHappened
148 #endif // _FRONT_PAGE_H_