ReactOS 0.4.15-dev-7788-g1ad9096
rtl.h
Go to the documentation of this file.
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 */