[PATCH v4] linux/termio: remove <termio.h> and struct termio

Florian Weimer fweimer@redhat.com
Fri Apr 25 15:44:31 GMT 2025


* H. Peter Anvin:

> The <termio.h> interface is absolutely ancient: it was obsoleted by
> <termios.h> already in the first version of POSIX (1988) and thus
> predates the very first version of Linux. Unfortunately, some constant
> macros are used both by <termio.h> and <termios.h>; particularly
> problematic is the baud rate constants since the termio interface
> *requires* that the baud rate is set via an enumeration as part of
> c_cflag.
>
> In preparation of revamping the termios interface to support the
> arbitrary baud rate capability that the Linux kernel has supported
> since 2008, remove <termio.h> in the hope that no one still uses this
> archaic interface.
>
> Note that there is no actual code in glibc to support termio: it is
> purely an unabstracted ioctl() interface.
>
> [ v4: fix botched patch ]
> [ v3: rebase onto current master ceeffd970c56893885cbf8382ae34b015f177850 ]
> [ v2: remove separate struct termio definitions for mips and sparc ]
>
> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
> ---
>  NEWS                                               |  5 +++++
>  sysdeps/unix/sysv/linux/Makefile                   |  6 ------
>  sysdeps/unix/sysv/linux/bits/ioctl-types.h         | 11 -----------
>  sysdeps/unix/sysv/linux/mips/bits/ioctl-types.h    | 12 ------------
>  sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h | 11 -----------
>  sysdeps/unix/sysv/linux/termio.h                   |  6 ------
>  6 files changed, 5 insertions(+), 46 deletions(-)
>  delete mode 100644 sysdeps/unix/sysv/linux/termio.h

I've pushed that.  It's headed towards Fedora rawhide, so we'll see if
there's any breakage soon.  Likewise for OpenSUSE tumbleweed.

Thanks,
Florian



More information about the Libc-alpha mailing list