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