]> git.proxmox.com Git - mirror_edk2.git/blame - SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfig.vfr
1. Remove “Force clear PK” feature in AuthVarialbe driver.
[mirror_edk2.git] / SecurityPkg / VariableAuthenticated / SecureBootConfigDxe / SecureBootConfig.vfr
CommitLineData
beda2356 1/** @file\r
2 VFR file used by the SecureBoot configuration component.\r
3\r
ecc722ad 4Copyright (c) 2011 - 2012, Intel Corporation. All rights reserved.<BR>\r
beda2356 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\r
15#include "SecureBootConfigNvData.h"\r
16\r
17formset\r
18 guid = SECUREBOOT_CONFIG_FORM_SET_GUID,\r
19 title = STRING_TOKEN(STR_SECUREBOOT_TITLE),\r
20 help = STRING_TOKEN(STR_SECUREBOOT_HELP),\r
21 classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,\r
22\r
23 varstore SECUREBOOT_CONFIGURATION,\r
24 varid = SECUREBOOT_CONFIGURATION_VARSTORE_ID,\r
25 name = SECUREBOOT_CONFIGURATION,\r
26 guid = SECUREBOOT_CONFIG_FORM_SET_GUID;\r
ecc722ad 27 \r
28 //\r
29 // ##1 Form "Secure Boot Configuration"\r
30 //\r
beda2356 31 form formid = SECUREBOOT_CONFIGURATION_FORM_ID,\r
32 title = STRING_TOKEN(STR_SECUREBOOT_TITLE);\r
33\r
34 subtitle text = STRING_TOKEN(STR_NULL);\r
ecc722ad 35 \r
36 //\r
37 // Define of Check Box: Attempt Secure Boot\r
38 //\r
beda2356 39 suppressif TRUE;\r
40 checkbox varid = SECUREBOOT_CONFIGURATION.HideSecureBoot,\r
41 prompt = STRING_TOKEN(STR_NULL),\r
42 help = STRING_TOKEN(STR_NULL),\r
43 endcheckbox;\r
ecc722ad 44 endif; \r
beda2356 45 \r
ecc722ad 46 //\r
47 // Display of Check Box: Attempt Secure Boot\r
48 //\r
beda2356 49 grayoutif ideqval SECUREBOOT_CONFIGURATION.HideSecureBoot == 1;\r
50 checkbox varid = SECUREBOOT_CONFIGURATION.SecureBootState,\r
51 questionid = KEY_SECURE_BOOT_ENABLE,\r
52 prompt = STRING_TOKEN(STR_SECURE_BOOT_PROMPT),\r
53 help = STRING_TOKEN(STR_SECURE_BOOT_HELP),\r
ecc722ad 54 flags = INTERACTIVE,\r
55 endcheckbox;\r
56 endif;\r
57 \r
58 //\r
59 // Display of Oneof: 'Secure Boot Mode'\r
60 //\r
61 oneof varid = SECUREBOOT_CONFIGURATION.SecureBootMode,\r
62 questionid = KEY_SECURE_BOOT_MODE, \r
63 prompt = STRING_TOKEN(STR_SECURE_BOOT_MODE_PROMPT),\r
64 help = STRING_TOKEN(STR_SECURE_BOOT_MODE_HELP),\r
65 flags = INTERACTIVE,\r
66 option text = STRING_TOKEN(STR_STANDARD_MODE), value = SECURE_BOOT_MODE_STANDARD, flags = DEFAULT;\r
67 option text = STRING_TOKEN(STR_CUSTOM_MODE), value = SECURE_BOOT_MODE_CUSTOM, flags = 0;\r
68 endoneof;\r
69 \r
70 //\r
71 //\r
72 // Display of 'Current Secure Boot Mode'\r
73 //\r
74 suppressif ideqval SECUREBOOT_CONFIGURATION.SecureBootMode == SECURE_BOOT_MODE_STANDARD;\r
75 grayoutif NOT ideqval SECUREBOOT_CONFIGURATION.PhysicalPresent == 1;\r
76 goto FORMID_SECURE_BOOT_OPTION_FORM,\r
77 prompt = STRING_TOKEN(STR_SECURE_BOOT_OPTION),\r
78 help = STRING_TOKEN(STR_SECURE_BOOT_OPTION_HELP),\r
79 flags = INTERACTIVE,\r
80 key = KEY_SECURE_BOOT_OPTION;\r
81 endif;\r
82 endif;\r
83 endform;\r
84 \r
85 //\r
86 // ##2 Form: 'Custom Secure Boot Options'\r
87 //\r
88 form formid = FORMID_SECURE_BOOT_OPTION_FORM,\r
89 title = STRING_TOKEN(STR_SECURE_BOOT_OPTION_TITLE);\r
90 \r
91 subtitle text = STRING_TOKEN(STR_NULL);\r
92 \r
93 goto FORMID_SECURE_BOOT_PK_OPTION_FORM,\r
94 prompt = STRING_TOKEN(STR_SECURE_BOOT_PK_OPTION),\r
95 help = STRING_TOKEN(STR_SECURE_BOOT_PK_OPTION_HELP),\r
96 flags = INTERACTIVE,\r
97 key = KEY_SECURE_BOOT_PK_OPTION;\r
98 \r
99 subtitle text = STRING_TOKEN(STR_NULL);\r
100 \r
101 goto FORMID_SECURE_BOOT_KEK_OPTION_FORM,\r
102 prompt = STRING_TOKEN(STR_SECURE_BOOT_KEK_OPTION),\r
103 help = STRING_TOKEN(STR_SECURE_BOOT_KEK_OPTION_HELP),\r
104 flags = INTERACTIVE,\r
105 key = KEY_SECURE_BOOT_KEK_OPTION;\r
106 \r
107 subtitle text = STRING_TOKEN(STR_NULL);\r
108 \r
109 goto FORMID_SECURE_BOOT_DB_OPTION_FORM,\r
110 prompt = STRING_TOKEN(STR_SECURE_BOOT_DB_OPTION),\r
111 help = STRING_TOKEN(STR_SECURE_BOOT_DB_OPTION_HELP),\r
112 flags = INTERACTIVE,\r
113 key = KEY_SECURE_BOOT_DB_OPTION;\r
114 \r
115 subtitle text = STRING_TOKEN(STR_NULL);\r
116 \r
117 goto FORMID_SECURE_BOOT_DBX_OPTION_FORM,\r
118 prompt = STRING_TOKEN(STR_SECURE_BOOT_DBX_OPTION),\r
119 help = STRING_TOKEN(STR_SECURE_BOOT_DBX_OPTION_HELP),\r
120 flags = INTERACTIVE,\r
121 key = KEY_SECURE_BOOT_DBX_OPTION;\r
122\r
123 endform;\r
124 \r
125 //\r
126 // ##3 Form: 'PK Options'\r
127 //\r
128 form formid = FORMID_SECURE_BOOT_PK_OPTION_FORM,\r
129 title = STRING_TOKEN(STR_SECURE_BOOT_PK_OPTION);\r
130 \r
131 subtitle text = STRING_TOKEN(STR_NULL);\r
132 \r
133 //\r
134 // Define of Check Box: 'Delete PK'\r
135 //\r
136 suppressif TRUE;\r
137 checkbox varid = SECUREBOOT_CONFIGURATION.DeletePk,\r
138 prompt = STRING_TOKEN(STR_NULL),\r
139 help = STRING_TOKEN(STR_NULL),\r
140 endcheckbox;\r
141 endif;\r
142 \r
143 grayoutif ideqval SECUREBOOT_CONFIGURATION.HasPk == 1;\r
144 goto FORMID_ENROLL_PK_FORM,\r
145 prompt = STRING_TOKEN(STR_ENROLL_PK),\r
146 help = STRING_TOKEN(STR_ENROLL_PK_HELP),\r
147 flags = INTERACTIVE,\r
148 key = KEY_ENROLL_PK;\r
149 endif;\r
150 \r
151 subtitle text = STRING_TOKEN(STR_NULL);\r
152 \r
153 //\r
154 // Display of Check Box: 'Delete Pk' \r
155 //\r
156 grayoutif ideqval SECUREBOOT_CONFIGURATION.HideSecureBoot == 1;\r
157 checkbox varid = SECUREBOOT_CONFIGURATION.DeletePk,\r
158 questionid = KEY_SECURE_BOOT_DELETE_PK,\r
159 prompt = STRING_TOKEN(STR_DELETE_PK), \r
160 help = STRING_TOKEN(STR_DELETE_PK_HELP),\r
161 flags = INTERACTIVE,\r
beda2356 162 endcheckbox;\r
163 endif;\r
ecc722ad 164 endform;\r
165 \r
166 //\r
167 // ##4 Form: 'Enroll PK'\r
168 //\r
169 form formid = FORMID_ENROLL_PK_FORM,\r
170 title = STRING_TOKEN(STR_ENROLL_PK);\r
171 \r
172 subtitle text = STRING_TOKEN(STR_NULL);\r
173\r
174 goto FORM_FILE_EXPLORER_ID_PK,\r
175 prompt = STRING_TOKEN(STR_SECURE_BOOT_ENROLL_PK_FILE),\r
176 help = STRING_TOKEN(STR_SECURE_BOOT_ENROLL_PK_FILE),\r
177 flags = INTERACTIVE,\r
178 key = SECUREBOOT_ADD_PK_FILE_FORM_ID;\r
179 endform;\r
180 \r
181 //\r
182 // ##5 Form: 'KEK Options'\r
183 //\r
184 form formid = FORMID_SECURE_BOOT_KEK_OPTION_FORM,\r
185 title = STRING_TOKEN(STR_SECURE_BOOT_KEK_OPTION);\r
186\r
187 //\r
188 // Display of 'Enroll KEK' \r
189 //\r
190 goto FORMID_ENROLL_KEK_FORM,\r
191 prompt = STRING_TOKEN(STR_ENROLL_KEK),\r
192 help = STRING_TOKEN(STR_ENROLL_KEK_HELP),\r
193 flags = INTERACTIVE;\r
194 \r
195 subtitle text = STRING_TOKEN(STR_NULL); \r
196 \r
197 //\r
198 // Display of 'Delete KEK' \r
199 //\r
200 goto FORMID_DELETE_KEK_FORM,\r
201 prompt = STRING_TOKEN(STR_DELETE_KEK),\r
202 help = STRING_TOKEN(STR_DELETE_KEK_HELP),\r
203 flags = INTERACTIVE,\r
204 key = KEY_DELETE_KEK;\r
205 \r
206 subtitle text = STRING_TOKEN(STR_NULL); \r
207 endform;\r
208\r
209 //\r
210 // ##6 Form: 'Enroll KEK' \r
211 //\r
212 form formid = FORMID_ENROLL_KEK_FORM,\r
213 title = STRING_TOKEN(STR_ENROLL_KEK_TITLE);\r
214\r
215 subtitle text = STRING_TOKEN(STR_NULL);\r
216\r
217 goto FORM_FILE_EXPLORER_ID_KEK,\r
218 prompt = STRING_TOKEN(STR_FORM_ENROLL_KEK_FROM_FILE_TITLE),\r
219 help = STRING_TOKEN(STR_FORM_ENROLL_KEK_FROM_FILE_TITLE_HELP),\r
220 flags = INTERACTIVE,\r
221 key = FORMID_ENROLL_KEK_FORM;\r
222\r
223 subtitle text = STRING_TOKEN(STR_NULL);\r
224 label FORMID_ENROLL_KEK_FORM;\r
225 label LABEL_END;\r
226 subtitle text = STRING_TOKEN(STR_NULL);\r
227\r
228 string varid = SECUREBOOT_CONFIGURATION.SignatureGuid,\r
229 prompt = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID),\r
230 help = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID_HELP),\r
231 flags = INTERACTIVE,\r
232 key = KEY_SECURE_BOOT_KEK_GUID,\r
233 minsize = SECURE_BOOT_GUID_SIZE,\r
234 maxsize = SECURE_BOOT_GUID_SIZE,\r
235 endstring;\r
236\r
237 subtitle text = STRING_TOKEN(STR_NULL);\r
238 subtitle text = STRING_TOKEN(STR_NULL);\r
239\r
240 goto FORMID_SECURE_BOOT_OPTION_FORM,\r
241 prompt = STRING_TOKEN(STR_SAVE_AND_EXIT),\r
242 help = STRING_TOKEN(STR_SAVE_AND_EXIT),\r
243 flags = INTERACTIVE,\r
244 key = KEY_VALUE_SAVE_AND_EXIT_KEK;\r
245 \r
246 goto FORMID_SECURE_BOOT_OPTION_FORM,\r
247 prompt = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),\r
248 help = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),\r
249 flags = INTERACTIVE,\r
250 key = KEY_VALUE_NO_SAVE_AND_EXIT_KEK;\r
251\r
252 endform;\r
253\r
254 //\r
255 // ##7 Form: 'Delete KEK'\r
256 // \r
257 form formid = FORMID_DELETE_KEK_FORM,\r
258 title = STRING_TOKEN(STR_DELETE_KEK_TITLE);\r
259\r
260 label LABEL_KEK_DELETE;\r
261 label LABEL_END;\r
262 \r
263 subtitle text = STRING_TOKEN(STR_NULL);\r
264 \r
265 endform;\r
266\r
267 //\r
268 // ##8 Form: 'DB Options'\r
269 //\r
270 form formid = FORMID_SECURE_BOOT_DB_OPTION_FORM,\r
271 title = STRING_TOKEN(STR_SECURE_BOOT_DB_OPTION);\r
272\r
273 subtitle text = STRING_TOKEN(STR_NULL);\r
274\r
275 goto SECUREBOOT_ENROLL_SIGNATURE_TO_DB,\r
276 prompt = STRING_TOKEN (STR_SECURE_BOOT_ENROLL_SIGNATURE),\r
277 help = STRING_TOKEN (STR_SECURE_BOOT_ENROLL_SIGNATURE),\r
278 flags = 0;\r
279\r
280 subtitle text = STRING_TOKEN(STR_NULL);\r
281\r
282 goto SECUREBOOT_DELETE_SIGNATURE_FROM_DB,\r
283 prompt = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE),\r
284 help = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE),\r
285 flags = INTERACTIVE,\r
286 key = SECUREBOOT_DELETE_SIGNATURE_FROM_DB;\r
287 \r
288 endform;\r
289\r
290 //\r
291 // ##9 Form: 'DBX Options'\r
292 //\r
293 form formid = FORMID_SECURE_BOOT_DBX_OPTION_FORM,\r
294 title = STRING_TOKEN(STR_SECURE_BOOT_DBX_OPTION);\r
295\r
296 subtitle text = STRING_TOKEN(STR_NULL);\r
297\r
298 goto SECUREBOOT_ENROLL_SIGNATURE_TO_DBX,\r
299 prompt = STRING_TOKEN (STR_SECURE_BOOT_ENROLL_SIGNATURE),\r
300 help = STRING_TOKEN (STR_SECURE_BOOT_ENROLL_SIGNATURE),\r
301 flags = 0;\r
302\r
303 subtitle text = STRING_TOKEN(STR_NULL);\r
304\r
305 goto SECUREBOOT_DELETE_SIGNATURE_FROM_DBX,\r
306 prompt = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE),\r
307 help = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE),\r
308 flags = INTERACTIVE,\r
309 key = SECUREBOOT_DELETE_SIGNATURE_FROM_DBX;\r
310\r
311 endform;\r
312\r
313 //\r
314 // Form: 'Delete Signature' for DB Options.\r
315 //\r
316 form formid = SECUREBOOT_DELETE_SIGNATURE_FROM_DB,\r
317 title = STRING_TOKEN(STR_SECURE_BOOT_DELETE_SIGNATURE);\r
318\r
319 label LABEL_DB_DELETE;\r
320 label LABEL_END;\r
321 subtitle text = STRING_TOKEN(STR_NULL);\r
322 \r
323 endform;\r
324\r
325 //\r
326 // Form: 'Delete Signature' for DBX Options.\r
327 //\r
328 form formid = SECUREBOOT_DELETE_SIGNATURE_FROM_DBX,\r
329 title = STRING_TOKEN(STR_SECURE_BOOT_DELETE_SIGNATURE);\r
330\r
331 label LABEL_DBX_DELETE;\r
332 label LABEL_END;\r
333 subtitle text = STRING_TOKEN(STR_NULL);\r
334 \r
335 endform;\r
336\r
337 //\r
338 // Form: 'Enroll Signature' for DB options.\r
339 //\r
340 form formid = SECUREBOOT_ENROLL_SIGNATURE_TO_DB,\r
341 title = STRING_TOKEN(STR_SECURE_BOOT_ENROLL_SIGNATURE);\r
342\r
343 subtitle text = STRING_TOKEN(STR_NULL);\r
344\r
345 goto FORM_FILE_EXPLORER_ID_DB,\r
346 prompt = STRING_TOKEN(STR_SECURE_BOOT_ADD_SIGNATURE_FILE),\r
347 help = STRING_TOKEN(STR_SECURE_BOOT_ADD_SIGNATURE_FILE),\r
348 flags = INTERACTIVE,\r
349 key = SECUREBOOT_ENROLL_SIGNATURE_TO_DB;\r
350\r
351 subtitle text = STRING_TOKEN(STR_NULL);\r
352 label SECUREBOOT_ENROLL_SIGNATURE_TO_DB;\r
353 label LABEL_END;\r
354 subtitle text = STRING_TOKEN(STR_NULL);\r
355\r
356 string varid = SECUREBOOT_CONFIGURATION.SignatureGuid,\r
357 prompt = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID),\r
358 help = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID_HELP),\r
359 flags = INTERACTIVE,\r
360 key = KEY_SECURE_BOOT_SIGNATURE_GUID_DB,\r
361 minsize = SECURE_BOOT_GUID_SIZE,\r
362 maxsize = SECURE_BOOT_GUID_SIZE,\r
363 endstring;\r
364\r
365 subtitle text = STRING_TOKEN(STR_NULL);\r
366 subtitle text = STRING_TOKEN(STR_NULL);\r
367\r
368 goto FORMID_SECURE_BOOT_OPTION_FORM,\r
369 prompt = STRING_TOKEN(STR_SAVE_AND_EXIT),\r
370 help = STRING_TOKEN(STR_SAVE_AND_EXIT),\r
371 flags = INTERACTIVE,\r
372 key = KEY_VALUE_SAVE_AND_EXIT_DB;\r
373 \r
374 goto FORMID_SECURE_BOOT_OPTION_FORM,\r
375 prompt = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),\r
376 help = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),\r
377 flags = INTERACTIVE,\r
378 key = KEY_VALUE_NO_SAVE_AND_EXIT_DB;\r
379\r
380 endform;\r
381\r
382 //\r
383 // Form: 'Enroll Signature' for DBX options.\r
384 //\r
385 form formid = SECUREBOOT_ENROLL_SIGNATURE_TO_DBX,\r
386 title = STRING_TOKEN(STR_SECURE_BOOT_ENROLL_SIGNATURE);\r
387\r
388 subtitle text = STRING_TOKEN(STR_NULL);\r
389\r
390 goto FORM_FILE_EXPLORER_ID_DBX,\r
391 prompt = STRING_TOKEN(STR_SECURE_BOOT_ADD_SIGNATURE_FILE),\r
392 help = STRING_TOKEN(STR_SECURE_BOOT_ADD_SIGNATURE_FILE),\r
393 flags = INTERACTIVE,\r
394 key = SECUREBOOT_ENROLL_SIGNATURE_TO_DBX;\r
395\r
396 subtitle text = STRING_TOKEN(STR_NULL);\r
397 label SECUREBOOT_ENROLL_SIGNATURE_TO_DBX;\r
398 label LABEL_END;\r
399 subtitle text = STRING_TOKEN(STR_NULL);\r
400\r
401 string varid = SECUREBOOT_CONFIGURATION.SignatureGuid,\r
402 prompt = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID),\r
403 help = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID_HELP),\r
404 flags = INTERACTIVE,\r
405 key = KEY_SECURE_BOOT_SIGNATURE_GUID_DBX,\r
406 minsize = SECURE_BOOT_GUID_SIZE,\r
407 maxsize = SECURE_BOOT_GUID_SIZE,\r
408 endstring;\r
409\r
410 subtitle text = STRING_TOKEN(STR_NULL);\r
411 subtitle text = STRING_TOKEN(STR_NULL);\r
412\r
413 goto FORMID_SECURE_BOOT_OPTION_FORM,\r
414 prompt = STRING_TOKEN(STR_SAVE_AND_EXIT),\r
415 help = STRING_TOKEN(STR_SAVE_AND_EXIT),\r
416 flags = INTERACTIVE,\r
417 key = KEY_VALUE_SAVE_AND_EXIT_DBX;\r
418 \r
419 goto FORMID_SECURE_BOOT_OPTION_FORM,\r
420 prompt = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),\r
421 help = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),\r
422 flags = INTERACTIVE,\r
423 key = KEY_VALUE_NO_SAVE_AND_EXIT_DBX;\r
424\r
425 endform;\r
426\r
427 //\r
428 // File Explorer for PK\r
429 //\r
430 form formid = FORM_FILE_EXPLORER_ID_PK,\r
431 title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE);\r
432\r
433 label FORM_FILE_EXPLORER_ID;\r
434 label LABEL_END;\r
435 endform;\r
436 \r
437 //\r
438 // File Explorer for KEK\r
439 //\r
440 form formid = FORM_FILE_EXPLORER_ID_KEK,\r
441 title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE);\r
442\r
443 label FORM_FILE_EXPLORER_ID;\r
444 label LABEL_END;\r
445 endform;\r
446\r
447 //\r
448 // File Explorer for DB\r
449 //\r
450 form formid = FORM_FILE_EXPLORER_ID_DB,\r
451 title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE);\r
452\r
453 label FORM_FILE_EXPLORER_ID;\r
454 label LABEL_END;\r
455 endform;\r
456\r
457 //\r
458 // File Explorer for DBX\r
459 //\r
460 form formid = FORM_FILE_EXPLORER_ID_DBX,\r
461 title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE);\r
462\r
463 label FORM_FILE_EXPLORER_ID;\r
464 label LABEL_END;\r
465 endform;\r
466\r
467\r
468 //\r
469 // Enroll Pk from File Commit Form\r
470 //\r
471 form formid = SECUREBOOT_ADD_PK_FILE_FORM_ID,\r
472 title = STRING_TOKEN(STR_SAVE_PK_FILE);\r
473\r
474 label SECUREBOOT_ADD_PK_FILE_FORM_ID;\r
475 label LABEL_END;\r
476 \r
477 subtitle text = STRING_TOKEN(STR_NULL);\r
478\r
479 text\r
480 help = STRING_TOKEN(STR_SAVE_AND_EXIT),\r
481 text = STRING_TOKEN(STR_SAVE_AND_EXIT),\r
482 text = STRING_TOKEN(STR_NULL),\r
483 flags = INTERACTIVE,\r
484 key = KEY_VALUE_SAVE_AND_EXIT_PK;\r
485\r
486 text\r
487 help = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),\r
488 text = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),\r
489 text = STRING_TOKEN(STR_NULL),\r
490 flags = INTERACTIVE,\r
491 key = KEY_VALUE_NO_SAVE_AND_EXIT_PK;\r
beda2356 492\r
493 endform;\r
494\r
495endformset;\r