This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 05/12] termios: Consolidate Output Modes definitions
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: libc-alpha at sourceware dot org
- Date: Tue, 6 Nov 2018 15:14:46 -0200
- Subject: Re: [PATCH 05/12] termios: Consolidate Output Modes definitions
- References: <20181015204956.25558-1-adhemerval.zanella@linaro.org> <20181015204956.25558-5-adhemerval.zanella@linaro.org>
Ping.
On 15/10/2018 17:49, Adhemerval Zanella wrote:
> 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.
> ---
> sysdeps/unix/sysv/linux/Makefile | 2 +-
> .../sysv/linux/alpha/bits/termios-c_oflag.h | 66 +++++++++++++++++++
> sysdeps/unix/sysv/linux/alpha/bits/termios.h | 46 +------------
> .../unix/sysv/linux/bits/termios-c_oflag.h | 61 +++++++++++++++++
> sysdeps/unix/sysv/linux/bits/termios.h | 40 +----------
> sysdeps/unix/sysv/linux/mips/bits/termios.h | 40 +----------
> .../sysv/linux/powerpc/bits/termios-c_oflag.h | 65 ++++++++++++++++++
> .../unix/sysv/linux/powerpc/bits/termios.h | 45 +------------
> .../sysv/linux/sparc/bits/termios-c_oflag.h | 64 ++++++++++++++++++
> sysdeps/unix/sysv/linux/sparc/bits/termios.h | 44 +------------
> 10 files changed, 262 insertions(+), 211 deletions(-)
> create mode 100644 sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h
> create mode 100644 sysdeps/unix/sysv/linux/bits/termios-c_oflag.h
> create mode 100644 sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h
> create mode 100644 sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h
>
> diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
> index 2f5a59cb11..097107c82c 100644
> --- a/sysdeps/unix/sysv/linux/Makefile
> +++ b/sysdeps/unix/sysv/linux/Makefile
> @@ -44,7 +44,7 @@ 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_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 \
> diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h
> new file mode 100644
> index 0000000000..6458f6556b
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h
> @@ -0,0 +1,66 @@
> +/* termios output 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_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
> diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
> index 4d49c66aa8..7259c1dd30 100644
> --- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h
> +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
> @@ -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
> diff --git a/sysdeps/unix/sysv/linux/bits/termios-c_oflag.h b/sysdeps/unix/sysv/linux/bits/termios-c_oflag.h
> new file mode 100644
> index 0000000000..038005b1cb
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/bits/termios-c_oflag.h
> @@ -0,0 +1,61 @@
> +/* termios output 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-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
> diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h
> index 6ce5c56049..15b279b01e 100644
> --- a/sysdeps/unix/sysv/linux/bits/termios.h
> +++ b/sysdeps/unix/sysv/linux/bits/termios.h
> @@ -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
> diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h
> index a8a37ff176..f851adbfe1 100644
> --- a/sysdeps/unix/sysv/linux/mips/bits/termios.h
> +++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h
> @@ -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
> diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h
> new file mode 100644
> index 0000000000..5e944df7cc
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h
> @@ -0,0 +1,65 @@
> +/* termios output 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_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
> diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
> index 4ccabd7095..4045274af9 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
> +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
> @@ -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
> diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h b/sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h
> new file mode 100644
> index 0000000000..fab3072782
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h
> @@ -0,0 +1,64 @@
> +/* termios output mode definitions. Linux/sparc 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_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
> diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
> index 4123ed7aaa..9c884eb791 100644
> --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h
> +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
> @@ -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
>