]> sourceware.org Git - glibc.git/commitdiff
termios: Consolidate Input Modes definitions.
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 9 Oct 2018 14:02:40 +0000 (11:02 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 3 Jan 2019 11:32:12 +0000 (09:32 -0200)
This patch consolidates the termios symbolic constants used for input
modes with c_iflag 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 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 (sysdeps_headers): Add
termios-c_iflag.h.
* sysdeps/unix/sysv/linux/bits/termios-c_iflag.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h: Likewise.
* sysdeps/unix/sysv/linux/bits/termios.h (IGNBRK, BRKINT, IGNPAR, PARMRK,
INPCK, ISTRIP, INLCR, IGNCR, ICRNL, IXON, IXOFF, IXANY, IUCLC, IMAXBEL,
IUTF8): Move to termios-c_iflag.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.

ChangeLog
sysdeps/unix/sysv/linux/Makefile
sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/alpha/bits/termios.h
sysdeps/unix/sysv/linux/bits/termios-c_iflag.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/bits/termios.h
sysdeps/unix/sysv/linux/mips/bits/termios.h
sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/bits/termios.h
sysdeps/unix/sysv/linux/sparc/bits/termios.h

index cb28b1cc1fdc9588673cf3c990fbbd0944b87e84..5b5bca47a67df4ae6f9d0dfda2ff7201dce569c6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 2019-01-03  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
+       * sysdeps/unix/sysv/linux/Makefile (sysdeps_headers): Add
+       termios-c_iflag.h.
+       * sysdeps/unix/sysv/linux/bits/termios-c_iflag.h: New file.
+       * sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h: Likewise.
+       * sysdeps/unix/sysv/linux/bits/termios.h (IGNBRK, BRKINT, IGNPAR, PARMRK,
+       INPCK, ISTRIP, INLCR, IGNCR, ICRNL, IXON, IXOFF, IXANY, IUCLC, IMAXBEL,
+       IUTF8): Move to termios-c_iflag.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 (sysdeps_headers): Add
        termios-cc.h.
        * sysdeps/unix/sysv/linux/bits/termios-c_cc.h: Likewise.
index 4ef1e03b14651936cb3b2ba9a269aa0f7abfa0b6..242eef13eb42ac203f119c55a1754ce3147b7cac 100644 (file)
@@ -44,7 +44,8 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
                  bits/procfs.h bits/procfs-id.h bits/procfs-extra.h \
                  bits/procfs-prregset.h bits/mman-map-flags-generic.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-struct.h bits/termios-c_cc.h \
+                 bits/termios-c_iflag.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_iflag.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h
new file mode 100644 (file)
index 0000000..4c9d101
--- /dev/null
@@ -0,0 +1,38 @@
+/* termios input 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_iflags.h> directly; use <termios.h> instead."
+#endif
+
+/* c_iflag bits */
+#define IGNBRK 0000001
+#define BRKINT 0000002
+#define IGNPAR 0000004
+#define PARMRK 0000010
+#define INPCK  0000020
+#define ISTRIP 0000040
+#define INLCR  0000100
+#define IGNCR  0000200
+#define ICRNL  0000400
+#define IXON   0001000
+#define IXOFF  0002000
+#define IXANY  0004000
+#define IUCLC  0010000
+#define IMAXBEL        0020000
+#define IUTF8  0040000
index fb573f037fba1d5b5837edc69fb55d696ee572c0..a48a4b45d530ae498f0c5bdc7951f3b1a81b76a8 100644 (file)
@@ -26,23 +26,7 @@ typedef unsigned int tcflag_t;
 
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK  0000020
-#define ISTRIP 0000040
-#define INLCR  0000100
-#define IGNCR  0000200
-#define ICRNL  0000400
-#define IXON   0001000
-#define IXOFF  0002000
-#define IXANY  0004000
-#define IUCLC  0010000
-#define IMAXBEL        0020000
-#define IUTF8  0040000
+#include <bits/termios-c_iflag.h>
 
 /* c_oflag bits */
 #define OPOST  0000001
diff --git a/sysdeps/unix/sysv/linux/bits/termios-c_iflag.h b/sysdeps/unix/sysv/linux/bits/termios-c_iflag.h
new file mode 100644 (file)
index 0000000..519dc1f
--- /dev/null
@@ -0,0 +1,40 @@
+/* termios input 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-ciflags.h> directly; use <termios.h> instead."
+#endif
+
+/* c_iflag bits */
+#define IGNBRK 0000001  /* Ignore break condition.  */
+#define BRKINT 0000002  /* Signal interrupt on break.  */
+#define IGNPAR 0000004  /* Ignore characters with parity errors.  */
+#define PARMRK 0000010  /* Mark parity and framing errors.  */
+#define INPCK  0000020  /* Enable input parity check.  */
+#define ISTRIP 0000040  /* Strip 8th bit off characters.  */
+#define INLCR  0000100  /* Map NL to CR on input.  */
+#define IGNCR  0000200  /* Ignore CR.  */
+#define ICRNL  0000400  /* Map CR to NL on input.  */
+#define IUCLC  0001000  /* Map uppercase characters to lowercase on input
+                           (not in POSIX).  */
+#define IXON   0002000  /* Enable start/stop output control.  */
+#define IXANY  0004000  /* Enable any character to restart output.  */
+#define IXOFF  0010000  /* Enable start/stop input control.  */
+#define IMAXBEL        0020000  /* Ring bell when input queue is full
+                           (not in POSIX).  */
+#define IUTF8  0040000  /* Input is UTF8 (not in POSIX).  */
index f80ae9d479b9694b2f0eef0ca1ed3d7c4f9db6fd..c4e8fede5c5a15640392df7c07fd784879e2c3a3 100644 (file)
@@ -26,23 +26,7 @@ typedef unsigned int tcflag_t;
 
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK  0000020
-#define ISTRIP 0000040
-#define INLCR  0000100
-#define IGNCR  0000200
-#define ICRNL  0000400
-#define IUCLC  0001000
-#define IXON   0002000
-#define IXANY  0004000
-#define IXOFF  0010000
-#define IMAXBEL        0020000
-#define IUTF8  0040000
+#include <bits/termios-c_iflag.h>
 
 /* c_oflag bits */
 #define OPOST  0000001
index 1ec96fd6df1dd2a38704d8dd3560c8b390dc4dc1..5ee7a76724656c22347e2513f542e83f753cc041 100644 (file)
@@ -26,23 +26,7 @@ typedef unsigned int tcflag_t;
 
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
-
-/* c_iflag bits */
-#define IGNBRK 0000001         /* Ignore break condition.  */
-#define BRKINT 0000002         /* Signal interrupt on break.  */
-#define IGNPAR 0000004         /* Ignore characters with parity errors.  */
-#define PARMRK 0000010         /* Mark parity and framing errors.  */
-#define INPCK  0000020         /* Enable input parity check.  */
-#define ISTRIP 0000040         /* Strip 8th bit off characters.  */
-#define INLCR  0000100         /* Map NL to CR on input.  */
-#define IGNCR  0000200         /* Ignore CR.  */
-#define ICRNL  0000400         /* Map CR to NL on input.  */
-#define IUCLC  0001000         /* Map upper case to lower case on input.  */
-#define IXON   0002000         /* Enable start/stop output control.  */
-#define IXANY  0004000         /* Any character will restart after stop.  */
-#define IXOFF  0010000         /* Enable start/stop input control.  */
-#define IMAXBEL 0020000                /* Ring bell when input queue is full.  */
-#define IUTF8  0040000         /* Input is UTF8.  */
+#include <bits/termios-c_iflag.h>
 
 /* c_oflag bits */
 #define OPOST  0000001         /* Perform output processing.  */
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h
new file mode 100644 (file)
index 0000000..e7aea81
--- /dev/null
@@ -0,0 +1,38 @@
+/* termios input mode definitions.  Linux/powerpc 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_iflags.h> directly; use <termios.h> instead."
+#endif
+
+/* c_iflag bits */
+#define IGNBRK 0000001
+#define BRKINT 0000002
+#define IGNPAR 0000004
+#define PARMRK 0000010
+#define INPCK  0000020
+#define ISTRIP 0000040
+#define INLCR  0000100
+#define IGNCR  0000200
+#define ICRNL  0000400
+#define IXON   0001000
+#define IXOFF  0002000
+#define IXANY  0004000
+#define IUCLC  0010000
+#define IMAXBEL        0020000
+#define IUTF8  0040000
index 5a0bce66fd1c40d50365c8b8d33403157b5b07a0..c7aac195f164c025a621428a4aa7b3fa3540395d 100644 (file)
@@ -25,23 +25,7 @@ typedef unsigned int tcflag_t;
 
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK  0000020
-#define ISTRIP 0000040
-#define INLCR  0000100
-#define IGNCR  0000200
-#define ICRNL  0000400
-#define IXON   0001000
-#define IXOFF  0002000
-#define IXANY  0004000
-#define IUCLC  0010000
-#define IMAXBEL        0020000
-#define IUTF8  0040000
+#include <bits/termios-c_iflag.h>
 
 /* c_oflag bits */
 #define OPOST  0000001
index 40f1d6d4df7bcffa42cc10b42b324370d08515e7..d76e31819dad34a6a042ca0ddd2b9e55d67e8902 100644 (file)
@@ -26,23 +26,7 @@ typedef unsigned int tcflag_t;
 
 #include <bits/termios-struct.h>
 #include <bits/termios-c_cc.h>
-
-/* c_iflag bits */
-#define IGNBRK 0x00000001
-#define BRKINT 0x00000002
-#define IGNPAR 0x00000004
-#define PARMRK 0x00000008
-#define INPCK  0x00000010
-#define ISTRIP 0x00000020
-#define INLCR  0x00000040
-#define IGNCR  0x00000080
-#define ICRNL  0x00000100
-#define IUCLC  0x00000200
-#define IXON   0x00000400
-#define IXANY  0x00000800
-#define IXOFF  0x00001000
-#define IMAXBEL        0x00002000
-#define IUTF8  0x00004000
+#include <bits/termios-c_iflag.h>
 
 /* c_oflag bits */
 #define OPOST  0x00000001
This page took 0.122124 seconds and 5 git commands to generate.