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");