/** @file Formset guids, form id and VarStore data structure for Boot Maintenance Manager. Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _FORM_GUID_H_ #define _FORM_GUID_H_ #define BOOT_MAINT_FORMSET_GUID \ { \ 0x642237c7, 0x35d4, 0x472d, {0x83, 0x65, 0x12, 0xe0, 0xcc, 0xf2, 0x7a, 0x22} \ } #define FORM_MAIN_ID 0x1001 #define FORM_BOOT_ADD_ID 0x1002 #define FORM_BOOT_DEL_ID 0x1003 #define FORM_BOOT_CHG_ID 0x1004 #define FORM_DRV_ADD_ID 0x1005 #define FORM_DRV_DEL_ID 0x1006 #define FORM_DRV_CHG_ID 0x1007 #define FORM_CON_MAIN_ID 0x1008 #define FORM_CON_IN_ID 0x1009 #define FORM_CON_OUT_ID 0x100A #define FORM_CON_ERR_ID 0x100B #define FORM_FILE_SEEK_ID 0x100C #define FORM_FILE_NEW_SEEK_ID 0x100D #define FORM_DRV_ADD_FILE_ID 0x100E #define FORM_DRV_ADD_HANDLE_ID 0x100F #define FORM_DRV_ADD_HANDLE_DESC_ID 0x1010 #define FORM_BOOT_NEXT_ID 0x1011 #define FORM_TIME_OUT_ID 0x1012 #define FORM_BOOT_SETUP_ID 0x1014 #define FORM_DRIVER_SETUP_ID 0x1015 #define FORM_BOOT_LEGACY_DEVICE_ID 0x1016 #define FORM_CON_COM_ID 0x1017 #define FORM_CON_COM_SETUP_ID 0x1018 #define FORM_BOOT_ADD_DESCRIPTION_ID 0x101F #define FORM_DRIVER_ADD_FILE_DESCRIPTION_ID 0x1020 #define FORM_CON_MODE_ID 0x1021 #define FORM_BOOT_FROM_FILE_ID 0x1024 #define MAXIMUM_FORM_ID 0x10FF #define KEY_VALUE_COM_SET_BAUD_RATE 0x1101 #define KEY_VALUE_COM_SET_DATA_BITS 0x1102 #define KEY_VALUE_COM_SET_STOP_BITS 0x1103 #define KEY_VALUE_COM_SET_PARITY 0x1104 #define KEY_VALUE_COM_SET_TERMI_TYPE 0x1105 #define KEY_VALUE_MAIN_BOOT_NEXT 0x1106 #define KEY_VALUE_BOOT_ADD_DESC_DATA 0x1107 #define KEY_VALUE_BOOT_ADD_OPT_DATA 0x1108 #define KEY_VALUE_DRIVER_ADD_DESC_DATA 0x1109 #define KEY_VALUE_DRIVER_ADD_OPT_DATA 0x110A #define KEY_VALUE_SAVE_AND_EXIT 0x110B #define KEY_VALUE_NO_SAVE_AND_EXIT 0x110C #define KEY_VALUE_BOOT_FROM_FILE 0x110D #define FORM_RESET 0x110E #define KEY_VALUE_BOOT_DESCRIPTION 0x110F #define KEY_VALUE_BOOT_OPTION 0x1110 #define KEY_VALUE_DRIVER_DESCRIPTION 0x1111 #define KEY_VALUE_DRIVER_OPTION 0x1112 #define KEY_VALUE_SAVE_AND_EXIT_BOOT 0x1113 #define KEY_VALUE_NO_SAVE_AND_EXIT_BOOT 0x1114 #define KEY_VALUE_SAVE_AND_EXIT_DRIVER 0x1115 #define KEY_VALUE_NO_SAVE_AND_EXIT_DRIVER 0x1116 #define KEY_VALUE_TRIGGER_FORM_OPEN_ACTION 0x1117 #define MAXIMUM_NORMAL_KEY_VALUE 0x11FF // // Varstore ID defined for Buffer Storage // #define VARSTORE_ID_BOOT_MAINT 0x1000 // // End Label // #define LABEL_FORM_MAIN_START 0xfffc #define LABEL_FORM_MAIN_END 0xfffd #define LABEL_BMM_PLATFORM_INFORMATION 0xfffe #define LABEL_END 0xffff #define MAX_MENU_NUMBER 100 /// /// This is the structure that will be used to store the /// question's current value. Use it at initialize time to /// set default value for each question. When using at run /// time, this map is returned by the callback function, /// so dynamically changing the question's value will be /// possible through this mechanism /// typedef struct { // // Three questions displayed at the main page // for Timeout, BootNext, Variables respectively // UINT16 BootTimeOut; UINT32 BootNext; // // This is the COM1 Attributes value storage // UINT8 COM1BaudRate; UINT8 COM1DataRate; UINT8 COM1StopBits; UINT8 COM1Parity; UINT8 COM1TerminalType; // // This is the COM2 Attributes value storage // UINT8 COM2BaudRate; UINT8 COM2DataRate; UINT8 COM2StopBits; UINT8 COM2Parity; UINT8 COM2TerminalType; // // Driver Option Add Handle page storage // UINT16 DriverAddHandleDesc[MAX_MENU_NUMBER]; UINT16 DriverAddHandleOptionalData[MAX_MENU_NUMBER]; UINT8 DriverAddActive; UINT8 DriverAddForceReconnect; // // Console Input/Output/Errorout using COM port check storage // UINT8 ConsoleInputCOM1; UINT8 ConsoleInputCOM2; UINT8 ConsoleOutputCOM1; UINT8 ConsoleOutputCOM2; UINT8 ConsoleErrorCOM1; UINT8 ConsoleErrorCOM2; // // At most 100 input/output/errorout device for console storage // UINT8 ConsoleCheck[MAX_MENU_NUMBER]; // // At most 100 input/output/errorout device for console storage // UINT8 ConsoleInCheck[MAX_MENU_NUMBER]; UINT8 ConsoleOutCheck[MAX_MENU_NUMBER]; UINT8 ConsoleErrCheck[MAX_MENU_NUMBER]; // // Boot or Driver Option Order storage // The value is the OptionNumber+1 because the order list value cannot be 0 // Use UINT32 to hold the potential value 0xFFFF+1=0x10000 // UINT32 BootOptionOrder[MAX_MENU_NUMBER]; UINT32 DriverOptionOrder[MAX_MENU_NUMBER]; // // Boot or Driver Option Delete storage // BOOLEAN BootOptionDel[MAX_MENU_NUMBER]; BOOLEAN DriverOptionDel[MAX_MENU_NUMBER]; BOOLEAN BootOptionDelMark[MAX_MENU_NUMBER]; BOOLEAN DriverOptionDelMark[MAX_MENU_NUMBER]; // // This is the Terminal Attributes value storage // UINT8 COMBaudRate[MAX_MENU_NUMBER]; UINT8 COMDataRate[MAX_MENU_NUMBER]; UINT8 COMStopBits[MAX_MENU_NUMBER]; UINT8 COMParity[MAX_MENU_NUMBER]; UINT8 COMTerminalType[MAX_MENU_NUMBER]; UINT8 COMFlowControl[MAX_MENU_NUMBER]; // // We use DisableMap array to record the enable/disable state of each boot device // It should be taken as a bit array, from left to right there are totally 256 bits // the most left one stands for BBS table item 0, and the most right one stands for item 256 // If the bit is 1, it means the boot device has been disabled. // UINT8 DisableMap[32]; // // Console Output Text Mode // UINT16 ConsoleOutMode; // // UINT16 PadArea[10]; // UINT16 BootDescriptionData[MAX_MENU_NUMBER]; UINT16 BootOptionalData[127]; UINT16 DriverDescriptionData[MAX_MENU_NUMBER]; UINT16 DriverOptionalData[127]; BOOLEAN BootOptionChanged; BOOLEAN DriverOptionChanged; UINT8 Active; UINT8 ForceReconnect; } BMM_FAKE_NV_DATA; #endif