#define CON_ERR_COM1_VAR_OFFSET VAR_OFFSET (ConsoleErrorCOM1)\r
#define CON_ERR_COM2_VAR_OFFSET VAR_OFFSET (ConsoleErrorCOM2)\r
#define CON_MODE_VAR_OFFSET VAR_OFFSET (ConsoleOutMode)\r
-#define CON_DEVICE_VAR_OFFSET VAR_OFFSET (ConsoleCheck)\r
-#define OPTION_ORDER_VAR_OFFSET VAR_OFFSET (OptionOrder)\r
-#define OPTION_DEL_VAR_OFFSET VAR_OFFSET (OptionDel)\r
+#define CON_IN_DEVICE_VAR_OFFSET VAR_OFFSET (ConsoleInCheck)\r
+#define CON_OUT_DEVICE_VAR_OFFSET VAR_OFFSET (ConsoleOutCheck)\r
+#define CON_ERR_DEVICE_VAR_OFFSET VAR_OFFSET (ConsoleErrCheck)\r
+#define BOOT_OPTION_ORDER_VAR_OFFSET VAR_OFFSET (BootOptionOrder)\r
+#define DRIVER_OPTION_ORDER_VAR_OFFSET VAR_OFFSET (DriverOptionOrder)\r
+#define BOOT_OPTION_DEL_VAR_OFFSET VAR_OFFSET (BootOptionDel)\r
+#define DRIVER_OPTION_DEL_VAR_OFFSET VAR_OFFSET (DriverOptionDel)\r
#define DRIVER_ADD_OPTION_VAR_OFFSET VAR_OFFSET (DriverAddHandleOptionalData)\r
#define COM_BAUD_RATE_VAR_OFFSET VAR_OFFSET (COMBaudRate)\r
#define COM_DATA_RATE_VAR_OFFSET VAR_OFFSET (COMDataRate)\r
#define CON_ERR_COM1_QUESTION_ID QUESTION_ID (ConsoleErrorCOM1)\r
#define CON_ERR_COM2_QUESTION_ID QUESTION_ID (ConsoleErrorCOM2)\r
#define CON_MODE_QUESTION_ID QUESTION_ID (ConsoleOutMode)\r
-#define CON_DEVICE_QUESTION_ID QUESTION_ID (ConsoleCheck)\r
-#define OPTION_ORDER_QUESTION_ID QUESTION_ID (OptionOrder)\r
-#define OPTION_DEL_QUESTION_ID QUESTION_ID (OptionDel)\r
+#define CON_IN_DEVICE_QUESTION_ID QUESTION_ID (ConsoleInCheck)\r
+#define CON_OUT_DEVICE_QUESTION_ID QUESTION_ID (ConsoleOutCheck)\r
+#define CON_ERR_DEVICE_QUESTION_ID QUESTION_ID (ConsoleErrCheck)\r
+#define BOOT_OPTION_ORDER_QUESTION_ID QUESTION_ID (BootOptionOrder)\r
+#define DRIVER_OPTION_ORDER_QUESTION_ID QUESTION_ID (DriverOptionOrder)\r
+#define BOOT_OPTION_DEL_QUESTION_ID QUESTION_ID (BootOptionDel)\r
+#define DRIVER_OPTION_DEL_QUESTION_ID QUESTION_ID (DriverOptionDel)\r
#define DRIVER_ADD_OPTION_QUESTION_ID QUESTION_ID (DriverAddHandleOptionalData)\r
#define COM_BAUD_RATE_QUESTION_ID QUESTION_ID (COMBaudRate)\r
#define COM_DATA_RATE_QUESTION_ID QUESTION_ID (COMDataRate)\r
**/\r
EFI_STATUS\r
Var_UpdateBBSOption (\r
- IN BMM_CALLBACK_DATA *CallbackData\r
+ IN BMM_CALLBACK_DATA *CallbackData,\r
+ IN EFI_FORM_ID FormId\r
);\r
\r
/**\r
IN EFI_DEVICE_PATH_PROTOCOL *DevPath\r
);\r
\r
-/**\r
- Get the index number (#### in Boot####) for the boot option pointed to a BBS legacy device type\r
- specified by DeviceType.\r
-\r
- @param DeviceType The legacy device type. It can be floppy, network, harddisk, cdrom,\r
- etc.\r
- @param OptionIndex Returns the index number (#### in Boot####).\r
- @param OptionSize Return the size of the Boot### variable.\r
-\r
-**/\r
-VOID *\r
-GetLegacyBootOptionVar (\r
- IN UINTN DeviceType,\r
- OUT UINTN *OptionIndex,\r
- OUT UINTN *OptionSize\r
- );\r
-\r
/**\r
Initialize the Boot Maintenance Utitliy.\r
\r
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest\r
);\r
\r
+/**\r
+ This function applies changes in a driver's configuration.\r
+ Input is a Configuration, which has the routing data for this\r
+ driver followed by name / value configuration pairs. The driver\r
+ must apply those pairs to its configurable storage. If the\r
+ driver's configuration is stored in a linear block of data\r
+ and the driver's name / value pairs are in <BlockConfig>\r
+ format, it may use the ConfigToBlock helper function (above) to\r
+ simplify the job. Currently not implemented.\r
+\r
+ @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.\r
+ @param[in] Configuration A null-terminated Unicode string in\r
+ <ConfigString> format. \r
+ @param[out] Progress A pointer to a string filled in with the\r
+ offset of the most recent '&' before the\r
+ first failing name / value pair (or the\r
+ beginn ing of the string if the failure\r
+ is in the first name / value pair) or\r
+ the terminating NULL if all was\r
+ successful.\r
+\r
+ @retval EFI_SUCCESS The results have been distributed or are\r
+ awaiting distribution. \r
+ @retval EFI_OUT_OF_RESOURCES Not enough memory to store the\r
+ parts of the results that must be\r
+ stored awaiting possible future\r
+ protocols.\r
+ @retval EFI_INVALID_PARAMETERS Passing in a NULL for the\r
+ Results parameter would result\r
+ in this type of error.\r
+ @retval EFI_NOT_FOUND Target for the specified routing data\r
+ was not found.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+FileExplorerRouteConfig (\r
+ IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
+ IN CONST EFI_STRING Configuration,\r
+ OUT EFI_STRING *Progress\r
+ );\r
+\r
/**\r
Dispatch BMM formset and FileExplorer formset.\r
\r
IN EFI_GUID *VendorGuid\r
);\r
\r
+/**\r
+ Get option number according to Boot#### and BootOrder variable. \r
+ The value is saved as #### + 1.\r
+\r
+ @param CallbackData The BMM context data.\r
+**/\r
+VOID \r
+GetBootOrder (\r
+ IN BMM_CALLBACK_DATA *CallbackData\r
+ );\r
+\r
+/**\r
+ Get driver option order from globalc DriverOptionMenu.\r
+\r
+ @param CallbackData The BMM context data.\r
+ \r
+**/\r
+VOID \r
+GetDriverOrder (\r
+ IN BMM_CALLBACK_DATA *CallbackData\r
+ );\r
+\r
+/**\r
+ Intall BootMaint and FileExplorer HiiPackages.\r
+\r
+**/\r
+EFI_STATUS\r
+InitBMPackage (\r
+ VOID\r
+ );\r
+\r
+/**\r
+ Remvoe the intalled BootMaint and FileExplorer HiiPackages.\r
+\r
+**/\r
+VOID\r
+FreeBMPackage (\r
+ VOID\r
+ );\r
+\r
+/**\r
+ According to LegacyDevOrder variable to get legacy FD\HD\CD\NET\BEV\r
+ devices list .\r
+\r
+ @param CallbackData The BMM context data.\r
+**/\r
+VOID\r
+GetLegacyDeviceOrder (\r
+ IN BMM_CALLBACK_DATA *CallbackData\r
+ );\r
+ \r
+/**\r
+\r
+ Initialize console input device check box to ConsoleInCheck[MAX_MENU_NUMBER]\r
+ in BMM_FAKE_NV_DATA structure.\r
+\r
+ @param CallbackData The BMM context data.\r
+\r
+**/ \r
+VOID \r
+GetConsoleInCheck (\r
+ IN BMM_CALLBACK_DATA *CallbackData\r
+ );\r
+ \r
+/**\r
+\r
+ Initialize console output device check box to ConsoleOutCheck[MAX_MENU_NUMBER]\r
+ in BMM_FAKE_NV_DATA structure.\r
+\r
+ @param CallbackData The BMM context data.\r
+\r
+**/ \r
+VOID \r
+GetConsoleOutCheck (\r
+ IN BMM_CALLBACK_DATA *CallbackData\r
+ );\r
+\r
+/**\r
+\r
+ Initialize standard error output device check box to ConsoleErrCheck[MAX_MENU_NUMBER]\r
+ in BMM_FAKE_NV_DATA structure.\r
+\r
+ @param CallbackData The BMM context data.\r
+\r
+**/ \r
+VOID \r
+GetConsoleErrCheck (\r
+ IN BMM_CALLBACK_DATA *CallbackData\r
+ );\r
+\r
+/**\r
+\r
+ Initialize terminal attributes (baudrate, data rate, stop bits, parity and terminal type)\r
+ to BMM_FAKE_NV_DATA structure.\r
+\r
+ @param CallbackData The BMM context data.\r
+\r
+**/ \r
+VOID \r
+GetTerminalAttribute (\r
+ IN BMM_CALLBACK_DATA *CallbackData\r
+ );\r
+\r
+/**\r
+\r
+ Find the first instance of this Protocol\r
+ in the system and return it's interface.\r
+\r
+\r
+ @param ProtocolGuid Provides the protocol to search for\r
+ @param Interface On return, a pointer to the first interface\r
+ that matches ProtocolGuid\r
+\r
+ @retval EFI_SUCCESS A protocol instance matching ProtocolGuid was found\r
+ @retval EFI_NOT_FOUND No protocol instances were found that match ProtocolGuid\r
+\r
+**/\r
+EFI_STATUS\r
+EfiLibLocateProtocol (\r
+ IN EFI_GUID *ProtocolGuid,\r
+ OUT VOID **Interface\r
+ );\r
+\r
//\r
// Global variable in this program (defined in data.c)\r
//\r