Reactos
at master 125 lines 3.0 kB view raw
1/* 2 windows.h - main header file for the Win32 API 3 4 Written by Anders Norlander <anorland@hem2.passagen.se> 5 6 This file is part of a free library for the Win32 API. 7 8 This library is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 11 12*/ 13#ifndef _WINDOWS_H 14#define _WINDOWS_H 15 16#ifdef __GNUC__ 17#include <msvctarget.h> 18#endif 19 20#if !defined(_X86_) && !defined(_AMD64_) && !defined(_IA64_) && !defined(_ALPHA_) && \ 21 !defined(_ARM_) && !defined(_ARM64_) && !defined(_PPC_) && !defined(_MIPS_) && !defined(_68K_) && !defined(_SH_) 22 23#if defined(_M_AMD64) || defined(__x86_64__) 24#define _AMD64_ 25#elif defined(_M_IX86) || defined(__i386__) 26#define _X86_ 27#elif defined(_M_IA64) || defined(__ia64__) 28#define _IA64_ 29#elif defined(_M_ALPHA) || defined(__alpha__) 30#define _ALPHA_ 31#elif defined(_M_ARM) || defined(__arm__) 32#define _ARM_ 33#elif defined(_M_ARM64) || defined(__arm64__) || defined(__aarch64__) 34#define _ARM64_ 35#elif defined(_M_PPC) || defined(__powerpc__) 36#define _PPC_ 37#elif defined(_M_MRX000) || defined(__mips__) 38#define _MIPS_ 39#elif defined(_M_M68K) || defined(__68k__) 40#define _68K_ 41#elif defined(_SHX_) || defined(__sh__) 42#define _SH_ 43#endif 44 45#endif 46 47#ifdef RC_INVOKED 48/* winresrc.h includes the necessary headers */ 49#include <winresrc.h> 50#else 51 52#include <excpt.h> 53#include <stdarg.h> 54#include <windef.h> 55#include <winbase.h> 56#include <wingdi.h> 57#include <winuser.h> 58#include <wincon.h> 59#include <winnls.h> 60#include <winver.h> 61#include <winnetwk.h> 62#include <winreg.h> 63#include <winsvc.h> 64 65#ifndef WIN32_LEAN_AND_MEAN 66#include <cderr.h> 67#include <dde.h> 68#include <ddeml.h> 69#include <dlgs.h> 70#include <imm.h> 71#include <lzexpand.h> 72#include <mmsystem.h> 73#include <nb30.h> 74#include <rpc.h> 75#include <shellapi.h> 76#include <winperf.h> 77#ifndef NOCRYPT 78#include <wincrypt.h> 79#include <winefs.h> 80#include <winscard.h> 81#endif 82#ifndef NOGDI 83#include <commdlg.h> 84#include <winspool.h> 85#endif 86#if defined(Win32_Winsock) 87#warning "The Win32_Winsock macro name is deprecated.\ 88 Please use __USE_W32_SOCKETS instead" 89#ifndef __USE_W32_SOCKETS 90#define __USE_W32_SOCKETS 91#endif 92#endif 93#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN)) 94#if (_WIN32_WINNT >= 0x0400) 95#include <winsock2.h> 96/* 97 * MS likes to include mswsock.h here as well, 98 * but that can cause undefined symbols if 99 * winsock2.h is included before windows.h 100 */ 101#else 102#include <winsock.h> 103#endif /* (_WIN32_WINNT >= 0x0400) */ 104#endif 105#ifndef NOGDI 106#if !defined (__OBJC__) 107#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined (__WATCOMC__) || defined(_MSC_VER) 108#include <ole2.h> 109#endif 110#endif /* __OBJC__ */ 111#endif 112 113#endif /* WIN32_LEAN_AND_MEAN */ 114 115#endif /* RC_INVOKED */ 116 117#ifdef __OBJC__ 118/* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int), 119 but undefining it causes trouble as well if a file is included after 120 windows.h 121*/ 122#undef BOOL 123#endif 124 125#endif