[PSEH3]
[reactos.git] / reactos / 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 <ndk/exfuncs.h>
31 #include <ndk/iofuncs.h>
32 #include <ndk/kefuncs.h>
33 #include <ndk/ldrfuncs.h>
34 #include <ndk/mmfuncs.h>
35 #include <ndk/obfuncs.h>
36 #include <ndk/psfuncs.h>
37 #include <ndk/rtlfuncs.h>
38 #include <ndk/setypes.h>
39 #include <ndk/sefuncs.h>
40 #include <ndk/umfuncs.h>
41
42 /* Internal RTL header */
43 #include "rtlp.h"
44
45 /* Use intrinsics for x86 and x64 */
46 #if defined(_M_IX86) || defined(_M_AMD64)
47 #define InterlockedCompareExchange _InterlockedCompareExchange
48 #define InterlockedIncrement _InterlockedIncrement
49 #define InterlockedDecrement _InterlockedDecrement
50 #define InterlockedExchangeAdd _InterlockedExchangeAdd
51 #define InterlockedExchange _InterlockedExchange
52 #define InterlockedBitTestAndSet _interlockedbittestandset
53 #define InterlockedBitTestAndSet64 _interlockedbittestandset64
54 #endif
55
56 #endif /* RTL_H */