termios: Consolidate Output Modes definitions

This patch consolidates the termios symbolic constants used for ouput
modes with c_oflag 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, powerpc, and sparc).

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_routines): Add
	termios-c_oflag.h.
	* sysdeps/unix/sysv/linux/bits/termios-c_oflag.h: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/termios.h (OPOST, OLCUC, ONLCR, OCRNL,
	ONOCR, ONLRET, OFILL, OFDEL, VTDLY, VT0, VT1):  Move to
	termios-c_oflag.h.
	[__USE_MISC || __USE_XOPEN] (NLDLY, NL0, NL1, CRDLY, CR0, CR1, CR2,
	CR3, TABDLY, TAB0, TAB1, TAB2, TAB3, BSDLY, BS0, BS1, FFDLY, FF0,
	FFR1): Likewise.
	[USE_MISC] (XTABS): Likewise.
	* 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.
This commit is contained in:
Adhemerval Zanella 2018-10-09 11:56:06 -03:00
parent 3127003e75
commit 7b83201888
11 changed files with 280 additions and 211 deletions

View File

@ -1,5 +1,23 @@
2019-01-03 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
termios-c_oflag.h.
* sysdeps/unix/sysv/linux/bits/termios-c_oflag.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h: Likewise.
* sysdeps/unix/sysv/linux/bits/termios.h (OPOST, OLCUC, ONLCR, OCRNL,
ONOCR, ONLRET, OFILL, OFDEL, VTDLY, VT0, VT1): Move to
termios-c_oflag.h.
[__USE_MISC || __USE_XOPEN] (NLDLY, NL0, NL1, CRDLY, CR0, CR1, CR2,
CR3, TABDLY, TAB0, TAB1, TAB2, TAB3, BSDLY, BS0, BS1, FFDLY, FF0,
FFR1): Likewise.
[USE_MISC] (XTABS): Likewise.
* 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 (sysdeps_headers): Add
termios-c_iflag.h.
* sysdeps/unix/sysv/linux/bits/termios-c_iflag.h: New file.

View File

@ -45,7 +45,7 @@ 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_iflag.h bits/termios-c_oflag.h
tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \
tst-quota tst-sync_file_range tst-sysconf-iov_max tst-ttyname \

View File

@ -0,0 +1,66 @@
/* termios output mode definitions. Linux/alpha 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-c_oflag.h> directly; use <termios.h> instead."
#endif
/* c_oflag bits */
#define OPOST 0000001
#define ONLCR 0000002
#define OLCUC 0000004
#define OCRNL 0000010
#define ONOCR 0000020
#define ONLRET 0000040
#define OFILL 00000100
#define OFDEL 00000200
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 00001400
# define NL0 00000000
# define NL1 00000400
# if defined __USE_MISC
# define NL2 00001000
# define NL3 00001400
# endif
# define TABDLY 00006000
# define TAB0 00000000
# define TAB1 00002000
# define TAB2 00004000
# define TAB3 00006000
# define CRDLY 00030000
# define CR0 00000000
# define CR1 00010000
# define CR2 00020000
# define CR3 00030000
# define FFDLY 00040000
# define FF0 00000000
# define FF1 00040000
# define BSDLY 00100000
# define BS0 00000000
# define BS1 00100000
#endif
#define VTDLY 00200000
#define VT0 00000000
#define VT1 00200000
#ifdef __USE_MISC
# define XTABS TAB3
#endif

View File

@ -27,51 +27,7 @@ typedef unsigned int tcflag_t;
#include <bits/termios-struct.h>
#include <bits/termios-c_cc.h>
#include <bits/termios-c_iflag.h>
/* c_oflag bits */
#define OPOST 0000001
#define ONLCR 0000002
#define OLCUC 0000004
#define OCRNL 0000010
#define ONOCR 0000020
#define ONLRET 0000040
#define OFILL 00000100
#define OFDEL 00000200
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 00001400
# define NL0 00000000
# define NL1 00000400
# if defined __USE_MISC
# define NL2 00001000
# define NL3 00001400
# endif
# define TABDLY 00006000
# define TAB0 00000000
# define TAB1 00002000
# define TAB2 00004000
# define TAB3 00006000
# define CRDLY 00030000
# define CR0 00000000
# define CR1 00010000
# define CR2 00020000
# define CR3 00030000
# define FFDLY 00040000
# define FF0 00000000
# define FF1 00040000
# define BSDLY 00100000
# define BS0 00000000
# define BS1 00100000
#endif
#define VTDLY 00200000
#define VT0 00000000
#define VT1 00200000
#ifdef __USE_MISC
# define XTABS TAB3
#endif
#include <bits/termios-c_oflag.h>
/* c_cflag bit meaning */
#ifdef __USE_MISC

View File

