]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/BdsDxe/FrontPage.h
edk2/MdeModulePkg/Universal/BdsDxe/BootMaint/BootOption.c:
[mirror_edk2.git] / MdeModulePkg / Universal / BdsDxe / FrontPage.h
CommitLineData
93e3992d 1/*++\r
2\r
3Copyright (c) 2004 - 2008, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11\r
12Module Name:\r
13\r
14 FrontPage.h\r
15\r
16Abstract:\r
17\r
18 FrontPage routines to handle the callbacks and browser calls\r
19\r
20Revision History\r
21\r
22--*/\r
23\r
24#ifndef _FRONT_PAGE_H\r
25#define _FRONT_PAGE_H\r
26\r
27#include "DeviceMngr/DeviceManager.h"\r
28#include "BootMaint/BootMaint.h"\r
29#include "BootMngr/BootManager.h"\r
30#include "String.h"\r
31\r
32#define ONE_SECOND 10000000\r
33\r
34//\r
35// This is the VFR compiler generated header file which defines the\r
36// string identifiers.\r
37//\r
38#define PRINTABLE_LANGUAGE_NAME_STRING_ID 0x0001\r
39\r
40//\r
41// These are defined as the same with vfr file\r
42//\r
43#define FRONT_PAGE_FORM_ID 0x1000\r
44\r
45#define FRONT_PAGE_KEY_CONTINUE 0x1000\r
46#define FRONT_PAGE_KEY_LANGUAGE 0x1234\r
47#define FRONT_PAGE_KEY_BOOT_MANAGER 0x1064\r
48#define FRONT_PAGE_KEY_DEVICE_MANAGER 0x8567\r
49#define FRONT_PAGE_KEY_BOOT_MAINTAIN 0x9876\r
50\r
51#define LABEL_SELECT_LANGUAGE 0x1000\r
52\r
53#define FRONT_PAGE_FORMSET_GUID \\r
54 { \\r
55 0x9e0c30bc, 0x3f06, 0x4ba6, 0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe \\r
56 }\r
57\r
58#define FRONT_PAGE_CALLBACK_DATA_SIGNATURE EFI_SIGNATURE_32 ('F', 'P', 'C', 'B')\r
59\r
60typedef struct {\r
61 UINTN Signature;\r
62\r
63 //\r
64 // HII relative handles\r
65 //\r
66 EFI_HII_HANDLE HiiHandle;\r
67 EFI_HANDLE DriverHandle;\r
68 EFI_STRING_ID *LanguageToken;\r
69\r
70 //\r
71 // Produced protocols\r
72 //\r
73 EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;\r
74} FRONT_PAGE_CALLBACK_DATA;\r
75\r
76#define EFI_FP_CALLBACK_DATA_FROM_THIS(a) \\r
77 CR (a, \\r
78 FRONT_PAGE_CALLBACK_DATA, \\r
79 ConfigAccess, \\r
80 FRONT_PAGE_CALLBACK_DATA_SIGNATURE \\r
81 )\r
82\r
83//\r
84// These are the VFR compiler generated data representing our VFR data.\r
85//\r
86extern UINT8 FrontPageVfrBin[];\r
87\r
88extern EFI_HII_DATABASE_PROTOCOL *gHiiDatabase;\r
89extern EFI_HII_STRING_PROTOCOL *gHiiString;\r
90extern EFI_FORM_BROWSER2_PROTOCOL *gFormBrowser2;\r
91extern EFI_HII_CONFIG_ROUTING_PROTOCOL *gHiiConfigRouting;\r
92\r
93extern UINTN gCallbackKey;\r
94extern BOOLEAN gConnectAllHappened;\r
95\r
96EFI_STATUS\r
97EFIAPI\r
98FakeExtractConfig (\r
99 IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
100 IN CONST EFI_STRING Request,\r
101 OUT EFI_STRING *Progress,\r
102 OUT EFI_STRING *Results\r
103 );\r
104\r
105EFI_STATUS\r
106EFIAPI\r
107FakeRouteConfig (\r
108 IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
109 IN CONST EFI_STRING Configuration,\r
110 OUT EFI_STRING *Progress\r
111 );\r
112\r
113EFI_STATUS\r
114EFIAPI\r
115FrontPageCallback (\r
116 IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
117 IN EFI_BROWSER_ACTION Action,\r
118 IN EFI_QUESTION_ID QuestionId,\r
119 IN UINT8 Type,\r
120 IN EFI_IFR_TYPE_VALUE *Value,\r
121 OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest\r
122 );\r
123\r
124EFI_STATUS\r
125InitializeFrontPage (\r
126 IN BOOLEAN ReInitializeStrings\r
127 );\r
128\r
129EFI_STATUS\r
130GetProducerString (\r
131 IN EFI_GUID *ProducerGuid,\r
132 IN EFI_STRING_ID Token,\r
133 OUT CHAR16 **String\r
134 );\r
135\r
136BOOLEAN\r
137TimeCompare (\r
138 IN EFI_TIME *FirstTime,\r
139 IN EFI_TIME *SecondTime\r
140 );\r
141\r
142VOID\r
143PlatformBdsEnterFrontPage (\r
144 IN UINT16 TimeoutDefault,\r
145 IN BOOLEAN ConnectAllHappened\r
146 );\r
147\r
148#endif // _FRONT_PAGE_H_\r
149\r