/* INCLUDES ******************************************************************/
+/* ARM Bringup Hack */
+#ifdef _M_ARM
+#define DbgPrint DbgPrintEarly
+#endif
+
+/* WDK hacks */
+#ifdef _M_AMD64
+#define IoAllocateAdapterChannel _IoAllocateAdapterChannel
+#define KeGetCurrentThread _KeGetCurrentThread
+#endif
+
/* Version Data */
-#include <ntverp.h>
-#define _WIN32_WINNT _WIN32_WINNT_WS03
-#define NTDDI_VERSION NTDDI_WS03SP1
-#define NTKERNELAPI
-#define NOEXTAPI
+#undef __MSVCRT__
+#include <psdk/ntverp.h>
/* DDK/IFS/NDK Headers */
-#define NTKERNELAPI
-#define NOEXTAPI
+#define _REALLY_GET_CALLERS_CALLER
+#include <excpt.h>
+#include <ntdef.h>
#include <ntifs.h>
-#undef _KPROCESS
-#undef _EPROCESS
#include <wdmguid.h>
#include <arc/arc.h>
+#undef NTHALAPI
+#define NTHALAPI __declspec(dllimport)
#include <ntndk.h>
#undef TEXT
#define TEXT(s) L##s
#include <regstr.h>
-/* FIXME: Temporary until CC Ros is gone */
-#include <ccros.h>
+/* FIXME: Temporary until Winldr is used */
#include <rosldr.h>
-/* Disk Dump Driver Header */
-#include <diskdump/diskdump.h>
-
/* C Headers */
#include <stdlib.h>
#include <stdio.h>
#include <wchar.h>
/* SEH support with PSEH */
-#include <pseh/pseh.h>
+#include <pseh/pseh2.h>
/* ReactOS Headers */
#include <reactos/buildno.h>
#include <reactos/bugcodes.h>
-#define ExRaiseStatus RtlRaiseStatus
-#include <reactos/probe.h>
/* SetupLDR Support */
#include <arc/setupblk.h>
/* KD Support */
+#define NOEXTAPI
#include <windbgkd.h>
#include <wdbgexts.h>
#include <kddll.h>
/* PNP GUIDs */
#include <umpnpmgr/sysguid.h>
-/* Helper Header */
-#include <reactos/helper.h>
-
/* Internal Headers */
#include "internal/ntoskrnl.h"
#include "config.h"
+#include <reactos/probe.h>
+#include "internal/probe.h"
+#include "resource.h"
+
//
// Define the internal versions of external and public global data
//
#define ExSemaphoreObjectType _ExSemaphoreObjectType
#define KdDebuggerEnabled _KdDebuggerEnabled
#define KdDebuggerNotPresent _KdDebuggerNotPresent
+#define NlsOemLeadByteInfo _NlsOemLeadByteInfo
+extern PUSHORT _NlsOemLeadByteInfo;
#define FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray
#undef LEGAL_ANSI_CHARACTER_ARRAY
#undef NLS_MB_CODE_PAGE_TAG
#undef NLS_OEM_LEAD_BYTE_INFO
#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray
#define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag
-#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo
+#define NLS_OEM_LEAD_BYTE_INFO _NlsOemLeadByteInfo
#undef KD_DEBUGGER_ENABLED
#undef KD_DEBUGGER_NOT_PRESENT
#define KD_DEBUGGER_ENABLED KdDebuggerEnabled
#define HalDispatchTable _HalDispatchTable
#undef HALDISPATCH
#define HALDISPATCH (&HalDispatchTable)
+#define ExRaiseStatus RtlRaiseStatus