[rshell]
[reactos.git] / base / setup / usetup / usetup.h
index b95ad66..893e520 100644 (file)
  * PROGRAMMER:      Eric Kohl
  */
 
-#pragma once
-
 /* 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 "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"
@@ -77,6 +76,38 @@ 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,
@@ -107,7 +138,8 @@ typedef enum _PAGE_NUMBER
   REGISTRY_PAGE,
   BOOT_LOADER_PAGE,
   BOOT_LOADER_FLOPPY_PAGE,
-  BOOT_LOADER_HARDDISK_PAGE,
+  BOOT_LOADER_HARDDISK_MBR_PAGE,
+  BOOT_LOADER_HARDDISK_VBR_PAGE,
 
   REPAIR_INTRO_PAGE,
 
@@ -116,16 +148,12 @@ typedef enum _PAGE_NUMBER
   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;\