diff --git a/bits/termios.h b/bits/termios.h index 8f0b817dbf..798012cb8e 100644 --- a/bits/termios.h +++ b/bits/termios.h @@ -286,7 +286,16 @@ struct termios cc_t c_cc[NCCS]; /* Input and output baud rates. */ - speed_t __ispeed, __ospeed; + __extension__ union { + speed_t __ispeed; + speed_t c_ispeed; + }; +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1 + __extension__ union { + speed_t __ospeed; + speed_t c_ospeed; + }; +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1 }; #define _IOT_termios /* Hurd ioctl type field. */ \ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h index de4d5fc0ed..f50e9ef6e3 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-struct.h @@ -30,8 +30,15 @@ struct termios tcflag_t c_lflag; /* local mode flags */ cc_t c_cc[NCCS]; /* control characters */ cc_t c_line; /* line discipline (== c_cc[33]) */ - speed_t c_ispeed; /* input speed */ - speed_t c_ospeed; /* output speed */ + /* Input and output baud rates. */ + __extension__ union { + speed_t __ispeed; + speed_t c_ispeed; + }; #define _HAVE_STRUCT_TERMIOS_C_ISPEED 1 + __extension__ union { + speed_t __ospeed; + speed_t c_ospeed; + }; #define _HAVE_STRUCT_TERMIOS_C_OSPEED 1 }; diff --git a/sysdeps/unix/sysv/linux/bits/termios-struct.h b/sysdeps/unix/sysv/linux/bits/termios-struct.h index 4c501a54b0..0aba1a446e 100644 --- a/sysdeps/unix/sysv/linux/bits/termios-struct.h +++ b/sysdeps/unix/sysv/linux/bits/termios-struct.h @@ -29,8 +29,15 @@ struct termios tcflag_t c_lflag; /* local mode flags */ cc_t c_line; /* line discipline */ cc_t c_cc[NCCS]; /* control characters */ - speed_t c_ispeed; /* input speed */ - speed_t c_ospeed; /* output speed */ + /* Input and output baud rates. */ + __extension__ union { + speed_t __ispeed; + speed_t c_ispeed; + }; #define _HAVE_STRUCT_TERMIOS_C_ISPEED 1 + __extension__ union { + speed_t __ospeed; + speed_t c_ospeed; + }; #define _HAVE_STRUCT_TERMIOS_C_OSPEED 1 };