xref: /reactos/sdk/lib/rtl/rtl.h (revision 1734f297)
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 are a core NT DLL, we don't import syscalls */
13 #define _INC_SWPRINTF_INL_
14 #undef __MSVCRT__
15 
16 /* C Headers */
17 #include <stdio.h>
18 #include <stdlib.h>
19 
20 #ifndef _BLDR_
21 
22 /* PSDK/NDK Headers */
23 #define WIN32_NO_STATUS
24 #define _INC_WINDOWS
25 #define COM_NO_WINDOWS_H
26 #define COBJMACROS
27 #define CONST_VTABLE
28 #include <windef.h>
29 #include <winbase.h>
30 #include <winreg.h>
31 #include <objbase.h>
32 #include <ntintsafe.h>
33 #include <ndk/exfuncs.h>
34 #include <ndk/iofuncs.h>
35 #include <ndk/kefuncs.h>
36 #include <ndk/ldrfuncs.h>
37 #include <ndk/mmfuncs.h>
38 #include <ndk/obfuncs.h>
39 #include <ndk/psfuncs.h>
40 #include <ndk/rtlfuncs.h>
41 #include <ndk/setypes.h>
42 #include <ndk/sefuncs.h>
43 #include <ndk/umfuncs.h>
44 
45 /* SEH support with PSEH */
46 #include <pseh/pseh2.h>
47 
48 #else
49 
50 #include <ndk/rtlfuncs.h>
51 
52 #endif /* _BLDR_ */
53 
54 /* Internal RTL header */
55 #include "rtlp.h"
56 
57 /* Use intrinsics for x86 and x64 */
58 #if defined(_M_IX86) || defined(_M_AMD64)
59 #define InterlockedCompareExchange _InterlockedCompareExchange
60 #define InterlockedIncrement _InterlockedIncrement
61 #define InterlockedDecrement _InterlockedDecrement
62 #define InterlockedExchangeAdd _InterlockedExchangeAdd
63 #define InterlockedExchange _InterlockedExchange
64 #define InterlockedBitTestAndSet _interlockedbittestandset
65 #define InterlockedBitTestAndSet64 _interlockedbittestandset64
66 #endif
67 
68 #endif /* RTL_H */
69