X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fw32sock.h;h=44f3a1a0f6970664bee3e4e994612ba8eb5f1adb;hb=43593319b31e6b0175b8eec4433bac744959822d;hp=8705f8f00a505e718bd35583c8274231e6289481;hpb=dfd793fab03429ee3510958eee1ed33de282fbcc;p=gnulib.git diff --git a/lib/w32sock.h b/lib/w32sock.h index 8705f8f00..44f3a1a0f 100644 --- a/lib/w32sock.h +++ b/lib/w32sock.h @@ -1,6 +1,6 @@ -/* w32sock.h --- internal auxilliary functions for Windows socket functions +/* w32sock.h --- internal auxiliary functions for Windows socket functions - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,11 +22,14 @@ /* Get O_RDWR and O_BINARY. */ #include -/* Get _get_osfhandle() and _open_osfhandle(). */ +/* Get _open_osfhandle(). */ #include +/* Get _get_osfhandle(). */ +#include "msvc-nothrow.h" + #define FD_TO_SOCKET(fd) ((SOCKET) _get_osfhandle ((fd))) -#define SOCKET_TO_FD(fh) (_open_osfhandle ((long) (fh), O_RDWR | O_BINARY)) +#define SOCKET_TO_FD(fh) (_open_osfhandle ((intptr_t) (fh), O_RDWR | O_BINARY)) static inline void set_winsock_errno (void) @@ -45,15 +48,87 @@ set_winsock_errno (void) case WSA_INVALID_PARAMETER: errno = EINVAL; break; - case WSAEWOULDBLOCK: - errno = EWOULDBLOCK; - break; case WSAENAMETOOLONG: errno = ENAMETOOLONG; break; case WSAENOTEMPTY: errno = ENOTEMPTY; break; + case WSAEWOULDBLOCK: + errno = EWOULDBLOCK; + break; + case WSAEINPROGRESS: + errno = EINPROGRESS; + break; + case WSAEALREADY: + errno = EALREADY; + break; + case WSAENOTSOCK: + errno = ENOTSOCK; + break; + case WSAEDESTADDRREQ: + errno = EDESTADDRREQ; + break; + case WSAEMSGSIZE: + errno = EMSGSIZE; + break; + case WSAEPROTOTYPE: + errno = EPROTOTYPE; + break; + case WSAENOPROTOOPT: + errno = ENOPROTOOPT; + break; + case WSAEPROTONOSUPPORT: + errno = EPROTONOSUPPORT; + break; + case WSAEOPNOTSUPP: + errno = EOPNOTSUPP; + break; + case WSAEAFNOSUPPORT: + errno = EAFNOSUPPORT; + break; + case WSAEADDRINUSE: + errno = EADDRINUSE; + break; + case WSAEADDRNOTAVAIL: + errno = EADDRNOTAVAIL; + break; + case WSAENETDOWN: + errno = ENETDOWN; + break; + case WSAENETUNREACH: + errno = ENETUNREACH; + break; + case WSAENETRESET: + errno = ENETRESET; + break; + case WSAECONNABORTED: + errno = ECONNABORTED; + break; + case WSAECONNRESET: + errno = ECONNRESET; + break; + case WSAENOBUFS: + errno = ENOBUFS; + break; + case WSAEISCONN: + errno = EISCONN; + break; + case WSAENOTCONN: + errno = ENOTCONN; + break; + case WSAETIMEDOUT: + errno = ETIMEDOUT; + break; + case WSAECONNREFUSED: + errno = ECONNREFUSED; + break; + case WSAELOOP: + errno = ELOOP; + break; + case WSAEHOSTUNREACH: + errno = EHOSTUNREACH; + break; default: errno = (err > 10000 && err < 10025) ? err - 10000 : err; break;