6 /* Windows socket errors (WSA*) */
12 * Pull in the system error definitions
15 static PyMethodDef errno_methods
[] = {
19 /* Helper function doing the dictionary inserting */
22 _inscode(PyObject
*d
, PyObject
*de
, char *name
, int code
)
24 PyObject
*u
= PyString_FromString(name
);
25 PyObject
*v
= PyInt_FromLong((long) code
);
27 /* Don't bother checking for errors; they'll be caught at the end
28 * of the module initialization function by the caller of
32 /* insert in modules dict */
33 PyDict_SetItem(d
, u
, v
);
34 /* insert in errorcode dict */
35 PyDict_SetItem(de
, v
, u
);
41 PyDoc_STRVAR(errno__doc__
,
42 "This module makes available standard errno system symbols.\n\
44 The value of each symbol is the corresponding integer value,\n\
45 e.g., on most systems, errno.ENOENT equals the integer 2.\n\
47 The dictionary errno.errorcode maps numeric codes to symbol names,\n\
48 e.g., errno.errorcode[2] could be the string 'ENOENT'.\n\
50 Symbols that are not relevant to the underlying system are not defined.\n\
52 To map error codes to error messages, use the function os.strerror(),\n\
53 e.g. os.strerror(2) could return 'No such file or directory'.");
59 m
= Py_InitModule3("errno", errno_methods
, errno__doc__
);
60 d
= PyModule_GetDict(m
);
62 if (!d
|| !de
|| PyDict_SetItemString(d
, "errorcode", de
) < 0)
65 /* Macro so I don't have to edit each and every line below... */
66 #define inscode(d, ds, de, name, code, comment) _inscode(d, de, name, code)
69 * The names and comments are borrowed from linux/include/errno.h,
70 * which should be pretty all-inclusive
74 inscode(d
, ds
, de
, "ENODEV", ENODEV
, "No such device");
77 inscode(d
, ds
, de
, "ENOCSI", ENOCSI
, "No CSI structure available");
80 inscode(d
, ds
, de
, "EHOSTUNREACH", EHOSTUNREACH
, "No route to host");
82 #ifdef WSAEHOSTUNREACH
83 inscode(d
, ds
, de
, "EHOSTUNREACH", WSAEHOSTUNREACH
, "No route to host");
87 inscode(d
, ds
, de
, "ENOMSG", ENOMSG
, "No message of desired type");
90 inscode(d
, ds
, de
, "EUCLEAN", EUCLEAN
, "Structure needs cleaning");
93 inscode(d
, ds
, de
, "EL2NSYNC", EL2NSYNC
, "Level 2 not synchronized");
96 inscode(d
, ds
, de
, "EL2HLT", EL2HLT
, "Level 2 halted");
99 inscode(d
, ds
, de
, "ENODATA", ENODATA
, "No data available");
102 inscode(d
, ds
, de
, "ENOTBLK", ENOTBLK
, "Block device required");
105 inscode(d
, ds
, de
, "ENOSYS", ENOSYS
, "Function not implemented");
108 inscode(d
, ds
, de
, "EPIPE", EPIPE
, "Broken pipe");
111 inscode(d
, ds
, de
, "EINVAL", EINVAL
, "Invalid argument");
114 inscode(d
, ds
, de
, "EINVAL", WSAEINVAL
, "Invalid argument");
118 inscode(d
, ds
, de
, "EOVERFLOW", EOVERFLOW
, "Value too large for defined data type");
121 inscode(d
, ds
, de
, "EADV", EADV
, "Advertise error");
124 inscode(d
, ds
, de
, "EINTR", EINTR
, "Interrupted system call");
127 inscode(d
, ds
, de
, "EINTR", WSAEINTR
, "Interrupted system call");
131 inscode(d
, ds
, de
, "EUSERS", EUSERS
, "Too many users");
134 inscode(d
, ds
, de
, "EUSERS", WSAEUSERS
, "Too many users");
138 inscode(d
, ds
, de
, "ENOTEMPTY", ENOTEMPTY
, "Directory not empty");
141 inscode(d
, ds
, de
, "ENOTEMPTY", WSAENOTEMPTY
, "Directory not empty");
145 inscode(d
, ds
, de
, "ENOBUFS", ENOBUFS
, "No buffer space available");
148 inscode(d
, ds
, de
, "ENOBUFS", WSAENOBUFS
, "No buffer space available");
152 inscode(d
, ds
, de
, "EPROTO", EPROTO
, "Protocol error");
155 inscode(d
, ds
, de
, "EREMOTE", EREMOTE
, "Object is remote");
158 inscode(d
, ds
, de
, "EREMOTE", WSAEREMOTE
, "Object is remote");
162 inscode(d
, ds
, de
, "ENAVAIL", ENAVAIL
, "No XENIX semaphores available");
165 inscode(d
, ds
, de
, "ECHILD", ECHILD
, "No child processes");
168 inscode(d
, ds
, de
, "ELOOP", ELOOP
, "Too many symbolic links encountered");
171 inscode(d
, ds
, de
, "ELOOP", WSAELOOP
, "Too many symbolic links encountered");
175 inscode(d
, ds
, de
, "EXDEV", EXDEV
, "Cross-device link");
178 inscode(d
, ds
, de
, "E2BIG", E2BIG
, "Arg list too long");
181 inscode(d
, ds
, de
, "ESRCH", ESRCH
, "No such process");
184 inscode(d
, ds
, de
, "EMSGSIZE", EMSGSIZE
, "Message too long");
187 inscode(d
, ds
, de
, "EMSGSIZE", WSAEMSGSIZE
, "Message too long");
191 inscode(d
, ds
, de
, "EAFNOSUPPORT", EAFNOSUPPORT
, "Address family not supported by protocol");
193 #ifdef WSAEAFNOSUPPORT
194 inscode(d
, ds
, de
, "EAFNOSUPPORT", WSAEAFNOSUPPORT
, "Address family not supported by protocol");
198 inscode(d
, ds
, de
, "EBADR", EBADR
, "Invalid request descriptor");
201 inscode(d
, ds
, de
, "EHOSTDOWN", EHOSTDOWN
, "Host is down");
204 inscode(d
, ds
, de
, "EHOSTDOWN", WSAEHOSTDOWN
, "Host is down");
208 inscode(d
, ds
, de
, "EPFNOSUPPORT", EPFNOSUPPORT
, "Protocol family not supported");
210 #ifdef WSAEPFNOSUPPORT
211 inscode(d
, ds
, de
, "EPFNOSUPPORT", WSAEPFNOSUPPORT
, "Protocol family not supported");
215 inscode(d
, ds
, de
, "ENOPROTOOPT", ENOPROTOOPT
, "Protocol not available");
217 #ifdef WSAENOPROTOOPT
218 inscode(d
, ds
, de
, "ENOPROTOOPT", WSAENOPROTOOPT
, "Protocol not available");
222 inscode(d
, ds
, de
, "EBUSY", EBUSY
, "Device or resource busy");
225 inscode(d
, ds
, de
, "EWOULDBLOCK", EWOULDBLOCK
, "Operation would block");
227 #ifdef WSAEWOULDBLOCK
228 inscode(d
, ds
, de
, "EWOULDBLOCK", WSAEWOULDBLOCK
, "Operation would block");
232 inscode(d
, ds
, de
, "EBADFD", EBADFD
, "File descriptor in bad state");
235 inscode(d
, ds
, de
, "EDOTDOT", EDOTDOT
, "RFS specific error");
238 inscode(d
, ds
, de
, "EISCONN", EISCONN
, "Transport endpoint is already connected");
241 inscode(d
, ds
, de
, "EISCONN", WSAEISCONN
, "Transport endpoint is already connected");
245 inscode(d
, ds
, de
, "ENOANO", ENOANO
, "No anode");
248 inscode(d
, ds
, de
, "ESHUTDOWN", ESHUTDOWN
, "Cannot send after transport endpoint shutdown");
251 inscode(d
, ds
, de
, "ESHUTDOWN", WSAESHUTDOWN
, "Cannot send after transport endpoint shutdown");
255 inscode(d
, ds
, de
, "ECHRNG", ECHRNG
, "Channel number out of range");
258 inscode(d
, ds
, de
, "ELIBBAD", ELIBBAD
, "Accessing a corrupted shared library");
261 inscode(d
, ds
, de
, "ENONET", ENONET
, "Machine is not on the network");
264 inscode(d
, ds
, de
, "EBADE", EBADE
, "Invalid exchange");
267 inscode(d
, ds
, de
, "EBADF", EBADF
, "Bad file number");
270 inscode(d
, ds
, de
, "EBADF", WSAEBADF
, "Bad file number");
274 inscode(d
, ds
, de
, "EMULTIHOP", EMULTIHOP
, "Multihop attempted");
277 inscode(d
, ds
, de
, "EIO", EIO
, "I/O error");
280 inscode(d
, ds
, de
, "EUNATCH", EUNATCH
, "Protocol driver not attached");
283 inscode(d
, ds
, de
, "EPROTOTYPE", EPROTOTYPE
, "Protocol wrong type for socket");
286 inscode(d
, ds
, de
, "EPROTOTYPE", WSAEPROTOTYPE
, "Protocol wrong type for socket");
290 inscode(d
, ds
, de
, "ENOSPC", ENOSPC
, "No space left on device");
293 inscode(d
, ds
, de
, "ENOEXEC", ENOEXEC
, "Exec format error");
296 inscode(d
, ds
, de
, "EALREADY", EALREADY
, "Operation already in progress");
299 inscode(d
, ds
, de
, "EALREADY", WSAEALREADY
, "Operation already in progress");
303 inscode(d
, ds
, de
, "ENETDOWN", ENETDOWN
, "Network is down");
306 inscode(d
, ds
, de
, "ENETDOWN", WSAENETDOWN
, "Network is down");
310 inscode(d
, ds
, de
, "ENOTNAM", ENOTNAM
, "Not a XENIX named type file");
313 inscode(d
, ds
, de
, "EACCES", EACCES
, "Permission denied");
316 inscode(d
, ds
, de
, "EACCES", WSAEACCES
, "Permission denied");
320 inscode(d
, ds
, de
, "ELNRNG", ELNRNG
, "Link number out of range");
323 inscode(d
, ds
, de
, "EILSEQ", EILSEQ
, "Illegal byte sequence");
326 inscode(d
, ds
, de
, "ENOTDIR", ENOTDIR
, "Not a directory");
329 inscode(d
, ds
, de
, "ENOTUNIQ", ENOTUNIQ
, "Name not unique on network");
332 inscode(d
, ds
, de
, "EPERM", EPERM
, "Operation not permitted");
335 inscode(d
, ds
, de
, "EDOM", EDOM
, "Math argument out of domain of func");
338 inscode(d
, ds
, de
, "EXFULL", EXFULL
, "Exchange full");
341 inscode(d
, ds
, de
, "ECONNREFUSED", ECONNREFUSED
, "Connection refused");
343 #ifdef WSAECONNREFUSED
344 inscode(d
, ds
, de
, "ECONNREFUSED", WSAECONNREFUSED
, "Connection refused");
348 inscode(d
, ds
, de
, "EISDIR", EISDIR
, "Is a directory");
350 #ifdef EPROTONOSUPPORT
351 inscode(d
, ds
, de
, "EPROTONOSUPPORT", EPROTONOSUPPORT
, "Protocol not supported");
353 #ifdef WSAEPROTONOSUPPORT
354 inscode(d
, ds
, de
, "EPROTONOSUPPORT", WSAEPROTONOSUPPORT
, "Protocol not supported");
358 inscode(d
, ds
, de
, "EROFS", EROFS
, "Read-only file system");
361 inscode(d
, ds
, de
, "EADDRNOTAVAIL", EADDRNOTAVAIL
, "Cannot assign requested address");
363 #ifdef WSAEADDRNOTAVAIL
364 inscode(d
, ds
, de
, "EADDRNOTAVAIL", WSAEADDRNOTAVAIL
, "Cannot assign requested address");
368 inscode(d
, ds
, de
, "EIDRM", EIDRM
, "Identifier removed");
371 inscode(d
, ds
, de
, "ECOMM", ECOMM
, "Communication error on send");
374 inscode(d
, ds
, de
, "ESRMNT", ESRMNT
, "Srmount error");
377 inscode(d
, ds
, de
, "EREMOTEIO", EREMOTEIO
, "Remote I/O error");
380 inscode(d
, ds
, de
, "EL3RST", EL3RST
, "Level 3 reset");
383 inscode(d
, ds
, de
, "EBADMSG", EBADMSG
, "Not a data message");
386 inscode(d
, ds
, de
, "ENFILE", ENFILE
, "File table overflow");
389 inscode(d
, ds
, de
, "ELIBMAX", ELIBMAX
, "Attempting to link in too many shared libraries");
392 inscode(d
, ds
, de
, "ESPIPE", ESPIPE
, "Illegal seek");
395 inscode(d
, ds
, de
, "ENOLINK", ENOLINK
, "Link has been severed");
398 inscode(d
, ds
, de
, "ENETRESET", ENETRESET
, "Network dropped connection because of reset");
401 inscode(d
, ds
, de
, "ENETRESET", WSAENETRESET
, "Network dropped connection because of reset");
405 inscode(d
, ds
, de
, "ETIMEDOUT", ETIMEDOUT
, "Connection timed out");
408 inscode(d
, ds
, de
, "ETIMEDOUT", WSAETIMEDOUT
, "Connection timed out");
412 inscode(d
, ds
, de
, "ENOENT", ENOENT
, "No such file or directory");
415 inscode(d
, ds
, de
, "EEXIST", EEXIST
, "File exists");
418 inscode(d
, ds
, de
, "EDQUOT", EDQUOT
, "Quota exceeded");
421 inscode(d
, ds
, de
, "EDQUOT", WSAEDQUOT
, "Quota exceeded");
425 inscode(d
, ds
, de
, "ENOSTR", ENOSTR
, "Device not a stream");
428 inscode(d
, ds
, de
, "EBADSLT", EBADSLT
, "Invalid slot");
431 inscode(d
, ds
, de
, "EBADRQC", EBADRQC
, "Invalid request code");
434 inscode(d
, ds
, de
, "ELIBACC", ELIBACC
, "Can not access a needed shared library");
437 inscode(d
, ds
, de
, "EFAULT", EFAULT
, "Bad address");
440 inscode(d
, ds
, de
, "EFAULT", WSAEFAULT
, "Bad address");
444 inscode(d
, ds
, de
, "EFBIG", EFBIG
, "File too large");
447 inscode(d
, ds
, de
, "EDEADLK", EDEADLK
, "Resource deadlock would occur");
450 inscode(d
, ds
, de
, "ENOTCONN", ENOTCONN
, "Transport endpoint is not connected");
453 inscode(d
, ds
, de
, "ENOTCONN", WSAENOTCONN
, "Transport endpoint is not connected");
457 inscode(d
, ds
, de
, "EDESTADDRREQ", EDESTADDRREQ
, "Destination address required");
459 #ifdef WSAEDESTADDRREQ
460 inscode(d
, ds
, de
, "EDESTADDRREQ", WSAEDESTADDRREQ
, "Destination address required");
464 inscode(d
, ds
, de
, "ELIBSCN", ELIBSCN
, ".lib section in a.out corrupted");
467 inscode(d
, ds
, de
, "ENOLCK", ENOLCK
, "No record locks available");
470 inscode(d
, ds
, de
, "EISNAM", EISNAM
, "Is a named type file");
473 inscode(d
, ds
, de
, "ECONNABORTED", ECONNABORTED
, "Software caused connection abort");
475 #ifdef WSAECONNABORTED
476 inscode(d
, ds
, de
, "ECONNABORTED", WSAECONNABORTED
, "Software caused connection abort");
480 inscode(d
, ds
, de
, "ENETUNREACH", ENETUNREACH
, "Network is unreachable");
482 #ifdef WSAENETUNREACH
483 inscode(d
, ds
, de
, "ENETUNREACH", WSAENETUNREACH
, "Network is unreachable");
487 inscode(d
, ds
, de
, "ESTALE", ESTALE
, "Stale NFS file handle");
490 inscode(d
, ds
, de
, "ESTALE", WSAESTALE
, "Stale NFS file handle");
494 inscode(d
, ds
, de
, "ENOSR", ENOSR
, "Out of streams resources");
497 inscode(d
, ds
, de
, "ENOMEM", ENOMEM
, "Out of memory");
500 inscode(d
, ds
, de
, "ENOTSOCK", ENOTSOCK
, "Socket operation on non-socket");
503 inscode(d
, ds
, de
, "ENOTSOCK", WSAENOTSOCK
, "Socket operation on non-socket");
507 inscode(d
, ds
, de
, "ESTRPIPE", ESTRPIPE
, "Streams pipe error");
510 inscode(d
, ds
, de
, "EMLINK", EMLINK
, "Too many links");
513 inscode(d
, ds
, de
, "ERANGE", ERANGE
, "Math result not representable");
516 inscode(d
, ds
, de
, "ELIBEXEC", ELIBEXEC
, "Cannot exec a shared library directly");
519 inscode(d
, ds
, de
, "EL3HLT", EL3HLT
, "Level 3 halted");
522 inscode(d
, ds
, de
, "ECONNRESET", ECONNRESET
, "Connection reset by peer");
525 inscode(d
, ds
, de
, "ECONNRESET", WSAECONNRESET
, "Connection reset by peer");
529 inscode(d
, ds
, de
, "EADDRINUSE", EADDRINUSE
, "Address already in use");
532 inscode(d
, ds
, de
, "EADDRINUSE", WSAEADDRINUSE
, "Address already in use");
536 inscode(d
, ds
, de
, "EOPNOTSUPP", EOPNOTSUPP
, "Operation not supported on transport endpoint");
539 inscode(d
, ds
, de
, "EOPNOTSUPP", WSAEOPNOTSUPP
, "Operation not supported on transport endpoint");
543 inscode(d
, ds
, de
, "EREMCHG", EREMCHG
, "Remote address changed");
546 inscode(d
, ds
, de
, "EAGAIN", EAGAIN
, "Try again");
549 inscode(d
, ds
, de
, "ENAMETOOLONG", ENAMETOOLONG
, "File name too long");
551 #ifdef WSAENAMETOOLONG
552 inscode(d
, ds
, de
, "ENAMETOOLONG", WSAENAMETOOLONG
, "File name too long");
556 inscode(d
, ds
, de
, "ENOTTY", ENOTTY
, "Not a typewriter");
559 inscode(d
, ds
, de
, "ERESTART", ERESTART
, "Interrupted system call should be restarted");
561 #ifdef ESOCKTNOSUPPORT
562 inscode(d
, ds
, de
, "ESOCKTNOSUPPORT", ESOCKTNOSUPPORT
, "Socket type not supported");
564 #ifdef WSAESOCKTNOSUPPORT
565 inscode(d
, ds
, de
, "ESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT
, "Socket type not supported");
569 inscode(d
, ds
, de
, "ETIME", ETIME
, "Timer expired");
572 inscode(d
, ds
, de
, "EBFONT", EBFONT
, "Bad font file format");
575 inscode(d
, ds
, de
, "EDEADLOCK", EDEADLOCK
, "Error EDEADLOCK");
578 inscode(d
, ds
, de
, "ETOOMANYREFS", ETOOMANYREFS
, "Too many references: cannot splice");
580 #ifdef WSAETOOMANYREFS
581 inscode(d
, ds
, de
, "ETOOMANYREFS", WSAETOOMANYREFS
, "Too many references: cannot splice");
585 inscode(d
, ds
, de
, "EMFILE", EMFILE
, "Too many open files");
588 inscode(d
, ds
, de
, "EMFILE", WSAEMFILE
, "Too many open files");
592 inscode(d
, ds
, de
, "ETXTBSY", ETXTBSY
, "Text file busy");
595 inscode(d
, ds
, de
, "EINPROGRESS", EINPROGRESS
, "Operation now in progress");
597 #ifdef WSAEINPROGRESS
598 inscode(d
, ds
, de
, "EINPROGRESS", WSAEINPROGRESS
, "Operation now in progress");
602 inscode(d
, ds
, de
, "ENXIO", ENXIO
, "No such device or address");
605 inscode(d
, ds
, de
, "ENOPKG", ENOPKG
, "Package not installed");
608 inscode(d
, ds
, de
, "WSASY", WSASY
, "Error WSASY");
611 inscode(d
, ds
, de
, "WSAEHOSTDOWN", WSAEHOSTDOWN
, "Host is down");
614 inscode(d
, ds
, de
, "WSAENETDOWN", WSAENETDOWN
, "Network is down");
617 inscode(d
, ds
, de
, "WSAENOTSOCK", WSAENOTSOCK
, "Socket operation on non-socket");
619 #ifdef WSAEHOSTUNREACH
620 inscode(d
, ds
, de
, "WSAEHOSTUNREACH", WSAEHOSTUNREACH
, "No route to host");
623 inscode(d
, ds
, de
, "WSAELOOP", WSAELOOP
, "Too many symbolic links encountered");
626 inscode(d
, ds
, de
, "WSAEMFILE", WSAEMFILE
, "Too many open files");
629 inscode(d
, ds
, de
, "WSAESTALE", WSAESTALE
, "Stale NFS file handle");
631 #ifdef WSAVERNOTSUPPORTED
632 inscode(d
, ds
, de
, "WSAVERNOTSUPPORTED", WSAVERNOTSUPPORTED
, "Error WSAVERNOTSUPPORTED");
634 #ifdef WSAENETUNREACH
635 inscode(d
, ds
, de
, "WSAENETUNREACH", WSAENETUNREACH
, "Network is unreachable");
638 inscode(d
, ds
, de
, "WSAEPROCLIM", WSAEPROCLIM
, "Error WSAEPROCLIM");
641 inscode(d
, ds
, de
, "WSAEFAULT", WSAEFAULT
, "Bad address");
643 #ifdef WSANOTINITIALISED
644 inscode(d
, ds
, de
, "WSANOTINITIALISED", WSANOTINITIALISED
, "Error WSANOTINITIALISED");
647 inscode(d
, ds
, de
, "WSAEUSERS", WSAEUSERS
, "Too many users");
649 #ifdef WSAMAKEASYNCREPL
650 inscode(d
, ds
, de
, "WSAMAKEASYNCREPL", WSAMAKEASYNCREPL
, "Error WSAMAKEASYNCREPL");
652 #ifdef WSAENOPROTOOPT
653 inscode(d
, ds
, de
, "WSAENOPROTOOPT", WSAENOPROTOOPT
, "Protocol not available");
655 #ifdef WSAECONNABORTED
656 inscode(d
, ds
, de
, "WSAECONNABORTED", WSAECONNABORTED
, "Software caused connection abort");
658 #ifdef WSAENAMETOOLONG
659 inscode(d
, ds
, de
, "WSAENAMETOOLONG", WSAENAMETOOLONG
, "File name too long");
662 inscode(d
, ds
, de
, "WSAENOTEMPTY", WSAENOTEMPTY
, "Directory not empty");
665 inscode(d
, ds
, de
, "WSAESHUTDOWN", WSAESHUTDOWN
, "Cannot send after transport endpoint shutdown");
667 #ifdef WSAEAFNOSUPPORT
668 inscode(d
, ds
, de
, "WSAEAFNOSUPPORT", WSAEAFNOSUPPORT
, "Address family not supported by protocol");
670 #ifdef WSAETOOMANYREFS
671 inscode(d
, ds
, de
, "WSAETOOMANYREFS", WSAETOOMANYREFS
, "Too many references: cannot splice");
674 inscode(d
, ds
, de
, "WSAEACCES", WSAEACCES
, "Permission denied");
677 inscode(d
, ds
, de
, "WSATR", WSATR
, "Error WSATR");
680 inscode(d
, ds
, de
, "WSABASEERR", WSABASEERR
, "Error WSABASEERR");
683 inscode(d
, ds
, de
, "WSADESCRIPTIO", WSADESCRIPTIO
, "Error WSADESCRIPTIO");
686 inscode(d
, ds
, de
, "WSAEMSGSIZE", WSAEMSGSIZE
, "Message too long");
689 inscode(d
, ds
, de
, "WSAEBADF", WSAEBADF
, "Bad file number");
692 inscode(d
, ds
, de
, "WSAECONNRESET", WSAECONNRESET
, "Connection reset by peer");
694 #ifdef WSAGETSELECTERRO
695 inscode(d
, ds
, de
, "WSAGETSELECTERRO", WSAGETSELECTERRO
, "Error WSAGETSELECTERRO");
698 inscode(d
, ds
, de
, "WSAETIMEDOUT", WSAETIMEDOUT
, "Connection timed out");
701 inscode(d
, ds
, de
, "WSAENOBUFS", WSAENOBUFS
, "No buffer space available");
704 inscode(d
, ds
, de
, "WSAEDISCON", WSAEDISCON
, "Error WSAEDISCON");
707 inscode(d
, ds
, de
, "WSAEINTR", WSAEINTR
, "Interrupted system call");
710 inscode(d
, ds
, de
, "WSAEPROTOTYPE", WSAEPROTOTYPE
, "Protocol wrong type for socket");
713 inscode(d
, ds
, de
, "WSAHOS", WSAHOS
, "Error WSAHOS");
716 inscode(d
, ds
, de
, "WSAEADDRINUSE", WSAEADDRINUSE
, "Address already in use");
718 #ifdef WSAEADDRNOTAVAIL
719 inscode(d
, ds
, de
, "WSAEADDRNOTAVAIL", WSAEADDRNOTAVAIL
, "Cannot assign requested address");
722 inscode(d
, ds
, de
, "WSAEALREADY", WSAEALREADY
, "Operation already in progress");
724 #ifdef WSAEPROTONOSUPPORT
725 inscode(d
, ds
, de
, "WSAEPROTONOSUPPORT", WSAEPROTONOSUPPORT
, "Protocol not supported");
727 #ifdef WSASYSNOTREADY
728 inscode(d
, ds
, de
, "WSASYSNOTREADY", WSASYSNOTREADY
, "Error WSASYSNOTREADY");
730 #ifdef WSAEWOULDBLOCK
731 inscode(d
, ds
, de
, "WSAEWOULDBLOCK", WSAEWOULDBLOCK
, "Operation would block");
733 #ifdef WSAEPFNOSUPPORT
734 inscode(d
, ds
, de
, "WSAEPFNOSUPPORT", WSAEPFNOSUPPORT
, "Protocol family not supported");
737 inscode(d
, ds
, de
, "WSAEOPNOTSUPP", WSAEOPNOTSUPP
, "Operation not supported on transport endpoint");
740 inscode(d
, ds
, de
, "WSAEISCONN", WSAEISCONN
, "Transport endpoint is already connected");
743 inscode(d
, ds
, de
, "WSAEDQUOT", WSAEDQUOT
, "Quota exceeded");
746 inscode(d
, ds
, de
, "WSAENOTCONN", WSAENOTCONN
, "Transport endpoint is not connected");
749 inscode(d
, ds
, de
, "WSAEREMOTE", WSAEREMOTE
, "Object is remote");
752 inscode(d
, ds
, de
, "WSAEINVAL", WSAEINVAL
, "Invalid argument");
754 #ifdef WSAEINPROGRESS
755 inscode(d
, ds
, de
, "WSAEINPROGRESS", WSAEINPROGRESS
, "Operation now in progress");
757 #ifdef WSAGETSELECTEVEN
758 inscode(d
, ds
, de
, "WSAGETSELECTEVEN", WSAGETSELECTEVEN
, "Error WSAGETSELECTEVEN");
760 #ifdef WSAESOCKTNOSUPPORT
761 inscode(d
, ds
, de
, "WSAESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT
, "Socket type not supported");
763 #ifdef WSAGETASYNCERRO
764 inscode(d
, ds
, de
, "WSAGETASYNCERRO", WSAGETASYNCERRO
, "Error WSAGETASYNCERRO");
766 #ifdef WSAMAKESELECTREPL
767 inscode(d
, ds
, de
, "WSAMAKESELECTREPL", WSAMAKESELECTREPL
, "Error WSAMAKESELECTREPL");
769 #ifdef WSAGETASYNCBUFLE
770 inscode(d
, ds
, de
, "WSAGETASYNCBUFLE", WSAGETASYNCBUFLE
, "Error WSAGETASYNCBUFLE");
772 #ifdef WSAEDESTADDRREQ
773 inscode(d
, ds
, de
, "WSAEDESTADDRREQ", WSAEDESTADDRREQ
, "Destination address required");
775 #ifdef WSAECONNREFUSED
776 inscode(d
, ds
, de
, "WSAECONNREFUSED", WSAECONNREFUSED
, "Connection refused");
779 inscode(d
, ds
, de
, "WSAENETRESET", WSAENETRESET
, "Network dropped connection because of reset");
782 inscode(d
, ds
, de
, "WSAN", WSAN
, "Error WSAN");