@ -0,0 +1,61 @@
/* termios output mode 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-c_oflag.h> directly; use <termios.h> instead."
#endif
/* c_oflag bits */
#define OPOST 0000001 /* Post-process output. */
#define OLCUC 0000002 /* Map lowercase characters to uppercase on output.
(not in POSIX). */
#define ONLCR 0000004 /* Map NL to CR-NL on output. */
#define OCRNL 0000010 /* Map CR to NL on output. */
#define ONOCR 0000020 /* No CR output at column 0. */
#define ONLRET 0000040 /* NL performs CR function. */
#define OFILL 0000100 /* Use fill characters for delay. */
#define OFDEL 0000200 /* Fill is DEL. */
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 0000400 /* Select newline delays: */
# define NL0 0000000 /* Newline type 0. */
# define NL1 0000400 /* Newline type 1. */
# define CRDLY 0003000 /* Select carriage-return delays: */
# define CR0 0000000 /* Carriage-return delay type 0. */
# define CR1 0001000 /* Carriage-return delay type 1. */
# define CR2 0002000 /* Carriage-return delay type 2. */
# define CR3 0003000 /* Carriage-return delay type 3. */
# define TABDLY 0014000 /* Select horizontal-tab delays: */
# define TAB0 0000000 /* Horizontal-tab delay type 0. */
# define TAB1 0004000 /* Horizontal-tab delay type 1. */
# define TAB2 0010000 /* Horizontal-tab delay type 2. */
# define TAB3 0014000 /* Expand tabs to spaces. */
# define BSDLY 0020000 /* Select backspace delays: */
# define BS0 0000000 /* Backspace-delay type 0. */
# define BS1 0020000 /* Backspace-delay type 1. */
# define FFDLY 0100000 /* Select form-feed delays: */
# define FF0 0000000 /* Form-feed delay type 0. */
# define FF1 0100000 /* Form-feed delay type 1. */
#endif
#define VTDLY 0040000 /* Select vertical-tab delays: */
#define VT0 0000000 /* Vertical-tab delay type 0. */
#define VT1 0040000 /* Vertical-tab delay type 1. */
#ifdef __USE_MISC
# define XTABS 0014000
#endif

View File

@ -27,45 +27,7 @@ typedef unsigned int tcflag_t;
#include <bits/termios-struct.h>
#include <bits/termios-c_cc.h>
#include <bits/termios-c_iflag.h>
/* c_oflag bits */
#define OPOST 0000001
#define OLCUC 0000002
#define ONLCR 0000004
#define OCRNL 0000010
#define ONOCR 0000020
#define ONLRET 0000040
#define OFILL 0000100
#define OFDEL 0000200
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 0000400
# define NL0 0000000
# define NL1 0000400
# define CRDLY 0003000
# define CR0 0000000
# define CR1 0001000
# define CR2 0002000
# define CR3 0003000
# define TABDLY 0014000
# define TAB0 0000000
# define TAB1 0004000
# define TAB2 0010000
# define TAB3 0014000
# define BSDLY 0020000
# define BS0 0000000
# define BS1 0020000
# define FFDLY 0100000
# define FF0 0000000
# define FF1 0100000
#endif
#define VTDLY 0040000
#define VT0 0000000
#define VT1 0040000
#ifdef __USE_MISC
# define XTABS 0014000
#endif
#include <bits/termios-c_oflag.h>
/* c_cflag bit meaning */
#ifdef __USE_MISC

View File

@ -27,45 +27,7 @@ typedef unsigned int tcflag_t;
#include <bits/termios-struct.h>
#include <bits/termios-c_cc.h>
#include <bits/termios-c_iflag.h>
/* c_oflag bits */
#define OPOST 0000001 /* Perform output processing. */
#define OLCUC 0000002 /* Map lower case to upper case on output. */
#define ONLCR 0000004 /* Map NL to CR-NL on output. */
#define OCRNL 0000010
#define ONOCR 0000020
#define ONLRET 0000040
#define OFILL 0000100
#define OFDEL 0000200
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 0000400
# define NL0 0000000
# define NL1 0000400
# define CRDLY 0003000
# define CR0 0000000
# define CR1 0001000
# define CR2 0002000
# define CR3 0003000
# define TABDLY 0014000
# define TAB0 0000000
# define TAB1 0004000
# define TAB2 0010000
# define TAB3 0014000
# define BSDLY 0020000
# define BS0 0000000
# define BS1 0020000
# define FFDLY 0100000
# define FF0 0000000
# define FF1 0100000
#endif
#define VTDLY 0040000
#define VT0 0000000
#define VT1 0040000
#ifdef __USE_MISC
# define XTABS 0014000
#endif
#include <bits/termios-c_oflag.h>
/* c_cflag bit meaning */
#ifdef __USE_MISC

View File

