]> sourceware.org Git - glibc.git/commitdiff
termios: Consolidate termios c_cc symbolic constants
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 9 Oct 2018 13:26:14 +0000 (10:26 -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 as subscript
for the array c_cc 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, mips64, sparc64, 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-cc.h.
* sysdeps/unix/sysv/linux/bits/termios-c_cc.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/termios-c_cc.h: New file.
* sysdeps/unix/sysv/linux/mips/bits/termios-c_cc.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cc.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/termios-c_cc.h: Likewise.
* sysdeps/unix/sysv/linux/bits/termios.h (VINTR, VQUIT, VERASE,
VKILL, VEOF, VTIME, VMIN, VSWTC, VSTART, VSTOP, VSUSP, VEOL,
VREPRINT, VDISCARD, VWERASE, VLNEXT, VEOLF2): Move to termios-cc.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.

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

index f369fd0282fad17720a0209cf3fe20d1b7aa1905..cb28b1cc1fdc9588673cf3c990fbbd0944b87e84 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
 2019-01-03  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
+       * sysdeps/unix/sysv/linux/Makefile (sysdeps_headers): Add
+       termios-cc.h.
+       * sysdeps/unix/sysv/linux/bits/termios-c_cc.h: Likewise.
+       * sysdeps/unix/sysv/linux/alpha/bits/termios-c_cc.h: New file.
+       * sysdeps/unix/sysv/linux/mips/bits/termios-c_cc.h: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cc.h: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/bits/termios-c_cc.h: Likewise.
+       * sysdeps/unix/sysv/linux/bits/termios.h (VINTR, VQUIT, VERASE,
+       VKILL, VEOF, VTIME, VMIN, VSWTC, VSTART, VSTOP, VSUSP, VEOL,
+       VREPRINT, VDISCARD, VWERASE, VLNEXT, VEOLF2): Move to termios-cc.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/alpha/bits/termios-struct.h: New file.
        * sysdeps/unix/sysv/linux/bits/termios-struct.h: Likewise.
        * sysdeps/unix/sysv/linux/mips/bits/termios-struct.h: Likewise.
index f9c886448a9c8435130e2d9dae52d3ee4dc65134..4ef1e03b14651936cb3b2ba9a269aa0f7abfa0b6 100644 (file)
@@ -44,7 +44,7 @@ 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-struct.h bits/termios-c_cc.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_cc.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_cc.h
new file mode 100644 (file)
index 0000000..db3aed8
--- /dev/null
@@ -0,0 +1,40 @@
+/* termios c_cc symbolic constant 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_cc.h> directly; use <termios.h> instead."
+#endif
+
+/* c_cc characters */
+#define VEOF 0
+#define VEOL 1
+#define VEOL2 2
+#define VERASE 3
+#define VWERASE 4
+#define VKILL 5
+#define VREPRINT 6
+#define VSWTC 7
+#define VINTR 8
+#define VQUIT 9
+#define VSUSP 10
+#define VSTART 12
+#define VSTOP 13
+#define VLNEXT 14
+#define VDISCARD 15
+#define VMIN 16
+#define VTIME 17
index 6b6fdfb2343609a2e4a3df0ab7f2434587707452..fb573f037fba1d5b5837edc69fb55d696ee572c0 100644 (file)
@@ -25,25 +25,7 @@ typedef unsigned int speed_t;
 typedef unsigned int   tcflag_t;
 
 #include <bits/termios-struct.h>
-
-/* c_cc characters */
-#define VEOF 0
-#define VEOL 1
-#define VEOL2 2
-#define VERASE 3
-#define VWERASE 4
-#define VKILL 5
-#define VREPRINT 6
-#define VSWTC 7
-#define VINTR 8
-#define VQUIT 9
-#define VSUSP 10
-#define VSTART 12
-#define VSTOP 13
-#define VLNEXT 14
-#define VDISCARD 15
-#define VMIN 16
-#define VTIME 17
+#include <bits/termios-c_cc.h>
 
 /* c_iflag bits */
 #define IGNBRK 0000001
diff --git a/sysdeps/unix/sysv/linux/bits/termios-c_cc.h b/sysdeps/unix/sysv/linux/bits/termios-c_cc.h
new file mode 100644 (file)
index 0000000..9f587c5
--- /dev/null
@@ -0,0 +1,40 @@
+/* termios c_cc symbolic constant 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_cc.h> directly; use <termios.h> instead."
+#endif
+
+/* c_cc characters */
+#define VINTR 0
+#define VQUIT 1
+#define VERASE 2
+#define VKILL 3
+#define VEOF 4
+#define VTIME 5
+#define VMIN 6
+#define VSWTC 7
+#define VSTART 8
+#define VSTOP 9
+#define VSUSP 10
+#define VEOL 11
+#define VREPRINT 12
+#define VDISCARD 13
+#define VWERASE 14
+#define VLNEXT 15
+#define VEOL2 16
index 74468db8e4277c259f1ad57c292caa9104f96037..f80ae9d479b9694b2f0eef0ca1ed3d7c4f9db6fd 100644 (file)
@@ -25,25 +25,7 @@ typedef unsigned int speed_t;
 typedef unsigned int   tcflag_t;
 
 #include <bits/termios-struct.h>
-
-/* c_cc characters */
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
+#include <bits/termios-c_cc.h>
 
 /* c_iflag bits */
 #define IGNBRK 0000001
diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios-c_cc.h b/sysdeps/unix/sysv/linux/mips/bits/termios-c_cc.h
new file mode 100644 (file)
index 0000000..4913a96
--- /dev/null
@@ -0,0 +1,43 @@
+/* termios c_cc symbolic constant 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_cc.h> directly; use <termios.h> instead."
+#endif
+
+/* c_cc characters */
+#define VINTR          0       /* Interrupt character [ISIG].  */
+#define VQUIT          1       /* Quit character [ISIG].  */
+#define VERASE         2       /* Erase character [ICANON].  */
+#define VKILL          3       /* Kill-line character [ICANON].  */
+#define VMIN           4       /* Minimum number of bytes read at once [!ICANON].  */
+#define VTIME          5       /* Time-out value (tenths of a second) [!ICANON].  */
+#define VEOL2          6       /* Second EOL character [ICANON].  */
+#define VSWTC          7
+#define VSWTCH         VSWTC
+#define VSTART         8       /* Start (X-ON) character [IXON, IXOFF].  */
+#define VSTOP          9       /* Stop (X-OFF) character [IXON, IXOFF].  */
+#define VSUSP          10      /* Suspend character [ISIG].  */
+                               /* VDSUSP is not supported on Linux. */
+/* #define VDSUSP      11      / * Delayed suspend character [ISIG].  */
+#define VREPRINT       12      /* Reprint-line character [ICANON].  */
+#define VDISCARD       13      /* Discard character [IEXTEN].  */
+#define VWERASE                14      /* Word-erase character [ICANON].  */
+#define VLNEXT         15      /* Literal-next character [IEXTEN].  */
+#define VEOF           16      /* End-of-file character [ICANON].  */
+#define VEOL           17      /* End-of-line character [ICANON].  */
index 68d771d8b2621efa229976f543be0e2c8ba21d70..1ec96fd6df1dd2a38704d8dd3560c8b390dc4dc1 100644 (file)
@@ -25,28 +25,7 @@ typedef unsigned int speed_t;
 typedef unsigned int   tcflag_t;
 
 #include <bits/termios-struct.h>
-
-/* c_cc characters */
-#define VINTR          0       /* Interrupt character [ISIG].  */
-#define VQUIT          1       /* Quit character [ISIG].  */
-#define VERASE         2       /* Erase character [ICANON].  */
-#define VKILL          3       /* Kill-line character [ICANON].  */
-#define VMIN           4       /* Minimum number of bytes read at once [!ICANON].  */
-#define VTIME          5       /* Time-out value (tenths of a second) [!ICANON].  */
-#define VEOL2          6       /* Second EOL character [ICANON].  */
-#define VSWTC          7
-#define VSWTCH         VSWTC
-#define VSTART         8       /* Start (X-ON) character [IXON, IXOFF].  */
-#define VSTOP          9       /* Stop (X-OFF) character [IXON, IXOFF].  */
-#define VSUSP          10      /* Suspend character [ISIG].  */
-                               /* VDSUSP is not supported on Linux. */
-/* #define VDSUSP      11      / * Delayed suspend character [ISIG].  */
-#define VREPRINT       12      /* Reprint-line character [ICANON].  */
-#define VDISCARD       13      /* Discard character [IEXTEN].  */
-#define VWERASE                14      /* Word-erase character [ICANON].  */
-#define VLNEXT         15      /* Literal-next character [IEXTEN].  */
-#define VEOF           16      /* End-of-file character [ICANON].  */
-#define VEOL           17      /* End-of-line character [ICANON].  */
+#include <bits/termios-c_cc.h>
 
 /* c_iflag bits */
 #define IGNBRK 0000001         /* Ignore break condition.  */
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cc.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cc.h
new file mode 100644 (file)
index 0000000..2dbb757
--- /dev/null
@@ -0,0 +1,41 @@
+/* termios c_cc symbolic constant 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_cc.h> directly; use <termios.h> instead."
+#endif
+
+/* c_cc characters */
+#define VINTR  0
+#define VQUIT  1
+#define VERASE 2
+#define VKILL  3
+#define VEOF   4
+#define VMIN   5
+#define VEOL   6
+#define VTIME  7
+#define VEOL2  8
+#define VSWTC  9
+
+#define VWERASE        10
+#define VREPRINT       11
+#define VSUSP          12
+#define VSTART         13
+#define VSTOP          14
+#define VLNEXT         15
+#define VDISCARD       16
index 4dafb60cad3fb89b8470000ad5ee81a479f7ce20..5a0bce66fd1c40d50365c8b8d33403157b5b07a0 100644 (file)
@@ -24,26 +24,7 @@ typedef unsigned int speed_t;
 typedef unsigned int   tcflag_t;
 
 #include <bits/termios-struct.h>
-
-/* c_cc characters */
-#define VINTR  0
-#define VQUIT  1
-#define VERASE 2
-#define VKILL  3
-#define VEOF   4
-#define VMIN   5
-#define VEOL   6
-#define VTIME  7
-#define VEOL2  8
-#define VSWTC  9
-
-#define VWERASE        10
-#define VREPRINT       11
-#define VSUSP          12
-#define VSTART         13
-#define VSTOP          14
-#define VLNEXT         15
-#define VDISCARD       16
+#include <bits/termios-c_cc.h>
 
 /* c_iflag bits */
 #define IGNBRK 0000001
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios-c_cc.h b/sysdeps/unix/sysv/linux/sparc/bits/termios-c_cc.h
new file mode 100644 (file)
index 0000000..5d90381
--- /dev/null
@@ -0,0 +1,43 @@
+/* termios c_cc symbolic constant definitions.  Linux/sparc 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_cc.h> directly; use <termios.h> instead."
+#endif
+
+/* c_cc characters */
+#define VINTR    0
+#define VQUIT    1
+#define VERASE   2
+#define VKILL    3
+#define VEOF     4
+#define VEOL     5
+#define VEOL2    6
+#define VSWTC    7
+#define VSTART   8
+#define VSTOP    9
+#define VSUSP    10
+#define VDSUSP   11            /* SunOS POSIX nicety I do believe... */
+#define VREPRINT 12
+#define VDISCARD 13
+#define VWERASE  14
+#define VLNEXT   15
+
+/* User apps assume vmin/vtime is shared with eof/eol */
+#define VMIN     VEOF
+#define VTIME    VEOL
index a440aeb8bd605db86238c8575f0c408623b48244..40f1d6d4df7bcffa42cc10b42b324370d08515e7 100644 (file)
@@ -25,28 +25,7 @@ typedef unsigned int speed_t;
 typedef unsigned int tcflag_t;
 
 #include <bits/termios-struct.h>
-
-/* c_cc characters */
-#define VINTR    0
-#define VQUIT    1
-#define VERASE   2
-#define VKILL    3
-#define VEOF     4
-#define VEOL     5
-#define VEOL2    6
-#define VSWTC    7
-#define VSTART   8
-#define VSTOP    9
-#define VSUSP    10
-#define VDSUSP   11            /* SunOS POSIX nicety I do believe... */
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE  14
-#define VLNEXT   15
-
-/* User apps assume vmin/vtime is shared with eof/eol */
-#define VMIN     VEOF
-#define VTIME    VEOL
+#include <bits/termios-c_cc.h>
 
 /* c_iflag bits */
 #define IGNBRK 0x00000001
This page took 0.085143 seconds and 5 git commands to generate.