From 1ccc804e1345c6e59294f561ac43c3e55ccea1e4 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 30 Aug 2020 16:47:40 -0400 Subject: fix regression with applications that expect struct winsize in ioctl.h putting the (simple) definition in alltypes.h seems like the best solution here. making sys/ioctl.h implicitly include termios.h is probably excess namespace pollution. --- include/alltypes.h.in | 2 ++ include/sys/ioctl.h | 2 ++ include/termios.h | 8 +------- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/include/alltypes.h.in b/include/alltypes.h.in index d9ff462e..d47aeea9 100644 --- a/include/alltypes.h.in +++ b/include/alltypes.h.in @@ -77,6 +77,8 @@ TYPEDEF struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; STRUCT iovec { void *iov_base; size_t iov_len; }; +STRUCT winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; + TYPEDEF unsigned socklen_t; TYPEDEF unsigned short sa_family_t; diff --git a/include/sys/ioctl.h b/include/sys/ioctl.h index d6a7d474..a9a2346e 100644 --- a/include/sys/ioctl.h +++ b/include/sys/ioctl.h @@ -4,6 +4,8 @@ extern "C" { #endif +#define __NEED_struct_winsize + #include #include diff --git a/include/termios.h b/include/termios.h index 793cfc94..cbb53301 100644 --- a/include/termios.h +++ b/include/termios.h @@ -8,6 +8,7 @@ extern "C" { #include #define __NEED_pid_t +#define __NEED_struct_winsize #include @@ -15,13 +16,6 @@ typedef unsigned char cc_t; typedef unsigned int speed_t; typedef unsigned int tcflag_t; -struct winsize { - unsigned short ws_row; - unsigned short ws_col; - unsigned short ws_xpixel; - unsigned short ws_ypixel; -}; - #define NCCS 32 #include -- cgit v1.2.1