aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/utils/windows.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2014-05-09 10:17:03 +0200
committerMartin Willi <martin@revosec.ch>2014-06-04 15:53:12 +0200
commit7659f67af3d32e65a3099dcbb688f11734d8a0ad (patch)
tree828839e3987291bda55fac62a5459d4a23b63dee /src/libstrongswan/utils/windows.c
parent2162e500040c9a9b1f5231ee7d7ee8c9f956741e (diff)
downloadstrongswan-7659f67af3d32e65a3099dcbb688f11734d8a0ad.tar.bz2
strongswan-7659f67af3d32e65a3099dcbb688f11734d8a0ad.tar.xz
windows: Provide POSIX supplement errno values missing in MinGW
MinGW headers do not define these values, but Windows system headers do. Windows defines them for POSIX compatibility, we do the same locally.
Diffstat (limited to 'src/libstrongswan/utils/windows.c')
-rw-r--r--src/libstrongswan/utils/windows.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/libstrongswan/utils/windows.c b/src/libstrongswan/utils/windows.c
index c0ae3d87a..741d199ec 100644
--- a/src/libstrongswan/utils/windows.c
+++ b/src/libstrongswan/utils/windows.c
@@ -322,9 +322,13 @@ static int wserr(int retval)
errno = EBADF;
break;
case WSAENETDOWN:
+ errno = ENETDOWN;
+ break;
case WSAENETRESET:
+ errno = ENETRESET;
+ break;
case WSAESHUTDOWN:
- errno = EPIPE;
+ errno = ECONNABORTED;
break;
case WSAEACCES:
errno = EACCES;
@@ -333,37 +337,43 @@ static int wserr(int retval)
errno = EINTR;
break;
case WSAEINPROGRESS:
- errno = EBUSY;
+ errno = EINPROGRESS;
break;
case WSAEFAULT:
errno = EFAULT;
break;
case WSAENOBUFS:
- errno = ENOMEM;
+ errno = ENOBUFS;
break;
case WSAENOTSOCK:
- errno = EINVAL;
+ errno = ENOTSOCK;
break;
case WSAEOPNOTSUPP:
- errno = ENOSYS;
+ errno = EOPNOTSUPP;
break;
case WSAEWOULDBLOCK:
errno = EWOULDBLOCK;
break;
case WSAEMSGSIZE:
- errno = ENOSPC;
+ errno = EMSGSIZE;
break;
case WSAEINVAL:
errno = EINVAL;
break;
case WSAENOTCONN:
+ errno = ENOTCONN;
+ break;
case WSAEHOSTUNREACH:
+ errno = EHOSTUNREACH;
+ break;
case WSAECONNABORTED:
+ errno = ECONNABORTED;
+ break;
case WSAECONNRESET:
- errno = EIO;
+ errno = ECONNRESET;
break;
case WSAETIMEDOUT:
- errno = ESRCH;
+ errno = ETIMEDOUT;
break;
default:
errno = ENOENT;