Tcl Source Code

Artifact [a1d2243486]
Login

Artifact a1d224348614c600f87e806e1bde2d82b967ca80:

Attachment "win.patch" to ticket [3019634fff] added by nijtmans 2010-06-24 19:37:20.
Index: win/tclWinPort.h
===================================================================
RCS file: /cvsroot/tcl/tcl/win/tclWinPort.h,v
retrieving revision 1.58
diff -u -r1.58 tclWinPort.h
--- win/tclWinPort.h	11 May 2010 14:47:12 -0000	1.58
+++ win/tclWinPort.h	24 Jun 2010 12:36:13 -0000
@@ -96,144 +96,167 @@
 #include <time.h>
 
 /*
- * Define EINPROGRESS in terms of WSAEINPROGRESS.
- */
-
-#ifndef	EINPROGRESS
-#   define EINPROGRESS	WSAEINPROGRESS
-#endif
-
-/*
- * If ENOTSUP is not defined, define it to a value that will never occur.
- */
-
-#ifndef ENOTSUP
-#   define ENOTSUP	-1030507
-#endif
-
-/*
  * The following defines redefine the Windows Socket errors as
  * BSD errors so Tcl_PosixError can do the right thing.
  */
 
-#ifndef EWOULDBLOCK
-#   define EWOULDBLOCK	EAGAIN
+#ifndef ENOTEMPTY
+#   define ENOTEMPTY 	41	/* Directory not empty */
+#endif
+#ifndef EREMOTE
+#   define EREMOTE	66	/* The object is remote */
+#endif
+#ifndef EPFNOSUPPORT
+#   define EPFNOSUPPORT	96	/* Protocol family not supported */
+#endif
+#ifndef EADDRINUSE
+#   define EADDRINUSE	100	/* Address already in use */
+#endif
+#ifndef EADDRNOTAVAIL
+#   define EADDRNOTAVAIL 101	/* Can't assign requested address */
+#endif
+#ifndef EAFNOSUPPORT
+#   define EAFNOSUPPORT	102	/* Address family not supported */
 #endif
 #ifndef EALREADY
-#   define EALREADY	149	/* operation already in progress */
+#   define EALREADY	103	/* Operation already in progress */
 #endif
-#ifndef ENOTSOCK
-#   define ENOTSOCK	95	/* Socket operation on non-socket */
+#ifndef EBADMSG
+#   define EBADMSG	104	/* Not a data message */
 #endif
-#ifndef EDESTADDRREQ
-#   define EDESTADDRREQ	96	/* Destination address required */
+#ifndef ECANCELED
+#   define ECANCELED	105	/* Canceled */
 #endif
-#ifndef EMSGSIZE
-#   define EMSGSIZE	97	/* Message too long */
+#ifndef ECONNABORTED
+#   define ECONNABORTED	106	/* Software caused connection abort */
 #endif
-#ifndef EPROTOTYPE
-#   define EPROTOTYPE	98	/* Protocol wrong type for socket */
+#ifndef ECONNREFUSED
+#   define ECONNREFUSED	107	/* Connection refused */
 #endif
-#ifndef ENOPROTOOPT
-#   define ENOPROTOOPT	99	/* Protocol not available */
+#ifndef ECONNRESET
+#   define ECONNRESET	108	/* Connection reset by peer */
 #endif
-#ifndef EPROTONOSUPPORT
-#   define EPROTONOSUPPORT 120	/* Protocol not supported */
+#ifndef EDESTADDRREQ
+#   define EDESTADDRREQ	109	/* Destination address required */
 #endif
-#ifndef ESOCKTNOSUPPORT
-#   define ESOCKTNOSUPPORT 121	/* Socket type not supported */
+#ifndef EHOSTUNREACH
+#   define EHOSTUNREACH	110	/* No route to host */
 #endif
-#ifndef EOPNOTSUPP
-#   define EOPNOTSUPP	122	/* Operation not supported on socket */
+#ifndef EIDRM
+#   define EIDRM	111	/* Identifier removed */
 #endif
-#ifndef EPFNOSUPPORT
-#   define EPFNOSUPPORT	123	/* Protocol family not supported */
+#ifndef EINPROGRESS
+#   define EINPROGRESS	112	/* Operation now in progress */
 #endif
-#ifndef EAFNOSUPPORT
-#   define EAFNOSUPPORT	124	/* Address family not supported */
+#ifndef EISCONN
+#   define EISCONN	113	/* Socket is already connected */
 #endif
-#ifndef EADDRINUSE
-#   define EADDRINUSE	125	/* Address already in use */
+#ifndef ELOOP
+#   define ELOOP	114	/* Symbolic link loop */
 #endif
-#ifndef EADDRNOTAVAIL
-#   define EADDRNOTAVAIL 126	/* Can't assign requested address */
+#ifndef EMSGSIZE
+#   define EMSGSIZE	115	/* Message too long */
 #endif
 #ifndef ENETDOWN
-#   define ENETDOWN	127	/* Network is down */
+#   define ENETDOWN	116	/* Network is down */
+#endif
+#ifndef ENETRESET
+#   define ENETRESET	117	/* Network dropped connection on reset */
 #endif
 #ifndef ENETUNREACH
-#   define ENETUNREACH	128	/* Network is unreachable */
+#   define ENETUNREACH	118	/* Network is unreachable */
 #endif
-#ifndef ENETRESET
-#   define ENETRESET	129	/* Network dropped connection on reset */
+#ifndef ENOBUFS
+#   define ENOBUFS	119	/* No buffer space available */
 #endif
