include: add E2BIG status code mapping

Forgotten in commit 3ee4d3f.  Add it now and renumber the other status
codes.  The Windows status code mappings may not be exhaustive.

Fixes #959.
This commit is contained in:
Ben Noordhuis 2013-10-21 11:15:06 +02:00
parent 777019b768
commit f2ab62ec10
3 changed files with 62 additions and 53 deletions

View File

@ -44,322 +44,328 @@
/* Only map to the system errno on non-Windows platforms. It's apparently /* Only map to the system errno on non-Windows platforms. It's apparently
* a fairly common practice for Windows programmers to redefine errno codes. * a fairly common practice for Windows programmers to redefine errno codes.
*/ */
#if defined(E2BIG) && !defined(_WIN32)
# define UV__E2BIG (-E2BIG)
#else
# define UV__E2BIG (-4093)
#endif
#if defined(EACCES) && !defined(_WIN32) #if defined(EACCES) && !defined(_WIN32)
# define UV__EACCES (-EACCES) # define UV__EACCES (-EACCES)
#else #else
# define UV__EACCES (-4093) # define UV__EACCES (-4092)
#endif #endif
#if defined(EADDRINFO) && !defined(_WIN32) #if defined(EADDRINFO) && !defined(_WIN32)
# define UV__EADDRINFO EADDRINFO # define UV__EADDRINFO EADDRINFO
#else #else
# define UV__EADDRINFO (-4092) # define UV__EADDRINFO (-4091)
#endif #endif
#if defined(EADDRINUSE) && !defined(_WIN32) #if defined(EADDRINUSE) && !defined(_WIN32)
# define UV__EADDRINUSE (-EADDRINUSE) # define UV__EADDRINUSE (-EADDRINUSE)
#else #else
# define UV__EADDRINUSE (-4092) # define UV__EADDRINUSE (-4091)
#endif #endif
#if defined(EADDRNOTAVAIL) && !defined(_WIN32) #if defined(EADDRNOTAVAIL) && !defined(_WIN32)
# define UV__EADDRNOTAVAIL (-EADDRNOTAVAIL) # define UV__EADDRNOTAVAIL (-EADDRNOTAVAIL)
#else #else
# define UV__EADDRNOTAVAIL (-4091) # define UV__EADDRNOTAVAIL (-4090)
#endif #endif
#if defined(EAFNOSUPPORT) && !defined(_WIN32) #if defined(EAFNOSUPPORT) && !defined(_WIN32)
# define UV__EAFNOSUPPORT (-EAFNOSUPPORT) # define UV__EAFNOSUPPORT (-EAFNOSUPPORT)
#else #else
# define UV__EAFNOSUPPORT (-4090) # define UV__EAFNOSUPPORT (-4089)
#endif #endif
#if defined(EAGAIN) && !defined(_WIN32) #if defined(EAGAIN) && !defined(_WIN32)
# define UV__EAGAIN (-EAGAIN) # define UV__EAGAIN (-EAGAIN)
#else #else
# define UV__EAGAIN (-4089) # define UV__EAGAIN (-4088)
#endif #endif
#if defined(EALREADY) && !defined(_WIN32) #if defined(EALREADY) && !defined(_WIN32)
# define UV__EALREADY (-EALREADY) # define UV__EALREADY (-EALREADY)
#else #else
# define UV__EALREADY (-4085) # define UV__EALREADY (-4084)
#endif #endif
#if defined(EBADF) && !defined(_WIN32) #if defined(EBADF) && !defined(_WIN32)
# define UV__EBADF (-EBADF) # define UV__EBADF (-EBADF)
#else #else
# define UV__EBADF (-4084) # define UV__EBADF (-4083)
#endif #endif
#if defined(EBUSY) && !defined(_WIN32) #if defined(EBUSY) && !defined(_WIN32)
# define UV__EBUSY (-EBUSY) # define UV__EBUSY (-EBUSY)
#else #else
# define UV__EBUSY (-4083) # define UV__EBUSY (-4082)
#endif #endif
#if defined(ECANCELED) && !defined(_WIN32) #if defined(ECANCELED) && !defined(_WIN32)
# define UV__ECANCELED (-ECANCELED) # define UV__ECANCELED (-ECANCELED)
#else #else
# define UV__ECANCELED (-4082) # define UV__ECANCELED (-4081)
#endif #endif
#if defined(ECHARSET) && !defined(_WIN32) #if defined(ECHARSET) && !defined(_WIN32)
# define UV__ECHARSET (-ECHARSET) # define UV__ECHARSET (-ECHARSET)
#else #else
# define UV__ECHARSET (-4081) # define UV__ECHARSET (-4080)
#endif #endif
#if defined(ECONNABORTED) && !defined(_WIN32) #if defined(ECONNABORTED) && !defined(_WIN32)
# define UV__ECONNABORTED (-ECONNABORTED) # define UV__ECONNABORTED (-ECONNABORTED)
#else #else
# define UV__ECONNABORTED (-4080) # define UV__ECONNABORTED (-4079)
#endif #endif
#if defined(ECONNREFUSED) && !defined(_WIN32) #if defined(ECONNREFUSED) && !defined(_WIN32)
# define UV__ECONNREFUSED (-ECONNREFUSED) # define UV__ECONNREFUSED (-ECONNREFUSED)
#else #else
# define UV__ECONNREFUSED (-4079) # define UV__ECONNREFUSED (-4078)
#endif #endif
#if defined(ECONNRESET) && !defined(_WIN32) #if defined(ECONNRESET) && !defined(_WIN32)
# define UV__ECONNRESET (-ECONNRESET) # define UV__ECONNRESET (-ECONNRESET)
#else #else
# define UV__ECONNRESET (-4078) # define UV__ECONNRESET (-4077)
#endif #endif
#if defined(EDESTADDRREQ) && !defined(_WIN32) #if defined(EDESTADDRREQ) && !defined(_WIN32)
# define UV__EDESTADDRREQ (-EDESTADDRREQ) # define UV__EDESTADDRREQ (-EDESTADDRREQ)
#else #else
# define UV__EDESTADDRREQ (-4077) # define UV__EDESTADDRREQ (-4076)
#endif #endif
#if defined(EEXIST) && !defined(_WIN32) #if defined(EEXIST) && !defined(_WIN32)
# define UV__EEXIST (-EEXIST) # define UV__EEXIST (-EEXIST)
#else #else
# define UV__EEXIST (-4076) # define UV__EEXIST (-4075)
#endif #endif
#if defined(EFAULT) && !defined(_WIN32) #if defined(EFAULT) && !defined(_WIN32)
# define UV__EFAULT (-EFAULT) # define UV__EFAULT (-EFAULT)
#else #else
# define UV__EFAULT (-4075) # define UV__EFAULT (-4074)
#endif #endif
#if defined(EHOSTUNREACH) && !defined(_WIN32) #if defined(EHOSTUNREACH) && !defined(_WIN32)
# define UV__EHOSTUNREACH (-EHOSTUNREACH) # define UV__EHOSTUNREACH (-EHOSTUNREACH)
#else #else
# define UV__EHOSTUNREACH (-4074) # define UV__EHOSTUNREACH (-4073)
#endif #endif
#if defined(EINTR) && !defined(_WIN32) #if defined(EINTR) && !defined(_WIN32)
# define UV__EINTR (-EINTR) # define UV__EINTR (-EINTR)
#else #else
# define UV__EINTR (-4073) # define UV__EINTR (-4072)
#endif #endif
#if defined(EINVAL) && !defined(_WIN32) #if defined(EINVAL) && !defined(_WIN32)
# define UV__EINVAL (-EINVAL) # define UV__EINVAL (-EINVAL)
#else #else
# define UV__EINVAL (-4072) # define UV__EINVAL (-4071)
#endif #endif
#if defined(EIO) && !defined(_WIN32) #if defined(EIO) && !defined(_WIN32)
# define UV__EIO (-EIO) # define UV__EIO (-EIO)
#else #else
# define UV__EIO (-4071) # define UV__EIO (-4070)
#endif #endif
#if defined(EISCONN) && !defined(_WIN32) #if defined(EISCONN) && !defined(_WIN32)
# define UV__EISCONN (-EISCONN) # define UV__EISCONN (-EISCONN)
#else #else
# define UV__EISCONN (-4070) # define UV__EISCONN (-4069)
#endif #endif
#if defined(EISDIR) && !defined(_WIN32) #if defined(EISDIR) && !defined(_WIN32)
# define UV__EISDIR (-EISDIR) # define UV__EISDIR (-EISDIR)
#else #else
# define UV__EISDIR (-4069) # define UV__EISDIR (-4068)
#endif #endif
#if defined(ELOOP) && !defined(_WIN32) #if defined(ELOOP) && !defined(_WIN32)
# define UV__ELOOP (-ELOOP) # define UV__ELOOP (-ELOOP)
#else #else
# define UV__ELOOP (-4068) # define UV__ELOOP (-4067)
#endif #endif
#if defined(EMFILE) && !defined(_WIN32) #if defined(EMFILE) && !defined(_WIN32)
# define UV__EMFILE (-EMFILE) # define UV__EMFILE (-EMFILE)
#else #else
# define UV__EMFILE (-4067) # define UV__EMFILE (-4066)
#endif #endif
#if defined(EMSGSIZE) && !defined(_WIN32) #if defined(EMSGSIZE) && !defined(_WIN32)
# define UV__EMSGSIZE (-EMSGSIZE) # define UV__EMSGSIZE (-EMSGSIZE)
#else #else
# define UV__EMSGSIZE (-4066) # define UV__EMSGSIZE (-4065)
#endif #endif
#if defined(ENAMETOOLONG) && !defined(_WIN32) #if defined(ENAMETOOLONG) && !defined(_WIN32)
# define UV__ENAMETOOLONG (-ENAMETOOLONG) # define UV__ENAMETOOLONG (-ENAMETOOLONG)
#else #else
# define UV__ENAMETOOLONG (-4065) # define UV__ENAMETOOLONG (-4064)
#endif #endif
#if defined(ENETDOWN) && !defined(_WIN32) #if defined(ENETDOWN) && !defined(_WIN32)
# define UV__ENETDOWN (-ENETDOWN) # define UV__ENETDOWN (-ENETDOWN)
#else #else
# define UV__ENETDOWN (-4064) # define UV__ENETDOWN (-4063)
#endif #endif
#if defined(ENETUNREACH) && !defined(_WIN32) #if defined(ENETUNREACH) && !defined(_WIN32)
# define UV__ENETUNREACH (-ENETUNREACH) # define UV__ENETUNREACH (-ENETUNREACH)
#else #else
# define UV__ENETUNREACH (-4063) # define UV__ENETUNREACH (-4062)
#endif #endif
#if defined(ENFILE) && !defined(_WIN32) #if defined(ENFILE) && !defined(_WIN32)
# define UV__ENFILE (-ENFILE) # define UV__ENFILE (-ENFILE)
#else #else
# define UV__ENFILE (-4062) # define UV__ENFILE (-4061)
#endif #endif
#if defined(ENOBUFS) && !defined(_WIN32) #if defined(ENOBUFS) && !defined(_WIN32)
# define UV__ENOBUFS (-ENOBUFS) # define UV__ENOBUFS (-ENOBUFS)
#else #else
# define UV__ENOBUFS (-4061) # define UV__ENOBUFS (-4060)
#endif #endif
#if defined(ENODEV) && !defined(_WIN32) #if defined(ENODEV) && !defined(_WIN32)
# define UV__ENODEV (-ENODEV) # define UV__ENODEV (-ENODEV)
#else #else
# define UV__ENODEV (-4060) # define UV__ENODEV (-4059)
#endif #endif
#if defined(ENOENT) && !defined(_WIN32) #if defined(ENOENT) && !defined(_WIN32)
# define UV__ENOENT (-ENOENT) # define UV__ENOENT (-ENOENT)
#else #else
# define UV__ENOENT (-4059) # define UV__ENOENT (-4058)
#endif #endif
#if defined(ENOMEM) && !defined(_WIN32) #if defined(ENOMEM) && !defined(_WIN32)
# define UV__ENOMEM (-ENOMEM) # define UV__ENOMEM (-ENOMEM)
#else #else
# define UV__ENOMEM (-4058) # define UV__ENOMEM (-4057)
#endif #endif
#if defined(ENONET) && !defined(_WIN32) #if defined(ENONET) && !defined(_WIN32)
# define UV__ENONET (-ENONET) # define UV__ENONET (-ENONET)
#else #else
# define UV__ENONET (-4057) # define UV__ENONET (-4056)
#endif #endif
#if defined(ENOSPC) && !defined(_WIN32) #if defined(ENOSPC) && !defined(_WIN32)
# define UV__ENOSPC (-ENOSPC) # define UV__ENOSPC (-ENOSPC)
#else #else
# define UV__ENOSPC (-4056) # define UV__ENOSPC (-4055)
#endif #endif
#if defined(ENOSYS) && !defined(_WIN32) #if defined(ENOSYS) && !defined(_WIN32)
# define UV__ENOSYS (-ENOSYS) # define UV__ENOSYS (-ENOSYS)
#else #else
# define UV__ENOSYS (-4055) # define UV__ENOSYS (-4054)
#endif #endif
#if defined(ENOTCONN) && !defined(_WIN32) #if defined(ENOTCONN) && !defined(_WIN32)
# define UV__ENOTCONN (-ENOTCONN) # define UV__ENOTCONN (-ENOTCONN)
#else #else
# define UV__ENOTCONN (-4054) # define UV__ENOTCONN (-4053)
#endif #endif
#if defined(ENOTDIR) && !defined(_WIN32) #if defined(ENOTDIR) && !defined(_WIN32)
# define UV__ENOTDIR (-ENOTDIR) # define UV__ENOTDIR (-ENOTDIR)
#else #else
# define UV__ENOTDIR (-4053) # define UV__ENOTDIR (-4052)
#endif #endif
#if defined(ENOTEMPTY) && !defined(_WIN32) #if defined(ENOTEMPTY) && !defined(_WIN32)
# define UV__ENOTEMPTY (-ENOTEMPTY) # define UV__ENOTEMPTY (-ENOTEMPTY)
#else #else
# define UV__ENOTEMPTY (-4052) # define UV__ENOTEMPTY (-4051)
#endif #endif
#if defined(ENOTSOCK) && !defined(_WIN32) #if defined(ENOTSOCK) && !defined(_WIN32)
# define UV__ENOTSOCK (-ENOTSOCK) # define UV__ENOTSOCK (-ENOTSOCK)
#else #else
# define UV__ENOTSOCK (-4051) # define UV__ENOTSOCK (-4050)
#endif #endif
#if defined(ENOTSUP) && !defined(_WIN32) #if defined(ENOTSUP) && !defined(_WIN32)
# define UV__ENOTSUP (-ENOTSUP) # define UV__ENOTSUP (-ENOTSUP)
#else #else
# define UV__ENOTSUP (-4050) # define UV__ENOTSUP (-4049)
#endif #endif
#if defined(EPERM) && !defined(_WIN32) #if defined(EPERM) && !defined(_WIN32)
# define UV__EPERM (-EPERM) # define UV__EPERM (-EPERM)
#else #else
# define UV__EPERM (-4049) # define UV__EPERM (-4048)
#endif #endif
#if defined(EPIPE) && !defined(_WIN32) #if defined(EPIPE) && !defined(_WIN32)
# define UV__EPIPE (-EPIPE) # define UV__EPIPE (-EPIPE)
#else #else
# define UV__EPIPE (-4048) # define UV__EPIPE (-4047)
#endif #endif
#if defined(EPROTO) && !defined(_WIN32) #if defined(EPROTO) && !defined(_WIN32)
# define UV__EPROTO (-EPROTO) # define UV__EPROTO (-EPROTO)
#else #else
# define UV__EPROTO (-4047) # define UV__EPROTO (-4046)
#endif #endif
#if defined(EPROTONOSUPPORT) && !defined(_WIN32) #if defined(EPROTONOSUPPORT) && !defined(_WIN32)
# define UV__EPROTONOSUPPORT (-EPROTONOSUPPORT) # define UV__EPROTONOSUPPORT (-EPROTONOSUPPORT)
#else #else
# define UV__EPROTONOSUPPORT (-4046) # define UV__EPROTONOSUPPORT (-4045)
#endif #endif
#if defined(EPROTOTYPE) && !defined(_WIN32) #if defined(EPROTOTYPE) && !defined(_WIN32)
# define UV__EPROTOTYPE (-EPROTOTYPE) # define UV__EPROTOTYPE (-EPROTOTYPE)
#else #else
# define UV__EPROTOTYPE (-4045) # define UV__EPROTOTYPE (-4044)
#endif #endif
#if defined(EROFS) && !defined(_WIN32) #if defined(EROFS) && !defined(_WIN32)
# define UV__EROFS (-EROFS) # define UV__EROFS (-EROFS)
#else #else
# define UV__EROFS (-4044) # define UV__EROFS (-4043)
#endif #endif
#if defined(ESHUTDOWN) && !defined(_WIN32) #if defined(ESHUTDOWN) && !defined(_WIN32)
# define UV__ESHUTDOWN (-ESHUTDOWN) # define UV__ESHUTDOWN (-ESHUTDOWN)
#else #else
# define UV__ESHUTDOWN (-4043) # define UV__ESHUTDOWN (-4042)
#endif #endif
#if defined(ESPIPE) && !defined(_WIN32) #if defined(ESPIPE) && !defined(_WIN32)
# define UV__ESPIPE (-ESPIPE) # define UV__ESPIPE (-ESPIPE)
#else #else
# define UV__ESPIPE (-4042) # define UV__ESPIPE (-4041)
#endif #endif
#if defined(ESRCH) && !defined(_WIN32) #if defined(ESRCH) && !defined(_WIN32)
# define UV__ESRCH (-ESRCH) # define UV__ESRCH (-ESRCH)
#else #else
# define UV__ESRCH (-4041) # define UV__ESRCH (-4040)
#endif #endif
#if defined(ETIMEDOUT) && !defined(_WIN32) #if defined(ETIMEDOUT) && !defined(_WIN32)
# define UV__ETIMEDOUT (-ETIMEDOUT) # define UV__ETIMEDOUT (-ETIMEDOUT)
#else #else
# define UV__ETIMEDOUT (-4040) # define UV__ETIMEDOUT (-4039)
#endif #endif
#if defined(EXDEV) && !defined(_WIN32) #if defined(EXDEV) && !defined(_WIN32)
# define UV__EXDEV (-EXDEV) # define UV__EXDEV (-EXDEV)
#else #else
# define UV__EXDEV (-4038) # define UV__EXDEV (-4037)
#endif #endif
#endif /* UV_ERRNO_H_ */ #endif /* UV_ERRNO_H_ */

