6
/* Windows socket errors (WSA*) */
8
#define WIN32_LEAN_AND_MEAN
13
* Pull in the system error definitions
16
static PyMethodDef errno_methods[] = {
20
/* Helper function doing the dictionary inserting */
23
_inscode(PyObject *d, PyObject *de, const char *name, int code)
25
PyObject *u = PyUnicode_FromString(name);
26
PyObject *v = PyLong_FromLong((long) code);
28
/* Don't bother checking for errors; they'll be caught at the end
29
* of the module initialization function by the caller of
33
/* insert in modules dict */
34
PyDict_SetItem(d, u, v);
35
/* insert in errorcode dict */
36
PyDict_SetItem(de, v, u);
42
PyDoc_STRVAR(errno__doc__,
43
"This module makes available standard errno system symbols.\n\
45
The value of each symbol is the corresponding integer value,\n\
46
e.g., on most systems, errno.ENOENT equals the integer 2.\n\
48
The dictionary errno.errorcode maps numeric codes to symbol names,\n\
49
e.g., errno.errorcode[2] could be the string 'ENOENT'.\n\
51
Symbols that are not relevant to the underlying system are not defined.\n\
53
To map error codes to error messages, use the function os.strerror(),\n\
54
e.g. os.strerror(2) could return 'No such file or directory'.");
56
static struct PyModuleDef errnomodule = {
57
PyModuleDef_HEAD_INIT,
72
m = PyModule_Create(&errnomodule);
75
d = PyModule_GetDict(m);
77
if (!d || !de || PyDict_SetItemString(d, "errorcode", de) < 0)
80
/* Macro so I don't have to edit each and every line below... */
81
#define inscode(d, ds, de, name, code, comment) _inscode(d, de, name, code)
84
* The names and comments are borrowed from linux/include/errno.h,
85
* which should be pretty all-inclusive
89
inscode(d, ds, de, "ENODEV", ENODEV, "No such device");
92
inscode(d, ds, de, "ENOCSI", ENOCSI, "No CSI structure available");
95
inscode(d, ds, de, "EHOSTUNREACH", EHOSTUNREACH, "No route to host");
97
#ifdef WSAEHOSTUNREACH
98
inscode(d, ds, de, "EHOSTUNREACH", WSAEHOSTUNREACH, "No route to host");
102
inscode(d, ds, de, "ENOMSG", ENOMSG, "No message of desired type");
105
inscode(d, ds, de, "EUCLEAN", EUCLEAN, "Structure needs cleaning");
108
inscode(d, ds, de, "EL2NSYNC", EL2NSYNC, "Level 2 not synchronized");
111
inscode(d, ds, de, "EL2HLT", EL2HLT, "Level 2 halted");
114
inscode(d, ds, de, "ENODATA", ENODATA, "No data available");
117
inscode(d, ds, de, "ENOTBLK", ENOTBLK, "Block device required");
120
inscode(d, ds, de, "ENOSYS", ENOSYS, "Function not implemented");
123
inscode(d, ds, de, "EPIPE", EPIPE, "Broken pipe");
126
inscode(d, ds, de, "EINVAL", EINVAL, "Invalid argument");
129
inscode(d, ds, de, "EINVAL", WSAEINVAL, "Invalid argument");
133
inscode(d, ds, de, "EOVERFLOW", EOVERFLOW, "Value too large for defined data type");
136
inscode(d, ds, de, "EADV", EADV, "Advertise error");
139
inscode(d, ds, de, "EINTR", EINTR, "Interrupted system call");
142
inscode(d, ds, de, "EINTR", WSAEINTR, "Interrupted system call");
146
inscode(d, ds, de, "EUSERS", EUSERS, "Too many users");
149
inscode(d, ds, de, "EUSERS", WSAEUSERS, "Too many users");
153
inscode(d, ds, de, "ENOTEMPTY", ENOTEMPTY, "Directory not empty");
156
inscode(d, ds, de, "ENOTEMPTY", WSAENOTEMPTY, "Directory not empty");
160
inscode(d, ds, de, "ENOBUFS", ENOBUFS, "No buffer space available");
163
inscode(d, ds, de, "ENOBUFS", WSAENOBUFS, "No buffer space available");
167
inscode(d, ds, de, "EPROTO", EPROTO, "Protocol error");
170
inscode(d, ds, de, "EREMOTE", EREMOTE, "Object is remote");
173
inscode(d, ds, de, "EREMOTE", WSAEREMOTE, "Object is remote");
177
inscode(d, ds, de, "ENAVAIL", ENAVAIL, "No XENIX semaphores available");
180
inscode(d, ds, de, "ECHILD", ECHILD, "No child processes");
183
inscode(d, ds, de, "ELOOP", ELOOP, "Too many symbolic links encountered");
186
inscode(d, ds, de, "ELOOP", WSAELOOP, "Too many symbolic links encountered");
190
inscode(d, ds, de, "EXDEV", EXDEV, "Cross-device link");
193
inscode(d, ds, de, "E2BIG", E2BIG, "Arg list too long");
196
inscode(d, ds, de, "ESRCH", ESRCH, "No such process");
199
inscode(d, ds, de, "EMSGSIZE", EMSGSIZE, "Message too long");
202
inscode(d, ds, de, "EMSGSIZE", WSAEMSGSIZE, "Message too long");
206
inscode(d, ds, de, "EAFNOSUPPORT", EAFNOSUPPORT, "Address family not supported by protocol");
208
#ifdef WSAEAFNOSUPPORT
209
inscode(d, ds, de, "EAFNOSUPPORT", WSAEAFNOSUPPORT, "Address family not supported by protocol");
213
inscode(d, ds, de, "EBADR", EBADR, "Invalid request descriptor");
216
inscode(d, ds, de, "EHOSTDOWN", EHOSTDOWN, "Host is down");
219
inscode(d, ds, de, "EHOSTDOWN", WSAEHOSTDOWN, "Host is down");
223
inscode(d, ds, de, "EPFNOSUPPORT", EPFNOSUPPORT, "Protocol family not supported");
225
#ifdef WSAEPFNOSUPPORT
226
inscode(d, ds, de, "EPFNOSUPPORT", WSAEPFNOSUPPORT, "Protocol family not supported");
230
inscode(d, ds, de, "ENOPROTOOPT", ENOPROTOOPT, "Protocol not available");
232
#ifdef WSAENOPROTOOPT
233
inscode(d, ds, de, "ENOPROTOOPT", WSAENOPROTOOPT, "Protocol not available");
237
inscode(d, ds, de, "EBUSY", EBUSY, "Device or resource busy");
240
inscode(d, ds, de, "EWOULDBLOCK", EWOULDBLOCK, "Operation would block");
242
#ifdef WSAEWOULDBLOCK
243
inscode(d, ds, de, "EWOULDBLOCK", WSAEWOULDBLOCK, "Operation would block");
247
inscode(d, ds, de, "EBADFD", EBADFD, "File descriptor in bad state");
250
inscode(d, ds, de, "EDOTDOT", EDOTDOT, "RFS specific error");
253
inscode(d, ds, de, "EISCONN", EISCONN, "Transport endpoint is already connected");
256
inscode(d, ds, de, "EISCONN", WSAEISCONN, "Transport endpoint is already connected");
260
inscode(d, ds, de, "ENOANO", ENOANO, "No anode");
263
inscode(d, ds, de, "ESHUTDOWN", ESHUTDOWN, "Cannot send after transport endpoint shutdown");
266
inscode(d, ds, de, "ESHUTDOWN", WSAESHUTDOWN, "Cannot send after transport endpoint shutdown");
270
inscode(d, ds, de, "ECHRNG", ECHRNG, "Channel number out of range");
273
inscode(d, ds, de, "ELIBBAD", ELIBBAD, "Accessing a corrupted shared library");
276
inscode(d, ds, de, "ENONET", ENONET, "Machine is not on the network");
279
inscode(d, ds, de, "EBADE", EBADE, "Invalid exchange");
282
inscode(d, ds, de, "EBADF", EBADF, "Bad file number");
285
inscode(d, ds, de, "EBADF", WSAEBADF, "Bad file number");
289
inscode(d, ds, de, "EMULTIHOP", EMULTIHOP, "Multihop attempted");
292
inscode(d, ds, de, "EIO", EIO, "I/O error");
295
inscode(d, ds, de, "EUNATCH", EUNATCH, "Protocol driver not attached");
298
inscode(d, ds, de, "EPROTOTYPE", EPROTOTYPE, "Protocol wrong type for socket");
301
inscode(d, ds, de, "EPROTOTYPE", WSAEPROTOTYPE, "Protocol wrong type for socket");
305
inscode(d, ds, de, "ENOSPC", ENOSPC, "No space left on device");
308
inscode(d, ds, de, "ENOEXEC", ENOEXEC, "Exec format error");
311
inscode(d, ds, de, "EALREADY", EALREADY, "Operation already in progress");
314
inscode(d, ds, de, "EALREADY", WSAEALREADY, "Operation already in progress");
318
inscode(d, ds, de, "ENETDOWN", ENETDOWN, "Network is down");
321
inscode(d, ds, de, "ENETDOWN", WSAENETDOWN, "Network is down");
325
inscode(d, ds, de, "ENOTNAM", ENOTNAM, "Not a XENIX named type file");
328
inscode(d, ds, de, "EACCES", EACCES, "Permission denied");
331
inscode(d, ds, de, "EACCES", WSAEACCES, "Permission denied");
335
inscode(d, ds, de, "ELNRNG", ELNRNG, "Link number out of range");
338
inscode(d, ds, de, "EILSEQ", EILSEQ, "Illegal byte sequence");
341
inscode(d, ds, de, "ENOTDIR", ENOTDIR, "Not a directory");
344
inscode(d, ds, de, "ENOTUNIQ", ENOTUNIQ, "Name not unique on network");
347
inscode(d, ds, de, "EPERM", EPERM, "Operation not permitted");
350
inscode(d, ds, de, "EDOM", EDOM, "Math argument out of domain of func");
353
inscode(d, ds, de, "EXFULL", EXFULL, "Exchange full");
356
inscode(d, ds, de, "ECONNREFUSED", ECONNREFUSED, "Connection refused");
358
#ifdef WSAECONNREFUSED
359
inscode(d, ds, de, "ECONNREFUSED", WSAECONNREFUSED, "Connection refused");
363
inscode(d, ds, de, "EISDIR", EISDIR, "Is a directory");
365
#ifdef EPROTONOSUPPORT
366
inscode(d, ds, de, "EPROTONOSUPPORT", EPROTONOSUPPORT, "Protocol not supported");
368
#ifdef WSAEPROTONOSUPPORT
369
inscode(d, ds, de, "EPROTONOSUPPORT", WSAEPROTONOSUPPORT, "Protocol not supported");
373
inscode(d, ds, de, "EROFS", EROFS, "Read-only file system");
376
inscode(d, ds, de, "EADDRNOTAVAIL", EADDRNOTAVAIL, "Cannot assign requested address");
378
#ifdef WSAEADDRNOTAVAIL
379
inscode(d, ds, de, "EADDRNOTAVAIL", WSAEADDRNOTAVAIL, "Cannot assign requested address");
383
inscode(d, ds, de, "EIDRM", EIDRM, "Identifier removed");
386
inscode(d, ds, de, "ECOMM", ECOMM, "Communication error on send");
389
inscode(d, ds, de, "ESRMNT", ESRMNT, "Srmount error");
392
inscode(d, ds, de, "EREMOTEIO", EREMOTEIO, "Remote I/O error");
395
inscode(d, ds, de, "EL3RST", EL3RST, "Level 3 reset");
398
inscode(d, ds, de, "EBADMSG", EBADMSG, "Not a data message");
401
inscode(d, ds, de, "ENFILE", ENFILE, "File table overflow");
404
inscode(d, ds, de, "ELIBMAX", ELIBMAX, "Attempting to link in too many shared libraries");
407
inscode(d, ds, de, "ESPIPE", ESPIPE, "Illegal seek");
410
inscode(d, ds, de, "ENOLINK", ENOLINK, "Link has been severed");
413
inscode(d, ds, de, "ENETRESET", ENETRESET, "Network dropped connection because of reset");
416
inscode(d, ds, de, "ENETRESET", WSAENETRESET, "Network dropped connection because of reset");
420
inscode(d, ds, de, "ETIMEDOUT", ETIMEDOUT, "Connection timed out");
423
inscode(d, ds, de, "ETIMEDOUT", WSAETIMEDOUT, "Connection timed out");
427
inscode(d, ds, de, "ENOENT", ENOENT, "No such file or directory");
430
inscode(d, ds, de, "EEXIST", EEXIST, "File exists");
433
inscode(d, ds, de, "EDQUOT", EDQUOT, "Quota exceeded");
436
inscode(d, ds, de, "EDQUOT", WSAEDQUOT, "Quota exceeded");
440
inscode(d, ds, de, "ENOSTR", ENOSTR, "Device not a stream");
443
inscode(d, ds, de, "EBADSLT", EBADSLT, "Invalid slot");
446
inscode(d, ds, de, "EBADRQC", EBADRQC, "Invalid request code");
449
inscode(d, ds, de, "ELIBACC", ELIBACC, "Can not access a needed shared library");
452
inscode(d, ds, de, "EFAULT", EFAULT, "Bad address");
455
inscode(d, ds, de, "EFAULT", WSAEFAULT, "Bad address");
459
inscode(d, ds, de, "EFBIG", EFBIG, "File too large");
462
inscode(d, ds, de, "EDEADLK", EDEADLK, "Resource deadlock would occur");
465
inscode(d, ds, de, "ENOTCONN", ENOTCONN, "Transport endpoint is not connected");
468
inscode(d, ds, de, "ENOTCONN", WSAENOTCONN, "Transport endpoint is not connected");
472
inscode(d, ds, de, "EDESTADDRREQ", EDESTADDRREQ, "Destination address required");
474
#ifdef WSAEDESTADDRREQ
475
inscode(d, ds, de, "EDESTADDRREQ", WSAEDESTADDRREQ, "Destination address required");
479
inscode(d, ds, de, "ELIBSCN", ELIBSCN, ".lib section in a.out corrupted");
482
inscode(d, ds, de, "ENOLCK", ENOLCK, "No record locks available");
485
inscode(d, ds, de, "EISNAM", EISNAM, "Is a named type file");
488
inscode(d, ds, de, "ECONNABORTED", ECONNABORTED, "Software caused connection abort");
490
#ifdef WSAECONNABORTED
491
inscode(d, ds, de, "ECONNABORTED", WSAECONNABORTED, "Software caused connection abort");
495
inscode(d, ds, de, "ENETUNREACH", ENETUNREACH, "Network is unreachable");
497
#ifdef WSAENETUNREACH
498
inscode(d, ds, de, "ENETUNREACH", WSAENETUNREACH, "Network is unreachable");
502
inscode(d, ds, de, "ESTALE", ESTALE, "Stale NFS file handle");
505
inscode(d, ds, de, "ESTALE", WSAESTALE, "Stale NFS file handle");
509
inscode(d, ds, de, "ENOSR", ENOSR, "Out of streams resources");
512
inscode(d, ds, de, "ENOMEM", ENOMEM, "Out of memory");
515
inscode(d, ds, de, "ENOTSOCK", ENOTSOCK, "Socket operation on non-socket");
518
inscode(d, ds, de, "ENOTSOCK", WSAENOTSOCK, "Socket operation on non-socket");
522
inscode(d, ds, de, "ESTRPIPE", ESTRPIPE, "Streams pipe error");
525
inscode(d, ds, de, "EMLINK", EMLINK, "Too many links");
528
inscode(d, ds, de, "ERANGE", ERANGE, "Math result not representable");
531
inscode(d, ds, de, "ELIBEXEC", ELIBEXEC, "Cannot exec a shared library directly");
534
inscode(d, ds, de, "EL3HLT", EL3HLT, "Level 3 halted");
537
inscode(d, ds, de, "ECONNRESET", ECONNRESET, "Connection reset by peer");
540
inscode(d, ds, de, "ECONNRESET", WSAECONNRESET, "Connection reset by peer");
544
inscode(d, ds, de, "EADDRINUSE", EADDRINUSE, "Address already in use");
547
inscode(d, ds, de, "EADDRINUSE", WSAEADDRINUSE, "Address already in use");
551
inscode(d, ds, de, "EOPNOTSUPP", EOPNOTSUPP, "Operation not supported on transport endpoint");
554
inscode(d, ds, de, "EOPNOTSUPP", WSAEOPNOTSUPP, "Operation not supported on transport endpoint");
558
inscode(d, ds, de, "EREMCHG", EREMCHG, "Remote address changed");
561
inscode(d, ds, de, "EAGAIN", EAGAIN, "Try again");
564
inscode(d, ds, de, "ENAMETOOLONG", ENAMETOOLONG, "File name too long");
566
#ifdef WSAENAMETOOLONG
567
inscode(d, ds, de, "ENAMETOOLONG", WSAENAMETOOLONG, "File name too long");
571
inscode(d, ds, de, "ENOTTY", ENOTTY, "Not a typewriter");
574
inscode(d, ds, de, "ERESTART", ERESTART, "Interrupted system call should be restarted");
576
#ifdef ESOCKTNOSUPPORT
577
inscode(d, ds, de, "ESOCKTNOSUPPORT", ESOCKTNOSUPPORT, "Socket type not supported");
579
#ifdef WSAESOCKTNOSUPPORT
580
inscode(d, ds, de, "ESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT, "Socket type not supported");
584
inscode(d, ds, de, "ETIME", ETIME, "Timer expired");
587
inscode(d, ds, de, "EBFONT", EBFONT, "Bad font file format");
590
inscode(d, ds, de, "EDEADLOCK", EDEADLOCK, "Error EDEADLOCK");
593
inscode(d, ds, de, "ETOOMANYREFS", ETOOMANYREFS, "Too many references: cannot splice");
595
#ifdef WSAETOOMANYREFS
596
inscode(d, ds, de, "ETOOMANYREFS", WSAETOOMANYREFS, "Too many references: cannot splice");
600
inscode(d, ds, de, "EMFILE", EMFILE, "Too many open files");
603
inscode(d, ds, de, "EMFILE", WSAEMFILE, "Too many open files");
607
inscode(d, ds, de, "ETXTBSY", ETXTBSY, "Text file busy");
610
inscode(d, ds, de, "EINPROGRESS", EINPROGRESS, "Operation now in progress");
612
#ifdef WSAEINPROGRESS
613
inscode(d, ds, de, "EINPROGRESS", WSAEINPROGRESS, "Operation now in progress");
617
inscode(d, ds, de, "ENXIO", ENXIO, "No such device or address");
620
inscode(d, ds, de, "ENOPKG", ENOPKG, "Package not installed");
623
inscode(d, ds, de, "WSASY", WSASY, "Error WSASY");
626
inscode(d, ds, de, "WSAEHOSTDOWN", WSAEHOSTDOWN, "Host is down");
629
inscode(d, ds, de, "WSAENETDOWN", WSAENETDOWN, "Network is down");
632
inscode(d, ds, de, "WSAENOTSOCK", WSAENOTSOCK, "Socket operation on non-socket");
634
#ifdef WSAEHOSTUNREACH
635
inscode(d, ds, de, "WSAEHOSTUNREACH", WSAEHOSTUNREACH, "No route to host");
638
inscode(d, ds, de, "WSAELOOP", WSAELOOP, "Too many symbolic links encountered");
641
inscode(d, ds, de, "WSAEMFILE", WSAEMFILE, "Too many open files");
644
inscode(d, ds, de, "WSAESTALE", WSAESTALE, "Stale NFS file handle");
646
#ifdef WSAVERNOTSUPPORTED
647
inscode(d, ds, de, "WSAVERNOTSUPPORTED", WSAVERNOTSUPPORTED, "Error WSAVERNOTSUPPORTED");
649
#ifdef WSAENETUNREACH
650
inscode(d, ds, de, "WSAENETUNREACH", WSAENETUNREACH, "Network is unreachable");
653
inscode(d, ds, de, "WSAEPROCLIM", WSAEPROCLIM, "Error WSAEPROCLIM");
656
inscode(d, ds, de, "WSAEFAULT", WSAEFAULT, "Bad address");
658
#ifdef WSANOTINITIALISED
659
inscode(d, ds, de, "WSANOTINITIALISED", WSANOTINITIALISED, "Error WSANOTINITIALISED");
662
inscode(d, ds, de, "WSAEUSERS", WSAEUSERS, "Too many users");
664
#ifdef WSAMAKEASYNCREPL
665
inscode(d, ds, de, "WSAMAKEASYNCREPL", WSAMAKEASYNCREPL, "Error WSAMAKEASYNCREPL");
667
#ifdef WSAENOPROTOOPT
668
inscode(d, ds, de, "WSAENOPROTOOPT", WSAENOPROTOOPT, "Protocol not available");
670
#ifdef WSAECONNABORTED
671
inscode(d, ds, de, "WSAECONNABORTED", WSAECONNABORTED, "Software caused connection abort");
673
#ifdef WSAENAMETOOLONG
674
inscode(d, ds, de, "WSAENAMETOOLONG", WSAENAMETOOLONG, "File name too long");
677
inscode(d, ds, de, "WSAENOTEMPTY", WSAENOTEMPTY, "Directory not empty");
680
inscode(d, ds, de, "WSAESHUTDOWN", WSAESHUTDOWN, "Cannot send after transport endpoint shutdown");
682
#ifdef WSAEAFNOSUPPORT
683
inscode(d, ds, de, "WSAEAFNOSUPPORT", WSAEAFNOSUPPORT, "Address family not supported by protocol");
685
#ifdef WSAETOOMANYREFS
686
inscode(d, ds, de, "WSAETOOMANYREFS", WSAETOOMANYREFS, "Too many references: cannot splice");
689
inscode(d, ds, de, "WSAEACCES", WSAEACCES, "Permission denied");
692
inscode(d, ds, de, "WSATR", WSATR, "Error WSATR");
695
inscode(d, ds, de, "WSABASEERR", WSABASEERR, "Error WSABASEERR");
698
inscode(d, ds, de, "WSADESCRIPTIO", WSADESCRIPTIO, "Error WSADESCRIPTIO");
701
inscode(d, ds, de, "WSAEMSGSIZE", WSAEMSGSIZE, "Message too long");
704
inscode(d, ds, de, "WSAEBADF", WSAEBADF, "Bad file number");
707
inscode(d, ds, de, "WSAECONNRESET", WSAECONNRESET, "Connection reset by peer");
709
#ifdef WSAGETSELECTERRO
710
inscode(d, ds, de, "WSAGETSELECTERRO", WSAGETSELECTERRO, "Error WSAGETSELECTERRO");
713
inscode(d, ds, de, "WSAETIMEDOUT", WSAETIMEDOUT, "Connection timed out");
716
inscode(d, ds, de, "WSAENOBUFS", WSAENOBUFS, "No buffer space available");
719
inscode(d, ds, de, "WSAEDISCON", WSAEDISCON, "Error WSAEDISCON");
722
inscode(d, ds, de, "WSAEINTR", WSAEINTR, "Interrupted system call");
725
inscode(d, ds, de, "WSAEPROTOTYPE", WSAEPROTOTYPE, "Protocol wrong type for socket");
728
inscode(d, ds, de, "WSAHOS", WSAHOS, "Error WSAHOS");
731
inscode(d, ds, de, "WSAEADDRINUSE", WSAEADDRINUSE, "Address already in use");
733
#ifdef WSAEADDRNOTAVAIL
734
inscode(d, ds, de, "WSAEADDRNOTAVAIL", WSAEADDRNOTAVAIL, "Cannot assign requested address");
737
inscode(d, ds, de, "WSAEALREADY", WSAEALREADY, "Operation already in progress");
739
#ifdef WSAEPROTONOSUPPORT
740
inscode(d, ds, de, "WSAEPROTONOSUPPORT", WSAEPROTONOSUPPORT, "Protocol not supported");
742
#ifdef WSASYSNOTREADY
743
inscode(d, ds, de, "WSASYSNOTREADY", WSASYSNOTREADY, "Error WSASYSNOTREADY");
745
#ifdef WSAEWOULDBLOCK
746
inscode(d, ds, de, "WSAEWOULDBLOCK", WSAEWOULDBLOCK, "Operation would block");
748
#ifdef WSAEPFNOSUPPORT
749
inscode(d, ds, de, "WSAEPFNOSUPPORT", WSAEPFNOSUPPORT, "Protocol family not supported");
752
inscode(d, ds, de, "WSAEOPNOTSUPP", WSAEOPNOTSUPP, "Operation not supported on transport endpoint");
755
inscode(d, ds, de, "WSAEISCONN", WSAEISCONN, "Transport endpoint is already connected");
758
inscode(d, ds, de, "WSAEDQUOT", WSAEDQUOT, "Quota exceeded");
761
inscode(d, ds, de, "WSAENOTCONN", WSAENOTCONN, "Transport endpoint is not connected");
764
inscode(d, ds, de, "WSAEREMOTE", WSAEREMOTE, "Object is remote");
767
inscode(d, ds, de, "WSAEINVAL", WSAEINVAL, "Invalid argument");
769
#ifdef WSAEINPROGRESS
770
inscode(d, ds, de, "WSAEINPROGRESS", WSAEINPROGRESS, "Operation now in progress");
772
#ifdef WSAGETSELECTEVEN
773
inscode(d, ds, de, "WSAGETSELECTEVEN", WSAGETSELECTEVEN, "Error WSAGETSELECTEVEN");
775
#ifdef WSAESOCKTNOSUPPORT
776
inscode(d, ds, de, "WSAESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT, "Socket type not supported");
778
#ifdef WSAGETASYNCERRO
779
inscode(d, ds, de, "WSAGETASYNCERRO", WSAGETASYNCERRO, "Error WSAGETASYNCERRO");
781
#ifdef WSAMAKESELECTREPL
782
inscode(d, ds, de, "WSAMAKESELECTREPL", WSAMAKESELECTREPL, "Error WSAMAKESELECTREPL");
784
#ifdef WSAGETASYNCBUFLE
785
inscode(d, ds, de, "WSAGETASYNCBUFLE", WSAGETASYNCBUFLE, "Error WSAGETASYNCBUFLE");
787
#ifdef WSAEDESTADDRREQ
788
inscode(d, ds, de, "WSAEDESTADDRREQ", WSAEDESTADDRREQ, "Destination address required");
790
#ifdef WSAECONNREFUSED
791
inscode(d, ds, de, "WSAECONNREFUSED", WSAECONNREFUSED, "Connection refused");
794
inscode(d, ds, de, "WSAENETRESET", WSAENETRESET, "Network dropped connection because of reset");
797
inscode(d, ds, de, "WSAN", WSAN, "Error WSAN");