about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/bits/termios-baud.h
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2018-10-09 14:35:03 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-01-03 09:32:12 -0200
commit9c5d0d02c1122d10c2407333eeecd1ee2285084b (patch)
treed887b8616cc5682424cb37445072b63843556c01 /sysdeps/unix/sysv/linux/bits/termios-baud.h
parent7b832018881cbc860c70b7a768dae9cfb7b55663 (diff)
downloadglibc-9c5d0d02c1122d10c2407333eeecd1ee2285084b.tar.gz
glibc-9c5d0d02c1122d10c2407333eeecd1ee2285084b.tar.xz
glibc-9c5d0d02c1122d10c2407333eeecd1ee2285084b.zip
termios: Consolidate Baud Rate Selection definitions (BZ#23783)
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.

	[BZ #23783]
	* 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/sparc/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.
Diffstat (limited to 'sysdeps/unix/sysv/linux/bits/termios-baud.h')
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios-baud.h48
1 files changed, 48 insertions, 0 deletions
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..7258d67eb5
--- /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) 2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _TERMIOS_H
+# error "Never include <bits/termios-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