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)
9 /* INCLUDES ******************************************************************/
13 #include <psdk/ntverp.h>
15 /* DDK/IFS/NDK Headers */
16 #define _REALLY_GET_CALLERS_CALLER
19 #undef DECLSPEC_IMPORT
20 #define DECLSPEC_IMPORT
25 #define NTHALAPI __declspec(dllimport)
31 /* FIXME: Temporary until Winldr is used */
41 /* SEH support with PSEH */
42 #include <pseh/pseh2.h>
45 #include <reactos/buildno.h>
46 #include <reactos/bugcodes.h>
48 /* SetupLDR Support */
49 #include <arc/setupblk.h>
57 #include <reactos/rossym.h>
61 #include <umpnpmgr/sysguid.h>
63 /* Internal Headers */
64 #include "internal/ntoskrnl.h"
68 // Define the internal versions of external and public global data
70 #define IoFileObjectType _IoFileObjectType
71 #define PsThreadType _PsThreadType
72 #define PsProcessType _PsProcessType
73 #define ExEventObjectType _ExEventObjectType
74 #define ExSemaphoreObjectType _ExSemaphoreObjectType
75 #define KdDebuggerEnabled _KdDebuggerEnabled
76 #define KdDebuggerNotPresent _KdDebuggerNotPresent
77 #define NlsOemLeadByteInfo _NlsOemLeadByteInfo
78 extern PUSHORT _NlsOemLeadByteInfo
;
79 #define FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray
80 #undef LEGAL_ANSI_CHARACTER_ARRAY
81 #undef NLS_MB_CODE_PAGE_TAG
82 #undef NLS_OEM_LEAD_BYTE_INFO
83 #define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray
84 #define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag
85 #define NLS_OEM_LEAD_BYTE_INFO _NlsOemLeadByteInfo
86 #undef KD_DEBUGGER_ENABLED
87 #undef KD_DEBUGGER_NOT_PRESENT
88 #define KD_DEBUGGER_ENABLED KdDebuggerEnabled
89 #define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent
90 #define HalDispatchTable _HalDispatchTable
92 #define HALDISPATCH (&HalDispatchTable)
93 #define ExRaiseStatus RtlRaiseStatus