diff --git a/newlib/libc/include/sys/_types.h b/newlib/libc/include/sys/_types.h index 297b1ea5a..37154ff37 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 b74ada7eb..b82b08509 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 +#include -/* 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 /* arch-dependent defines */ #include /* the SIOCxxx I/O controls */ #include /* iovec support */ -#include struct ucred { pid_t pid; diff --git a/winsup/cygwin/include/machine/_types.h b/winsup/cygwin/include/machine/_types.h index 8a2c67935..ee1a6c64c 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 */