- You know what, NT_ASSERT is awesome.
[reactos.git] / reactos / ntoskrnl / include / ntoskrnl.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Kernel
4 * FILE: ntoskrnl/include/ntoskrnl.h
5 * PURPOSE: Main Kernel Header
6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
7 */
8
9 #ifndef _NTOSKRNL_PCH
10 #define _NTOSKRNL_PCH
11
12 /* INCLUDES ******************************************************************/
13
14 /* ARM Bringup Hack */
15 #ifdef _M_ARM
16 #define DbgPrint DbgPrintEarly
17 #endif
18
19 /* WDK hacks */
20 #ifdef _M_AMD64
21 #define IoAllocateAdapterChannel _IoAllocateAdapterChannel
22 #define KeGetCurrentThread _KeGetCurrentThread
23 #define RtlFillMemoryUlong _RtlFillMemoryUlong
24 #endif
25
26 /* Version Data */
27 #undef __MSVCRT__
28 #include <psdk/ntverp.h>
29
30 /* DDK/IFS/NDK Headers */
31 #define _REALLY_GET_CALLERS_CALLER
32 #include <excpt.h>
33 #include <ntdef.h>
34 #include <ntifs.h>
35 #include <wdmguid.h>
36 #include <arc/arc.h>
37 #include <mountmgr.h>
38 #undef NTHALAPI
39 #define NTHALAPI __declspec(dllimport)
40 #include <ndk/asm.h>
41 #include <ndk/cctypes.h>
42 #include <ndk/cmfuncs.h>
43 #include <ndk/dbgkfuncs.h>
44 #include <ndk/exfuncs.h>
45 #include <ndk/halfuncs.h>
46 #include <ndk/inbvfuncs.h>
47 #include <ndk/iofuncs.h>
48 #include <ndk/kdfuncs.h>
49 #include <ndk/kefuncs.h>
50 #include <ndk/ldrfuncs.h>
51 #include <ndk/lpcfuncs.h>
52 #include <ndk/mmfuncs.h>
53 #include <ndk/muptypes.h>
54 #include <ndk/obfuncs.h>
55 #include <ndk/pofuncs.h>
56 #include <ndk/psfuncs.h>
57 #include <ndk/rtlfuncs.h>
58 #include <ndk/sefuncs.h>
59 #include <ndk/vftypes.h>
60 #undef TEXT
61 #define TEXT(s) L##s
62 #include <regstr.h>
63 #include <ntstrsafe.h>
64 #include <ntpoapi.h>
65
66 /* C Headers */
67 #include <stdlib.h>
68 #include <stdio.h>
69 #include <ctype.h>
70 #include <malloc.h>
71 #include <wchar.h>
72
73 /* SEH support with PSEH */
74 #include <pseh/pseh2.h>
75
76 /* SetupLDR Support */
77 #include <arc/setupblk.h>
78
79 /* KD Support */
80 #define NOEXTAPI
81 #include <windbgkd.h>
82 #include <wdbgexts.h>
83 #include <kddll.h>
84 #ifndef _WINKD_
85 #include <reactos/rossym.h>
86 #endif
87
88 /* PNP GUIDs */
89 #include <umpnpmgr/sysguid.h>
90
91 //
92 // Define the internal versions of external and public global data
93 //
94 #define KeNumberProcessors _KeNumberProcessors
95 extern UCHAR _KeNumberProcessors;
96 #define ExRaiseStatus RtlRaiseStatus
97
98 //
99 // NT_ASSERT Best Assert
100 //
101 #undef ASSERT
102 #define ASSERT NT_ASSERT
103
104 /* Internal Headers */
105 #include "internal/ntoskrnl.h"
106 #include "config.h"
107
108 #include <reactos/probe.h>
109 #include "internal/probe.h"
110 #include "resource.h"
111
112 #endif /* _NTOSKRNL_PCH */