-#ifndef ECONNABORTED
-#   define ECONNABORTED	130	/* Software caused connection abort */
+#ifndef ENODATA
+#   define ENODATA	120	/* No data available */
 #endif
-#ifndef ECONNRESET
-#   define ECONNRESET	131	/* Connection reset by peer */
+#ifndef ENOLINK
+#   define ENOLINK	121	/* Link has be severed */
 #endif
-#ifndef ENOBUFS
-#   define ENOBUFS	132	/* No buffer space available */
+#ifndef ENOMSG
+#   define ENOMSG	122	/* No message of desired type */
 #endif
-#ifndef EISCONN
-#   define EISCONN	133	/* Socket is already connected */
+#ifndef ENOPROTOOPT
+#   define ENOPROTOOPT	123	/* Protocol not available */
+#endif
+#ifndef ENOSR
+#   define ENOSR	124	/* Out of stream resources */
+#endif
+#ifndef ENOSTR
+#   define ENOSTR	125	/* Not a stream device */
 #endif
 #ifndef ENOTCONN
-#   define ENOTCONN	134	/* Socket is not connected */
+#   define ENOTCONN	126	/* Socket is not connected */
 #endif
-#ifndef ESHUTDOWN
-#   define ESHUTDOWN	143	/* Can't send after socket shutdown */
+#ifndef ENOTRECOVERABLE
+#   define ENOTRECOVERABLE	127	/* Not recoverable */
 #endif
-#ifndef ETOOMANYREFS
-#   define ETOOMANYREFS	144	/* Too many references: can't splice */
+#ifndef ENOTSOCK
+#   define ENOTSOCK	128	/* Socket operation on non-socket */
+#endif
+#ifndef ENOTSUP
+#   define ENOTSUP	129	/* Operation not supported */
+#endif
+#ifndef EOPNOTSUPP
+#   define EOPNOTSUPP	130	/* Operation not supported on socket */
+#endif
+#ifndef EOTHER
+#   define EOTHER	131	/* Other error */
+#endif
+#ifndef EOVERFLOW
+#   define EOVERFLOW	132	/* File too big */
+#endif
+#ifndef EOWNERDEAD
+#   define EOWNERDEAD	133	/* File too big */
+#endif
+#ifndef EPROTO
+#   define EPROTO	134	/* Protocol error */
+#endif
+#ifndef EPROTONOSUPPORT
+#   define EPROTONOSUPPORT 135	/* Protocol not supported */
+#endif
+#ifndef EPROTOTYPE
+#   define EPROTOTYPE	136	/* Protocol wrong type for socket */
+#endif
+#ifndef ETIME
+#   define ETIME	137	/* Timer expired */
 #endif
 #ifndef ETIMEDOUT
-#   define ETIMEDOUT	145	/* Connection timed out */
+#   define ETIMEDOUT	138	/* Connection timed out */
 #endif
-#ifndef ECONNREFUSED
-#   define ECONNREFUSED	146	/* Connection refused */
+#ifndef ETXTBSY
+#   define ETXTBSY	139	/* Text file or pseudo-device busy */
 #endif
-#ifndef ELOOP
-#   define ELOOP	90	/* Symbolic link loop */
+#ifndef EWOULDBLOCK
+#   define EWOULDBLOCK	140	/* Operation would block */
 #endif
-#ifndef EHOSTDOWN
-#   define EHOSTDOWN	147	/* Host is down */
+
+
+#ifndef ESOCKTNOSUPPORT
+#   define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT	/* Socket type not supported */
 #endif
-#ifndef EHOSTUNREACH
-#   define EHOSTUNREACH	148	/* No route to host */
+#ifndef ESHUTDOWN
+#   define ESHUTDOWN	WSAESHUTDOWN	/* Can't send after socket shutdown */
 #endif
-#ifndef ENOTEMPTY
-#   define ENOTEMPTY 	93	/* directory not empty */
+#ifndef ETOOMANYREFS
+#   define ETOOMANYREFS	WSAETOOMANYREFS	/* Too many references: can't splice */
+#endif
+#ifndef EHOSTDOWN
+#   define EHOSTDOWN	WSAEHOSTDOWN	/* Host is down */
 #endif
 #ifndef EUSERS
-#   define EUSERS	94	/* Too many users (for UFS) */
+#   define EUSERS	WSAEUSERS	/* Too many users (for UFS) */
 #endif
 #ifndef EDQUOT
-#   define EDQUOT	69	/* Disc quota exceeded */
+#   define EDQUOT	WSAEDQUOT	/* Disc quota exceeded */
 #endif
 #ifndef ESTALE
-#   define ESTALE	151	/* Stale NFS file handle */
-#endif
-#ifndef EREMOTE
-#   define EREMOTE	66	/* The object is remote */
+#   define ESTALE	WSAESTALE	/* Stale NFS file handle */
 #endif
 
 /*
- * It is very hard to determine how Windows reacts to attempting to
- * set a file pointer outside the input datatype's representable
- * region.  So we fake the error code ourselves.
- */
-
-#ifndef EOVERFLOW
-#   ifdef EFBIG
-#      define EOVERFLOW	EFBIG	/* The object couldn't fit in the datatype */
-#   else /* !EFBIG */
-#      define EOVERFLOW	EINVAL	/* Better than nothing! */
-#   endif /* EFBIG */
-#endif /* !EOVERFLOW */
-
-/*
  * Signals not known to the standard ANSI signal.h.  These are used
  * by Tcl_WaitPid() and generic/tclPosixStr.c
  */