Sync with trunk r63270.
[reactos.git] / base / setup / usetup / usetup.h
index bbb4212..dd88ca8 100644 (file)
  * PROGRAMMER:      Eric Kohl
  */
 
-#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>
-#define NTOS_MODE_USER
-#include <ndk/ntndk.h>
-#include <fmifs/fmifs.h>
+#include <windef.h>
+#include <winbase.h>
+#include <winreg.h>
+#include <winuser.h>
+#include <wincon.h>
 
-/* VFAT */
+#define NTOS_MODE_USER
+#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>
+
+/* Filesystem headers */
+#include <fslib/ext2lib.h>
 #include <fslib/vfatlib.h>
 
-/* DDK Disk Headers */
-#include <ntddscsi.h>
-
-/* ReactOS Version */
-#include <reactos/buildno.h>
-
 /* Internal Headers */
 #include "interface/consup.h"
 #include "partlist.h"
-#include "infros.h"
 #include "inffile.h"
 #include "inicache.h"
 #include "progress.h"
 #ifdef __REACTOS__
+#include "infros.h"
 #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 "genlist.h"
-#include "settings.h"
 #include "host.h"
 #include "mui.h"
 #include "errorcode.h"
@@ -78,56 +79,84 @@ extern UNICODE_STRING SourcePath;
 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
 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 */
+    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 */
 } PAGE_NUMBER, *PPAGE_NUMBER;
+#endif
 
 #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;\
@@ -146,4 +175,4 @@ typedef enum _PAGE_NUMBER
   InsertTailList(current, &((NewEntry)->ListEntryField));\
 }
 
-/* EOF */
+#endif /* _USETUP_PCH_ */