]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Application/UiApp/BootMaint/FormGuid.h
MdeModulePkg:Create Boot Maintenance Manager Library
[mirror_edk2.git] / MdeModulePkg / Application / UiApp / BootMaint / FormGuid.h
CommitLineData
143f0b1d
ED
1/** @file\r
2 Formset guids, form id and VarStore data structure for Boot Maintenance Manager.\r
3\r
afc244a5 4Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>\r
143f0b1d
ED
5This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14#ifndef _FORM_GUID_H_\r
15#define _FORM_GUID_H_\r
16\r
17#define BOOT_MAINT_FORMSET_GUID \\r
18 { \\r
19 0x642237c7, 0x35d4, 0x472d, {0x83, 0x65, 0x12, 0xe0, 0xcc, 0xf2, 0x7a, 0x22} \\r
20 }\r
21\r
22#define FILE_EXPLORE_FORMSET_GUID \\r
23 { \\r
24 0x1f2d63e1, 0xfebd, 0x4dc7, {0x9c, 0xc5, 0xba, 0x2b, 0x1c, 0xef, 0x9c, 0x5b} \\r
25 }\r
26\r
27#define FORM_MAIN_ID 0x1001\r
28#define FORM_BOOT_ADD_ID 0x1002\r
29#define FORM_BOOT_DEL_ID 0x1003\r
30#define FORM_BOOT_CHG_ID 0x1004\r
31#define FORM_DRV_ADD_ID 0x1005\r
32#define FORM_DRV_DEL_ID 0x1006\r
33#define FORM_DRV_CHG_ID 0x1007\r
34#define FORM_CON_MAIN_ID 0x1008\r
35#define FORM_CON_IN_ID 0x1009\r
36#define FORM_CON_OUT_ID 0x100A\r
37#define FORM_CON_ERR_ID 0x100B\r
38#define FORM_FILE_SEEK_ID 0x100C\r
39#define FORM_FILE_NEW_SEEK_ID 0x100D\r
40#define FORM_DRV_ADD_FILE_ID 0x100E\r
41#define FORM_DRV_ADD_HANDLE_ID 0x100F\r
42#define FORM_DRV_ADD_HANDLE_DESC_ID 0x1010\r
43#define FORM_BOOT_NEXT_ID 0x1011\r
44#define FORM_TIME_OUT_ID 0x1012\r
45#define FORM_BOOT_SETUP_ID 0x1014\r
46#define FORM_DRIVER_SETUP_ID 0x1015\r
47#define FORM_BOOT_LEGACY_DEVICE_ID 0x1016\r
48#define FORM_CON_COM_ID 0x1017\r
49#define FORM_CON_COM_SETUP_ID 0x1018\r
50#define FORM_FILE_EXPLORER_ID 0x101E\r
51#define FORM_BOOT_ADD_DESCRIPTION_ID 0x101F\r
52#define FORM_DRIVER_ADD_FILE_DESCRIPTION_ID 0x1020\r
53#define FORM_CON_MODE_ID 0x1021\r
54#define FORM_MEMORY_CHECK_ID 0x1022\r
55#define FORM_UEFI_OPTIMIZED_BOOT_ID 0x1023\r
56\r
57#define MAXIMUM_FORM_ID 0x10FF\r
58\r
59#define KEY_VALUE_COM_SET_BAUD_RATE 0x1101\r
60#define KEY_VALUE_COM_SET_DATA_BITS 0x1102\r
61#define KEY_VALUE_COM_SET_STOP_BITS 0x1103\r
62#define KEY_VALUE_COM_SET_PARITY 0x1104\r
63#define KEY_VALUE_COM_SET_TERMI_TYPE 0x1105\r
64#define KEY_VALUE_MAIN_BOOT_NEXT 0x1106\r
65#define KEY_VALUE_BOOT_ADD_DESC_DATA 0x1107\r
66#define KEY_VALUE_BOOT_ADD_OPT_DATA 0x1108\r
67#define KEY_VALUE_DRIVER_ADD_DESC_DATA 0x1109\r
68#define KEY_VALUE_DRIVER_ADD_OPT_DATA 0x110A\r
69#define KEY_VALUE_SAVE_AND_EXIT 0x110B\r
70#define KEY_VALUE_NO_SAVE_AND_EXIT 0x110C\r
71#define KEY_VALUE_BOOT_FROM_FILE 0x110D\r
00db1dfc 72#define FORM_RESET 0x110E\r
a22a50fa
DB
73#define KEY_VALUE_BOOT_DESCRIPTION 0x110F\r
74#define KEY_VALUE_BOOT_OPTION 0x1110\r
75#define KEY_VALUE_DRIVER_DESCRIPTION 0x1111\r
76#define KEY_VALUE_DRIVER_OPTION 0x1112\r
143f0b1d
ED
77\r
78#define MAXIMUM_NORMAL_KEY_VALUE 0x11FF\r
79\r
80//\r
81// Varstore ID defined for Buffer Storage\r
82//\r
83#define VARSTORE_ID_BOOT_MAINT 0x1000\r
84#define VARSTORE_ID_FILE_EXPLORER 0x1001\r
85\r
86//\r
87// End Label\r
88//\r
89#define LABEL_BMM_PLATFORM_INFORMATION 0xfffe\r
90#define LABEL_END 0xffff\r
91#define MAX_MENU_NUMBER 100\r
92\r
93///\r
94/// This is the structure that will be used to store the\r
95/// question's current value. Use it at initialize time to\r
96/// set default value for each question. When using at run\r
97/// time, this map is returned by the callback function,\r
98/// so dynamically changing the question's value will be\r
99/// possible through this mechanism\r
100///\r
101typedef struct {\r
102 //\r
103 // Three questions displayed at the main page\r
104 // for Timeout, BootNext, Variables respectively\r
105 //\r
106 UINT16 BootTimeOut;\r
107 UINT16 BootNext;\r
108\r
109 //\r
110 // This is the COM1 Attributes value storage\r
111 //\r
112 UINT8 COM1BaudRate;\r
113 UINT8 COM1DataRate;\r
114 UINT8 COM1StopBits;\r
115 UINT8 COM1Parity;\r
116 UINT8 COM1TerminalType;\r
117\r
118 //\r
119 // This is the COM2 Attributes value storage\r
120 //\r
121 UINT8 COM2BaudRate;\r
122 UINT8 COM2DataRate;\r
123 UINT8 COM2StopBits;\r
124 UINT8 COM2Parity;\r
125 UINT8 COM2TerminalType;\r
126\r
127 //\r
128 // Driver Option Add Handle page storage\r
129 //\r
130 UINT16 DriverAddHandleDesc[MAX_MENU_NUMBER];\r
131 UINT16 DriverAddHandleOptionalData[MAX_MENU_NUMBER];\r
132 UINT8 DriverAddActive;\r
133 UINT8 DriverAddForceReconnect;\r
134\r
135 //\r
136 // Console Input/Output/Errorout using COM port check storage\r
137 //\r
138 UINT8 ConsoleInputCOM1;\r
139 UINT8 ConsoleInputCOM2;\r
140 UINT8 ConsoleOutputCOM1;\r
141 UINT8 ConsoleOutputCOM2;\r
142 UINT8 ConsoleErrorCOM1;\r
143 UINT8 ConsoleErrorCOM2;\r
144\r
145 //\r
146 // At most 100 input/output/errorout device for console storage\r
147 //\r
148 UINT8 ConsoleCheck[MAX_MENU_NUMBER];\r
a22a50fa
DB
149 \r
150 //\r
151 // At most 100 input/output/errorout device for console storage\r
152 //\r
153 UINT8 ConsoleInCheck[MAX_MENU_NUMBER];\r
154 UINT8 ConsoleOutCheck[MAX_MENU_NUMBER];\r
155 UINT8 ConsoleErrCheck[MAX_MENU_NUMBER];\r
143f0b1d
ED
156\r
157 //\r
158 // Boot or Driver Option Order storage\r
159 // The value is the OptionNumber+1 because the order list value cannot be 0\r
160 // Use UINT32 to hold the potential value 0xFFFF+1=0x10000\r
161 //\r
162 UINT32 BootOptionOrder[MAX_MENU_NUMBER];\r
163 UINT32 DriverOptionOrder[MAX_MENU_NUMBER];\r
164 //\r
165 // Boot or Driver Option Delete storage\r
166 //\r
167 BOOLEAN BootOptionDel[MAX_MENU_NUMBER];\r
168 BOOLEAN DriverOptionDel[MAX_MENU_NUMBER];\r
a22a50fa
DB
169 BOOLEAN BootOptionDelMark[MAX_MENU_NUMBER];\r
170 BOOLEAN DriverOptionDelMark[MAX_MENU_NUMBER];\r
143f0b1d
ED
171\r
172 //\r
173 // This is the Terminal Attributes value storage\r
174 //\r
a22a50fa
DB
175 UINT8 COMBaudRate[MAX_MENU_NUMBER];\r
176 UINT8 COMDataRate[MAX_MENU_NUMBER];\r
177 UINT8 COMStopBits[MAX_MENU_NUMBER];\r
178 UINT8 COMParity[MAX_MENU_NUMBER];\r
179 UINT8 COMTerminalType[MAX_MENU_NUMBER];\r
180 UINT8 COMFlowControl[MAX_MENU_NUMBER];\r
143f0b1d
ED
181\r
182 //\r
183 // We use DisableMap array to record the enable/disable state of each boot device\r
184 // It should be taken as a bit array, from left to right there are totally 256 bits\r
185 // the most left one stands for BBS table item 0, and the most right one stands for item 256\r
186 // If the bit is 1, it means the boot device has been disabled.\r
187 //\r
188 UINT8 DisableMap[32];\r
189\r
190 //\r
191 // Console Output Text Mode\r
192 //\r
193 UINT16 ConsoleOutMode;\r
194\r
195 //\r
196 // UINT16 PadArea[10];\r
197 //\r
198} BMM_FAKE_NV_DATA;\r
199\r
200//\r
201// Key used by File Explorer forms\r
202//\r
203#define KEY_VALUE_SAVE_AND_EXIT_BOOT 0x1000\r
204#define KEY_VALUE_NO_SAVE_AND_EXIT_BOOT 0x1001\r
205#define KEY_VALUE_SAVE_AND_EXIT_DRIVER 0x1002\r
206#define KEY_VALUE_NO_SAVE_AND_EXIT_DRIVER 0x1003\r
207\r
208///\r
209/// This is the data structure used by File Explorer formset\r
210///\r
211typedef struct {\r
a22a50fa
DB
212 UINT16 BootDescriptionData[MAX_MENU_NUMBER];\r
213 UINT16 BootOptionalData[127];\r
214 UINT16 DriverDescriptionData[MAX_MENU_NUMBER];\r
215 UINT16 DriverOptionalData[127];\r
216 BOOLEAN BootOptionChanged;\r
217 BOOLEAN DriverOptionChanged;\r
143f0b1d
ED
218 UINT8 Active;\r
219 UINT8 ForceReconnect;\r
220} FILE_EXPLORER_NV_DATA;\r
221\r
222#endif\r
223\r