117ca54c3Smrg/*
217ca54c3Smrg
317ca54c3SmrgCopyright 1996, 1998  The Open Group
417ca54c3Smrg
517ca54c3SmrgPermission to use, copy, modify, distribute, and sell this software and its
617ca54c3Smrgdocumentation for any purpose is hereby granted without fee, provided that
717ca54c3Smrgthe above copyright notice appear in all copies and that both that
817ca54c3Smrgcopyright notice and this permission notice appear in supporting
917ca54c3Smrgdocumentation.
1017ca54c3Smrg
1117ca54c3SmrgThe above copyright notice and this permission notice shall be included
1217ca54c3Smrgin all copies or substantial portions of the Software.
1317ca54c3Smrg
1417ca54c3SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1517ca54c3SmrgOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
1617ca54c3SmrgITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
1717ca54c3SmrgSHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
1817ca54c3SmrgITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1917ca54c3SmrgOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2017ca54c3SmrgIN THE SOFTWARE.
2117ca54c3Smrg
2217ca54c3SmrgExcept as contained in this notice, the name of The Open Group shall
2317ca54c3Smrgnot be used in advertising or otherwise to promote the sale, use or
2417ca54c3Smrgother dealings in this Software without prior written authorization from
2517ca54c3SmrgThe Open Group.
2617ca54c3Smrg
2717ca54c3Smrg*/
2817ca54c3Smrg
2917ca54c3Smrg/*
3017ca54c3Smrg * This header file has for sole purpose to allow to include winsock.h
3117ca54c3Smrg * without getting any name conflicts with our code.
3217ca54c3Smrg * Conflicts come from the fact that including winsock.h actually pulls
3317ca54c3Smrg * in the whole Windows API...
3417ca54c3Smrg */
3517ca54c3Smrg
3617ca54c3Smrg#undef _XFree86Server
37ea1d6981Smrg#ifdef XFree86Server
3817ca54c3Smrg# define _XFree86Server
3917ca54c3Smrg# undef XFree86Server
4017ca54c3Smrg#endif
4117ca54c3Smrg
4217ca54c3Smrg/*
4317ca54c3Smrg * mingw-w64 headers define BOOL as a typedef, protecting against macros
4417ca54c3Smrg * mingw.org headers define BOOL in terms of WINBOOL
4517ca54c3Smrg * ... so try to come up with something which works with both :-)
4617ca54c3Smrg */
4717ca54c3Smrg#define _NO_BOOL_TYPEDEF
4817ca54c3Smrg#define BOOL WINBOOL
4917ca54c3Smrg#define INT32 wINT32
5017ca54c3Smrg#undef Status
5117ca54c3Smrg#define Status wStatus
5217ca54c3Smrg#define ATOM wATOM
5317ca54c3Smrg#define BYTE wBYTE
5417ca54c3Smrg#define FreeResource wFreeResource
55452262e1Smrg#pragma push_macro ("ControlMask")
56452262e1Smrg#undef ControlMask
5717ca54c3Smrg#include <winsock2.h>
5817ca54c3Smrg#undef Status
5917ca54c3Smrg#define Status int
6017ca54c3Smrg#undef BYTE
6117ca54c3Smrg#undef BOOL
6217ca54c3Smrg#undef INT32
6317ca54c3Smrg#undef ATOM
6417ca54c3Smrg#undef FreeResource
65452262e1Smrg#pragma pop_macro ("ControlMask")
6617ca54c3Smrg#undef CreateWindowA
6717ca54c3Smrg#undef RT_FONT
6817ca54c3Smrg#undef RT_CURSOR
6917ca54c3Smrg
7017ca54c3Smrg/*
7117ca54c3Smrg * Older version of this header used to name the windows API bool type wBOOL,
7217ca54c3Smrg * rather than more standard name WINBOOL
7317ca54c3Smrg */
7417ca54c3Smrg#define wBOOL WINBOOL
7517ca54c3Smrg
7617ca54c3Smrg#ifdef _XFree86Server
7717ca54c3Smrg# define XFree86Server
7817ca54c3Smrg# undef _XFree86Server
7917ca54c3Smrg#endif
8017ca54c3Smrg
81