This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH v3 23/24] Feature test macros overhaul: sys/types.h
- From: Yaakov Selkowitz <yselkowi at redhat dot com>
- To: newlib at sourceware dot org
- Date: Mon, 14 Mar 2016 22:10:30 -0500
- Subject: [PATCH v3 23/24] Feature test macros overhaul: sys/types.h
- Authentication-results: sourceware.org; auth=none
- References: <1458011431-9460-1-git-send-email-yselkowi at redhat dot com>
The u_int/u_char/etc. BSD types are needed by Cygwin's netinet/*.h
headers, so they always need to be available.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
---
newlib/libc/include/sys/types.h | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
index c9f0fc7..c09866b 100644
--- a/newlib/libc/include/sys/types.h
+++ b/newlib/libc/include/sys/types.h
@@ -84,13 +84,14 @@ typedef quad_t * qaddr_t;
#define _ST_INT32
#endif
-# if __BSD_VISIBLE
-
+#if __BSD_VISIBLE
#include <sys/select.h>
-
# define physadr physadr_t
# define quad quad_t
+#endif
+/* These types are required by netinet/*.h on Cygwin */
+#if __BSD_VISIBLE || defined(__CYGWIN__)
#ifndef _BSDTYPES_DEFINED
/* also defined in mingw/gmon.h and in w32api/winsock[2].h */
#ifndef __u_char_defined
@@ -111,11 +112,13 @@ typedef unsigned long u_long;
#endif
#define _BSDTYPES_DEFINED
#endif
+#endif /*__BSD_VISIBLE || __CYGWIN__ */
+#if __MISC_VISIBLE
typedef unsigned short ushort; /* System V compatibility */
typedef unsigned int uint; /* System V compatibility */
typedef unsigned long ulong; /* System V compatibility */
-# endif /*__BSD_VISIBLE */
+#endif
#ifndef __clock_t_defined
typedef _CLOCK_T_ clock_t;
--
2.7.0