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