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 <diskguid.h> 37 #include <arc/arc.h> 38 #include <mountmgr.h> 39 #undef NTHALAPI 40 #define NTHALAPI __declspec(dllimport) 41 #include <ndk/asm.h> 42 #include <ndk/cctypes.h> 43 #include <ndk/cmfuncs.h> 44 #include <ndk/dbgkfuncs.h> 45 #include <ndk/exfuncs.h> 46 #include <ndk/halfuncs.h> 47 #include <ndk/inbvfuncs.h> 48 #include <ndk/iofuncs.h> 49 #include <ndk/kdfuncs.h> 50 #include <ndk/kefuncs.h> 51 #include <ndk/ldrfuncs.h> 52 #include <ndk/lpcfuncs.h> 53 #include <ndk/mmfuncs.h> 54 #include <ndk/muptypes.h> 55 #include <ndk/obfuncs.h> 56 #include <ndk/pofuncs.h> 57 #include <ndk/psfuncs.h> 58 #include <ndk/rtlfuncs.h> 59 #include <ndk/sefuncs.h> 60 #include <ndk/vftypes.h> 61 #undef TEXT 62 #define TEXT(s) L##s 63 #include <regstr.h> 64 #include <ntstrsafe.h> 65 #include <ntpoapi.h> 66 #include <ntintsafe.h> 67 68 /* C Headers */ 69 #include <stdlib.h> 70 #include <stdio.h> 71 #include <ctype.h> 72 #include <malloc.h> 73 #include <wchar.h> 74 75 /* SEH support with PSEH */ 76 #include <pseh/pseh2.h> 77 78 /* SetupLDR Support */ 79 #include <arc/setupblk.h> 80 81 /* KD Support */ 82 #define NOEXTAPI 83 #include <windbgkd.h> 84 #include <wdbgexts.h> 85 #include <kddll.h> 86 #ifdef __ROS_ROSSYM__ 87 #include <reactos/rossym.h> 88 #endif 89 90 /* PNP GUIDs */ 91 #include <umpnpmgr/sysguid.h> 92 93 /* SRM header */ 94 #include <srmp.h> 95 96 #define ExRaiseStatus RtlRaiseStatus 97 98 /* Also defined in fltkernel.h, but we don't want the entire header */ 99 #ifndef Add2Ptr 100 #define Add2Ptr(P,I) ((PVOID)((PUCHAR)(P) + (I))) 101 #endif 102 #ifndef PtrOffset 103 #define PtrOffset(B,O) ((ULONG)((ULONG_PTR)(O) - (ULONG_PTR)(B))) 104 #endif 105 106 // 107 // Switch for enabling global page support 108 // 109 110 //#define _GLOBAL_PAGES_ARE_AWESOME_ 111 112 113 /* Internal Headers */ 114 #include "internal/ntoskrnl.h" 115 #include "config.h" 116 117 #include <reactos/probe.h> 118 #include "internal/probe.h" 119 #include "resource.h" 120 121 #endif /* _NTOSKRNL_PCH */ 122