123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434 |
- From 11d50ce9f44e5d2224ec6a3d8a9225d9164c7c64 Mon Sep 17 00:00:00 2001
- From: Vadim Kochan <vadim4j@gmail.com>
- Date: Tue, 20 Aug 2019 23:16:18 +0300
- Subject: [PATCH] PowerPC: sync with termios fix from glibc
- It fixes the following bug:
- https://bugzilla.redhat.com/show_bug.cgi?id=1122714
- with original glibc's fix:
- d4795e4a43e6f0c221bc5 (PowerPC: Fix termios definitions)
- https://sourceware.org/git/?p=glibc.git;a=commit;h=d4795e4a43e6f0c221bc5dc64c612206a21a177b
- Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
- ---
- libc/sysdeps/linux/powerpc/bits/ioctl-types.h | 74 +++-
- libc/sysdeps/linux/powerpc/bits/termios.h | 320 ------------------
- 2 files changed, 73 insertions(+), 321 deletions(-)
- delete mode 100644 libc/sysdeps/linux/powerpc/bits/termios.h
- diff --git a/libc/sysdeps/linux/powerpc/bits/ioctl-types.h b/libc/sysdeps/linux/powerpc/bits/ioctl-types.h
- index 87b8265af..926061fa8 100644
- --- a/libc/sysdeps/linux/powerpc/bits/ioctl-types.h
- +++ b/libc/sysdeps/linux/powerpc/bits/ioctl-types.h
- @@ -1,5 +1,77 @@
- +/* Structure types for pre-termios terminal ioctls. Linux/powerpc version.
- + Copyright (C) 2014-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 _SYS_IOCTL_H
- # error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
- #endif
-
- -#include <termios.h>
- +/* Get definition of constants for use with `ioctl'. */
- +#include <asm/ioctls.h>
- +
- +
- +struct winsize
- + {
- + unsigned short int ws_row;
- + unsigned short int ws_col;
- + unsigned short int ws_xpixel;
- + unsigned short int ws_ypixel;
- + };
- +
- +#define NCC 10
- +struct termio
- + {
- + unsigned short int c_iflag; /* input mode flags */
- + unsigned short int c_oflag; /* output mode flags */
- + unsigned short int c_cflag; /* control mode flags */
- + unsigned short int c_lflag; /* local mode flags */
- + unsigned char c_line; /* line discipline */
- + unsigned char c_cc[NCC]; /* control characters */
- +};
- +
- +/* modem lines */
- +#define TIOCM_LE 0x001
- +#define TIOCM_DTR 0x002
- +#define TIOCM_RTS 0x004
- +#define TIOCM_ST 0x008
- +#define TIOCM_SR 0x010
- +#define TIOCM_CTS 0x020
- +#define TIOCM_CAR 0x040
- +#define TIOCM_RNG 0x080
- +#define TIOCM_DSR 0x100
- +#define TIOCM_CD TIOCM_CAR
- +#define TIOCM_RI TIOCM_RNG
- +
- +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
- +
- +/* line disciplines */
- +#define N_TTY 0
- +#define N_SLIP 1
- +#define N_MOUSE 2
- +#define N_PPP 3
- +#define N_STRIP 4
- +#define N_AX25 5
- +#define N_X25 6 /* X.25 async */
- +#define N_6PACK 7
- +#define N_MASC 8 /* Mobitex module */
- +#define N_R3964 9 /* Simatic R3964 module */
- +#define N_PROFIBUS_FDL 10 /* Profibus */
- +#define N_IRDA 11 /* Linux IR */
- +#define N_SMSBLOCK 12 /* SMS block mode */
- +#define N_HDLC 13 /* synchronous HDLC */
- +#define N_SYNC_PPP 14 /* synchronous PPP */
- +#define N_HCI 15 /* Bluetooth HCI UART */
- diff --git a/libc/sysdeps/linux/powerpc/bits/termios.h b/libc/sysdeps/linux/powerpc/bits/termios.h
- deleted file mode 100644
- index ffd99a5e2..000000000
- --- a/libc/sysdeps/linux/powerpc/bits/termios.h
- +++ /dev/null
- @@ -1,320 +0,0 @@
- -/* Copyright (C) 1997,1999,2001,2003,2004,2005 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.h> directly; use <termios.h> instead."
- -#endif
- -
- -typedef unsigned char cc_t;
- -typedef unsigned int speed_t;
- -typedef unsigned int tcflag_t;
- -
- -/*
- - * termios type and macro definitions. Be careful about adding stuff
- - * to this file since it's used in GNU libc and there are strict rules
- - * concerning namespace pollution.
- - */
- -
- -#define NCCS 32
- -struct termios {
- - tcflag_t c_iflag; /* input mode flags */
- - tcflag_t c_oflag; /* output mode flags */
- - tcflag_t c_cflag; /* control mode flags */
- - tcflag_t c_lflag; /* local mode flags */
- - cc_t c_line; /* line discipline (== c_cc[19]) */
- - cc_t c_cc[NCCS]; /* control characters */
- - speed_t c_ispeed; /* input speed */
- - speed_t c_ospeed; /* output speed */
- -#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
- -#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
- -};
- -
- -/* c_cc characters */
- -#define VINTR 0
- -#define VQUIT 1
- -#define VERASE 2
- -#define VKILL 3
- -#define VEOF 4
- -#define VMIN 5
- -#define VEOL 6
- -#define VTIME 7
- -#define VEOL2 8
- -#define VSWTC 9
- -
- -#define VWERASE 10
- -#define VREPRINT 11
- -#define VSUSP 12
- -#define VSTART 13
- -#define VSTOP 14
- -#define VLNEXT 15
- -#define VDISCARD 16
- -
- -/* c_iflag bits */
- -#define IGNBRK 0000001
- -#define BRKINT 0000002
- -#define IGNPAR 0000004
- -#define PARMRK 0000010
- -#define INPCK 0000020
- -#define ISTRIP 0000040
- -#define INLCR 0000100
- -#define IGNCR 0000200
- -#define ICRNL 0000400
- -#define IXON 0001000
- -#define IXOFF 0002000
- -#define IXANY 0004000
- -#define IUCLC 0010000
- -#define IMAXBEL 0020000
- -#define IUTF8 0040000
- -
- -/* 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
- -# define NL2 00001000
- -# define NL3 00001400
- -# 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
- -
- -/* c_cflag bit meaning */
- -#ifdef __USE_MISC
- -# define CBAUD 0000377
- -#endif
- -#define B0 0000000 /* hang up */
- -#define B50 0000001
- -#define B75 0000002
- -#define B110 0000003
- -#define B134 0000004
- -#define B150 0000005
- -#define B200 0000006
- -#define B300 0000007
- -#define B600 0000010
- -#define B1200 0000011
- -#define B1800 0000012
- -#define B2400 0000013
- -#define B4800 0000014
- -#define B9600 0000015
- -#define B19200 0000016
- -#define B38400 0000017
- -#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
- -
- -#define CSIZE 00001400
- -#define CS5 00000000
- -#define CS6 00000400
- -#define CS7 00001000
- -#define CS8 00001400
- -
- -#define CSTOPB 00002000
- -#define CREAD 00004000
- -#define PARENB 00010000
- -#define PARODD 00020000
- -#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
- -#define ICANON 0x00000100
- -#if defined __USE_MISC || defined __USE_XOPEN
- -# define XCASE 0x00004000
- -#endif
- -#define ECHO 0x00000008
- -#define ECHOE 0x00000002
- -#define ECHOK 0x00000004
- -#define ECHONL 0x00000010
- -#define NOFLSH 0x80000000
- -#define TOSTOP 0x00400000
- -#ifdef __USE_MISC
- -# define ECHOCTL 0x00000040
- -# define ECHOPRT 0x00000020
- -# define ECHOKE 0x00000001
- -# define FLUSHO 0x00800000
- -# define PENDIN 0x20000000
- -#endif
- -#define IEXTEN 0x00000400
- -
- -/* Values for the ACTION argument to `tcflow'. */
- -#define TCOOFF 0
- -#define TCOON 1
- -#define TCIOFF 2
- -#define TCION 3
- -
- -/* Values for the QUEUE_SELECTOR argument to `tcflush'. */
- -#define TCIFLUSH 0
- -#define TCOFLUSH 1
- -#define TCIOFLUSH 2
- -
- -/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. */
- -#define TCSANOW 0
- -#define TCSADRAIN 1
- -#define TCSAFLUSH 2
- -
- -#ifndef __UCLIBC_STRICT_HEADERS__
- -struct sgttyb {
- - char sg_ispeed;
- - char sg_ospeed;
- - char sg_erase;
- - char sg_kill;
- - short sg_flags;
- -};
- -#endif
- -
- -struct tchars {
- - char t_intrc;
- - char t_quitc;
- - char t_startc;
- - char t_stopc;
- - char t_eofc;
- - char t_brkc;
- -};
- -
- -struct ltchars {
- - char t_suspc;
- - char t_dsuspc;
- - char t_rprntc;
- - char t_flushc;
- - char t_werasc;
- - char t_lnextc;
- -};
- -
- -/* Used for packet mode */
- -#define TIOCPKT_DATA 0
- -#define TIOCPKT_FLUSHREAD 1
- -#define TIOCPKT_FLUSHWRITE 2
- -#define TIOCPKT_STOP 4
- -#define TIOCPKT_START 8
- -#define TIOCPKT_NOSTOP 16
- -#define TIOCPKT_DOSTOP 32
- -
- -struct winsize {
- - unsigned short ws_row;
- - unsigned short ws_col;
- - unsigned short ws_xpixel;
- - unsigned short ws_ypixel;
- -};
- -
- -#define NCC 10
- -struct termio {
- - unsigned short c_iflag; /* input mode flags */
- - unsigned short c_oflag; /* output mode flags */
- - unsigned short c_cflag; /* control mode flags */
- - unsigned short c_lflag; /* local mode flags */
- - unsigned char c_line; /* line discipline */
- - unsigned char c_cc[NCC]; /* control characters */
- -};
- -
- -/* c_cc characters */
- -#define _VINTR 0
- -#define _VQUIT 1
- -#define _VERASE 2
- -#define _VKILL 3
- -#define _VEOF 4
- -#define _VMIN 5
- -#define _VEOL 6
- -#define _VTIME 7
- -#define _VEOL2 8
- -#define _VSWTC 9
- -
- -/* modem lines */
- -#define TIOCM_LE 0x001
- -#define TIOCM_DTR 0x002
- -#define TIOCM_RTS 0x004
- -#define TIOCM_ST 0x008
- -#define TIOCM_SR 0x010
- -#define TIOCM_CTS 0x020
- -#define TIOCM_CAR 0x040
- -#define TIOCM_RNG 0x080
- -#define TIOCM_DSR 0x100
- -#define TIOCM_CD TIOCM_CAR
- -#define TIOCM_RI TIOCM_RNG
- -
- -/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
- -#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
- -
- -/* line disciplines */
- -#define N_TTY 0
- -#define N_SLIP 1
- -#define N_MOUSE 2
- -#define N_PPP 3
- -#define N_STRIP 4
- -#define N_AX25 5
- -#define N_X25 6 /* X.25 async */
- -#define N_6PACK 7
- -#define N_MASC 8 /* Mobitex module */
- -#define N_R3964 9 /* Simatic R3964 module */
- -#define N_PROFIBUS_FDL 10 /* Profibus */
- -#define N_IRDA 11 /* Linux IR */
- -#define N_SMSBLOCK 12 /* SMS block mode */
- -#define N_HDLC 13 /* synchronous HDLC */
- -#define N_SYNC_PPP 14 /* synchronous PPP */
- -#define N_HCI 15 /* Bluetooth HCI UART */
- --
- 2.22.0
|