/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS text-mode setup
- * FILE: subsys/system/usetup/usetup.h
+ * FILE: base/setup/usetup/usetup.h
* PURPOSE: Text-mode setup
- * PROGRAMMER: Eric Kohl
+ * PROGRAMMER:
*/
-#pragma once
+#ifndef _USETUP_PCH_
+#define _USETUP_PCH_
/* C Headers */
-#include <ctype.h>
#include <stdio.h>
-#include <stddef.h>
+#include <stdlib.h>
/* PSDK/NDK */
#define WIN32_NO_STATUS
-#include <windows.h>
+#include <windef.h>
+#include <winbase.h>
+#include <winreg.h>
+#include <winuser.h>
+#include <wincon.h>
+
#define NTOS_MODE_USER
-#include <ndk/ntndk.h>
-#include <fmifs/fmifs.h>
+#include <ndk/cmfuncs.h>
+#include <ndk/exfuncs.h>
+#include <ndk/iofuncs.h>
+#include <ndk/kefuncs.h>
+#include <ndk/mmfuncs.h>
+#include <ndk/obfuncs.h>
+#include <ndk/psfuncs.h>
+#include <ndk/rtlfuncs.h>
+#include <ndk/setypes.h>
-/* VFAT */
-#include <fslib/vfatlib.h>
+#include <ntstrsafe.h>
-/* DDK Disk Headers */
-#include <ntddscsi.h>
-/* ReactOS Version */
-#include <reactos/buildno.h>
+/* Setup library headers */
+#include <reactos/rosioctl.h>
+#include <../lib/setuplib.h>
/* Internal Headers */
-#include "interface/consup.h"
-#include "partlist.h"
-#include "infros.h"
-#include "inffile.h"
-#include "inicache.h"
+#include "consup.h"
#include "progress.h"
-#ifdef __REACTOS__
-#include "filequeue.h"
-#endif
-#include "bootsup.h"
-#include "registry.h"
#include "fslist.h"
-#include "chkdsk.h"
-#include "format.h"
-#include "cabinet.h"
-#include "filesup.h"
-#include "drivesup.h"
+#include "partlist.h"
#include "genlist.h"
-#include "settings.h"
-#include "host.h"
#include "mui.h"
-#include "errorcode.h"
+
+#include "spapisup/inffile.h"
+#include "spapisup/cabinet.h"
+
extern HANDLE ProcessHeap;
-extern UNICODE_STRING SourceRootPath;
-extern UNICODE_STRING SourceRootDir;
-extern UNICODE_STRING SourcePath;
extern BOOLEAN IsUnattendedSetup;
-extern PWCHAR SelectedLanguageId;
+extern PCWSTR SelectedLanguageId;
typedef enum _PAGE_NUMBER
{
- START_PAGE,
- LANGUAGE_PAGE,
- INTRO_PAGE,
- LICENSE_PAGE,
- INSTALL_INTRO_PAGE,
-
-// SCSI_CONTROLLER_PAGE,
-
- DEVICE_SETTINGS_PAGE,
- COMPUTER_SETTINGS_PAGE,
- DISPLAY_SETTINGS_PAGE,
- KEYBOARD_SETTINGS_PAGE,
- LAYOUT_SETTINGS_PAGE,
-
- SELECT_PARTITION_PAGE,
- CREATE_PARTITION_PAGE,
- DELETE_PARTITION_PAGE,
-
- SELECT_FILE_SYSTEM_PAGE,
- FORMAT_PARTITION_PAGE,
- CHECK_FILE_SYSTEM_PAGE,
-
- PREPARE_COPY_PAGE,
- INSTALL_DIRECTORY_PAGE,
- FILE_COPY_PAGE,
- REGISTRY_PAGE,
- BOOT_LOADER_PAGE,
- BOOT_LOADER_FLOPPY_PAGE,
- BOOT_LOADER_HARDDISK_MBR_PAGE,
- BOOT_LOADER_HARDDISK_VBR_PAGE,
-
- REPAIR_INTRO_PAGE,
-
- SUCCESS_PAGE,
- QUIT_PAGE,
- FLUSH_PAGE,
- REBOOT_PAGE, /* virtual page */
+ SETUP_INIT_PAGE,
+ LANGUAGE_PAGE,
+ WELCOME_PAGE,
+ LICENSE_PAGE,
+ INSTALL_INTRO_PAGE,
+
+// SCSI_CONTROLLER_PAGE,
+// OEM_DRIVER_PAGE,
+
+ REPAIR_INTRO_PAGE,
+ UPGRADE_REPAIR_PAGE,
+
+ DEVICE_SETTINGS_PAGE,
+ COMPUTER_SETTINGS_PAGE,
+ DISPLAY_SETTINGS_PAGE,
+ KEYBOARD_SETTINGS_PAGE,
+ LAYOUT_SETTINGS_PAGE,
+
+ SELECT_PARTITION_PAGE,
+ CREATE_PRIMARY_PARTITION_PAGE,
+ CREATE_EXTENDED_PARTITION_PAGE,
+ CREATE_LOGICAL_PARTITION_PAGE,
+ CONFIRM_DELETE_SYSTEM_PARTITION_PAGE,
+ DELETE_PARTITION_PAGE,
+
+ SELECT_FILE_SYSTEM_PAGE,
+ FORMAT_PARTITION_PAGE,
+ CHECK_FILE_SYSTEM_PAGE,
+
+ PREPARE_COPY_PAGE,
+ INSTALL_DIRECTORY_PAGE,
+ FILE_COPY_PAGE,
+ REGISTRY_PAGE,
+ BOOT_LOADER_PAGE,
+ BOOT_LOADER_FLOPPY_PAGE,
+ BOOT_LOADER_HARDDISK_MBR_PAGE,
+ BOOT_LOADER_HARDDISK_VBR_PAGE,
+
+ SUCCESS_PAGE,
+ QUIT_PAGE,
+ FLUSH_PAGE,
+ REBOOT_PAGE, /* Virtual page */
+ RECOVERY_PAGE, /* Virtual page */
} PAGE_NUMBER, *PPAGE_NUMBER;
#define POPUP_WAIT_NONE 0
#define POPUP_WAIT_ANY_KEY 1
#define POPUP_WAIT_ENTER 2
-#define LIST_FOR_EACH(elem, list, type, field) \
- for ((elem) = CONTAINING_RECORD((list)->Flink, type, field); \
- &(elem)->field != (list) || (elem == NULL); \
- (elem) = CONTAINING_RECORD((elem)->field.Flink, type, field))
-
-#define InsertAscendingList(ListHead, NewEntry, Type, ListEntryField, SortField)\
-{\
- PLIST_ENTRY current;\
-\
- current = (ListHead)->Flink;\
- while (current != (ListHead))\
- {\
- if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >=\
- (NewEntry)->SortField)\
- {\
- break;\
- }\
- current = current->Flink;\
- }\
-\
- InsertTailList(current, &((NewEntry)->ListEntryField));\
-}
-
-/* EOF */
+VOID
+PopupError(IN PCCH Text,
+ IN PCCH Status,
+ IN PINPUT_RECORD Ir,
+ IN ULONG WaitEvent);
+
+#endif /* _USETUP_PCH_ */