- Fix KiDispatchException to unmask KI_EXCEPTION_INTERNAL when setting the exception...
[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 /* INCLUDES ******************************************************************/
10
11 /* Version Data */
12 #include <ntverp.h>
13 #define _WIN32_WINNT _WIN32_WINNT_WS03
14 #define NTDDI_VERSION NTDDI_WS03SP1
15 #define NTKERNELAPI
16 #define NOEXTAPI
17
18 /* DDK/IFS/NDK Headers */
19 #define NTKERNELAPI
20 #define NOEXTAPI
21 #include <ntifs.h>
22 #undef _KPROCESS
23 #undef _EPROCESS
24 #include <wdmguid.h>
25 #include <arc/arc.h>
26 #include <ntndk.h>
27 #undef TEXT
28 #define TEXT(s) L##s
29 #include <regstr.h>
30
31 /* FIXME: Temporary until CC Ros is gone */
32 #include <ccros.h>
33 #include <rosldr.h>
34
35 /* Disk Dump Driver Header */
36 #include <diskdump/diskdump.h>
37
38 /* C Headers */
39 #include <stdio.h>
40 #include <ctype.h>
41 #include <malloc.h>
42 #include <wchar.h>
43
44 /* SEH support with PSEH */
45 #include <pseh/pseh.h>
46
47 /* ReactOS Headers */
48 #include <reactos/buildno.h>
49 #include <reactos/bugcodes.h>
50 #define ExRaiseStatus RtlRaiseStatus
51 #include <reactos/probe.h>
52 #include <reactos/rossym.h>
53
54 /* SetupLDR Support */
55 #include <arc/setupblk.h>
56
57 /* KD Support */
58 #include <windbgkd.h>
59 #include <wdbgexts.h>
60 #include <kddll.h>
61
62 /* PNP GUIDs */
63 #include <umpnpmgr/sysguid.h>
64
65 /* Helper Header */
66 #include <reactos/helper.h>
67
68 /* Internal Headers */
69 #include "internal/ntoskrnl.h"
70 #include "config.h"
71
72 //
73 // Define the internal versions of external and public global data
74 //
75 #define IoFileObjectType _IoFileObjectType
76 #define PsThreadType _PsThreadType
77 #define PsProcessType _PsProcessType
78 #define ExEventObjectType _ExEventObjectType
79 #define ExSemaphoreObjectType _ExSemaphoreObjectType
80 #define KdDebuggerEnabled _KdDebuggerEnabled
81 #define KdDebuggerNotPresent _KdDebuggerNotPresent
82 #define FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray
83 #undef LEGAL_ANSI_CHARACTER_ARRAY
84 #undef NLS_MB_CODE_PAGE_TAG
85 #undef NLS_OEM_LEAD_BYTE_INFO
86 #define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray
87 #define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag
88 #define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo
89 #undef KD_DEBUGGER_ENABLED
90 #undef KD_DEBUGGER_NOT_PRESENT
91 #define KD_DEBUGGER_ENABLED KdDebuggerEnabled
92 #define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent
93 #define HalDispatchTable _HalDispatchTable
94 #undef HALDISPATCH
95 #define HALDISPATCH (&HalDispatchTable)