Message ID | 20181015204956.25558-4-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 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. > --- > sysdeps/unix/sysv/linux/Makefile | 3 +- > .../sysv/linux/alpha/bits/termios-c_iflag.h | 38 ++++++++++++++++++ > sysdeps/unix/sysv/linux/alpha/bits/termios.h | 18 +-------- > .../unix/sysv/linux/bits/termios-c_iflag.h | 40 +++++++++++++++++++ > sysdeps/unix/sysv/linux/bits/termios.h | 18 +-------- > sysdeps/unix/sysv/linux/mips/bits/termios.h | 18 +-------- > .../sysv/linux/powerpc/bits/termios-c_iflag.h | 38 ++++++++++++++++++ > .../unix/sysv/linux/powerpc/bits/termios.h | 18 +-------- > sysdeps/unix/sysv/linux/sparc/bits/termios.h | 18 +-------- > 9 files changed, 123 insertions(+), 86 deletions(-) > create mode 100644 sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h > create mode 100644 sysdeps/unix/sysv/linux/bits/termios-c_iflag.h > create mode 100644 sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h > > diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile > index ace8dcb631..2f5a59cb11 100644 > --- a/sysdeps/unix/sysv/linux/Makefile > +++ b/sysdeps/unix/sysv/linux/Makefile > @@ -43,7 +43,8 @@ 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/termios-c_cc.h > + bits/msq-pad.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 > index 0000000000..11584250d5 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h > @@ -0,0 +1,38 @@ > +/* termios input mode 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_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 > diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h > index 25159890b5..4d49c66aa8 100644 > --- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h > @@ -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 > index 0000000000..c365b82262 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/bits/termios-c_iflag.h > @@ -0,0 +1,40 @@ > +/* termios input mode 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-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). */ > diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h > index 1fba973734..6ce5c56049 100644 > --- a/sysdeps/unix/sysv/linux/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/bits/termios.h > @@ -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 > diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h > index 1153763ae8..a8a37ff176 100644 > --- a/sysdeps/unix/sysv/linux/mips/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h > @@ -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 > index 0000000000..c728b4d110 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h > @@ -0,0 +1,38 @@ > +/* termios input mode 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_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 > diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h > index 2253143734..4ccabd7095 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h > @@ -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 > diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h > index a2588c2158..4123ed7aaa 100644 > --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h > @@ -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 >
On Mon, 15 Oct 2018, Adhemerval Zanella wrote: >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). Doesn't sparc need special treatment, too? >--- /dev/null >+++ b/sysdeps/unix/sysv/linux/bits/termios-c_iflag.h >@@ -0,0 +1,40 @@ > [...] >+/* 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). */ The generic defines... >--- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h >+++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h >@@ -26,23 +26,7 @@ typedef unsigned int tcflag_t; > [...] >-/* 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> Look different than what sparc used to have.
On 09/11/2018 13:07, Gabriel F. T. Gomes wrote: > On Mon, 15 Oct 2018, Adhemerval Zanella wrote: > >> 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). > > Doesn't sparc need special treatment, too? > >> --- /dev/null >> +++ b/sysdeps/unix/sysv/linux/bits/termios-c_iflag.h >> @@ -0,0 +1,40 @@ >> [...] >> +/* 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). */ > > The generic defines... > >> --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h >> +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h >> @@ -26,23 +26,7 @@ typedef unsigned int tcflag_t; >> [...] >> -/* 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> > > Look different than what sparc used to have. > They are essentially the same values for all constants, sparc just define them in hexa instead of octal.
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index ace8dcb631..2f5a59cb11 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -43,7 +43,8 @@ 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/termios-c_cc.h + bits/msq-pad.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 index 0000000000..11584250d5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h @@ -0,0 +1,38 @@ +/* termios input mode 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_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 diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h index 25159890b5..4d49c66aa8 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h @@ -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 index 0000000000..c365b82262 --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/termios-c_iflag.h @@ -0,0 +1,40 @@ +/* termios input mode 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-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). */ diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h index 1fba973734..6ce5c56049 100644 --- a/sysdeps/unix/sysv/linux/bits/termios.h +++ b/sysdeps/unix/sysv/linux/bits/termios.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h index 1153763ae8..a8a37ff176 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/termios.h +++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h @@ -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 index 0000000000..c728b4d110 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h @@ -0,0 +1,38 @@ +/* termios input mode 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_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 diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h index 2253143734..4ccabd7095 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h index a2588c2158..4123ed7aaa 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h @@ -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