]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Application/UiApp/BootMaint/BootMaint.h
MdeModulePkg:Full support F10 hot key in UiApp.
[mirror_edk2.git] / MdeModulePkg / Application / UiApp / BootMaint / BootMaint.h
index e1ac3076390b5928a4a800835a6b24bcc556f604..23d2d2b6d1b4344e8310b3d486d2f6365632f5c6 100644 (file)
@@ -179,6 +179,9 @@ typedef enum _FILE_EXPLORER_DISPLAY_CONTEXT {
 #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 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
@@ -189,6 +192,7 @@ typedef enum _FILE_EXPLORER_DISPLAY_CONTEXT {
 #define COM_STOP_BITS_VAR_OFFSET        VAR_OFFSET (COMStopBits)\r
 #define COM_PARITY_VAR_OFFSET           VAR_OFFSET (COMParity)\r
 #define COM_TERMINAL_VAR_OFFSET         VAR_OFFSET (COMTerminalType)\r
+#define COM_FLOWCONTROL_VAR_OFFSET      VAR_OFFSET (COMFlowControl)\r
 \r
 #define BOOT_TIME_OUT_QUESTION_ID       QUESTION_ID (BootTimeOut)\r
 #define BOOT_NEXT_QUESTION_ID           QUESTION_ID (BootNext)\r
@@ -213,6 +217,9 @@ typedef enum _FILE_EXPLORER_DISPLAY_CONTEXT {
 #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 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
@@ -223,6 +230,7 @@ typedef enum _FILE_EXPLORER_DISPLAY_CONTEXT {
 #define COM_STOP_BITS_QUESTION_ID       QUESTION_ID (COMStopBits)\r
 #define COM_PARITY_QUESTION_ID          QUESTION_ID (COMParity)\r
 #define COM_TERMINAL_QUESTION_ID        QUESTION_ID (COMTerminalType)\r
+#define COM_FLOWCONTROL_QUESTION_ID     QUESTION_ID (COMFlowControl)\r
 \r
 #define STRING_DEPOSITORY_NUMBER        8\r
 \r
@@ -247,6 +255,8 @@ typedef struct {
   UINT8                     ParityIndex;\r
   UINT8                     StopBitsIndex;\r
 \r
+  UINT8                     FlowControl;\r
+\r
   UINT8                     IsConIn;\r
   UINT8                     IsConOut;\r
   UINT8                     IsStdErr;\r
@@ -1309,24 +1319,6 @@ CleanUpStringDepository (
   VOID\r
   );\r
 \r
-/**\r
-  Function handling request to apply changes for BMM pages.\r
-\r
-  @param Private            Pointer to callback data buffer.\r
-  @param CurrentFakeNVMap   Pointer to buffer holding data of various values used by BMM\r
-  @param FormId             ID of the form which has sent the request to apply change.\r
-\r
-  @retval  EFI_SUCCESS      Change successfully applied.\r
-  @retval  Other            Error occurs while trying to apply changes.\r
-\r
-**/\r
-EFI_STATUS\r
-ApplyChangeHandler (\r
-  IN  BMM_CALLBACK_DATA               *Private,\r
-  IN  BMM_FAKE_NV_DATA                *CurrentFakeNVMap,\r
-  IN  EFI_FORM_ID                     FormId\r
-  );\r
-\r
 /**\r
   Discard all changes done to the BMM pages such as Boot Order change,\r
   Driver order change.\r
@@ -1386,6 +1378,47 @@ UpdateFileExplorer (
   IN UINT16                       KeyValue\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
   This function processes the results of changes in configuration.\r
   When user select a interactive opcode, this callback will be triggered.\r
@@ -1442,6 +1475,58 @@ InitBootMaintenance(
   VOID\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
 // Global variable in this program (defined in data.c)\r
 //\r
@@ -1468,6 +1553,8 @@ extern STRING_DEPOSITORY          *DriverOptionStrDepository;
 extern STRING_DEPOSITORY          *DriverOptionHelpStrDepository;\r
 extern STRING_DEPOSITORY          *TerminalStrDepository;\r
 extern EFI_DEVICE_PATH_PROTOCOL   EndDevicePath[];\r
+extern UINT16                     mFlowControlType[2];\r
+extern UINT32                     mFlowControlValue[2];\r
 \r
 //\r
 // Shared IFR form update data\r