4 * Include supplementary headers for core Win32 API definitions.
8 * Written by Anders Norlander <anorland@hem2.passagen.se>
9 * Copyright (C) 1998-2003, 2006, 2007, 2016, 2017, 2019, MinGW.org Project
12 * Permission is hereby granted, free of charge, to any person obtaining a
13 * copy of this software and associated documentation files (the "Software"),
14 * to deal in the Software without restriction, including without limitation
15 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 * and/or sell copies of the Software, and to permit persons to whom the
17 * Software is furnished to do so, subject to the following conditions:
19 * The above copyright notice and this permission notice (including the next
20 * paragraph) shall be included in all copies or substantial portions of the
23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29 * DEALINGS IN THE SOFTWARE.
33 #pragma GCC system_header
37 /* winresrc.h includes the necessary headers */
45 #if !(defined NOGDI || defined _WINGDI_H)
55 #ifndef WIN32_LEAN_AND_MEAN
71 #if defined Win32_Winsock
72 #warning "The Win32_Winsock macro is deprecated; use __USE_W32_SOCKETS instead."
73 # ifndef __USE_W32_SOCKETS
74 # define __USE_W32_SOCKETS
77 #if defined __USE_W32_SOCKETS \
78 || ! (defined __CYGWIN__ || defined __MSYS__ || defined _UWIN)
79 /* The WinSock API should be declared; including <winsock.h>,
80 * under the control of the __USE_MINGW_WINSOCK_DEFAULT feature
81 * test, will ensure that we make an informed choice between the
82 * WinSock v1.1 API, as declared in <winsock.h>, and WinSock v2,
83 * as declared in <winsock2.h>, as the preferred default level
84 * of WinSock API support to be offered.
86 # define __USE_MINGW_WINSOCK_DEFAULT
89 * FIXME: strict Microsoft compatibility may require inclusion
90 * of <mswsock.h> here as well; however, this has been observed
91 * to produce undefined symbol errors, if <winsock2.h> has been
92 * included before <windows.h>, so we omit this.
94 # /* include <mswsock.h> */
97 /* In older versions we disallowed COM declarations in __OBJC__
98 because of conflicts with @interface directive. Define _OBJC_NO_COM
99 to keep this behaviour. */
100 #if !defined (_OBJC_NO_COM)
101 #if (__GNUC__ >= 3) || defined (__WATCOMC__)
104 #endif /* _OBJC_NO_COM */
107 #endif /* WIN32_LEAN_AND_MEAN */
109 #endif /* RC_INVOKED */
112 /* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
113 but undefining it causes trouble as well if a file is included after
119 #endif /* _WINDOWS_H: $RCSfile$: end of file */