[RTL] Fix amd64 version of DebugService2
[reactos.git] / sdk / lib / rtl / rtl.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS System Libraries
4 * FILE: lib/rtl/rtl.h
5 * PURPOSE: Run-Time Libary Header
6 * PROGRAMMER: Alex Ionescu
7 */
8
9 #ifndef RTL_H
10 #define RTL_H
11
12 /* We're a core NT DLL, we don't import syscalls */
13 #define _INC_SWPRINTF_INL_
14 #undef __MSVCRT__
15
16 /* C Headers */
17 #include <stdlib.h>
18 #include <stdio.h>
19
20 /* PSDK/NDK Headers */
21 #define WIN32_NO_STATUS
22 #define _INC_WINDOWS
23 #define COM_NO_WINDOWS_H
24 #define COBJMACROS
25 #define CONST_VTABLE
26 #include <windef.h>
27 #include <winbase.h>
28 #include <winreg.h>
29 #include <objbase.h>
30 #include <ntintsafe.h>
31 #include <ndk/exfuncs.h>
32 #include <ndk/iofuncs.h>
33 #include <ndk/kefuncs.h>
34 #include <ndk/ldrfuncs.h>
35 #include <ndk/mmfuncs.h>
36 #include <ndk/obfuncs.h>
37 #include <ndk/psfuncs.h>
38 #include <ndk/rtlfuncs.h>
39 #include <ndk/setypes.h>
40 #include <ndk/sefuncs.h>
41 #include <ndk/umfuncs.h>
42
43 /* SEH support with PSEH */
44 #include <pseh/pseh2.h>
45
46 /* Internal RTL header */
47 #include "rtlp.h"
48
49 /* Use intrinsics for x86 and x64 */
50 #if defined(_M_IX86) || defined(_M_AMD64)
51 #define InterlockedCompareExchange _InterlockedCompareExchange
52 #define InterlockedIncrement _InterlockedIncrement
53 #define InterlockedDecrement _InterlockedDecrement
54 #define InterlockedExchangeAdd _InterlockedExchangeAdd
55 #define InterlockedExchange _InterlockedExchange
56 #define InterlockedBitTestAndSet _interlockedbittestandset
57 #define InterlockedBitTestAndSet64 _interlockedbittestandset64
58 #endif
59
60 #endif /* RTL_H */