/** @file Formset guids, form id and VarStore data structure for Boot Maintenance Manager. Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _FORM_GUID_H_ #define _FORM_GUID_H_ #include #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_RESET 0x1013 #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_SET_FD_ORDER_ID 0x1019 #define FORM_SET_HD_ORDER_ID 0x101A #define FORM_SET_CD_ORDER_ID 0x101B #define FORM_SET_NET_ORDER_ID 0x101C #define FORM_SET_BEV_ORDER_ID 0x101D #define FORM_FILE_EXPLORER_ID 0x101E #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 0x1022 #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 KEY_VALUE_BOOT_DESCRIPTION 0x110E #define KEY_VALUE_BOOT_OPTION 0x110F #define KEY_VALUE_DRIVER_DESCRIPTION 0x1110 #define KEY_VALUE_DRIVER_OPTION 0x1111 #define MAXIMUM_NORMAL_KEY_VALUE 0x11FF // // Varstore ID defined for Buffer Storage // #define VARSTORE_ID_BOOT_MAINT 0x1000 #define VARSTORE_ID_FILE_EXPLORER 0x1001 // // End Label // #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; UINT16 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 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]; // // 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 DriverOptionOrder[MAX_MENU_NUMBER]; // // Boot Option Delete storage // BOOLEAN BootOptionDel[MAX_MENU_NUMBER]; BOOLEAN BootOptionDelMark[MAX_MENU_NUMBER]; // // Driver Option Delete storage // BOOLEAN DriverOptionDel[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]; // // Legacy Device Order Selection Storage // UINT8 LegacyFD[MAX_MENU_NUMBER]; UINT8 LegacyHD[MAX_MENU_NUMBER]; UINT8 LegacyCD[MAX_MENU_NUMBER]; UINT8 LegacyNET[MAX_MENU_NUMBER]; UINT8 LegacyBEV[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]; // } BMM_FAKE_NV_DATA; // // Key used by File Explorer forms // #define KEY_VALUE_SAVE_AND_EXIT_BOOT 0x1000 #define KEY_VALUE_NO_SAVE_AND_EXIT_BOOT 0x1001 #define KEY_VALUE_SAVE_AND_EXIT_DRIVER 0x1002 #define KEY_VALUE_NO_SAVE_AND_EXIT_DRIVER 0x1003 // // Description data and optional data size // #define DESCRIPTION_DATA_SIZE 75 #define OPTIONAL_DATA_SIZE 127 /// /// This is the data structure used by File Explorer formset /// typedef struct { UINT16 BootDescriptionData[DESCRIPTION_DATA_SIZE]; UINT16 BootOptionalData[OPTIONAL_DATA_SIZE]; UINT16 DriverDescriptionData[DESCRIPTION_DATA_SIZE]; UINT16 DriverOptionalData[OPTIONAL_DATA_SIZE]; BOOLEAN BootOptionChanged; BOOLEAN DriverOptionChanged; UINT8 Active; UINT8 ForceReconnect; } FILE_EXPLORER_NV_DATA; #endif