[RTL]
[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 /* INCLUDES ******************************************************************/
10
11 #ifndef RTL_H
12 #define RTL_H
13
14 /* We're a core NT DLL, we don't import syscalls */
15 #define WIN32_NO_STATUS
16 #define _INC_SWPRINTF_INL_
17 #undef __MSVCRT__
18
19 /* C Headers */
20 #include <stdlib.h>
21 #include <stdio.h>
22
23 /* PSDK/NDK Headers */
24 #include <windows.h>
25 #include <ndk/cmfuncs.h>
26 #include <ndk/exfuncs.h>
27 #include <ndk/iofuncs.h>
28 #include <ndk/kdfuncs.h>
29 #include <ndk/kefuncs.h>
30 #include <ndk/ldrfuncs.h>
31 #include <ndk/mmfuncs.h>
32 #include <ndk/obfuncs.h>
33 #include <ndk/psfuncs.h>
34 #include <ndk/rtlfuncs.h>
35 #include <ndk/setypes.h>
36 #include <ndk/sefuncs.h>
37 #include <ndk/umfuncs.h>
38
39 /* Internal RTL header */
40 #include "rtlp.h"
41
42 /* PSEH Support */
43 #include <pseh/pseh2.h>
44
45 #include <intrin.h>
46
47 /* Use intrinsics for x86 and x64 */
48 #if defined(_M_IX86) || defined(_M_AMD64)
49 #define InterlockedCompareExchange _InterlockedCompareExchange
50 #define InterlockedIncrement _InterlockedIncrement
51 #define InterlockedDecrement _InterlockedDecrement
52 #define InterlockedExchangeAdd _InterlockedExchangeAdd
53 #define InterlockedExchange _InterlockedExchange
54 #define InterlockedBitTestAndSet _interlockedbittestandset
55 #define InterlockedBitTestAndSet64 _interlockedbittestandset64
56 #endif
57
58 #endif /* RTL_H */
59
60 /* EOF */