about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/bits/termios-c_lflag.h
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2018-10-09 15:34:31 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-01-03 09:32:12 -0200
commit22679ddf10487fe419c07de46427cf0173d008e3 (patch)
tree44dd26495a0b96a75d0858a343e4826f61ee2957 /sysdeps/unix/sysv/linux/bits/termios-c_lflag.h
parent72eb6ecc7efeab35554d54c64dc3358edd1db822 (diff)
downloadglibc-22679ddf10487fe419c07de46427cf0173d008e3.tar.gz
glibc-22679ddf10487fe419c07de46427cf0173d008e3.tar.xz
glibc-22679ddf10487fe419c07de46427cf0173d008e3.zip
termios: Consolidate local mode definitions
This patch consolidates the termios symbolic constants used for local
mode with c_lflag member on its own header.  The Linux generic implementation
values match the kernel UAPI and each architecture with deviate values
have their own implementation (in this case alpha, mips, and powerpc).

No semantic change is expected, checked on a build against x86_64-linux-gnu,
alpha-linux-gnu, mips64-linux-gnu, and sparc64-linux-gnu.

	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
	termios-c_lflag.h.
	* sysdeps/unix/sysv/linux/bits/termios-c_lflag.h: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/termios-c_lflag.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/termios-c_lflag.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/termios-c_lflag.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/termios.h (ISIG, ISCANON, ECHO, ECHOE,
	ECHOK, ECHONL, NOFLSH, TOSTOP, IEXTEN): Move to termios-c_lflag.h.
	[__USE_MISC || (__USE_XOPEN && !__USE_XOPEN2K)] (XCASE): Likewise.
	[__USE_MISC] (ECHOCTL, ECHOPRT, ECHOKE, FLUSHO, PENDIN, EXTPROC):
	Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/bits/termios-c_lflag.h')
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios-c_lflag.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/bits/termios-c_lflag.h b/sysdeps/unix/sysv/linux/bits/termios-c_lflag.h
new file mode 100644
index 0000000000..6e177082d6
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/bits/termios-c_lflag.h
@@ -0,0 +1,58 @@
+/* termios local mode definitions.  Linux/generic version.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
+#endif
+
+/* c_lflag bits */
+#define ISIG	0000001   /* Enable signals.  */
+#define ICANON	0000002   /* Canonical input (erase and kill processing).  */
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE	0000004
+#endif
+#define ECHO	0000010   /* Enable echo.  */
+#define ECHOE	0000020   /* Echo erase character as error-correcting
+			     backspace.  */
+#define ECHOK	0000040   /* Echo KILL.  */
+#define ECHONL	0000100   /* Echo NL.  */
+#define NOFLSH	0000200   /* Disable flush after interrupt or quit.  */
+#define TOSTOP	0000400   /* Send SIGTTOU for background output.  */
+#ifdef __USE_MISC
+# define ECHOCTL 0001000  /* If ECHO is also set, terminal special characters
+			     other than TAB, NL, START, and STOP are echoed as
+			     ^X, where X is the character with ASCII code 0x40
+			     greater than the special character
+			     (not in POSIX).  */
+# define ECHOPRT 0002000  /* If ICANON and ECHO are also set, characters are
+			     printed as they are being erased
+			     (not in POSIX).  */
+# define ECHOKE	 0004000  /* If ICANON is also set, KILL is echoed by erasing
+			     each character on the line, as specified by ECHOE
+			     and ECHOPRT (not in POSIX).  */
+# define FLUSHO	 0010000  /* Output is being flushed.  This flag is toggled by
+			     typing the DISCARD character (not in POSIX).  */
+# define PENDIN	 0040000  /* All characters in the input queue are reprinted
+			     when the next character is read
+			     (not in POSIX).  */
+#endif
+#define IEXTEN	0100000   /* Enable implementation-defined input
+			     processing.  */
+#ifdef __USE_MISC
+# define EXTPROC 0200000
+#endif