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.
16 #pragma GCC system_header
19 /* translate GCC target defines to MS equivalents. Keep this synchronized
21 #if defined(__i686__) && !defined(_M_IX86)
23 #elif defined(__i586__) && !defined(_M_IX86)
25 #elif defined(__i486__) && !defined(_M_IX86)
27 #elif defined(__i386__) && !defined(_M_IX86)
30 #if defined(_M_IX86) && !defined(_X86_)
32 #elif defined(_M_ALPHA) && !defined(_ALPHA_)
34 #elif defined(_M_PPC) && !defined(_PPC_)
36 #elif defined(_M_MRX000) && !defined(_MIPS_)
38 #elif defined(_M_M68K) && !defined(_68K_)
43 /* winresrc.h includes the necessary headers */
51 #if !(defined NOGDI || defined _WINGDI_H)
73 #ifndef WIN32_LEAN_AND_MEAN
89 #if defined(Win32_Winsock)
90 #warning "The Win32_Winsock macro name is deprecated.\
91 Please use __USE_W32_SOCKETS instead"
92 #ifndef __USE_W32_SOCKETS
93 #define __USE_W32_SOCKETS
96 #if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
97 #if (_WIN32_WINNT >= 0x0400)
100 * MS likes to include mswsock.h here as well,
101 * but that can cause undefined symbols if
102 * winsock2.h is included before windows.h
106 #endif /* (_WIN32_WINNT >= 0x0400) */
109 /* In older versions we disallowed COM declarations in __OBJC__
110 because of conflicts with @interface directive. Define _OBJC_NO_COM
111 to keep this behaviour. */
112 #if !defined (_OBJC_NO_COM)
113 #if (__GNUC__ >= 3) || defined (__WATCOMC__)
116 #endif /* _OBJC_NO_COM */
119 #endif /* WIN32_LEAN_AND_MEAN */
121 #endif /* RC_INVOKED */
124 /* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
125 but undefining it causes trouble as well if a file is included after