Message ID | 20181015204956.25558-6-adhemerval.zanella@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [01/12] termios: Define TIOCSER_TEMT with __USE_MISC (BZ#17783) | expand |
On 15/10/2018 17:49, Adhemerval Zanella wrote: > This patch consolidates the termios symbolic constants used for baud rates > selection used along with speed_t 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 (sysdep_headers): Add > termios-baud.h. > * sysdeps/unix/sysv/linux/bits/termios-baud.h: New file. > * sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h: Likewise. > * sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h: Likewise. > * sysdeps/unix/sysv/linux/alpha/bits/termios.h (B57600, B115200, > B230400, B460800, B500000, B576000, B921600, B1000000, B1152000, > B1500000, B2000000, B2500000, B3000000, B3500000, B4000000, > __MAX_BAUD): Move to termios-baud.h. > [__USE_MISC] (CBAUD, CBAUDEX): Likewise. > * sysdeps/unix/sysv/linux/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. Now that CMSPAR is defined in Linux generic termios-baud, it also fixes BZ#23783.
Ping. On 15/10/2018 17:49, Adhemerval Zanella wrote: > This patch consolidates the termios symbolic constants used for baud rates > selection used along with speed_t 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 (sysdep_headers): Add > termios-baud.h. > * sysdeps/unix/sysv/linux/bits/termios-baud.h: New file. > * sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h: Likewise. > * sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h: Likewise. > * sysdeps/unix/sysv/linux/alpha/bits/termios.h (B57600, B115200, > B230400, B460800, B500000, B576000, B921600, B1000000, B1152000, > B1500000, B2000000, B2500000, B3000000, B3500000, B4000000, > __MAX_BAUD): Move to termios-baud.h. > [__USE_MISC] (CBAUD, CBAUDEX): Likewise. > * sysdeps/unix/sysv/linux/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 +- > .../unix/sysv/linux/alpha/bits/termios-baud.h | 46 ++++++++++++++++++ > sysdeps/unix/sysv/linux/alpha/bits/termios.h | 26 +--------- > sysdeps/unix/sysv/linux/bits/termios-baud.h | 48 +++++++++++++++++++ > sysdeps/unix/sysv/linux/bits/termios.h | 29 +---------- > sysdeps/unix/sysv/linux/mips/bits/termios.h | 28 +---------- > .../sysv/linux/powerpc/bits/termios-baud.h | 45 +++++++++++++++++ > .../unix/sysv/linux/powerpc/bits/termios.h | 25 +--------- > sysdeps/unix/sysv/linux/sparc/bits/termios.h | 30 +----------- > 9 files changed, 149 insertions(+), 131 deletions(-) > create mode 100644 sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h > create mode 100644 sysdeps/unix/sysv/linux/bits/termios-baud.h > create mode 100644 sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h > > diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile > index 097107c82c..1af8145b13 100644 > --- a/sysdeps/unix/sysv/linux/Makefile > +++ b/sysdeps/unix/sysv/linux/Makefile > @@ -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/termios-struct.h bits/termios-c_cc.h \ > - bits/termios-c_iflag.h bits/termios-c_oflag.h > + bits/termios-c_iflag.h bits/termios-c_oflag.h \ > + bits/termios-baud.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-baud.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h > new file mode 100644 > index 0000000000..eba263a67d > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h > @@ -0,0 +1,46 @@ > +/* termios baud rate selection 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-baud.h> directly; use <termios.h> instead." > +#endif > + > +#ifdef __USE_MISC > +# define CBAUD 0000037 > +# define CBAUDEX 0000000 > +# define CMSPAR 010000000000 /* mark or space (stick) parity */ > +# define CRTSCTS 020000000000 /* flow control */ > +#endif > + > +#define B57600 00020 > +#define B115200 00021 > +#define B230400 00022 > +#define B460800 00023 > +#define B500000 00024 > +#define B576000 00025 > +#define B921600 00026 > +#define B1000000 00027 > +#define B1152000 00030 > +#define B1500000 00031 > +#define B2000000 00032 > +#define B2500000 00033 > +#define B3000000 00034 > +#define B3500000 00035 > +#define B4000000 00036 > + > +#define __MAX_BAUD B4000000 > diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h > index 7259c1dd30..530dd48410 100644 > --- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h > @@ -30,9 +30,6 @@ typedef unsigned int tcflag_t; > #include <bits/termios-c_oflag.h> > > /* c_cflag bit meaning */ > -#ifdef __USE_MISC > -# define CBAUD 0000037 > -#endif > #define B0 0000000 /* hang up */ > #define B50 0000001 > #define B75 0000002 > @@ -52,25 +49,8 @@ typedef unsigned int tcflag_t; > #ifdef __USE_MISC > # define EXTA B19200 > # define EXTB B38400 > -# define CBAUDEX 0000000 > #endif > -#define B57600 00020 > -#define B115200 00021 > -#define B230400 00022 > -#define B460800 00023 > -#define B500000 00024 > -#define B576000 00025 > -#define B921600 00026 > -#define B1000000 00027 > -#define B1152000 00030 > -#define B1500000 00031 > -#define B2000000 00032 > -#define B2500000 00033 > -#define B3000000 00034 > -#define B3500000 00035 > -#define B4000000 00036 > - > -#define __MAX_BAUD B4000000 > +#include <bits/termios-baud.h> > > #define CSIZE 00001400 > #define CS5 00000000 > @@ -85,10 +65,6 @@ typedef unsigned int tcflag_t; > #define HUPCL 00040000 > > #define CLOCAL 00100000 > -#ifdef __USE_MISC > -# define CMSPAR 010000000000 /* mark or space (stick) parity */ > -# define CRTSCTS 020000000000 /* flow control */ > -#endif > > /* c_lflag bits */ > #define ISIG 0x00000080 > diff --git a/sysdeps/unix/sysv/linux/bits/termios-baud.h b/sysdeps/unix/sysv/linux/bits/termios-baud.h > new file mode 100644 > index 0000000000..7f7f9c511c > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/bits/termios-baud.h > @@ -0,0 +1,48 @@ > +/* termios baud rate selection 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-baud.h> directly; use <termios.h> instead." > +#endif > + > +#ifdef __USE_MISC > +# define CBAUD 000000010017 /* Baud speed mask (not in POSIX). */ > +# define CBAUDEX 000000010000 /* Extra baud speed mask, included in CBAUD. > + (not in POSIX). */ > +# define CIBAUD 002003600000 /* Input baud rate (not used). */ > +# define CMSPAR 010000000000 /* Mark or space (stick) parity. */ > +# define CRTSCTS 020000000000 /* Flow control. */ > +#endif > + > +/* Extra output baud rates (not in POSIX). */ > +#define B57600 0010001 > +#define B115200 0010002 > +#define B230400 0010003 > +#define B460800 0010004 > +#define B500000 0010005 > +#define B576000 0010006 > +#define B921600 0010007 > +#define B1000000 0010010 > +#define B1152000 0010011 > +#define B1500000 0010012 > +#define B2000000 0010013 > +#define B2500000 0010014 > +#define B3000000 0010015 > +#define B3500000 0010016 > +#define B4000000 0010017 > +#define __MAX_BAUD B4000000 > diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h > index 15b279b01e..07ffdf9779 100644 > --- a/sysdeps/unix/sysv/linux/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/bits/termios.h > @@ -30,9 +30,6 @@ typedef unsigned int tcflag_t; > #include <bits/termios-c_oflag.h> > > /* c_cflag bit meaning */ > -#ifdef __USE_MISC > -# define CBAUD 0010017 > -#endif > #define B0 0000000 /* hang up */ > #define B50 0000001 > #define B75 0000002 > @@ -53,6 +50,8 @@ typedef unsigned int tcflag_t; > # define EXTA B19200 > # define EXTB B38400 > #endif > +#include <bits/termios-baud.h> > + > #define CSIZE 0000060 > #define CS5 0000000 > #define CS6 0000020 > @@ -64,30 +63,6 @@ typedef unsigned int tcflag_t; > #define PARODD 0001000 > #define HUPCL 0002000 > #define CLOCAL 0004000 > -#ifdef __USE_MISC > -# define CBAUDEX 0010000 > -#endif > -#define B57600 0010001 > -#define B115200 0010002 > -#define B230400 0010003 > -#define B460800 0010004 > -#define B500000 0010005 > -#define B576000 0010006 > -#define B921600 0010007 > -#define B1000000 0010010 > -#define B1152000 0010011 > -#define B1500000 0010012 > -#define B2000000 0010013 > -#define B2500000 0010014 > -#define B3000000 0010015 > -#define B3500000 0010016 > -#define B4000000 0010017 > -#define __MAX_BAUD B4000000 > -#ifdef __USE_MISC > -# define CIBAUD 002003600000 /* input baud rate (not used) */ > -# define CMSPAR 010000000000 /* mark or space (stick) parity */ > -# define CRTSCTS 020000000000 /* flow control */ > -#endif > > /* c_lflag bits */ > #define ISIG 0000001 > diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h > index f851adbfe1..008527577f 100644 > --- a/sysdeps/unix/sysv/linux/mips/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h > @@ -30,9 +30,6 @@ typedef unsigned int tcflag_t; > #include <bits/termios-c_oflag.h> > > /* c_cflag bit meaning */ > -#ifdef __USE_MISC > -# define CBAUD 0010017 > -#endif > #define B0 0000000 /* hang up */ > #define B50 0000001 > #define B75 0000002 > @@ -53,6 +50,8 @@ typedef unsigned int tcflag_t; > # define EXTA B19200 > # define EXTB B38400 > #endif > +#include <bits/termios-baud.h> > + > #define CSIZE 0000060 /* Number of bits per byte (mask). */ > #define CS5 0000000 /* 5 bits per byte. */ > #define CS6 0000020 /* 6 bits per byte. */ > @@ -64,29 +63,6 @@ typedef unsigned int tcflag_t; > #define PARODD 0001000 /* Odd parity instead of even. */ > #define HUPCL 0002000 /* Hang up on last close. */ > #define CLOCAL 0004000 /* Ignore modem status lines. */ > -#ifdef __USE_MISC > -# define CBAUDEX 0010000 > -#endif > -#define B57600 0010001 > -#define B115200 0010002 > -#define B230400 0010003 > -#define B460800 0010004 > -#define B500000 0010005 > -#define B576000 0010006 > -#define B921600 0010007 > -#define B1000000 0010010 > -#define B1152000 0010011 > -#define B1500000 0010012 > -#define B2000000 0010013 > -#define B2500000 0010014 > -#define B3000000 0010015 > -#define B3500000 0010016 > -#define B4000000 0010017 > -#define __MAX_BAUD B4000000 > -#ifdef __USE_MISC > -# define CIBAUD 002003600000 /* input baud rate (not used) */ > -# define CRTSCTS 020000000000 /* flow control */ > -#endif > > /* c_lflag bits */ > #define ISIG 0000001 /* Enable signals. */ > diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h > new file mode 100644 > index 0000000000..4f490a929f > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h > @@ -0,0 +1,45 @@ > +/* termios baud rate selection 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-baud.h> directly; use <termios.h> instead." > +#endif > + > +#ifdef __USE_MISC > +# define CBAUD 0000377 > +# define CBAUDEX 0000020 > +# define CMSPAR 010000000000 /* mark or space (stick) parity */ > +# define CRTSCTS 020000000000 /* flow control */ > +#endif > + > +#define B57600 00020 > +#define B115200 00021 > +#define B230400 00022 > +#define B460800 00023 > +#define B500000 00024 > +#define B576000 00025 > +#define B921600 00026 > +#define B1000000 00027 > +#define B1152000 00030 > +#define B1500000 00031 > +#define B2000000 00032 > +#define B2500000 00033 > +#define B3000000 00034 > +#define B3500000 00035 > +#define B4000000 00036 > +#define __MAX_BAUD B4000000 > diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h > index 4045274af9..2f928d5217 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h > @@ -29,9 +29,6 @@ typedef unsigned int tcflag_t; > #include <bits/termios-c_oflag.h> > > /* c_cflag bit meaning */ > -#ifdef __USE_MISC > -# define CBAUD 0000377 > -#endif > #define B0 0000000 /* hang up */ > #define B50 0000001 > #define B75 0000002 > @@ -51,24 +48,8 @@ typedef unsigned int tcflag_t; > #ifdef __USE_MISC > # define EXTA B19200 > # define EXTB B38400 > -# define CBAUDEX 0000020 > #endif > -#define B57600 00020 > -#define B115200 00021 > -#define B230400 00022 > -#define B460800 00023 > -#define B500000 00024 > -#define B576000 00025 > -#define B921600 00026 > -#define B1000000 00027 > -#define B1152000 00030 > -#define B1500000 00031 > -#define B2000000 00032 > -#define B2500000 00033 > -#define B3000000 00034 > -#define B3500000 00035 > -#define B4000000 00036 > -#define __MAX_BAUD B4000000 > +#include <bits/termios-baud.h> > > #define CSIZE 00001400 > #define CS5 00000000 > @@ -83,10 +64,6 @@ typedef unsigned int tcflag_t; > #define HUPCL 00040000 > > #define CLOCAL 00100000 > -#ifdef __USE_MISC > -# define CMSPAR 010000000000 /* mark or space (stick) parity */ > -# define CRTSCTS 020000000000 /* flow control */ > -#endif > > /* c_lflag bits */ > #define ISIG 0x00000080 > diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h > index 9c884eb791..d612080754 100644 > --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h > +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h > @@ -30,9 +30,6 @@ typedef unsigned int tcflag_t; > #include <bits/termios-c_oflag.h> > > /* c_cflag bit meaning */ > -#ifdef __USE_MISC > -# define CBAUD 0x0000100f > -#endif > #define B0 0x00000000 /* hang up */ > #define B50 0x00000001 > #define B75 0x00000002 > @@ -53,6 +50,8 @@ typedef unsigned int tcflag_t; > # define EXTA B19200 > # define EXTB B38400 > #endif > +#include <bits/termios-baud.h> > + > #define CSIZE 0x00000030 > #define CS5 0x00000000 > #define CS6 0x00000010 > @@ -64,31 +63,6 @@ typedef unsigned int tcflag_t; > #define PARODD 0x00000200 > #define HUPCL 0x00000400 > #define CLOCAL 0x00000800 > -#ifdef __USE_MISC > -# define CBAUDEX 0x00001000 > -#endif > -#define B57600 0x00001001 > -#define B115200 0x00001002 > -#define B230400 0x00001003 > -#define B460800 0x00001004 > -#define B76800 0x00001005 > -#define B153600 0x00001006 > -#define B307200 0x00001007 > -#define B614400 0x00001008 > -#define B921600 0x00001009 > -#define B500000 0x0000100a > -#define B576000 0x0000100b > -#define B1000000 0x0000100c > -#define B1152000 0x0000100d > -#define B1500000 0x0000100e > -#define B2000000 0x0000100f > -#define __MAX_BAUD B2000000 > - > -#ifdef __USE_MISC > -# define CIBAUD 0x100f0000 /* input baud rate (not used) */ > -# define CMSPAR 0x40000000 /* mark or space (stick) parity */ > -# define CRTSCTS 0x80000000 /* flow control */ > -#endif > > /* c_lflag bits */ > #define ISIG 0x00000001 >
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 097107c82c..1af8145b13 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -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/termios-struct.h bits/termios-c_cc.h \ - bits/termios-c_iflag.h bits/termios-c_oflag.h + bits/termios-c_iflag.h bits/termios-c_oflag.h \ + bits/termios-baud.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-baud.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h new file mode 100644 index 0000000000..eba263a67d --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-baud.h @@ -0,0 +1,46 @@ +/* termios baud rate selection 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-baud.h> directly; use <termios.h> instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 0000037 +# define CBAUDEX 0000000 +# define CMSPAR 010000000000 /* mark or space (stick) parity */ +# define CRTSCTS 020000000000 /* flow control */ +#endif + +#define B57600 00020 +#define B115200 00021 +#define B230400 00022 +#define B460800 00023 +#define B500000 00024 +#define B576000 00025 +#define B921600 00026 +#define B1000000 00027 +#define B1152000 00030 +#define B1500000 00031 +#define B2000000 00032 +#define B2500000 00033 +#define B3000000 00034 +#define B3500000 00035 +#define B4000000 00036 + +#define __MAX_BAUD B4000000 diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h index 7259c1dd30..530dd48410 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h @@ -30,9 +30,6 @@ typedef unsigned int tcflag_t; #include <bits/termios-c_oflag.h> /* c_cflag bit meaning */ -#ifdef __USE_MISC -# define CBAUD 0000037 -#endif #define B0 0000000 /* hang up */ #define B50 0000001 #define B75 0000002 @@ -52,25 +49,8 @@ typedef unsigned int tcflag_t; #ifdef __USE_MISC # define EXTA B19200 # define EXTB B38400 -# define CBAUDEX 0000000 #endif -#define B57600 00020 -#define B115200 00021 -#define B230400 00022 -#define B460800 00023 -#define B500000 00024 -#define B576000 00025 -#define B921600 00026 -#define B1000000 00027 -#define B1152000 00030 -#define B1500000 00031 -#define B2000000 00032 -#define B2500000 00033 -#define B3000000 00034 -#define B3500000 00035 -#define B4000000 00036 - -#define __MAX_BAUD B4000000 +#include <bits/termios-baud.h> #define CSIZE 00001400 #define CS5 00000000 @@ -85,10 +65,6 @@ typedef unsigned int tcflag_t; #define HUPCL 00040000 #define CLOCAL 00100000 -#ifdef __USE_MISC -# define CMSPAR 010000000000 /* mark or space (stick) parity */ -# define CRTSCTS 020000000000 /* flow control */ -#endif /* c_lflag bits */ #define ISIG 0x00000080 diff --git a/sysdeps/unix/sysv/linux/bits/termios-baud.h b/sysdeps/unix/sysv/linux/bits/termios-baud.h new file mode 100644 index 0000000000..7f7f9c511c --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/termios-baud.h @@ -0,0 +1,48 @@ +/* termios baud rate selection 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-baud.h> directly; use <termios.h> instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 000000010017 /* Baud speed mask (not in POSIX). */ +# define CBAUDEX 000000010000 /* Extra baud speed mask, included in CBAUD. + (not in POSIX). */ +# define CIBAUD 002003600000 /* Input baud rate (not used). */ +# define CMSPAR 010000000000 /* Mark or space (stick) parity. */ +# define CRTSCTS 020000000000 /* Flow control. */ +#endif + +/* Extra output baud rates (not in POSIX). */ +#define B57600 0010001 +#define B115200 0010002 +#define B230400 0010003 +#define B460800 0010004 +#define B500000 0010005 +#define B576000 0010006 +#define B921600 0010007 +#define B1000000 0010010 +#define B1152000 0010011 +#define B1500000 0010012 +#define B2000000 0010013 +#define B2500000 0010014 +#define B3000000 0010015 +#define B3500000 0010016 +#define B4000000 0010017 +#define __MAX_BAUD B4000000 diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h index 15b279b01e..07ffdf9779 100644 --- a/sysdeps/unix/sysv/linux/bits/termios.h +++ b/sysdeps/unix/sysv/linux/bits/termios.h @@ -30,9 +30,6 @@ typedef unsigned int tcflag_t; #include <bits/termios-c_oflag.h> /* c_cflag bit meaning */ -#ifdef __USE_MISC -# define CBAUD 0010017 -#endif #define B0 0000000 /* hang up */ #define B50 0000001 #define B75 0000002 @@ -53,6 +50,8 @@ typedef unsigned int tcflag_t; # define EXTA B19200 # define EXTB B38400 #endif +#include <bits/termios-baud.h> + #define CSIZE 0000060 #define CS5 0000000 #define CS6 0000020 @@ -64,30 +63,6 @@ typedef unsigned int tcflag_t; #define PARODD 0001000 #define HUPCL 0002000 #define CLOCAL 0004000 -#ifdef __USE_MISC -# define CBAUDEX 0010000 -#endif -#define B57600 0010001 -#define B115200 0010002 -#define B230400 0010003 -#define B460800 0010004 -#define B500000 0010005 -#define B576000 0010006 -#define B921600 0010007 -#define B1000000 0010010 -#define B1152000 0010011 -#define B1500000 0010012 -#define B2000000 0010013 -#define B2500000 0010014 -#define B3000000 0010015 -#define B3500000 0010016 -#define B4000000 0010017 -#define __MAX_BAUD B4000000 -#ifdef __USE_MISC -# define CIBAUD 002003600000 /* input baud rate (not used) */ -# define CMSPAR 010000000000 /* mark or space (stick) parity */ -# define CRTSCTS 020000000000 /* flow control */ -#endif /* c_lflag bits */ #define ISIG 0000001 diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h index f851adbfe1..008527577f 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/termios.h +++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h @@ -30,9 +30,6 @@ typedef unsigned int tcflag_t; #include <bits/termios-c_oflag.h> /* c_cflag bit meaning */ -#ifdef __USE_MISC -# define CBAUD 0010017 -#endif #define B0 0000000 /* hang up */ #define B50 0000001 #define B75 0000002 @@ -53,6 +50,8 @@ typedef unsigned int tcflag_t; # define EXTA B19200 # define EXTB B38400 #endif +#include <bits/termios-baud.h> + #define CSIZE 0000060 /* Number of bits per byte (mask). */ #define CS5 0000000 /* 5 bits per byte. */ #define CS6 0000020 /* 6 bits per byte. */ @@ -64,29 +63,6 @@ typedef unsigned int tcflag_t; #define PARODD 0001000 /* Odd parity instead of even. */ #define HUPCL 0002000 /* Hang up on last close. */ #define CLOCAL 0004000 /* Ignore modem status lines. */ -#ifdef __USE_MISC -# define CBAUDEX 0010000 -#endif -#define B57600 0010001 -#define B115200 0010002 -#define B230400 0010003 -#define B460800 0010004 -#define B500000 0010005 -#define B576000 0010006 -#define B921600 0010007 -#define B1000000 0010010 -#define B1152000 0010011 -#define B1500000 0010012 -#define B2000000 0010013 -#define B2500000 0010014 -#define B3000000 0010015 -#define B3500000 0010016 -#define B4000000 0010017 -#define __MAX_BAUD B4000000 -#ifdef __USE_MISC -# define CIBAUD 002003600000 /* input baud rate (not used) */ -# define CRTSCTS 020000000000 /* flow control */ -#endif /* c_lflag bits */ #define ISIG 0000001 /* Enable signals. */ diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h new file mode 100644 index 0000000000..4f490a929f --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-baud.h @@ -0,0 +1,45 @@ +/* termios baud rate selection 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-baud.h> directly; use <termios.h> instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 0000377 +# define CBAUDEX 0000020 +# define CMSPAR 010000000000 /* mark or space (stick) parity */ +# define CRTSCTS 020000000000 /* flow control */ +#endif + +#define B57600 00020 +#define B115200 00021 +#define B230400 00022 +#define B460800 00023 +#define B500000 00024 +#define B576000 00025 +#define B921600 00026 +#define B1000000 00027 +#define B1152000 00030 +#define B1500000 00031 +#define B2000000 00032 +#define B2500000 00033 +#define B3000000 00034 +#define B3500000 00035 +#define B4000000 00036 +#define __MAX_BAUD B4000000 diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h index 4045274af9..2f928d5217 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h @@ -29,9 +29,6 @@ typedef unsigned int tcflag_t; #include <bits/termios-c_oflag.h> /* c_cflag bit meaning */ -#ifdef __USE_MISC -# define CBAUD 0000377 -#endif #define B0 0000000 /* hang up */ #define B50 0000001 #define B75 0000002 @@ -51,24 +48,8 @@ typedef unsigned int tcflag_t; #ifdef __USE_MISC # define EXTA B19200 # define EXTB B38400 -# define CBAUDEX 0000020 #endif -#define B57600 00020 -#define B115200 00021 -#define B230400 00022 -#define B460800 00023 -#define B500000 00024 -#define B576000 00025 -#define B921600 00026 -#define B1000000 00027 -#define B1152000 00030 -#define B1500000 00031 -#define B2000000 00032 -#define B2500000 00033 -#define B3000000 00034 -#define B3500000 00035 -#define B4000000 00036 -#define __MAX_BAUD B4000000 +#include <bits/termios-baud.h> #define CSIZE 00001400 #define CS5 00000000 @@ -83,10 +64,6 @@ typedef unsigned int tcflag_t; #define HUPCL 00040000 #define CLOCAL 00100000 -#ifdef __USE_MISC -# define CMSPAR 010000000000 /* mark or space (stick) parity */ -# define CRTSCTS 020000000000 /* flow control */ -#endif /* c_lflag bits */ #define ISIG 0x00000080 diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h index 9c884eb791..d612080754 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h @@ -30,9 +30,6 @@ typedef unsigned int tcflag_t; #include <bits/termios-c_oflag.h> /* c_cflag bit meaning */ -#ifdef __USE_MISC -# define CBAUD 0x0000100f -#endif #define B0 0x00000000 /* hang up */ #define B50 0x00000001 #define B75 0x00000002 @@ -53,6 +50,8 @@ typedef unsigned int tcflag_t; # define EXTA B19200 # define EXTB B38400 #endif +#include <bits/termios-baud.h> + #define CSIZE 0x00000030 #define CS5 0x00000000 #define CS6 0x00000010 @@ -64,31 +63,6 @@ typedef unsigned int tcflag_t; #define PARODD 0x00000200 #define HUPCL 0x00000400 #define CLOCAL 0x00000800 -#ifdef __USE_MISC -# define CBAUDEX 0x00001000 -#endif -#define B57600 0x00001001 -#define B115200 0x00001002 -#define B230400 0x00001003 -#define B460800 0x00001004 -#define B76800 0x00001005 -#define B153600 0x00001006 -#define B307200 0x00001007 -#define B614400 0x00001008 -#define B921600 0x00001009 -#define B500000 0x0000100a -#define B576000 0x0000100b -#define B1000000 0x0000100c -#define B1152000 0x0000100d -#define B1500000 0x0000100e -#define B2000000 0x0000100f -#define __MAX_BAUD B2000000 - -#ifdef __USE_MISC -# define CIBAUD 0x100f0000 /* input baud rate (not used) */ -# define CMSPAR 0x40000000 /* mark or space (stick) parity */ -# define CRTSCTS 0x80000000 /* flow control */ -#endif /* c_lflag bits */ #define ISIG 0x00000001