2 windows.h - main header file for the Win32 API
4 Written by Anders Norlander <anorland@hem2.passagen.se>
6 This file is part of a free library for the Win32 API.
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.
17 #include <msvctarget.h>
20 #if !defined(_X86_) && !defined(_AMD64_) && !defined(_IA64_) && !defined(_ALPHA_) && \
21 !defined(_ARM_) && !defined(_PPC_) && !defined(_MIPS_) && !defined(_68K_) && !defined(_SH_)
23 #if defined(_M_AMD64) || defined(__x86_64__)
25 #elif defined(_M_IX86) || defined(__i386__)
27 #elif defined(_M_IA64) || defined(__ia64__)
29 #elif defined(_M_ALPHA) || defined(__alpha__)
31 #elif defined(_M_ARM) || defined(__arm__)
33 #elif defined(_M_PPC) || defined(__powerpc__)
35 #elif defined(_M_MRX000) || defined(__mips__)
37 #elif defined(_M_M68K) || defined(__68k__)
39 #elif defined(_SHX_) || defined(__sh__)
46 /* winresrc.h includes the necessary headers */
63 #ifndef WIN32_LEAN_AND_MEAN
84 #if defined(Win32_Winsock)
85 #warning "The Win32_Winsock macro name is deprecated.\
86 Please use __USE_W32_SOCKETS instead"
87 #ifndef __USE_W32_SOCKETS
88 #define __USE_W32_SOCKETS
91 #if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
92 #if (_WIN32_WINNT >= 0x0400)
95 * MS likes to include mswsock.h here as well,
96 * but that can cause undefined symbols if
97 * winsock2.h is included before windows.h
101 #endif /* (_WIN32_WINNT >= 0x0400) */
104 #if !defined (__OBJC__)
105 #if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined (__WATCOMC__) || defined(_MSC_VER)
108 #endif /* __OBJC__ */
111 #endif /* WIN32_LEAN_AND_MEAN */
113 #endif /* RC_INVOKED */
116 /* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
117 but undefining it causes trouble as well if a file is included after