[USETUP] Modify the integrated user-mode PnP manager along the lines of UMPNPMGR...
[reactos.git] / base / setup / usetup / usetup.h
index 2dfb99b..e65bc33 100644 (file)
@@ -19,9 +19,9 @@
 /*
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS text-mode setup
 /*
  * 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
  * PURPOSE:         Text-mode setup
- * PROGRAMMER:      Eric Kohl
+ * PROGRAMMER:
  */
 
 #ifndef _USETUP_PCH_
  */
 
 #ifndef _USETUP_PCH_
 #include <ndk/obfuncs.h>
 #include <ndk/psfuncs.h>
 #include <ndk/rtlfuncs.h>
 #include <ndk/obfuncs.h>
 #include <ndk/psfuncs.h>
 #include <ndk/rtlfuncs.h>
+#include <ndk/setypes.h>
 
 
-/* Filesystem headers */
-#include <fslib/ext2lib.h>
-#include <fslib/vfatlib.h>
+#include <ntstrsafe.h>
+
+
+/* Setup library headers */
+#include <reactos/rosioctl.h>
+#include <../lib/setuplib.h>
 
 /* Internal Headers */
 
 /* Internal Headers */
-#include "interface/consup.h"
-#include "partlist.h"
-#include "inffile.h"
-#include "inicache.h"
+#include "consup.h"
 #include "progress.h"
 #include "progress.h"
-#ifdef __REACTOS__
-#include "infros.h"
-#include "filequeue.h"
-#endif
-#include "registry.h"
 #include "fslist.h"
 #include "fslist.h"
-#include "cabinet.h"
-#include "filesup.h"
+#include "partlist.h"
 #include "genlist.h"
 #include "genlist.h"
-#include "host.h"
 #include "mui.h"
 #include "mui.h"
-#include "errorcode.h"
+
+#include "spapisup/inffile.h"
+#include "spapisup/cabinet.h"
+
 
 extern HANDLE ProcessHeap;
 
 extern HANDLE ProcessHeap;
-extern UNICODE_STRING SourceRootPath;
-extern UNICODE_STRING SourceRootDir;
-extern UNICODE_STRING SourcePath;
 extern BOOLEAN IsUnattendedSetup;
 extern BOOLEAN IsUnattendedSetup;
-extern PWCHAR SelectedLanguageId;
-
-#ifdef __REACTOS__
-
-extern VOID InfSetHeap(PVOID Heap);
-extern VOID InfCloseFile(HINF InfHandle);
-extern BOOLEAN InfFindNextLine(PINFCONTEXT ContextIn,
-                               PINFCONTEXT ContextOut);
-extern BOOLEAN InfGetBinaryField(PINFCONTEXT Context,
-                                 ULONG FieldIndex,
-                                 PUCHAR ReturnBuffer,
-                                 ULONG ReturnBufferSize,
-                                 PULONG RequiredSize);
-extern BOOLEAN InfGetMultiSzField(PINFCONTEXT Context,
-                                  ULONG FieldIndex,
-                                  PWSTR ReturnBuffer,
-                                  ULONG ReturnBufferSize,
-                                  PULONG RequiredSize);
-extern BOOLEAN InfGetStringField(PINFCONTEXT Context,
-                                 ULONG FieldIndex,
-                                 PWSTR ReturnBuffer,
-                                 ULONG ReturnBufferSize,
-                                 PULONG RequiredSize);
-
-#define SetupCloseInfFile InfCloseFile
-#define SetupFindNextLine InfFindNextLine
-#define SetupGetBinaryField InfGetBinaryField
-#define SetupGetMultiSzFieldW InfGetMultiSzField
-#define SetupGetStringFieldW InfGetStringField
-
-#endif /* __REACTOS__ */
-
-#ifndef _PAGE_NUMBER_DEFINED
-#define _PAGE_NUMBER_DEFINED
+extern PCWSTR SelectedLanguageId;
+
 typedef enum _PAGE_NUMBER
 {
 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;
 } PAGE_NUMBER, *PPAGE_NUMBER;
-#endif
 
 #define POPUP_WAIT_NONE    0
 #define POPUP_WAIT_ANY_KEY 1
 #define POPUP_WAIT_ENTER   2
 
 
 #define POPUP_WAIT_NONE    0
 #define POPUP_WAIT_ANY_KEY 1
 #define POPUP_WAIT_ENTER   2
 
-#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));\
-}
+VOID
+PopupError(IN PCCH Text,
+           IN PCCH Status,
+           IN PINPUT_RECORD Ir,
+           IN ULONG WaitEvent);
 
 #endif /* _USETUP_PCH_ */
 
 #endif /* _USETUP_PCH_ */