1 /** @file
2   Legacy Boot Maintenance UI definition.
3 
4 Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6 
7 **/
8 
9 
10 #ifndef _EFI_LEGACY_BOOT_OPTION_VFR_H_
11 #define _EFI_LEGACY_BOOT_OPTION_VFR_H_
12 
13 #include <Guid/HiiBootMaintenanceFormset.h>
14 
15 #define MAX_MENU_NUMBER 100
16 
17 #define LEGACY_BOOT_OPTION_FORMSET_GUID  { 0x6bc75598, 0x89b4, 0x483d, { 0x91, 0x60, 0x7f, 0x46, 0x9a, 0x96, 0x35, 0x31 } }
18 
19 #define VARSTORE_ID_LEGACY_BOOT      0x0001
20 
21 
22 #define LEGACY_BOOT_FORM_ID          0x1000
23 #define LEGACY_ORDER_CHANGE_FORM_ID  0x1001
24 
25 
26 #define FORM_FLOPPY_BOOT_ID          0x2000
27 #define FORM_HARDDISK_BOOT_ID        0x2001
28 #define FORM_CDROM_BOOT_ID           0x2002
29 #define FORM_NET_BOOT_ID             0x2003
30 #define FORM_BEV_BOOT_ID             0x2004
31 
32 
33 
34 #define FORM_BOOT_LEGACY_DEVICE_ID   0x9000
35 #define FORM_BOOT_LEGACY_LABEL_END   0x9001
36 
37 
38 #pragma pack(1)
39 
40 ///
41 /// This is the structure that will be used to store the
42 /// question's current value. Use it at initialize time to
43 /// set default value for each question. When using at run
44 /// time, this map is returned by the callback function,
45 /// so dynamically changing the question's value will be
46 /// possible through this mechanism
47 ///
48 typedef struct {
49   //
50   // Legacy Device Order Selection Storage
51   //
52   UINT16   LegacyFD[MAX_MENU_NUMBER];
53   UINT16   LegacyHD[MAX_MENU_NUMBER];
54   UINT16   LegacyCD[MAX_MENU_NUMBER];
55   UINT16   LegacyNET[MAX_MENU_NUMBER];
56   UINT16   LegacyBEV[MAX_MENU_NUMBER];
57 } LEGACY_BOOT_NV_DATA;
58 
59 ///
60 /// This is the structure that will be used to store the
61 /// question's current value. Use it at initialize time to
62 /// set default value for each question. When using at run
63 /// time, this map is returned by the callback function,
64 /// so dynamically changing the question's value will be
65 /// possible through this mechanism
66 ///
67 typedef struct {
68   //
69   // Legacy Device Order Selection Storage
70   //
71   LEGACY_BOOT_NV_DATA   InitialNvData;
72   LEGACY_BOOT_NV_DATA   CurrentNvData;
73   LEGACY_BOOT_NV_DATA   LastTimeNvData;
74   UINT8                 DisableMap[32];
75 } LEGACY_BOOT_MAINTAIN_DATA;
76 
77 #pragma pack()
78 
79 #endif
80