about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2018-10-09 15:54:16 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-01-03 09:32:12 -0200
commit3aa4a07ec1b2b6b2ba90d2fb54eaefe194b210f1 (patch)
treed2cd9aa8004a279259fb2dba5c1ce041d3d7c00c
parent22679ddf10487fe419c07de46427cf0173d008e3 (diff)
downloadglibc-3aa4a07ec1b2b6b2ba90d2fb54eaefe194b210f1.tar.gz
glibc-3aa4a07ec1b2b6b2ba90d2fb54eaefe194b210f1.tar.xz
glibc-3aa4a07ec1b2b6b2ba90d2fb54eaefe194b210f1.zip
termios: Consolidate tcflow symbolic constants
This patch consolidates the termios symbolic constants for use with tcflow
in its own header.  The Linux generic implementation values match the
kernel UAPI and each architecture with deviate values have their own
implementation (currently only mips).

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-tcflow.h.
	* sysdeps/unix/sysv/linux/bits/termios-tcflow.h: New file.
	* sysdeps/unix/sysv/linux/mips/bits/termios-tcflow.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/termios.h (TCSANOW, TCSADRAIN,
	TCSAFLUSH): Move to termios-tcflow.h.
	* 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.
-rw-r--r--ChangeLog11
-rw-r--r--sysdeps/unix/sysv/linux/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios.h6
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios-tcflow.h26
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios.h6
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/termios-tcflow.h26
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/termios.h5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/termios.h5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/termios.h5
9 files changed, 69 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index d9eb67433f..c6c1d2c4b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,17 @@
 2019-01-03  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
+	termios-tcflow.h.
+	* sysdeps/unix/sysv/linux/bits/termios-tcflow.h: New file.
+	* sysdeps/unix/sysv/linux/mips/bits/termios-tcflow.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/termios.h (TCSANOW, TCSADRAIN,
+	TCSAFLUSH): Move to termios-tcflow.h.
+	* 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_lflag.h.
 	* sysdeps/unix/sysv/linux/bits/termios-c_lflag.h: New file.
 	* sysdeps/unix/sysv/linux/alpha/bits/termios-c_lflag.h: Likewise.
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index bd17a574ba..feddcab688 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -47,7 +47,7 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.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-c_lflag.h
+		  bits/termios-c_lflag.h bits/termios-tcflow.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.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
index 95e40d8000..fc47547e22 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
@@ -66,11 +66,7 @@ typedef unsigned int	tcflag_t;
 #define	TCOFLUSH	1
 #define	TCIOFLUSH	2
 
-/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
-#define	TCSANOW		0
-#define	TCSADRAIN	1
-#define	TCSAFLUSH	2
-
+#include <bits/termios-tcflow.h>
 
 #define _IOT_termios /* Hurd ioctl type field.  */ \
   _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/sysdeps/unix/sysv/linux/bits/termios-tcflow.h b/sysdeps/unix/sysv/linux/bits/termios-tcflow.h
new file mode 100644
index 0000000000..3832d50ce2
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/bits/termios-tcflow.h
@@ -0,0 +1,26 @@
+/* termios tcflag symbolic contants 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-tcflow.h> directly; use <termios.h> instead."
+#endif
+
+/* tcsetattr uses these.  */
+#define	TCSANOW		0
+#define	TCSADRAIN	1
+#define	TCSAFLUSH	2
diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h
index e74618df22..a2ce092cec 100644
--- a/sysdeps/unix/sysv/linux/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/bits/termios.h
@@ -71,11 +71,7 @@ typedef unsigned int	tcflag_t;
 #define	TCOFLUSH	1
 #define	TCIOFLUSH	2
 
-/* tcsetattr uses these */
-#define	TCSANOW		0
-#define	TCSADRAIN	1
-#define	TCSAFLUSH	2
-
+#include <bits/termios-tcflow.h>
 
 #define _IOT_termios /* Hurd ioctl type field.  */ \
   _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios-tcflow.h b/sysdeps/unix/sysv/linux/mips/bits/termios-tcflow.h
new file mode 100644
index 0000000000..68b2972a17
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/bits/termios-tcflow.h
@@ -0,0 +1,26 @@
+/* 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-tcflow.h> directly; use <termios.h> instead."
+#endif
+
+/* tcsetattr uses these */
+#define	TCSANOW		0x540e	/* Same as TCSETS; change immediately.  */
+#define	TCSADRAIN	0x540f	/* Same as TCSETSW; change when pending output is written.  */
+#define	TCSAFLUSH	0x5410	/* Same as TCSETSF; flush pending input before changing.  */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h
index 8f6c918668..7f38f856f9 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h
@@ -71,10 +71,7 @@ typedef unsigned int	tcflag_t;
 #define	TCOFLUSH	1	/* Discard data written but not yet sent.  */
 #define	TCIOFLUSH	2	/* Discard all pending data.  */
 
-/* tcsetattr uses these */
-#define	TCSANOW		0x540e	/* Same as TCSETS; change immediately.  */
-#define	TCSADRAIN	0x540f	/* Same as TCSETSW; change when pending output is written.  */
-#define	TCSAFLUSH	0x5410	/* Same as TCSETSF; flush pending input before changing.  */
+#include <bits/termios-tcflow.h>
 
 #define _IOT_termios /* Hurd ioctl type field.  */ \
   _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
index 65dad319d5..18c27fe207 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
@@ -65,10 +65,7 @@ typedef unsigned int	tcflag_t;
 #define	TCOFLUSH	1
 #define	TCIOFLUSH	2
 
-/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
-#define	TCSANOW		0
-#define	TCSADRAIN	1
-#define	TCSAFLUSH	2
+#include <bits/termios-tcflow.h>
 
 #ifdef __USE_MISC
 
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
index 12dc7061fe..71d3c6e7e9 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
@@ -71,7 +71,4 @@ typedef unsigned int tcflag_t;
 #define	TCOFLUSH	1
 #define	TCIOFLUSH	2
 
-/* tcsetattr uses these */
-#define	TCSANOW		0
-#define	TCSADRAIN	1
-#define	TCSAFLUSH	2
+#include <bits/termios-tcflow.h>