[PATCH 12/13] termios: unify the naming of the termios speed fields
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Thu Jun 5 11:58:34 GMT 2025
On 02/06/25 21:03, H. Peter Anvin wrote:
> From: "H. Peter Anvin" (Intel) <hpa@zytor.com>
>
> The generic code has __ispeed and __ospeed; Linux has c_ispeed and
> c_ospeed. Use an anonymous union member to allow both set of names on
> all platforms.
>
> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> bits/termios.h | 11 ++++++++++-
> sysdeps/unix/sysv/linux/bits/termios-struct.h | 11 +++++++++--
> 2 files changed, 19 insertions(+), 3 deletions(-)
>
> diff --git a/bits/termios.h b/bits/termios.h
> index 8f0b817dbf4c..798012cb8ebc 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/bits/termios-struct.h b/sysdeps/unix/sysv/linux/bits/termios-struct.h
> index 4c501a54b058..0aba1a446e73 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
> };
More information about the Libc-alpha
mailing list