ReactOS 0.4.15-dev-7934-g1dc8d80
options.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

VOID DoOptionsMenu (IN OperatingSystemItem *OperatingSystem)
 
VOID DisplayBootTimeOptions (VOID)
 
VOID AppendBootTimeOptions (PCHAR BootOptions)
 

Function Documentation

◆ AppendBootTimeOptions()

VOID AppendBootTimeOptions ( PCHAR  BootOptions)

Definition at line 252 of file options.c.

253{
254 switch (BootOptionChoice)
255 {
256 case SAFE_MODE:
257 strcat(BootOptions, " /SAFEBOOT:MINIMAL /SOS /NOGUIBOOT");
258 break;
259
261 strcat(BootOptions, " /SAFEBOOT:NETWORK /SOS /NOGUIBOOT");
262 break;
263
265 strcat(BootOptions, " /SAFEBOOT:MINIMAL(ALTERNATESHELL) /SOS /NOGUIBOOT");
266 break;
267
269 DbgPrint("Last known good configuration is not supported yet!\n");
270 break;
271
273 strcat(BootOptions, " /SAFEBOOT:DSREPAIR /SOS");
274 break;
275
276 default:
277 break;
278 }
279
280 if (BootLogging)
281 strcat(BootOptions, " /BOOTLOG");
282
283 if (VgaMode)
284 strcat(BootOptions, " /BASEVIDEO");
285
286 if (DebuggingMode)
287 strcat(BootOptions, " /DEBUG");
288}
char * strcat(char *DstString, const char *SrcString)
Definition: utclib.c:568
@ BootOptions
Definition: bl.h:898
static BOOLEAN DebuggingMode
Definition: options.c:88
@ SAFE_MODE
Definition: options.c:77
@ DIRECTORY_SERVICES_RESTORE_MODE
Definition: options.c:82
@ SAFE_MODE_WITH_COMMAND_PROMPT
Definition: options.c:79
@ LAST_KNOWN_GOOD_CONFIGURATION
Definition: options.c:81
@ SAFE_MODE_WITH_NETWORKING
Definition: options.c:78
static BOOLEAN VgaMode
Definition: options.c:87
static BOOLEAN BootLogging
Definition: options.c:86
static enum BootOption BootOptionChoice
Definition: options.c:85
#define DbgPrint
Definition: hal.h:12

Referenced by LoadAndBootWindows().

◆ DisplayBootTimeOptions()

VOID DisplayBootTimeOptions ( VOID  )

Definition at line 181 of file options.c.

182{
183 CHAR BootOptions[260] = "";
184
185 switch (BootOptionChoice)
186 {
187 case SAFE_MODE:
189 break;
190
193 break;
194
197 break;
198
201 break;
202
205 break;
206
207 default:
208 break;
209 }
210
211 if (BootLogging)
212 {
213 if ( (BootOptionChoice != SAFE_MODE) &&
216 {
218 {
219 strcat(BootOptions, ", ");
220 }
222 }
223 }
224
225 if (VgaMode)
226 {
227 if ((BootOptionChoice != NO_OPTION) ||
229 {
230 strcat(BootOptions, ", ");
231 }
233 }
234
235 if (DebuggingMode)
236 {
237 if ((BootOptionChoice != NO_OPTION) ||
239 {
240 strcat(BootOptions, ", ");
241 }
243 }
244
245 /* Display the chosen boot options */
246 UiDrawText(0,
247 UiScreenHeight - 2,
250}
#define COLOR_LIGHTBLUE
Definition: ui.h:332
VOID UiDrawText(_In_ ULONG X, _In_ ULONG Y, _In_ PCSTR Text, _In_ UCHAR Attr)
Definition: ui.c:254
UCHAR UiMenuBgColor
Definition: ui.c:35
#define ATTR(cFore, cBack)
Definition: ui.h:317
ULONG UiScreenHeight
Definition: ui.c:55
@ NO_OPTION
Definition: options.c:75
PCSTR OptionsMenuList[]
Definition: options.c:27
char CHAR
Definition: xmlstorage.h:175

Referenced by MiniTuiDrawMenu(), and TuiDrawMenu().

◆ DoOptionsMenu()

VOID DoOptionsMenu ( IN OperatingSystemItem OperatingSystem)

Definition at line 92 of file options.c.

93{
94 ULONG SelectedMenuItem;
95 CHAR DebugChannelString[100];
96
97 if (!UiDisplayMenu("Select an option:", NULL,
98 TRUE,
100 sizeof(OptionsMenuList) / sizeof(OptionsMenuList[0]),
101 11, // Use "Start ReactOS normally" as default; see the switch below.
102 -1,
103 &SelectedMenuItem,
104 TRUE,
105 NULL, NULL))
106 {
107 /* The user pressed ESC */
108 return;
109 }
110
111 /* Clear the backdrop */
113
114 switch (SelectedMenuItem)
115 {
116 case 0: // Safe Mode
119 break;
120 case 1: // Safe Mode with Networking
123 break;
124 case 2: // Safe Mode with Command Prompt
127 break;
128 // case 3: // Separator
129 // break;
130 case 4: // Enable Boot Logging
132 break;
133 case 5: // Enable VGA Mode
134 VgaMode = TRUE;
135 break;
136 case 6: // Last Known Good Configuration
138 break;
139 case 7: // Directory Services Restore Mode
141 break;
142 case 8: // Debugging Mode
144 break;
145 case 9: // FreeLdr debugging
146 DebugChannelString[0] = 0;
148 DebugChannelString,
149 sizeof(DebugChannelString) / sizeof(DebugChannelString[0])))
150 {
151 DbgParseDebugChannels(DebugChannelString);
152 }
153 break;
154 // case 10: // Separator
155 // break;
156 case 11: // Start ReactOS normally
157 // Reset all the parameters to their default values.
160 VgaMode = FALSE;
162 break;
163#ifdef HAS_OPTION_MENU_EDIT_CMDLINE
164 case 12: // Edit command line
165 EditOperatingSystemEntry(OperatingSystem);
166 break;
167#endif
168#ifdef HAS_OPTION_MENU_CUSTOM_BOOT
169 case 13: // Custom Boot
171 break;
172#endif
173#ifdef HAS_OPTION_MENU_REBOOT
174 case 14: // Reboot
176 break;
177#endif
178 }
179}
#define DbgParseDebugChannels(val)
Definition: debug.h:121
BOOLEAN UiEditBox(PCSTR MessageText, PCHAR EditTextBuffer, ULONG Length)
Definition: ui.c:634
BOOLEAN UiDisplayMenu(IN PCSTR MenuHeader, IN PCSTR MenuFooter OPTIONAL, IN BOOLEAN ShowBootOptions, IN PCSTR MenuItemList[], IN ULONG MenuItemCount, IN ULONG DefaultMenuItem, IN LONG MenuTimeOut, OUT PULONG SelectedMenuItem, IN BOOLEAN CanEscape, IN UiMenuKeyPressFilterCallback KeyPressFilter OPTIONAL, IN PVOID Context OPTIONAL)
Definition: ui.c:605
VOID UiDrawBackdrop(VOID)
Definition: ui.c:233
const PCSTR FrldrDbgMsg
Definition: options.c:57
VOID OptionMenuCustomBoot(VOID)
VOID OptionMenuReboot(VOID)
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
uint32_t ULONG
Definition: typedefs.h:59

Referenced by MainBootMenuKeyPressFilter().