From 396942b0b59da602797ab63a502fe315b14fed84 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 14 Mar 2016 21:20:02 -0500 Subject: Feature test macros overhaul: sys/types.h 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 --- newlib/libc/include/sys/types.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'newlib') diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h index c9f0fc7f3..c09866b3e 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 - # 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; -- cgit v1.2.3