]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
termios: Consolidate Output Modes definitions
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 9 Oct 2018 14:56:06 +0000 (11:56 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 3 Jan 2019 11:32:12 +0000 (09:32 -0200)
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.

ChangeLog
sysdeps/unix/sysv/linux/Makefile
sysdeps/unix/sysv/linux/alpha/bits/termios-c_oflag.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/alpha/bits/termios.h
sysdeps/unix/sysv/linux/bits/termios-c_oflag.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/bits/termios.h
sysdeps/unix/sysv/linux/mips/bits/termios.h
sysdeps/unix/sysv/linux/powerpc/bits/termios-c_oflag.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/bits/termios.h
sysdeps/unix/sysv/linux/sparc/bits/termios-c_oflag.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/sparc/bits/termios.h

index 5b5bca47a67df4ae6f9d0dfda2ff7201dce569c6..9edf6ca673eb0b404a0687b878965a9554ba5c7b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index 242eef13eb42ac203f119c55a1754ce3147b7cac..686b3e236b9ee9594a0703148bbe0befe4492f4d 100644 (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 \
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 (file)
index 0000000..8961792
--- /dev/null
@@ -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
index a48a4b45d530ae498f0c5bdc7951f3b1a81b76a8..9f39f75e6c6588bae6a401999e02d09af00f9583 100644 (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
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 (file)
index 0000000..0b90f81
--- /dev/null
@@ -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
index c4e8fede5c5a15640392df7c07fd784879e2c3a3..d8af5f4a7c15dc81938605725895679974264027 100644 (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
index 5ee7a76724656c22347e2513f542e83f753cc041..cb019295b31723a1c391a58c61de68689bd5c809 100644 (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
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 (file)
index 0000000..5f479d2
--- /dev/null
@@ -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
index c7aac195f164c025a621428a4aa7b3fa3540395d..d89fad8368b7cd96fd736d2ffe10519a34d6254a 100644 (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
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 (file)
index 0000000..fa7bf66
--- /dev/null
@@ -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
index d76e31819dad34a6a042ca0ddd2b9e55d67e8902..df278b6571ed1c68a4059dda1141dda50f5a00fe 100644 (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