Xwinsock.h revision 17ca54c3
1/*
2
3Copyright 1996, 1998  The Open Group
4
5Permission to use, copy, modify, distribute, and sell this software and its
6documentation for any purpose is hereby granted without fee, provided that
7the above copyright notice appear in all copies and that both that
8copyright notice and this permission notice appear in supporting
9documentation.
10
11The above copyright notice and this permission notice shall be included
12in all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
16ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
17SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
18ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20IN THE SOFTWARE.
21
22Except as contained in this notice, the name of The Open Group shall
23not be used in advertising or otherwise to promote the sale, use or
24other dealings in this Software without prior written authorization from
25The Open Group.
26
27*/
28
29/*
30 * This header file has for sole purpose to allow to include winsock.h
31 * without getting any name conflicts with our code.
32 * Conflicts come from the fact that including winsock.h actually pulls
33 * in the whole Windows API...
34 */
35
36#undef _XFree86Server
37#ifdef XFree86Server
38# define _XFree86Server
39# undef XFree86Server
40#endif
41
42/*
43 * mingw-w64 headers define BOOL as a typedef, protecting against macros
44 * mingw.org headers define BOOL in terms of WINBOOL
45 * ... so try to come up with something which works with both :-)
46 */
47#define _NO_BOOL_TYPEDEF
48#define BOOL WINBOOL
49#define INT32 wINT32
50#undef Status
51#define Status wStatus
52#define ATOM wATOM
53#define BYTE wBYTE
54#define FreeResource wFreeResource
55#include <winsock2.h>
56#undef Status
57#define Status int
58#undef BYTE
59#undef BOOL
60#undef INT32
61#undef ATOM
62#undef FreeResource
63#undef CreateWindowA
64#undef RT_FONT
65#undef RT_CURSOR
66
67/*
68 * Older version of this header used to name the windows API bool type wBOOL,
69 * rather than more standard name WINBOOL
70 */
71#define wBOOL WINBOOL
72
73#ifdef _XFree86Server
74# define XFree86Server
75# undef _XFree86Server
76#endif
77
78