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 #include <ntintsafe.h> 66 67 /* C Headers */ 68 #include <stdlib.h> 69 #include <stdio.h> 70 #include <ctype.h> 71 #include <malloc.h> 72 #include <wchar.h> 73 74 /* SEH support with PSEH */ 75 #include <pseh/pseh2.h> 76 77 /* SetupLDR Support */ 78 #include <arc/setupblk.h> 79 80 /* KD Support */ 81 #define NOEXTAPI 82 #include <windbgkd.h> 83 #include <wdbgexts.h> 84 #include <kddll.h> 85 #ifndef _WINKD_ 86 #include <reactos/rossym.h> 87 #endif 88 89 /* PNP GUIDs */ 90 #include <umpnpmgr/sysguid.h> 91 92 /* SRM header */ 93 #include <srmp.h> 94 95 #define ExRaiseStatus RtlRaiseStatus 96 97 /* Also defined in fltkernel.h, but we don't want the entire header */ 98 #ifndef Add2Ptr 99 #define Add2Ptr(P,I) ((PVOID)((PUCHAR)(P) + (I))) 100 #endif 101 #ifndef PtrOffset 102 #define PtrOffset(B,O) ((ULONG)((ULONG_PTR)(O) - (ULONG_PTR)(B))) 103 #endif 104 105 // 106 // Switch for enabling global page support 107 // 108 109 //#define _GLOBAL_PAGES_ARE_AWESOME_ 110 111 112 /* Internal Headers */ 113 #include "internal/ntoskrnl.h" 114 #include "config.h" 115 116 #include <reactos/probe.h> 117 #include "internal/probe.h" 118 #include "resource.h" 119 120 #endif /* _NTOSKRNL_PCH */ 121