mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
linux/termio: remove <termio.h> and struct termio
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. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com> Reviewed-by: Florian Weimer <fweimer@redhat.com>
This commit is contained in:
committed by
Florian Weimer
parent
e78caeb4ff
commit
e04afb7177
5
NEWS
5
NEWS
@@ -27,6 +27,11 @@ Deprecated and removed features, and other changes affecting compatibility:
|
||||
programs that require an executable stack through dynamic loaded
|
||||
shared libraries.
|
||||
|
||||
* On Linux, the <termio.h> header and the definition of struct termio
|
||||
in <sys/ioctl.h> have been removed. The termio interface has been
|
||||
obsolete since the very first version of POSIX.1 in 1988, replaced
|
||||
with <termios.h>.
|
||||
|
||||
Changes to build and runtime requirements:
|
||||
|
||||
* GCC 12.1 or later is now required to build the GNU C Library.
|
||||
|
||||
@@ -506,12 +506,6 @@ sysdep_headers += \
|
||||
# sysdep_headers
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),termios)
|
||||
sysdep_headers += \
|
||||
termio.h \
|
||||
# sysdep_headers
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),posix)
|
||||
sysdep_headers += \
|
||||
bits/initspin.h \
|
||||
|
||||
@@ -32,17 +32,6 @@ struct winsize
|
||||
unsigned short int ws_ypixel;
|
||||
};
|
||||
|
||||
#define NCC 8
|
||||
struct termio
|
||||
{
|
||||
unsigned short int c_iflag; /* input mode flags */
|
||||
unsigned short int c_oflag; /* output mode flags */
|
||||
unsigned short int c_cflag; /* control mode flags */
|
||||
unsigned short int c_lflag; /* local mode flags */
|
||||
unsigned char c_line; /* line discipline */
|
||||
unsigned char c_cc[NCC]; /* control characters */
|
||||
};
|
||||
|
||||
/* modem lines */
|
||||
#define TIOCM_LE 0x001
|
||||
#define TIOCM_DTR 0x002
|
||||
|
||||
@@ -31,18 +31,6 @@ struct winsize
|
||||
unsigned short int ws_ypixel;
|
||||
};
|
||||
|
||||
#define NCC 8
|
||||
struct termio
|
||||
{
|
||||
unsigned short int c_iflag; /* input mode flags */
|
||||
unsigned short int c_oflag; /* output mode flags */
|
||||
unsigned short int c_cflag; /* control mode flags */
|
||||
unsigned short int c_lflag; /* local mode flags */
|
||||
char c_line; /* line discipline */
|
||||
/* Yes, this is really NCCS. */
|
||||
unsigned char c_cc[32 /* NCCS */]; /* control characters */
|
||||
};
|
||||
|
||||
/* modem lines */
|
||||
#define TIOCM_LE 0x001 /* line enable */
|
||||
#define TIOCM_DTR 0x002 /* data terminal ready */
|
||||
|
||||
@@ -32,17 +32,6 @@ struct winsize
|
||||
unsigned short int ws_ypixel;
|
||||
};
|
||||
|
||||
#define NCC 10
|
||||
struct termio
|
||||
{
|
||||
unsigned short int c_iflag; /* input mode flags */
|
||||
unsigned short int c_oflag; /* output mode flags */
|
||||
unsigned short int c_cflag; /* control mode flags */
|
||||
unsigned short int c_lflag; /* local mode flags */
|
||||
unsigned char c_line; /* line discipline */
|
||||
unsigned char c_cc[NCC]; /* control characters */
|
||||
};
|
||||
|
||||
/* modem lines */
|
||||
#define TIOCM_LE 0x001
|
||||
#define TIOCM_DTR 0x002
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/* Compatible <termio.h> for old `struct termio' ioctl interface.
|
||||
This is obsolete; use the POSIX.1 `struct termios' interface
|
||||
defined in <termios.h> instead. */
|
||||
|
||||
#include <termios.h>
|
||||
#include <sys/ioctl.h>
|
||||
Reference in New Issue
Block a user