diff options
Diffstat (limited to 'gl/w32sock.h')
-rw-r--r-- | gl/w32sock.h | 89 |
1 files changed, 82 insertions, 7 deletions
diff --git a/gl/w32sock.h b/gl/w32sock.h index b472bd05..44f3a1a0 100644 --- a/gl/w32sock.h +++ b/gl/w32sock.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* w32sock.h --- internal auxilliary functions for Windows socket functions | 1 | /* w32sock.h --- internal auxiliary functions for Windows socket functions |
2 | 2 | ||
3 | Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | Copyright (C) 2008-2013 Free Software Foundation, Inc. |
4 | 4 | ||
5 | This program is free software: you can redistribute it and/or modify | 5 | This program is free software: you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
@@ -22,11 +22,14 @@ | |||
22 | /* Get O_RDWR and O_BINARY. */ | 22 | /* Get O_RDWR and O_BINARY. */ |
23 | #include <fcntl.h> | 23 | #include <fcntl.h> |
24 | 24 | ||
25 | /* Get _get_osfhandle() and _open_osfhandle(). */ | 25 | /* Get _open_osfhandle(). */ |
26 | #include <io.h> | 26 | #include <io.h> |
27 | 27 | ||
28 | /* Get _get_osfhandle(). */ | ||
29 | #include "msvc-nothrow.h" | ||
30 | |||
28 | #define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) | 31 | #define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) |
29 | #define SOCKET_TO_FD(fh) (_open_osfhandle ((long) (fh), O_RDWR | O_BINARY)) | 32 | #define SOCKET_TO_FD(fh) (_open_osfhandle ((intptr_t) (fh), O_RDWR | O_BINARY)) |
30 | 33 | ||
31 | static inline void | 34 | static inline void |
32 | set_winsock_errno (void) | 35 | set_winsock_errno (void) |
@@ -45,15 +48,87 @@ set_winsock_errno (void) | |||
45 | case WSA_INVALID_PARAMETER: | 48 | case WSA_INVALID_PARAMETER: |
46 | errno = EINVAL; | 49 | errno = EINVAL; |
47 | break; | 50 | break; |
48 | case WSAEWOULDBLOCK: | ||
49 | errno = EWOULDBLOCK; | ||
50 | break; | ||
51 | case WSAENAMETOOLONG: | 51 | case WSAENAMETOOLONG: |
52 | errno = ENAMETOOLONG; | 52 | errno = ENAMETOOLONG; |
53 | break; | 53 | break; |
54 | case WSAENOTEMPTY: | 54 | case WSAENOTEMPTY: |
55 | errno = ENOTEMPTY; | 55 | errno = ENOTEMPTY; |
56 | break; | 56 | break; |
57 | case WSAEWOULDBLOCK: | ||
58 | errno = EWOULDBLOCK; | ||
59 | break; | ||
60 | case WSAEINPROGRESS: | ||
61 | errno = EINPROGRESS; | ||
62 | break; | ||
63 | case WSAEALREADY: | ||
64 | errno = EALREADY; | ||
65 | break; | ||
66 | case WSAENOTSOCK: | ||
67 | errno = ENOTSOCK; | ||
68 | break; | ||
69 | case WSAEDESTADDRREQ: | ||
70 | errno = EDESTADDRREQ; | ||
71 | break; | ||
72 | case WSAEMSGSIZE: | ||
73 | errno = EMSGSIZE; | ||
74 | break; | ||
75 | case WSAEPROTOTYPE: | ||
76 | errno = EPROTOTYPE; | ||
77 | break; | ||
78 | case WSAENOPROTOOPT: | ||
79 | errno = ENOPROTOOPT; | ||
80 | break; | ||
81 | case WSAEPROTONOSUPPORT: | ||
82 | errno = EPROTONOSUPPORT; | ||
83 | break; | ||
84 | case WSAEOPNOTSUPP: | ||
85 | errno = EOPNOTSUPP; | ||
86 | break; | ||
87 | case WSAEAFNOSUPPORT: | ||
88 | errno = EAFNOSUPPORT; | ||
89 | break; | ||
90 | case WSAEADDRINUSE: | ||
91 | errno = EADDRINUSE; | ||
92 | break; | ||
93 | case WSAEADDRNOTAVAIL: | ||
94 | errno = EADDRNOTAVAIL; | ||
95 | break; | ||
96 | case WSAENETDOWN: | ||
97 | errno = ENETDOWN; | ||
98 | break; | ||
99 | case WSAENETUNREACH: | ||
100 | errno = ENETUNREACH; | ||
101 | break; | ||
102 | case WSAENETRESET: | ||
103 | errno = ENETRESET; | ||
104 | break; | ||
105 | case WSAECONNABORTED: | ||
106 | errno = ECONNABORTED; | ||
107 | break; | ||
108 | case WSAECONNRESET: | ||
109 | errno = ECONNRESET; | ||
110 | break; | ||
111 | case WSAENOBUFS: | ||
112 | errno = ENOBUFS; | ||
113 | break; | ||
114 | case WSAEISCONN: | ||
115 | errno = EISCONN; | ||
116 | break; | ||
117 | case WSAENOTCONN: | ||
118 | errno = ENOTCONN; | ||
119 | break; | ||
120 | case WSAETIMEDOUT: | ||
121 | errno = ETIMEDOUT; | ||
122 | break; | ||
123 | case WSAECONNREFUSED: | ||
124 | errno = ECONNREFUSED; | ||
125 | break; | ||
126 | case WSAELOOP: | ||
127 | errno = ELOOP; | ||
128 | break; | ||
129 | case WSAEHOSTUNREACH: | ||
130 | errno = EHOSTUNREACH; | ||
131 | break; | ||
57 | default: | 132 | default: |
58 | errno = (err > 10000 && err < 10025) ? err - 10000 : err; | 133 | errno = (err > 10000 && err < 10025) ? err - 10000 : err; |
59 | break; | 134 | break; |