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