Define winsock error numbers
This commit is contained in:
parent
c99962e4cd
commit
0eb4c2157d
@ -55,9 +55,6 @@
|
|||||||
If socket() fails it returns -1 so _open_osfhandle fails as well, but and we'll always return/throw EBADF.
|
If socket() fails it returns -1 so _open_osfhandle fails as well, but and we'll always return/throw EBADF.
|
||||||
If _open_osfhandle fails but socket doesn't, a stray handle is left open. It should be fixed.
|
If _open_osfhandle fails but socket doesn't, a stray handle is left open. It should be fixed.
|
||||||
|
|
||||||
- Check error number mappings.
|
|
||||||
Winsock errnos are sometimes different. Subtracting WSABASEERR from errnos works in most cases.
|
|
||||||
|
|
||||||
- Think about `make install`
|
- Think about `make install`
|
||||||
|
|
||||||
- Extensions
|
- Extensions
|
||||||
|
@ -48,7 +48,7 @@ var errnoException = binding.errnoException;
|
|||||||
var sendMsg = binding.sendMsg;
|
var sendMsg = binding.sendMsg;
|
||||||
var recvMsg = binding.recvMsg;
|
var recvMsg = binding.recvMsg;
|
||||||
|
|
||||||
var EINPROGRESS = constants.EINPROGRESS;
|
var EINPROGRESS = constants.EINPROGRESS || constants.WSAEINPROGRESS;
|
||||||
var ENOENT = constants.ENOENT;
|
var ENOENT = constants.ENOENT;
|
||||||
var EMFILE = constants.EMFILE;
|
var EMFILE = constants.EMFILE;
|
||||||
|
|
||||||
|
228
src/node.cc
228
src/node.cc
@ -616,6 +616,234 @@ static inline const char *errno_string(int errorno) {
|
|||||||
ERRNO_CASE(EXDEV);
|
ERRNO_CASE(EXDEV);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINTR
|
||||||
|
ERRNO_CASE(WSAEINTR);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEBADF
|
||||||
|
ERRNO_CASE(WSAEBADF);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEACCES
|
||||||
|
ERRNO_CASE(WSAEACCES);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEFAULT
|
||||||
|
ERRNO_CASE(WSAEFAULT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINVAL
|
||||||
|
ERRNO_CASE(WSAEINVAL);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEMFILE
|
||||||
|
ERRNO_CASE(WSAEMFILE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEWOULDBLOCK
|
||||||
|
ERRNO_CASE(WSAEWOULDBLOCK);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINPROGRESS
|
||||||
|
ERRNO_CASE(WSAEINPROGRESS);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEALREADY
|
||||||
|
ERRNO_CASE(WSAEALREADY);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOTSOCK
|
||||||
|
ERRNO_CASE(WSAENOTSOCK);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEDESTADDRREQ
|
||||||
|
ERRNO_CASE(WSAEDESTADDRREQ);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEMSGSIZE
|
||||||
|
ERRNO_CASE(WSAEMSGSIZE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPROTOTYPE
|
||||||
|
ERRNO_CASE(WSAEPROTOTYPE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOPROTOOPT
|
||||||
|
ERRNO_CASE(WSAENOPROTOOPT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPROTONOSUPPORT
|
||||||
|
ERRNO_CASE(WSAEPROTONOSUPPORT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAESOCKTNOSUPPORT
|
||||||
|
ERRNO_CASE(WSAESOCKTNOSUPPORT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEOPNOTSUPP
|
||||||
|
ERRNO_CASE(WSAEOPNOTSUPP);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPFNOSUPPORT
|
||||||
|
ERRNO_CASE(WSAEPFNOSUPPORT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEAFNOSUPPORT
|
||||||
|
ERRNO_CASE(WSAEAFNOSUPPORT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEADDRINUSE
|
||||||
|
ERRNO_CASE(WSAEADDRINUSE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEADDRNOTAVAIL
|
||||||
|
ERRNO_CASE(WSAEADDRNOTAVAIL);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENETDOWN
|
||||||
|
ERRNO_CASE(WSAENETDOWN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENETUNREACH
|
||||||
|
ERRNO_CASE(WSAENETUNREACH);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENETRESET
|
||||||
|
ERRNO_CASE(WSAENETRESET);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAECONNABORTED
|
||||||
|
ERRNO_CASE(WSAECONNABORTED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAECONNRESET
|
||||||
|
ERRNO_CASE(WSAECONNRESET);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOBUFS
|
||||||
|
ERRNO_CASE(WSAENOBUFS);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEISCONN
|
||||||
|
ERRNO_CASE(WSAEISCONN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOTCONN
|
||||||
|
ERRNO_CASE(WSAENOTCONN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAESHUTDOWN
|
||||||
|
ERRNO_CASE(WSAESHUTDOWN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAETOOMANYREFS
|
||||||
|
ERRNO_CASE(WSAETOOMANYREFS);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAETIMEDOUT
|
||||||
|
ERRNO_CASE(WSAETIMEDOUT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAECONNREFUSED
|
||||||
|
ERRNO_CASE(WSAECONNREFUSED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAELOOP
|
||||||
|
ERRNO_CASE(WSAELOOP);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENAMETOOLONG
|
||||||
|
ERRNO_CASE(WSAENAMETOOLONG);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEHOSTDOWN
|
||||||
|
ERRNO_CASE(WSAEHOSTDOWN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEHOSTUNREACH
|
||||||
|
ERRNO_CASE(WSAEHOSTUNREACH);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOTEMPTY
|
||||||
|
ERRNO_CASE(WSAENOTEMPTY);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPROCLIM
|
||||||
|
ERRNO_CASE(WSAEPROCLIM);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEUSERS
|
||||||
|
ERRNO_CASE(WSAEUSERS);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEDQUOT
|
||||||
|
ERRNO_CASE(WSAEDQUOT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAESTALE
|
||||||
|
ERRNO_CASE(WSAESTALE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEREMOTE
|
||||||
|
ERRNO_CASE(WSAEREMOTE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSASYSNOTREADY
|
||||||
|
ERRNO_CASE(WSASYSNOTREADY);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAVERNOTSUPPORTED
|
||||||
|
ERRNO_CASE(WSAVERNOTSUPPORTED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSANOTINITIALISED
|
||||||
|
ERRNO_CASE(WSANOTINITIALISED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEDISCON
|
||||||
|
ERRNO_CASE(WSAEDISCON);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOMORE
|
||||||
|
ERRNO_CASE(WSAENOMORE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAECANCELLED
|
||||||
|
ERRNO_CASE(WSAECANCELLED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINVALIDPROCTABLE
|
||||||
|
ERRNO_CASE(WSAEINVALIDPROCTABLE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINVALIDPROVIDER
|
||||||
|
ERRNO_CASE(WSAEINVALIDPROVIDER);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPROVIDERFAILEDINIT
|
||||||
|
ERRNO_CASE(WSAEPROVIDERFAILEDINIT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSASYSCALLFAILURE
|
||||||
|
ERRNO_CASE(WSASYSCALLFAILURE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSASERVICE_NOT_FOUND
|
||||||
|
ERRNO_CASE(WSASERVICE_NOT_FOUND);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSATYPE_NOT_FOUND
|
||||||
|
ERRNO_CASE(WSATYPE_NOT_FOUND);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSA_E_NO_MORE
|
||||||
|
ERRNO_CASE(WSA_E_NO_MORE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSA_E_CANCELLED
|
||||||
|
ERRNO_CASE(WSA_E_CANCELLED);
|
||||||
|
#endif
|
||||||
|
|
||||||
default: return "";
|
default: return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,11 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
# include <platform_win32.h>
|
||||||
|
# include <platform_win32_winsock.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace node {
|
namespace node {
|
||||||
|
|
||||||
using namespace v8;
|
using namespace v8;
|
||||||
@ -443,6 +448,238 @@ void DefineConstants(Handle<Object> target) {
|
|||||||
NODE_DEFINE_CONSTANT(target, EXDEV);
|
NODE_DEFINE_CONSTANT(target, EXDEV);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINTR
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEINTR);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEBADF
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEBADF);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEACCES
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEACCES);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEFAULT
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEFAULT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINVAL
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEINVAL);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEMFILE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEMFILE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEWOULDBLOCK
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEWOULDBLOCK);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINPROGRESS
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEINPROGRESS);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEALREADY
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEALREADY);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOTSOCK
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENOTSOCK);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEDESTADDRREQ
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEDESTADDRREQ);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEMSGSIZE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEMSGSIZE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPROTOTYPE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEPROTOTYPE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOPROTOOPT
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENOPROTOOPT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPROTONOSUPPORT
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEPROTONOSUPPORT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAESOCKTNOSUPPORT
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAESOCKTNOSUPPORT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEOPNOTSUPP
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEOPNOTSUPP);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPFNOSUPPORT
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEPFNOSUPPORT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEAFNOSUPPORT
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEAFNOSUPPORT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEADDRINUSE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEADDRINUSE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEADDRNOTAVAIL
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEADDRNOTAVAIL);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENETDOWN
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENETDOWN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENETUNREACH
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENETUNREACH);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENETRESET
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENETRESET);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAECONNABORTED
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAECONNABORTED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAECONNRESET
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAECONNRESET);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOBUFS
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENOBUFS);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEISCONN
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEISCONN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOTCONN
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENOTCONN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAESHUTDOWN
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAESHUTDOWN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAETOOMANYREFS
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAETOOMANYREFS);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAETIMEDOUT
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAETIMEDOUT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAECONNREFUSED
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAECONNREFUSED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAELOOP
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAELOOP);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENAMETOOLONG
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENAMETOOLONG);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEHOSTDOWN
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEHOSTDOWN);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEHOSTUNREACH
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEHOSTUNREACH);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOTEMPTY
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENOTEMPTY);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPROCLIM
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEPROCLIM);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEUSERS
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEUSERS);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEDQUOT
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEDQUOT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAESTALE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAESTALE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEREMOTE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEREMOTE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSASYSNOTREADY
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSASYSNOTREADY);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAVERNOTSUPPORTED
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAVERNOTSUPPORTED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSANOTINITIALISED
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSANOTINITIALISED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEDISCON
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEDISCON);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAENOMORE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAENOMORE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAECANCELLED
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAECANCELLED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINVALIDPROCTABLE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEINVALIDPROCTABLE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEINVALIDPROVIDER
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEINVALIDPROVIDER);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEPROVIDERFAILEDINIT
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEPROVIDERFAILEDINIT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSASYSCALLFAILURE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSASYSCALLFAILURE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSASERVICE_NOT_FOUND
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSASERVICE_NOT_FOUND);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSATYPE_NOT_FOUND
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSATYPE_NOT_FOUND);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSA_E_NO_MORE
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSA_E_NO_MORE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSA_E_CANCELLED
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSA_E_CANCELLED);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WSAEREFUSED
|
||||||
|
NODE_DEFINE_CONSTANT(target, WSAEREFUSED);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef SIGHUP
|
#ifdef SIGHUP
|
||||||
NODE_DEFINE_CONSTANT(target, SIGHUP);
|
NODE_DEFINE_CONSTANT(target, SIGHUP);
|
||||||
#endif
|
#endif
|
||||||
|
@ -28,10 +28,11 @@ static Handle<Value> GetHostname(const Arguments& args) {
|
|||||||
int r = gethostname(s, 255);
|
int r = gethostname(s, 255);
|
||||||
|
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
#ifdef __MINGW32__
|
#ifdef __POSIX__
|
||||||
errno = WSAGetLastError() - WSABASEERR;
|
|
||||||
#endif
|
|
||||||
return ThrowException(ErrnoException(errno, "gethostname"));
|
return ThrowException(ErrnoException(errno, "gethostname"));
|
||||||
|
#else // __MINGW32__
|
||||||
|
return ThrowException(ErrnoException(WSAGetLastError(), "gethostname"));
|
||||||
|
#endif // __MINGW32__
|
||||||
}
|
}
|
||||||
|
|
||||||
return scope.Close(String::New(s));
|
return scope.Close(String::New(s));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user