CORE-9023 CORE-16260
Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
(*EDIT_OS_ENTRY_PROC)(
IN ULONG_PTR SectionId OPTIONAL);
(*EDIT_OS_ENTRY_PROC)(
IN ULONG_PTR SectionId OPTIONAL);
+static VOID
+EditCustomBootReactOSSetup(
+ IN ULONG_PTR SectionId OPTIONAL)
+{
+ EditCustomBootReactOS(SectionId, TRUE);
+}
+
+static VOID
+EditCustomBootNTOS(
+ IN ULONG_PTR SectionId OPTIONAL)
+{
+ EditCustomBootReactOS(SectionId, FALSE);
+}
+
static const struct
{
PCSTR BootType;
static const struct
{
PCSTR BootType;
ARC_ENTRY_POINT OsLoader;
} OSLoadingMethods[] =
{
ARC_ENTRY_POINT OsLoader;
} OSLoadingMethods[] =
{
- {"ReactOSSetup", EditCustomBootReactOS, LoadReactOSSetup},
+ {"ReactOSSetup", EditCustomBootReactOSSetup, LoadReactOSSetup},
#ifdef _M_IX86
{"Drive" , EditCustomBootDisk , LoadAndBootDrive },
{"Partition" , EditCustomBootPartition , LoadAndBootPartition },
{"BootSector" , EditCustomBootSectorFile, LoadAndBootBootSector},
#ifdef _M_IX86
{"Drive" , EditCustomBootDisk , LoadAndBootDrive },
{"Partition" , EditCustomBootPartition , LoadAndBootPartition },
{"BootSector" , EditCustomBootSectorFile, LoadAndBootBootSector},
- {"Linux" , EditCustomBootLinux , LoadAndBootLinux },
- {"WindowsNT40" , EditCustomBootReactOS, LoadAndBootWindows},
+ {"Linux" , EditCustomBootLinux, LoadAndBootLinux },
+ {"WindowsNT40" , EditCustomBootNTOS , LoadAndBootWindows},
- {"Windows" , EditCustomBootReactOS, LoadAndBootWindows},
- {"Windows2003" , EditCustomBootReactOS, LoadAndBootWindows},
+ {"Windows" , EditCustomBootNTOS , LoadAndBootWindows},
+ {"Windows2003" , EditCustomBootNTOS , LoadAndBootWindows},
};
/* FUNCTIONS ******************************************************************/
};
/* FUNCTIONS ******************************************************************/
"Boot Sector File",
"Linux",
#endif
"Boot Sector File",
"Linux",
#endif
+ "ReactOS",
+ "ReactOS Setup"
};
ULONG SelectedMenuItem;
};
ULONG SelectedMenuItem;
EditCustomBootLinux(0);
break;
case 4: // ReactOS
EditCustomBootLinux(0);
break;
case 4: // ReactOS
+ EditCustomBootReactOS(0, FALSE);
+ break;
+ case 5: // ReactOS Setup
+ EditCustomBootReactOS(0, TRUE);
+ break;
- case 0:
-#endif
- EditCustomBootReactOS(0);
+ case 0: // ReactOS
+ EditCustomBootReactOS(0, FALSE);
+ case 1: // ReactOS Setup
+ EditCustomBootReactOS(0, TRUE);
+ break;
+#endif
-VOID EditCustomBootReactOS(IN ULONG_PTR SectionId OPTIONAL)
+VOID
+EditCustomBootReactOS(
+ IN ULONG_PTR SectionId OPTIONAL,
+ IN BOOLEAN IsSetup)
{
TIMEINFO* TimeInfo;
OperatingSystemItem OperatingSystem;
{
TIMEINFO* TimeInfo;
OperatingSystemItem OperatingSystem;
return;
/* Add the BootType */
return;
/* Add the BootType */
- if (!IniAddSettingValueToSection(SectionId, "BootType", "Windows2003"))
+ if (!IniAddSettingValueToSection(SectionId, "BootType", IsSetup ? "ReactOSSetup" : "Windows2003"))
return;
/* Construct the ReactOS ARC system path */
return;
/* Construct the ReactOS ARC system path */
VOID OptionMenuCustomBoot(VOID);
#endif
VOID OptionMenuCustomBoot(VOID);
#endif
-VOID EditCustomBootReactOS(IN ULONG_PTR SectionId OPTIONAL);
+VOID
+EditCustomBootReactOS(
+ IN ULONG_PTR SectionId OPTIONAL,
+ IN BOOLEAN IsSetup);
#ifdef HAS_OPTION_MENU_REBOOT
VOID OptionMenuReboot(VOID);
#ifdef HAS_OPTION_MENU_REBOOT
VOID OptionMenuReboot(VOID);