@@ -45,7 +45,8 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
bits/procfs-prregset.h bits/mman-map-flags-generic.h \
bits/msq-pad.h bits/sem-pad.h bits/shmlba.h bits/shm-pad.h \
bits/termios-struct.h bits/termios-c_cc.h \
- bits/termios-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 \
new file mode 100644
@@ -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
@@ -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
new file mode 100644
@@ -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
@@ -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
@@ -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. */
new file mode 100644
@@ -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
@@ -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
@@ -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