about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog16
-rw-r--r--sysdeps/unix/sysv/linux/Makefile3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios-c_lflag.h42
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios.h22
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios-c_lflag.h58
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios.h25
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/termios-c_lflag.h46
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/termios.h26
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/termios-c_lflag.h45
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/termios.h25
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/termios.h26
11 files changed, 214 insertions, 120 deletions
diff --git a/ChangeLog b/ChangeLog
index 47d1010230..d9eb67433f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,22 @@
 2019-01-03  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* 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.
+
+	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
 	termios-c_cflag.h.
 	* sysdeps/unix/sysv/linux/bits/termios-c_cflag.h: New file.
 	* sysdeps/unix/sysv/linux/alpha/bits/termios-c_cflag.h: Likewise.
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 9186e3af96..bd17a574ba 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -46,7 +46,8 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
 		  bits/msq-pad.h bits/sem-pad.h bits/shmlba.h bits/shm-pad.h \
 		  bits/termios-struct.h bits/termios-c_cc.h \
 		  bits/termios-c_iflag.h bits/termios-c_oflag.h \
-		  bits/termios-baud.h bits/termios-c_cflag.h
+		  bits/termios-baud.h bits/termios-c_cflag.h \
+		  bits/termios-c_lflag.h
 
 tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \
 	 tst-quota tst-sync_file_range tst-sysconf-iov_max tst-ttyname \
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios-c_lflag.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_lflag.h
new file mode 100644
index 0000000000..7b12d7ec3e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_lflag.h
@@ -0,0 +1,42 @@
+/* termios local mode definitions.  Linux/alpha 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	0x00000080
+#define ICANON	0x00000100
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE	0x00004000
+#endif
+#define ECHO	0x00000008
+#define ECHOE	0x00000002
+#define ECHOK	0x00000004
+#define ECHONL	0x00000010
+#define NOFLSH	0x80000000
+#define TOSTOP	0x00400000
+#ifdef __USE_MISC
+# define ECHOCTL	0x00000040
+# define ECHOPRT	0x00000020
+# define ECHOKE	0x00000001
+# define FLUSHO	0x00800000
+# define PENDIN	0x20000000
+#endif
+#define IEXTEN	0x00000400
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
index 59cb224914..95e40d8000 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
@@ -53,27 +53,7 @@ typedef unsigned int	tcflag_t;
 #include <bits/termios-baud.h>
 
 #include <bits/termios-c_cflag.h>
-
-/* c_lflag bits */
-#define ISIG	0x00000080
-#define ICANON	0x00000100
-#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
-# define XCASE	0x00004000
-#endif
-#define ECHO	0x00000008
-#define ECHOE	0x00000002
-#define ECHOK	0x00000004
-#define ECHONL	0x00000010
-#define NOFLSH	0x80000000
-#define TOSTOP	0x00400000
-#ifdef __USE_MISC
-# define ECHOCTL	0x00000040
-# define ECHOPRT	0x00000020
-# define ECHOKE	0x00000001
-# define FLUSHO	0x00800000
-# define PENDIN	0x20000000
-#endif
-#define IEXTEN	0x00000400
+#include <bits/termios-c_lflag.h>
 
 /* Values for the ACTION argument to `tcflow'.  */
 #define	TCOOFF		0
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
diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h
index 0ec195d44f..e74618df22 100644
--- a/sysdeps/unix/sysv/linux/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/bits/termios.h
@@ -53,30 +53,7 @@ typedef unsigned int	tcflag_t;
 #include <bits/termios-baud.h>
 
 #include <bits/termios-c_cflag.h>
-
-/* c_lflag bits */
-#define ISIG	0000001
-#define ICANON	0000002
-#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
-# define XCASE	0000004
-#endif
-#define ECHO	0000010
-#define ECHOE	0000020
-#define ECHOK	0000040
-#define ECHONL	0000100
-#define NOFLSH	0000200
-#define TOSTOP	0000400
-#ifdef __USE_MISC
-# define ECHOCTL 0001000
-# define ECHOPRT 0002000
-# define ECHOKE	 0004000
-# define FLUSHO	 0010000
-# define PENDIN	 0040000
-#endif
-#define IEXTEN	0100000
-#ifdef __USE_MISC
-# define EXTPROC 0200000
-#endif
+#include <bits/termios-c_lflag.h>
 
 #ifdef __USE_MISC
 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios-c_lflag.h b/sysdeps/unix/sysv/linux/mips/bits/termios-c_lflag.h