View File

@ -62,6 +62,7 @@ extern "C" {
/* Expand this list if necessary. */ /* Expand this list if necessary. */
#define UV_ERRNO_MAP(XX) \ #define UV_ERRNO_MAP(XX) \
XX(E2BIG, "argument list too long") \
XX(EACCES, "permission denied") \ XX(EACCES, "permission denied") \
XX(EADDRINUSE, "address already in use") \ XX(EADDRINUSE, "address already in use") \
XX(EADDRNOTAVAIL, "address not available") \ XX(EADDRNOTAVAIL, "address not available") \

View File

@ -162,6 +162,8 @@ int uv_translate_sys_error(int sys_errno) {
case WSAETIMEDOUT: return UV_ETIMEDOUT; case WSAETIMEDOUT: return UV_ETIMEDOUT;
case ERROR_NOT_SAME_DEVICE: return UV_EXDEV; case ERROR_NOT_SAME_DEVICE: return UV_EXDEV;
case ERROR_INVALID_FUNCTION: return UV_EISDIR; case ERROR_INVALID_FUNCTION: return UV_EISDIR;
case ERROR_FILENAME_EXCED_RANGE: return UV_E2BIG;
case ERROR_META_EXPANSION_TOO_LONG: return UV_E2BIG;
default: return UV_UNKNOWN; default: return UV_UNKNOWN;
} }
} }