VOID DoOptionsMenu(VOID) { ULONG SelectedMenuItem; if (!UiDisplayMenu(OptionsMenuList, OptionsMenuItemCount, 0, -1, &SelectedMenuItem, TRUE, NULL)) { // The user pressed ESC return; } // Clear the backdrop UiDrawBackdrop(); switch (SelectedMenuItem) { case SAFE_MODE: SafeMode = TRUE; BootLogging = TRUE; break; case SAFE_MODE_WITH_NETWORKING: SafeModeWithNetworking = TRUE; BootLogging = TRUE; break; case SAFE_MODE_WITH_COMMAND_PROMPT: SafeModeWithCommandPrompt = TRUE; BootLogging = TRUE; break; //case SEPARATOR1: // break; case ENABLE_BOOT_LOGGING: BootLogging = TRUE; break; case ENABLE_VGA_MODE: VgaMode = TRUE; break; case LAST_KNOWN_GOOD_CONFIGURATION: LastKnownGoodConfiguration = TRUE; break; case DIRECTORY_SERVICES_RESTORE_MODE: DirectoryServicesRepairMode = TRUE; break; case DEBUGGING_MODE: DebuggingMode = TRUE; break; case BOOT_NORMALLY: break; //case SEPARATOR2: // break; #ifdef HAS_OPTION_MENU_CUSTOM_BOOT case CUSTOM_BOOT: OptionMenuCustomBoot(); break; #endif #ifdef HAS_OPTION_MENU_REBOOT case REBOOT: OptionMenuReboot(); break; #endif } }
VOID DoOptionsMenu(VOID) { ULONG SelectedMenuItem; CHAR DebugChannelString[100]; if (!UiDisplayMenu("Select an option:", "", TRUE, OptionsMenuList, OptionsMenuItemCount, 11, // Use "Start ReactOS normally" as default; see the switch below. -1, &SelectedMenuItem, TRUE, NULL)) { /* The user pressed ESC */ return; } /* Clear the backdrop */ UiDrawBackdrop(); switch (SelectedMenuItem) { case 0: // Safe Mode BootOptionChoice = SAFE_MODE; BootLogging = TRUE; break; case 1: // Safe Mode with Networking BootOptionChoice = SAFE_MODE_WITH_NETWORKING; BootLogging = TRUE; break; case 2: // Safe Mode with Command Prompt BootOptionChoice = SAFE_MODE_WITH_COMMAND_PROMPT; BootLogging = TRUE; break; // case 3: // Separator // break; case 4: // Enable Boot Logging BootLogging = TRUE; break; case 5: // Enable VGA Mode VgaMode = TRUE; break; case 6: // Last Known Good Configuration BootOptionChoice = LAST_KNOWN_GOOD_CONFIGURATION; break; case 7: // Directory Services Restore Mode BootOptionChoice = DIRECTORY_SERVICES_RESTORE_MODE; break; case 8: // Debugging Mode DebuggingMode = TRUE; break; case 9: // FreeLdr debugging DebugChannelString[0] = 0; if (UiEditBox(FrldrDbgMsg, DebugChannelString, sizeof(DebugChannelString) / sizeof(DebugChannelString[0]))) { DbgParseDebugChannels(DebugChannelString); } break; // case 10: // Separator // break; case 11: // Start ReactOS normally // Reset all the parameters to their default values. BootOptionChoice = NO_OPTION; BootLogging = FALSE; VgaMode = FALSE; DebuggingMode = FALSE; break; #ifdef HAS_OPTION_MENU_CUSTOM_BOOT case 12: // Custom Boot OptionMenuCustomBoot(); break; #endif #ifdef HAS_OPTION_MENU_REBOOT case 13: // Reboot OptionMenuReboot(); break; #endif } }