]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/FormGuid.h
IntelFrameworkModulePkg/BdsDxe: rebase to ARRAY_SIZE()
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / BootMaint / FormGuid.h
index f177e75f5e7e7040764d8b5a9c5fdc2935c9ed7e..bf99999760076f2097ac32d761ba1ba102218b04 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
   Formset guids, form id and VarStore data structure for Boot Maintenance Manager.\r
 \r
-Copyright (c) 2004 - 2008, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 http://opensource.org/licenses/bsd-license.php\r
@@ -14,15 +14,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #ifndef _FORM_GUID_H_\r
 #define _FORM_GUID_H_\r
 \r
-#define BOOT_MAINT_FORMSET_GUID \\r
-  { \\r
-  0x642237c7, 0x35d4, 0x472d, {0x83, 0x65, 0x12, 0xe0, 0xcc, 0xf2, 0x7a, 0x22} \\r
-  }\r
-\r
-#define FILE_EXPLORE_FORMSET_GUID \\r
-  { \\r
-  0x1f2d63e1, 0xfebd, 0x4dc7, {0x9c, 0xc5, 0xba, 0x2b, 0x1c, 0xef, 0x9c, 0x5b} \\r
-  }\r
+#include <Guid/BdsHii.h>\r
 \r
 #define FORM_MAIN_ID                         0x1001\r
 #define FORM_BOOT_ADD_ID                     0x1002\r
@@ -57,6 +49,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define FORM_BOOT_ADD_DESCRIPTION_ID         0x101F\r
 #define FORM_DRIVER_ADD_FILE_DESCRIPTION_ID  0x1020\r
 #define FORM_CON_MODE_ID                     0x1021\r
+#define FORM_BOOT_FROM_FILE_ID               0x1022\r
 \r
 #define MAXIMUM_FORM_ID                      0x10FF\r
 \r
@@ -73,11 +66,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define KEY_VALUE_SAVE_AND_EXIT              0x110B\r
 #define KEY_VALUE_NO_SAVE_AND_EXIT           0x110C\r
 #define KEY_VALUE_BOOT_FROM_FILE             0x110D\r
+#define KEY_VALUE_BOOT_DESCRIPTION           0x110E\r
+#define KEY_VALUE_BOOT_OPTION                0x110F\r
+#define KEY_VALUE_DRIVER_DESCRIPTION         0x1110\r
+#define KEY_VALUE_DRIVER_OPTION              0x1111\r
 \r
 #define MAXIMUM_NORMAL_KEY_VALUE             0x11FF\r
 \r
 //\r
-// Varstore ID defined for Buffer Stoarge\r
+// Varstore ID defined for Buffer Storage\r
 //\r
 #define VARSTORE_ID_BOOT_MAINT               0x1000\r
 #define VARSTORE_ID_FILE_EXPLORER            0x1001\r
@@ -144,27 +141,48 @@ typedef struct {
   // At most 100 input/output/errorout device for console storage\r
   //\r
   UINT8   ConsoleCheck[MAX_MENU_NUMBER];\r
+  //\r
+  // At most 100 input/output/errorout device for console storage\r
+  //\r
+  UINT8   ConsoleInCheck[MAX_MENU_NUMBER];\r
+  UINT8   ConsoleOutCheck[MAX_MENU_NUMBER];\r
+  UINT8   ConsoleErrCheck[MAX_MENU_NUMBER];\r
+\r
+  //\r
+  // Boot Option Order storage\r
+  // The value is the OptionNumber+1 because the order list value cannot be 0\r
+  // Use UINT32 to hold the potential value 0xFFFF+1=0x10000\r
+  //\r
+  UINT32  BootOptionOrder[MAX_MENU_NUMBER];\r
 \r
   //\r
-  // Boot or Driver Option Order storage\r
+  // Driver Option Order storage\r
+  // The value is the OptionNumber+1 because the order list value cannot be 0\r
+  // Use UINT32 to hold the potential value 0xFFFF+1=0x10000\r
   //\r
-  UINT8   OptionOrder[MAX_MENU_NUMBER];\r
-  UINT8   DriverOptionToBeDeleted[MAX_MENU_NUMBER];\r
+  UINT32  DriverOptionOrder[MAX_MENU_NUMBER];\r
 \r
   //\r
   // Boot Option Delete storage\r
   //\r
-  UINT8   BootOptionDel[MAX_MENU_NUMBER];\r
-  UINT8   DriverOptionDel[MAX_MENU_NUMBER];\r
+  BOOLEAN BootOptionDel[MAX_MENU_NUMBER];\r
+  BOOLEAN BootOptionDelMark[MAX_MENU_NUMBER];\r
+\r
+  //\r
+  // Driver Option Delete storage\r
+  //\r
+  BOOLEAN DriverOptionDel[MAX_MENU_NUMBER];\r
+  BOOLEAN DriverOptionDelMark[MAX_MENU_NUMBER];\r
 \r
   //\r
   // This is the Terminal Attributes value storage\r
   //\r
-  UINT8   COMBaudRate;\r
-  UINT8   COMDataRate;\r
-  UINT8   COMStopBits;\r
-  UINT8   COMParity;\r
-  UINT8   COMTerminalType;\r
+  UINT8   COMBaudRate[MAX_MENU_NUMBER];\r
+  UINT8   COMDataRate[MAX_MENU_NUMBER];\r
+  UINT8   COMStopBits[MAX_MENU_NUMBER];\r
+  UINT8   COMParity[MAX_MENU_NUMBER];\r
+  UINT8   COMTerminalType[MAX_MENU_NUMBER];\r
+  UINT8   COMFlowControl[MAX_MENU_NUMBER];\r
 \r
   //\r
   // Legacy Device Order Selection Storage\r
@@ -201,12 +219,22 @@ typedef struct {
 #define KEY_VALUE_SAVE_AND_EXIT_DRIVER         0x1002\r
 #define KEY_VALUE_NO_SAVE_AND_EXIT_DRIVER      0x1003\r
 \r
+//\r
+// Description data and optional data size\r
+//\r
+#define DESCRIPTION_DATA_SIZE                  75\r
+#define OPTIONAL_DATA_SIZE                     127\r
+\r
 ///\r
 /// This is the data structure used by File Explorer formset\r
 ///\r
 typedef struct {\r
-  UINT16  DescriptionData[75];\r
-  UINT16  OptionalData[127];\r
+  UINT16  BootDescriptionData[DESCRIPTION_DATA_SIZE];\r
+  UINT16  BootOptionalData[OPTIONAL_DATA_SIZE];\r
+  UINT16  DriverDescriptionData[DESCRIPTION_DATA_SIZE];\r
+  UINT16  DriverOptionalData[OPTIONAL_DATA_SIZE];\r
+  BOOLEAN BootOptionChanged;\r
+  BOOLEAN DriverOptionChanged;\r
   UINT8   Active;\r
   UINT8   ForceReconnect;\r
 } FILE_EXPLORER_NV_DATA;\r