Message ID | 20181015204956.25558-3-adhemerval.zanella@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [01/12] termios: Define TIOCSER_TEMT with __USE_MISC (BZ#17783) | expand |
Ping. On 15/10/2018 17:49, Adhemerval Zanella wrote: > 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, and sparc64). > > 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. > --- > sysdeps/unix/sysv/linux/Makefile | 2 +- > .../unix/sysv/linux/alpha/bits/termios-c_cc.h | 40 +++++++++++++++++ > sysdeps/unix/sysv/linux/alpha/bits/termios.h | 20 +-------- > sysdeps/unix/sysv/linux/bits/termios-c_cc.h | 40 +++++++++++++++++ > sysdeps/unix/sysv/linux/bits/termios.h | 20 +-------- > .../unix/sysv/linux/mips/bits/termios-c_cc.h | 43 +++++++++++++++++++ > sysdeps/unix/sysv/linux/mips/bits/termios.h | 23 +--------- > .../sysv/linux/powerpc/bits/termios-c_cc.h | 41 ++++++++++++++++++ > .../unix/sysv/linux/powerpc/bits/termios.h | 21 +-------- > .../unix/sysv/linux/sparc/bits/termios-c_cc.h | 43 +++++++++++++++++++ > sysdeps/unix/sysv/linux/sparc/bits/termios.h | 23 +--------- > 11 files changed, 213 insertions(+), 103 deletions(-) > create mode 100644 sysdeps/unix/sysv/linux/alpha/bits/termios-c_cc.h > create mode 100644 sysdeps/unix/sysv/linux/bits/termios-c_cc.h > create mode 100644 sysdeps/unix/sysv/linux/mips/bits/termios-c_cc.h > create mode 100644 sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cc.h > create mode 100644 sysdeps/unix/sysv/linux/sparc/bits/termios-c_cc.h > > diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile > index 184a5b19e1..ace8dcb631 100644 > --- a/sysdeps/unix/sysv/linux/Makefile > +++ b/sysdeps/unix/sysv/linux/Makefile > @@ -43,7 +43,7 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ > bits/siginfo-arch.h bits/siginfo-consts-arch.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/termios-struct.h > + bits/msq-pad.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 > index 0000000000..9ad1336ef6 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_cc.h > @@ -0,0 +1,40 @@ > +/* termios c_cc symbolic constant definitions. Linux/alpha version. > + Copyright (C) 2018 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 > diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h > index fe358dd8f5..25159890b5 100644 > --- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h > @@ -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 > index 0000000000..80d5e6d2ce > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/bits/termios-c_cc.h > @@ -0,0 +1,40 @@ > +/* termios c_cc symbolic constant definitions. Linux/generic version. > + Copyright (C) 2018 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 > diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h > index 93536130aa..1fba973734 100644 > --- a/sysdeps/unix/sysv/linux/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/bits/termios.h > @@ -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 > index 0000000000..573efbc9d3 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/mips/bits/termios-c_cc.h > @@ -0,0 +1,43 @@ > +/* termios c_cc symbolic constant definitions. Linux/mips version. > + Copyright (C) 2018 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]. */ > diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h > index 2b2f873f35..1153763ae8 100644 > --- a/sysdeps/unix/sysv/linux/mips/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h > @@ -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 > index 0000000000..8c75e25339 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cc.h > @@ -0,0 +1,41 @@ > +/* termios c_cc symbolic constant definitions. Linux/powerpc version. > + Copyright (C) 2018 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 > diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h > index ddb32bd7e5..2253143734 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h > @@ -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 > index 0000000000..09b504273b > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios-c_cc.h > @@ -0,0 +1,43 @@ > +/* termios c_cc symbolic constant definitions. Linux/sparc version. > + Copyright (C) 2018 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 > diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h > index 5fd6055c8e..a2588c2158 100644 > --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h > @@ -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 >
>On 15/10/2018 17:49, Adhemerval Zanella wrote: >> 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, and sparc64). Although I don't feel very qualified to review this patch set, one detail caught my attention here. You mentioned that alpha, mips64, and sparc64 have their own implementation, however, it looks like powerpc also does (and you have carefully taken care of it, as I can see in the patch). So, is the message missing a mention to powerpc, or is there something else going on? >> No semantic change is expected, checked on a build against x86_64-linux-gnu, >> alpha-linux-gnu, mips64-linux-gnu, and sparc64-linux-gnu. I started a build on a powerpc64 machine. Other than the message not mentioning powerpc, the patch looks good, but, as I mentioned previously, I don't think I'm qualified to review it.
On 09/11/2018 10:36, Gabriel F. T. Gomes wrote: >> On 15/10/2018 17:49, Adhemerval Zanella wrote: >>> 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, and sparc64). > > Although I don't feel very qualified to review this patch set, one detail > caught my attention here. You mentioned that alpha, mips64, and sparc64 > have their own implementation, however, it looks like powerpc also does > (and you have carefully taken care of it, as I can see in the patch). > > So, is the message missing a mention to powerpc, or is there something > else going on? You are right, powerpc does have its own implementation and I will add on patch description. > >>> No semantic change is expected, checked on a build against x86_64-linux-gnu, >>> alpha-linux-gnu, mips64-linux-gnu, and sparc64-linux-gnu. > > I started a build on a powerpc64 machine. > > Other than the message not mentioning powerpc, the patch looks good, but, > as I mentioned previously, I don't think I'm qualified to review it. > Thanks for checking on it.
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 184a5b19e1..ace8dcb631 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -43,7 +43,7 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ bits/siginfo-arch.h bits/siginfo-consts-arch.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/termios-struct.h + bits/msq-pad.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 index 0000000000..9ad1336ef6 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_cc.h @@ -0,0 +1,40 @@ +/* termios c_cc symbolic constant definitions. Linux/alpha version. + Copyright (C) 2018 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 diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h index fe358dd8f5..25159890b5 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h @@ -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 index 0000000000..80d5e6d2ce --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/termios-c_cc.h @@ -0,0 +1,40 @@ +/* termios c_cc symbolic constant definitions. Linux/generic version. + Copyright (C) 2018 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 diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h index 93536130aa..1fba973734 100644 --- a/sysdeps/unix/sysv/linux/bits/termios.h +++ b/sysdeps/unix/sysv/linux/bits/termios.h @@ -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 index 0000000000..573efbc9d3 --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/mips version. + Copyright (C) 2018 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]. */ diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h index 2b2f873f35..1153763ae8 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/termios.h +++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h @@ -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 index 0000000000..8c75e25339 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_cc.h @@ -0,0 +1,41 @@ +/* termios c_cc symbolic constant definitions. Linux/powerpc version. + Copyright (C) 2018 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 diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h index ddb32bd7e5..2253143734 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h @@ -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 index 0000000000..09b504273b --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/sparc version. + Copyright (C) 2018 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 diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h index 5fd6055c8e..a2588c2158 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h @@ -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