]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/FormGuid.h
IntelFrameworkModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / BootMaint / FormGuid.h
CommitLineData
5c08e117 1/** @file\r
2 Formset guids, form id and VarStore data structure for Boot Maintenance Manager.\r
3\r
49264dac 4Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>\r
c0a00b14 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
5c08e117 6\r
7**/\r
8#ifndef _FORM_GUID_H_\r
9#define _FORM_GUID_H_\r
10\r
e24fc103 11#include <Guid/BdsHii.h>\r
5c08e117 12\r
13#define FORM_MAIN_ID 0x1001\r
14#define FORM_BOOT_ADD_ID 0x1002\r
15#define FORM_BOOT_DEL_ID 0x1003\r
16#define FORM_BOOT_CHG_ID 0x1004\r
17#define FORM_DRV_ADD_ID 0x1005\r
18#define FORM_DRV_DEL_ID 0x1006\r
19#define FORM_DRV_CHG_ID 0x1007\r
20#define FORM_CON_MAIN_ID 0x1008\r
21#define FORM_CON_IN_ID 0x1009\r
22#define FORM_CON_OUT_ID 0x100A\r
23#define FORM_CON_ERR_ID 0x100B\r
24#define FORM_FILE_SEEK_ID 0x100C\r
25#define FORM_FILE_NEW_SEEK_ID 0x100D\r
26#define FORM_DRV_ADD_FILE_ID 0x100E\r
27#define FORM_DRV_ADD_HANDLE_ID 0x100F\r
28#define FORM_DRV_ADD_HANDLE_DESC_ID 0x1010\r
29#define FORM_BOOT_NEXT_ID 0x1011\r
30#define FORM_TIME_OUT_ID 0x1012\r
31#define FORM_RESET 0x1013\r
32#define FORM_BOOT_SETUP_ID 0x1014\r
33#define FORM_DRIVER_SETUP_ID 0x1015\r
34#define FORM_BOOT_LEGACY_DEVICE_ID 0x1016\r
35#define FORM_CON_COM_ID 0x1017\r
36#define FORM_CON_COM_SETUP_ID 0x1018\r
37#define FORM_SET_FD_ORDER_ID 0x1019\r
38#define FORM_SET_HD_ORDER_ID 0x101A\r
39#define FORM_SET_CD_ORDER_ID 0x101B\r
40#define FORM_SET_NET_ORDER_ID 0x101C\r
41#define FORM_SET_BEV_ORDER_ID 0x101D\r
42#define FORM_FILE_EXPLORER_ID 0x101E\r
43#define FORM_BOOT_ADD_DESCRIPTION_ID 0x101F\r
44#define FORM_DRIVER_ADD_FILE_DESCRIPTION_ID 0x1020\r
45#define FORM_CON_MODE_ID 0x1021\r
84724077 46#define FORM_BOOT_FROM_FILE_ID 0x1022\r
5c08e117 47\r
48#define MAXIMUM_FORM_ID 0x10FF\r
49\r
50#define KEY_VALUE_COM_SET_BAUD_RATE 0x1101\r
51#define KEY_VALUE_COM_SET_DATA_BITS 0x1102\r
52#define KEY_VALUE_COM_SET_STOP_BITS 0x1103\r
53#define KEY_VALUE_COM_SET_PARITY 0x1104\r
54#define KEY_VALUE_COM_SET_TERMI_TYPE 0x1105\r
55#define KEY_VALUE_MAIN_BOOT_NEXT 0x1106\r
56#define KEY_VALUE_BOOT_ADD_DESC_DATA 0x1107\r
57#define KEY_VALUE_BOOT_ADD_OPT_DATA 0x1108\r
58#define KEY_VALUE_DRIVER_ADD_DESC_DATA 0x1109\r
59#define KEY_VALUE_DRIVER_ADD_OPT_DATA 0x110A\r
60#define KEY_VALUE_SAVE_AND_EXIT 0x110B\r
61#define KEY_VALUE_NO_SAVE_AND_EXIT 0x110C\r
62#define KEY_VALUE_BOOT_FROM_FILE 0x110D\r
8acb3f7b
ED
63#define KEY_VALUE_BOOT_DESCRIPTION 0x110E\r
64#define KEY_VALUE_BOOT_OPTION 0x110F\r
65#define KEY_VALUE_DRIVER_DESCRIPTION 0x1110\r
66#define KEY_VALUE_DRIVER_OPTION 0x1111\r
5c08e117 67\r
68#define MAXIMUM_NORMAL_KEY_VALUE 0x11FF\r
69\r
70//\r
baf46e70 71// Varstore ID defined for Buffer Storage\r
5c08e117 72//\r
73#define VARSTORE_ID_BOOT_MAINT 0x1000\r
74#define VARSTORE_ID_FILE_EXPLORER 0x1001\r
75\r
75bf9d0e
LG
76//\r
77// End Label\r
78//\r
79#define LABEL_END 0xffff\r
b7b0dca2 80#define MAX_MENU_NUMBER 100\r
75bf9d0e 81\r
5c08e117 82///\r
83/// This is the structure that will be used to store the\r
84/// question's current value. Use it at initialize time to\r
85/// set default value for each question. When using at run\r
86/// time, this map is returned by the callback function,\r
87/// so dynamically changing the question's value will be\r
88/// possible through this mechanism\r
89///\r
90typedef struct {\r
91 //\r
92 // Three questions displayed at the main page\r
93 // for Timeout, BootNext Variables respectively\r
94 //\r
95 UINT16 BootTimeOut;\r
96 UINT16 BootNext;\r
97\r
98 //\r
99 // This is the COM1 Attributes value storage\r
100 //\r
101 UINT8 COM1BaudRate;\r
102 UINT8 COM1DataRate;\r
103 UINT8 COM1StopBits;\r
104 UINT8 COM1Parity;\r
105 UINT8 COM1TerminalType;\r
106\r
107 //\r
108 // This is the COM2 Attributes value storage\r
109 //\r
110 UINT8 COM2BaudRate;\r
111 UINT8 COM2DataRate;\r
112 UINT8 COM2StopBits;\r
113 UINT8 COM2Parity;\r
114 UINT8 COM2TerminalType;\r
115\r
116 //\r
117 // Driver Option Add Handle page storage\r
118 //\r
b7b0dca2 119 UINT16 DriverAddHandleDesc[MAX_MENU_NUMBER];\r
120 UINT16 DriverAddHandleOptionalData[MAX_MENU_NUMBER];\r
5c08e117 121 UINT8 DriverAddActive;\r
122 UINT8 DriverAddForceReconnect;\r
123\r
124 //\r
125 // Console Input/Output/Errorout using COM port check storage\r
126 //\r
127 UINT8 ConsoleInputCOM1;\r
128 UINT8 ConsoleInputCOM2;\r
129 UINT8 ConsoleOutputCOM1;\r
130 UINT8 ConsoleOutputCOM2;\r
131 UINT8 ConsoleErrorCOM1;\r
132 UINT8 ConsoleErrorCOM2;\r
133\r
134 //\r
135 // At most 100 input/output/errorout device for console storage\r
136 //\r
b7b0dca2 137 UINT8 ConsoleCheck[MAX_MENU_NUMBER];\r
be9304f3
ED
138 //\r
139 // At most 100 input/output/errorout device for console storage\r
140 //\r
141 UINT8 ConsoleInCheck[MAX_MENU_NUMBER];\r
142 UINT8 ConsoleOutCheck[MAX_MENU_NUMBER];\r
143 UINT8 ConsoleErrCheck[MAX_MENU_NUMBER];\r
5c08e117 144\r
145 //\r
be9304f3 146 // Boot Option Order storage\r
b452ca89
RN
147 // The value is the OptionNumber+1 because the order list value cannot be 0\r
148 // Use UINT32 to hold the potential value 0xFFFF+1=0x10000\r
5c08e117 149 //\r
be9304f3
ED
150 UINT32 BootOptionOrder[MAX_MENU_NUMBER];\r
151\r
152 //\r
153 // Driver Option Order storage\r
154 // The value is the OptionNumber+1 because the order list value cannot be 0\r
155 // Use UINT32 to hold the potential value 0xFFFF+1=0x10000\r
156 //\r
157 UINT32 DriverOptionOrder[MAX_MENU_NUMBER];\r
158\r
159 //\r
160 // Boot Option Delete storage\r
161 //\r
162 BOOLEAN BootOptionDel[MAX_MENU_NUMBER];\r
8acb3f7b 163 BOOLEAN BootOptionDelMark[MAX_MENU_NUMBER];\r
5c08e117 164\r
165 //\r
be9304f3 166 // Driver Option Delete storage\r
5c08e117 167 //\r
be9304f3 168 BOOLEAN DriverOptionDel[MAX_MENU_NUMBER];\r
8acb3f7b 169 BOOLEAN DriverOptionDelMark[MAX_MENU_NUMBER];\r
5c08e117 170\r
171 //\r
172 // This is the Terminal Attributes value storage\r
173 //\r
be9304f3
ED
174 UINT8 COMBaudRate[MAX_MENU_NUMBER];\r
175 UINT8 COMDataRate[MAX_MENU_NUMBER];\r
176 UINT8 COMStopBits[MAX_MENU_NUMBER];\r
177 UINT8 COMParity[MAX_MENU_NUMBER];\r
178 UINT8 COMTerminalType[MAX_MENU_NUMBER];\r
179 UINT8 COMFlowControl[MAX_MENU_NUMBER];\r
5c08e117 180\r
181 //\r
182 // Legacy Device Order Selection Storage\r
183 //\r
b7b0dca2 184 UINT8 LegacyFD[MAX_MENU_NUMBER];\r
185 UINT8 LegacyHD[MAX_MENU_NUMBER];\r
186 UINT8 LegacyCD[MAX_MENU_NUMBER];\r
187 UINT8 LegacyNET[MAX_MENU_NUMBER];\r
188 UINT8 LegacyBEV[MAX_MENU_NUMBER];\r
5c08e117 189\r
190 //\r
191 // We use DisableMap array to record the enable/disable state of each boot device\r
192 // It should be taken as a bit array, from left to right there are totally 256 bits\r
193 // the most left one stands for BBS table item 0, and the most right one stands for item 256\r
194 // If the bit is 1, it means the boot device has been disabled.\r
195 //\r
196 UINT8 DisableMap[32];\r
197\r
198 //\r
199 // Console Output Text Mode\r
200 //\r
201 UINT16 ConsoleOutMode;\r
202\r
203 //\r
204 // UINT16 PadArea[10];\r
205 //\r
206} BMM_FAKE_NV_DATA;\r
207\r
208//\r
209// Key used by File Explorer forms\r
210//\r
211#define KEY_VALUE_SAVE_AND_EXIT_BOOT 0x1000\r
212#define KEY_VALUE_NO_SAVE_AND_EXIT_BOOT 0x1001\r
213#define KEY_VALUE_SAVE_AND_EXIT_DRIVER 0x1002\r
214#define KEY_VALUE_NO_SAVE_AND_EXIT_DRIVER 0x1003\r
215\r
49264dac
HW
216//\r
217// Description data and optional data size\r
218//\r
219#define DESCRIPTION_DATA_SIZE 75\r
220#define OPTIONAL_DATA_SIZE 127\r
221\r
5c08e117 222///\r
223/// This is the data structure used by File Explorer formset\r
224///\r
225typedef struct {\r
49264dac
HW
226 UINT16 BootDescriptionData[DESCRIPTION_DATA_SIZE];\r
227 UINT16 BootOptionalData[OPTIONAL_DATA_SIZE];\r
228 UINT16 DriverDescriptionData[DESCRIPTION_DATA_SIZE];\r
229 UINT16 DriverOptionalData[OPTIONAL_DATA_SIZE];\r
8acb3f7b
ED
230 BOOLEAN BootOptionChanged;\r
231 BOOLEAN DriverOptionChanged;\r
5c08e117 232 UINT8 Active;\r
233 UINT8 ForceReconnect;\r
234} FILE_EXPLORER_NV_DATA;\r
235\r
236#endif\r
237\r