[USETUP] Modify the integrated user-mode PnP manager along the lines of UMPNPMGR...
[reactos.git] / base / setup / usetup / usetup.h
index bbb4212..e65bc33 100644 (file)
 /*
  * 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_ */