diff options
-rw-r--r-- | winsup/w32api/ChangeLog | 9 | ||||
-rw-r--r-- | winsup/w32api/include/windows.h | 9 | ||||
-rw-r--r-- | winsup/w32api/include/winsock.h | 16 | ||||
-rw-r--r-- | winsup/w32api/include/winsock2.h | 17 |
4 files changed, 39 insertions, 12 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 196dd1a..5f6ff3c 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,12 @@ +2001-03-20 Danny Smith <dannysmith@users.sourceforge.net> + + * include/winsock.h (_SYS_TYPES_H macro guard for int types): Remove; + use only _BSDTYPES_DEFINED macro now defined in newlib sys/types.h. + (SYS_TYPES_H macro guard for fd_set): Replace with_SYS_TYPES_FD_SET + macro now defined in newlib sys/types.h. Emit warning if defined. + * include/winsock2.h: Ditto. + * include/windows.h (Win32_Winsock): Replace with new macros + __USE_W32_SOCKETS and warn of deprecation. 2001-03-13 Earnie Boyd <earnie@users.sourceforge.net diff --git a/winsup/w32api/include/windows.h b/winsup/w32api/include/windows.h index 8fe9211..6259839 100644 --- a/winsup/w32api/include/windows.h +++ b/winsup/w32api/include/windows.h @@ -133,7 +133,14 @@ #include <shellapi.h> #include <winperf.h> #include <winspool.h> -#if defined(Win32_Winsock) || !(defined(__INSIDE_CYGWIN__) || defined(__CYGWIN__) || defined(__CYGWIN32__) || defined(_UWIN)) +#if defined(Win32_Winsock) +#warning "The Win32_Winsock macro name is deprecated.\ + Please use __USE_W32_SOCKETS instead" +#ifndef __USE_W32_SOCKETS +#define __USE_W32_SOCKETS +#endif +#endif +#if defined(__USE_W32_SOCKETS) || !(defined(__INSIDE_CYGWIN__) || defined(__CYGWIN__) || defined(__CYGWIN32__) || defined(_UWIN)) #include <winsock.h> #endif #endif /* WIN32_LEAN_AND_MEAN */ diff --git a/winsup/w32api/include/winsock.h b/winsup/w32api/include/winsock.h index 61b6e35..0eb5a52 100644 --- a/winsup/w32api/include/winsock.h +++ b/winsup/w32api/include/winsock.h @@ -17,14 +17,14 @@ extern "C" { #endif -#if !defined ( _BSDTYPES_DEFINED ) && !defined ( _SYS_TYPES_H ) +#if !defined ( _BSDTYPES_DEFINED ) /* also defined in gmon.h and in cygwin's sys/types */ typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; #define _BSDTYPES_DEFINED -#endif /* ndef _BSDTYPES_ _SYS_TYPES_H */ +#endif /* !defined _BSDTYPES_DEFINED */ typedef u_int SOCKET; #ifndef FD_SETSIZE #define FD_SETSIZE 64 @@ -35,8 +35,10 @@ typedef u_int SOCKET; #define SD_SEND 0x01 #define SD_BOTH 0x02 -#ifndef _SYS_TYPES_H -/* fd_set may have been defined by the newlib <sys/types.h>. */ +#ifndef _SYS_TYPES_FD_SET +/* fd_set may have be defined by the newlib <sys/types.h> + * if __USE_W32_SOCKETS not defined. + */ #ifdef fd_set #undef fd_set #endif @@ -71,7 +73,11 @@ for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\ #ifndef FD_ISSET #define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set)) #endif -#endif /* ndef _SYS_TYPES_H */ +#elif !defined(USE_SYS_TYPES_FD_SET) +#warning "fd_set and associated macros have been defined in sys/types. \ + This can cause runtime problems with W32 sockets" +#endif /* ndef _SYS_TYPES_FD_SET */ + #ifndef __INSIDE_CYGWIN__ struct timeval { long tv_sec; diff --git a/winsup/w32api/include/winsock2.h b/winsup/w32api/include/winsock2.h index da7ff89..672f7cd 100644 --- a/winsup/w32api/include/winsock2.h +++ b/winsup/w32api/include/winsock2.h @@ -25,14 +25,14 @@ extern "C" { #endif /* Names common to Winsock1.1 and Winsock2 */ -#if !defined ( _BSDTYPES_DEFINED ) && !defined ( _SYS_TYPES_H ) +#if !defined ( _BSDTYPES_DEFINED ) /* also defined in gmon.h and in cygwin's sys/types */ typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; #define _BSDTYPES_DEFINED -#endif /* ndef _BSDTYPES_ _SYS_TYPES_H */ +#endif /* ! def _BSDTYPES_DEFINED */ typedef u_int SOCKET; #ifndef FD_SETSIZE #define FD_SETSIZE 64 @@ -43,8 +43,10 @@ typedef u_int SOCKET; #define SD_SEND 0x01 #define SD_BOTH 0x02 -#ifndef _SYS_TYPES_H -/* fd_set may have been defined by the newlib <sys/types.h>. */ +#ifndef _SYS_TYPES_FD_SET +/* fd_set may be defined by the newlib <sys/types.h> + * if __USE_W32_SOCKETS not defined. + */ #ifdef fd_set #undef fd_set #endif @@ -68,7 +70,7 @@ for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\ } while (0) #endif #ifndef FD_SET -/* this differs from the define in winsock.h */ +/* this differs from the define in winsock.h and in cygwin sys/types.h */ #define FD_SET(fd, set) do { u_int __i;\ for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\ if (((fd_set *)(set))->fd_array[__i] == (fd)) {\ @@ -89,7 +91,10 @@ if (__i == ((fd_set *)(set))->fd_count) {\ #ifndef FD_ISSET #define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set)) #endif -#endif /* ndef _SYS_TYPES_H */ +#elif !defined (USE_SYS_TYPES_FD_SET) +#warning "fd_set and associated macros have been defined in sys/types. \ + This may cause runtime problems with W32 sockets" +#endif /* ndef _SYS_TYPES_FD_SET */ #ifndef __INSIDE_CYGWIN__ struct timeval { long tv_sec; |