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