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