diff --git a/reactos/boot/freeldr/freeldr/bootmgr.c b/reactos/boot/freeldr/freeldr/bootmgr.c
index ac2585b5e92..470c6775859 100644
--- a/reactos/boot/freeldr/freeldr/bootmgr.c
+++ b/reactos/boot/freeldr/freeldr/bootmgr.c
@@ -124,6 +124,22 @@ NoGui:
{
LoadAndBootReactOS(OperatingSystemSectionNames[SelectedOperatingSystem]);
}
+ else if (_stricmp(SettingValue, "WindowsNT40") == 0)
+ {
+ LoadAndBootWindows(OperatingSystemSectionNames[SelectedOperatingSystem], _WIN32_WINNT_NT4);
+ }
+ else if (_stricmp(SettingValue, "Windows2000") == 0)
+ {
+ LoadAndBootWindows(OperatingSystemSectionNames[SelectedOperatingSystem], _WIN32_WINNT_WIN2K);
+ }
+ else if (_stricmp(SettingValue, "WindowsXP") == 0)
+ {
+ LoadAndBootWindows(OperatingSystemSectionNames[SelectedOperatingSystem], _WIN32_WINNT_WINXP);
+ }
+ else if (_stricmp(SettingValue, "Windows2003") == 0)
+ {
+ LoadAndBootWindows(OperatingSystemSectionNames[SelectedOperatingSystem], _WIN32_WINNT_WS03);
+ }
else if (_stricmp(SettingValue, "Linux") == 0)
{
LoadAndBootLinux(OperatingSystemSectionNames[SelectedOperatingSystem], OperatingSystemDisplayNames[SelectedOperatingSystem]);
diff --git a/reactos/boot/freeldr/freeldr/freeldr_base.rbuild b/reactos/boot/freeldr/freeldr/freeldr_base.rbuild
index 0268e100606..15094f34202 100644
--- a/reactos/boot/freeldr/freeldr/freeldr_base.rbuild
+++ b/reactos/boot/freeldr/freeldr/freeldr_base.rbuild
@@ -66,6 +66,9 @@
pixel.c
video.c
+
+ winldr.c
+
freeldr.c
debug.c
version.c
diff --git a/reactos/boot/freeldr/freeldr/include/freeldr.h b/reactos/boot/freeldr/freeldr/include/freeldr.h
index e72edd71587..5aa3e5cbc6c 100644
--- a/reactos/boot/freeldr/freeldr/include/freeldr.h
+++ b/reactos/boot/freeldr/freeldr/include/freeldr.h
@@ -45,6 +45,7 @@
#include
#include
#include
+#include
#include
/* file system headers */
#include
diff --git a/reactos/boot/freeldr/freeldr/windows/winldr.c b/reactos/boot/freeldr/freeldr/windows/winldr.c
new file mode 100644
index 00000000000..6f20403b21f
--- /dev/null
+++ b/reactos/boot/freeldr/freeldr/windows/winldr.c
@@ -0,0 +1,36 @@
+/*
+ * FreeLoader
+ *
+ * Copyright (C) 1998-2003 Brian Palmer
+ * Copyright (C) 2006 Aleksey Bragin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include
+
+#define NDEBUG
+#include
+
+VOID
+LoadAndBootWindows(PCSTR OperatingSystemName, WORD OperatingSystemVersion)
+{
+ CHAR MsgBuffer[256];
+
+ sprintf(MsgBuffer,"Booting Microsoft(R) Windows(R) OS version '%04x' is not implemented yet", OperatingSystemVersion);
+ UiMessageBox(MsgBuffer);
+
+ return;
+}