This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin] Introduce __socklen_t for BSD compatibility


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=cb376b255da5d4300efb4723dd8a8d09eae9f7c6

commit cb376b255da5d4300efb4723dd8a8d09eae9f7c6
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Mon Apr 18 15:29:22 2016 +0200

    Introduce __socklen_t for BSD compatibility
    
    Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>

Diff:
---
 newlib/libc/include/sys/_types.h       | 4 ++++
 winsup/cygwin/include/cygwin/socket.h  | 8 +++-----
 winsup/cygwin/include/machine/_types.h | 4 ++++
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/newlib/libc/include/sys/_types.h b/newlib/libc/include/sys/_types.h
index 297b1ea..37154ff 100644
--- a/newlib/libc/include/sys/_types.h
+++ b/newlib/libc/include/sys/_types.h
@@ -188,6 +188,10 @@ typedef	_CLOCKID_T_	__clockid_t;
 #define	_TIMER_T_	unsigned long
 typedef	_TIMER_T_	__timer_t;
 
+#ifndef __machine_socklen_t_defined
+typedef	__uint32_t	__socklen_t;
+#endif
+
 typedef	unsigned short	__nlink_t;
 typedef	long		__suseconds_t;	/* microseconds (signed) */
 typedef	unsigned long	__useconds_t;	/* microseconds (unsigned) */
diff --git a/winsup/cygwin/include/cygwin/socket.h b/winsup/cygwin/include/cygwin/socket.h
index b74ada7..b82b085 100644
--- a/winsup/cygwin/include/cygwin/socket.h
+++ b/winsup/cygwin/include/cygwin/socket.h
@@ -16,12 +16,11 @@ details. */
 extern "C" {
 #endif /* __cplusplus */
 
-#include <stdint.h>
+#include <sys/types.h>
 
-/* Not unsigned for backward compatibility.  Keep #define for backward
-   compatibility. */
+/* Keep #define socklen_t for backward compatibility. */
 #ifndef socklen_t
-typedef int socklen_t;
+typedef __socklen_t socklen_t;
 #define socklen_t socklen_t
 #endif
 
@@ -51,7 +50,6 @@ struct sockaddr_storage {
 #include <asm/socket.h>			/* arch-dependent defines	*/
 #include <cygwin/sockios.h>		/* the SIOCxxx I/O controls	*/
 #include <sys/uio.h>			/* iovec support		*/
-#include <sys/types.h>
 
 struct ucred {
   pid_t			pid;
diff --git a/winsup/cygwin/include/machine/_types.h b/winsup/cygwin/include/machine/_types.h
index 8a2c679..ee1a6c6 100644
--- a/winsup/cygwin/include/machine/_types.h
+++ b/winsup/cygwin/include/machine/_types.h
@@ -42,4 +42,8 @@ typedef __uint64_t __ino_t;
 #define __machine_key_t_defined
 typedef long long __key_t;
 
+/* Not unsigned for backward compatibility.  */
+#define __machine_socklen_t_defined
+typedef int __socklen_t;
+
 #endif /* _MACHINE__TYPES_H */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]