@ -0,0 +1,65 @@
/* termios output mode definitions. Linux/powerpc 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-c_oflag.h> directly; use <termios.h> instead."
#endif
/* c_oflag bits */
#define OPOST 0000001
#define ONLCR 0000002
#define OLCUC 0000004
#define OCRNL 0000010
#define ONOCR 0000020
#define ONLRET 0000040
#define OFILL 00000100
#define OFDEL 00000200
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 00001400
# define NL0 00000000
# define NL1 00000400
# if defined __USE_MISC
# define NL2 00001000
# define NL3 00001400
# endif
# define TABDLY 00006000
# define TAB0 00000000
# define TAB1 00002000
# define TAB2 00004000
# define TAB3 00006000
# define CRDLY 00030000
# define CR0 00000000
# define CR1 00010000
# define CR2 00020000
# define CR3 00030000
# define FFDLY 00040000
# define FF0 00000000
# define FF1 00040000
# define BSDLY 00100000
# define BS0 00000000
# define BS1 00100000
#endif
#define VTDLY 00200000
#define VT0 00000000
#define VT1 00200000
#ifdef __USE_MISC
# define XTABS 00006000
#endif

View File

@ -26,50 +26,7 @@ typedef unsigned int tcflag_t;
#include <bits/termios-struct.h>
#include <bits/termios-c_cc.h>
#include <bits/termios-c_iflag.h>
/* c_oflag bits */
#define OPOST 0000001
#define ONLCR 0000002
#define OLCUC 0000004
#define OCRNL 0000010
#define ONOCR 0000020
#define ONLRET 0000040
#define OFILL 00000100
#define OFDEL 00000200
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 00001400
# define NL0 00000000
# define NL1 00000400
# if defined __USE_MISC
# define NL2 00001000
# define NL3 00001400
# endif
# define TABDLY 00006000
# define TAB0 00000000
# define TAB1 00002000
# define TAB2 00004000
# define TAB3 00006000
# define CRDLY 00030000
# define CR0 00000000
# define CR1 00010000
# define CR2 00020000
# define CR3 00030000
# define FFDLY 00040000
# define FF0 00000000
# define FF1 00040000
# define BSDLY 00100000
# define BS0 00000000
# define BS1 00100000
#endif
#define VTDLY 00200000
#define VT0 00000000
#define VT1 00200000
#ifdef __USE_MISC
# define XTABS 00006000
#endif
#include <bits/termios-c_oflag.h>
/* c_cflag bit meaning */
#ifdef __USE_MISC

View File

@ -0,0 +1,64 @@
/* termios output mode definitions. Linux/sparc 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-c_oflag.h> directly; use <termios.h> instead."
#endif
/* c_oflag bits */
#define OPOST 0x00000001
#define OLCUC 0x00000002
#define ONLCR 0x00000004
#define OCRNL 0x00000008
#define ONOCR 0x00000010
#define ONLRET 0x00000020
#define OFILL 0x00000040
#define OFDEL 0x00000080
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 0x00000100
# define NL0 0x00000000
# define NL1 0x00000100
# define CRDLY 0x00000600
# define CR0 0x00000000
# define CR1 0x00000200
# define CR2 0x00000400
# define CR3 0x00000600
# define TABDLY 0x00001800
# define TAB0 0x00000000
# define TAB1 0x00000800
# define TAB2 0x00001000
# define TAB3 0x00001800
# define BSDLY 0x00002000
# define BS0 0x00000000
# define BS1 0x00002000
#define FFDLY 0x00008000
#define FF0 0x00000000
#define FF1 0x00008000
#endif
#define VTDLY 0x00004000
#define VT0 0x00000000
#define VT1 0x00004000
# if defined __USE_GNU
#define PAGEOUT 0x00010000 /* SUNOS specific */
#define WRAP 0x00020000 /* SUNOS specific */
# endif
#ifdef __USE_MISC
# define XTABS 0x00001800
#endif

View File

@ -27,49 +27,7 @@ typedef unsigned int tcflag_t;
#include <bits/termios-struct.h>
#include <bits/termios-c_cc.h>
#include <bits/termios-c_iflag.h>
/* c_oflag bits */
#define OPOST 0x00000001
#define OLCUC 0x00000002
#define ONLCR 0x00000004
#define OCRNL 0x00000008
#define ONOCR 0x00000010
#define ONLRET 0x00000020
#define OFILL 0x00000040
#define OFDEL 0x00000080
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 0x00000100
# define NL0 0x00000000
# define NL1 0x00000100
# define CRDLY 0x00000600
# define CR0 0x00000000
# define CR1 0x00000200
# define CR2 0x00000400
# define CR3 0x00000600
# define TABDLY 0x00001800
# define TAB0 0x00000000
# define TAB1 0x00000800
# define TAB2 0x00001000
# define TAB3 0x00001800
# define BSDLY 0x00002000
# define BS0 0x00000000
# define BS1 0x00002000
#define FFDLY 0x00008000
#define FF0 0x00000000
#define FF1 0x00008000
#endif
#define VTDLY 0x00004000
#define VT0 0x00000000
#define VT1 0x00004000
# if defined __USE_GNU
#define PAGEOUT 0x00010000 /* SUNOS specific */
#define WRAP 0x00020000 /* SUNOS specific */
# endif
#ifdef __USE_MISC
# define XTABS 0x00001800
#endif
#include <bits/termios-c_oflag.h>
/* c_cflag bit meaning */
#ifdef __USE_MISC