new file mode 100644
index 0000000000..25fcd38a79
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/bits/termios-c_lflag.h
@@ -0,0 +1,46 @@
+/* termios local mode definitions.  Linux/mips 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		/* Do 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		/* Visual erase for ERASE.  */
+#define ECHOK	0000040		/* Echo NL after KILL.  */
+#define ECHONL	0000100		/* Echo NL even if ECHO is off.  */
+#define NOFLSH	0000200		/* Disable flush after interrupt.  */
+#define IEXTEN	0000400		/* Enable DISCARD and LNEXT.  */
+#ifdef __USE_MISC
+# define ECHOCTL 0001000	/* Echo control characters as ^X.  */
+# define ECHOPRT 0002000	/* Hardcopy visual erase.  */
+# define ECHOKE	 0004000	/* Visual erase for KILL.  */
+# define FLUSHO	0020000
+# define PENDIN	0040000		/* Retype pending input (state).  */
+#endif
+#define TOSTOP	0100000		/* Send SIGTTOU for background output.  */
+#define ITOSTOP	TOSTOP
+#ifdef __USE_MISC
+# define EXTPROC 0200000
+#endif
diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h
index 443283f6d3..8f6c918668 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h
@@ -53,31 +53,7 @@ typedef unsigned int	tcflag_t;
 #include <bits/termios-baud.h>
 
 #include <bits/termios-c_cflag.h>
-
-/* c_lflag bits */
-#define ISIG	0000001		/* Enable signals.  */
-#define ICANON	0000002		/* Do 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		/* Visual erase for ERASE.  */
-#define ECHOK	0000040		/* Echo NL after KILL.  */
-#define ECHONL	0000100		/* Echo NL even if ECHO is off.  */
-#define NOFLSH	0000200		/* Disable flush after interrupt.  */
-#define IEXTEN	0000400		/* Enable DISCARD and LNEXT.  */
-#ifdef __USE_MISC
-# define ECHOCTL 0001000	/* Echo control characters as ^X.  */
-# define ECHOPRT 0002000	/* Hardcopy visual erase.  */
-# define ECHOKE	 0004000	/* Visual erase for KILL.  */
-# define FLUSHO	0020000
-# define PENDIN	0040000		/* Retype pending input (state).  */
-#endif
-#define TOSTOP	0100000		/* Send SIGTTOU for background output.  */
-#define ITOSTOP	TOSTOP
-#ifdef __USE_MISC
-# define EXTPROC 0200000
-#endif
+#include <bits/termios-c_lflag.h>
 
 #ifdef __USE_MISC
 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_lflag.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_lflag.h
new file mode 100644
index 0000000000..e553787645
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_lflag.h
@@ -0,0 +1,45 @@
+/* termios local mode definitions.  Linux/powerpc version.
+   Copyright (C) 2019i 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	0x00000080
+#define ICANON	0x00000100
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE	0x00004000
+#endif
+#define ECHO	0x00000008
+#define ECHOE	0x00000002
+#define ECHOK	0x00000004
+#define ECHONL	0x00000010
+#define NOFLSH	0x80000000
+#define TOSTOP	0x00400000
+#ifdef __USE_MISC
+# define ECHOCTL	0x00000040
+# define ECHOPRT	0x00000020
+# define ECHOKE	0x00000001
+# define FLUSHO	0x00800000
+# define PENDIN	0x20000000
+#endif
+#define IEXTEN	0x00000400
+#ifdef __USE_MISC
+# define EXTPROC 0x10000000
+#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
index 8b6cbf5b2c..65dad319d5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
@@ -52,30 +52,7 @@ typedef unsigned int	tcflag_t;
 #include <bits/termios-baud.h>
 
 #include <bits/termios-c_cflag.h>
-
-/* c_lflag bits */
-#define ISIG	0x00000080
-#define ICANON	0x00000100
-#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
-# define XCASE	0x00004000
-#endif
-#define ECHO	0x00000008
-#define ECHOE	0x00000002
-#define ECHOK	0x00000004
-#define ECHONL	0x00000010
-#define NOFLSH	0x80000000
-#define TOSTOP	0x00400000
-#ifdef __USE_MISC
-# define ECHOCTL	0x00000040
-# define ECHOPRT	0x00000020
-# define ECHOKE	0x00000001
-# define FLUSHO	0x00800000
-# define PENDIN	0x20000000
-#endif
-#define IEXTEN	0x00000400
-#ifdef __USE_MISC
-# define EXTPROC 0x10000000
-#endif
+#include <bits/termios-c_lflag.h>
 
 /* Values for the ACTION argument to `tcflow'.  */
 #define	TCOOFF		0
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
index 32d9424263..12dc7061fe 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
@@ -53,31 +53,7 @@ typedef unsigned int tcflag_t;
 #include <bits/termios-baud.h>
 
 #include <bits/termios-c_cflag.h>
-
-/* c_lflag bits */
-#define ISIG	0x00000001
-#define ICANON	0x00000002
-#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
-# define XCASE	0x00000004
-#endif
-#define ECHO	0x00000008
-#define ECHOE	0x00000010
-#define ECHOK	0x00000020
-#define ECHONL	0x00000040
-#define NOFLSH	0x00000080
-#define TOSTOP	0x00000100
-#ifdef __USE_MISC
-# define ECHOCTL	0x00000200
-# define ECHOPRT	0x00000400
-# define ECHOKE		0x00000800
-# define DEFECHO	0x00001000	/* SUNOS thing, what is it? */
-# define FLUSHO		0x00002000
-# define PENDIN		0x00004000
-#endif
-#define IEXTEN	0x00008000
-#ifdef __USE_MISC
-# define EXTPROC 0x00010000
-#endif
+#include <bits/termios-c_lflag.h>
 
 #ifdef __USE_MISC
 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */