[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/3] linux-user: Add generic 'termbits.h' for some archs
From: |
Laurent Vivier |
Subject: |
Re: [PATCH v2 1/3] linux-user: Add generic 'termbits.h' for some archs |
Date: |
Fri, 7 Aug 2020 15:10:58 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
Le 23/07/2020 à 23:02, Filip Bozuta a écrit :
> This patch introduces a generic 'termbits.h' file for following
> archs: 'aarch64', 'arm', 'i386, 'm68k', 'microblaze', 'nios2',
> 'openrisc', 'riscv', 's390x', 'x86_64'.
>
> Since all of these archs have the same termios flag values and
> same ioctl_tty numbers, there is no need for a separate 'termbits.h'
> file for each one of them. For that reason one generic 'termbits.h'
> file was added for all of them and an '#include' directive was
> added for this generic file in every arch 'termbits.h' file.
>
> Also, some of the flag values that were missing were added in this
> generic file so that it matches the generic 'termibts.h' and 'ioctls.h'
> files from the kernel: 'asm-generic/termbits.h' and 'asm-generic/ioctls.h'.
>
> Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com>
> ---
> linux-user/aarch64/termbits.h | 228 +---------------------
> linux-user/arm/termbits.h | 223 +---------------------
> linux-user/generic/termbits.h | 318 +++++++++++++++++++++++++++++++
> linux-user/i386/termbits.h | 233 +---------------------
> linux-user/m68k/termbits.h | 234 +----------------------
> linux-user/microblaze/termbits.h | 220 +--------------------
> linux-user/nios2/termbits.h | 228 +---------------------
> linux-user/openrisc/termbits.h | 302 +----------------------------
> linux-user/riscv/termbits.h | 228 +---------------------
> linux-user/s390x/termbits.h | 289 +---------------------------
> linux-user/tilegx/termbits.h | 276 +--------------------------
> linux-user/x86_64/termbits.h | 254 +-----------------------
> 12 files changed, 329 insertions(+), 2704 deletions(-)
> create mode 100644 linux-user/generic/termbits.h
>
> diff --git a/linux-user/aarch64/termbits.h b/linux-user/aarch64/termbits.h
> index 0ab448d090..b1d4f4fedb 100644
> --- a/linux-user/aarch64/termbits.h
> +++ b/linux-user/aarch64/termbits.h
> @@ -1,227 +1 @@
> -/* from asm/termbits.h */
> -/* NOTE: exactly the same as i386 */
> -
> -#ifndef LINUX_USER_AARCH64_TERMBITS_H
> -#define LINUX_USER_AARCH64_TERMBITS_H
> -
> -#define TARGET_NCCS 19
> -
> -struct target_termios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
> -#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -
> -/* c_cc character offsets */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* ioctls */
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ TARGET_FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
> -#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TIOCGPTN TARGET_IOR('T', 0x30, unsigned int)
> - /* Get Pty Number (of pty-mux device) */
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T', 0x31, int)
> - /* Lock/unlock Pty */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41)
> - /* Safely open the slave */
> -
> -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be
> adjusted. */
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -#define TARGET_TIOCMIWAIT 0x545C
> - /* wait for a change on serial input line(s) */
> -#define TARGET_TIOCGICOUNT 0x545D
> - /* read serial port inline interrupt counts */
> -#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
> -#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/arm/termbits.h b/linux-user/arm/termbits.h
> index e555cff105..b1d4f4fedb 100644
> --- a/linux-user/arm/termbits.h
> +++ b/linux-user/arm/termbits.h
> @@ -1,222 +1 @@
> -/* from asm/termbits.h */
> -/* NOTE: exactly the same as i386 */
> -
> -#ifndef LINUX_USER_ARM_TERMBITS_H
> -#define LINUX_USER_ARM_TERMBITS_H
> -
> -#define TARGET_NCCS 19
> -
> -struct target_termios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
> -#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -
> -/* c_cc character offsets */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* ioctls */
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ TARGET_FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX
> tcsendbreak() */
> -#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty
> Number (of pty-mux device) */
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41) /* Safely open the
> slave */
> -
> -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input
> line(s) */
> -#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt
> counts */
> -#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
> -#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/generic/termbits.h b/linux-user/generic/termbits.h
> new file mode 100644
> index 0000000000..6675e0d1ab
> --- /dev/null
> +++ b/linux-user/generic/termbits.h
> @@ -0,0 +1,318 @@
> +/* Derived from asm-generic/termbits.h */
> +
> +#ifndef GENERIC_TERMBITS_H
> +#define GENERIC_TERMBITS_H
> +
> +typedef unsigned char target_cc_t; /* cc_t */
> +typedef unsigned int target_speed_t; /* speed_t */
> +typedef unsigned int target_tcflag_t; /* tcflag_t */
> +
> +#define TARGET_NCCS 19
> +
> +struct target_termios {
> + target_tcflag_t c_iflag; /* input mode flags */
> + target_tcflag_t c_oflag; /* output mode flags */
> + target_tcflag_t c_cflag; /* control mode flags */
> + target_tcflag_t c_lflag; /* local mode flags */
> + target_cc_t c_line; /* line discipline */
> + target_cc_t c_cc[TARGET_NCCS]; /* control characters */
> +};
> +
> +struct target_termios2 {
> + target_tcflag_t c_iflag; /* input mode flags */
> + target_tcflag_t c_oflag; /* output mode flags */
> + target_tcflag_t c_cflag; /* control mode flags */
> + target_tcflag_t c_lflag; /* local mode flags */
> + target_cc_t c_line; /* line discipline */
> + target_cc_t c_cc[TARGET_NCCS]; /* control characters */
> + target_speed_t c_ispeed; /* input speed */
> + target_speed_t c_ospeed; /* output speed */
> +};
> +
> +struct target_ktermios {
> + target_tcflag_t c_iflag; /* input mode flags */
> + target_tcflag_t c_oflag; /* output mode flags */
> + target_tcflag_t c_cflag; /* control mode flags */
> + target_tcflag_t c_lflag; /* local mode flags */
> + target_cc_t c_line; /* line discipline */
> + target_cc_t c_cc[TARGET_NCCS]; /* control characters */
> + target_speed_t c_ispeed; /* input speed */
> + target_speed_t c_ospeed; /* output speed */
> +};
> +
> +/* c_cc character offsets */
> +#define TARGET_VINTR 0
> +#define TARGET_VQUIT 1
> +#define TARGET_VERASE 2
> +#define TARGET_VKILL 3
> +#define TARGET_VEOF 4
> +#define TARGET_VTIME 5
> +#define TARGET_VMIN 6
> +#define TARGET_VSWTC 7
> +#define TARGET_VSTART 8
> +#define TARGET_VSTOP 9
> +#define TARGET_VSUSP 10
> +#define TARGET_VEOL 11
> +#define TARGET_VREPRINT 12
> +#define TARGET_VDISCARD 13
> +#define TARGET_VWERASE 14
> +#define TARGET_VLNEXT 15
> +#define TARGET_VEOL2 16
> +
> +/* c_iflag bits */
> +#define TARGET_IGNBRK 0000001
> +#define TARGET_BRKINT 0000002
> +#define TARGET_IGNPAR 0000004
> +#define TARGET_PARMRK 0000010
> +#define TARGET_INPCK 0000020
> +#define TARGET_ISTRIP 0000040
> +#define TARGET_INLCR 0000100
> +#define TARGET_IGNCR 0000200
> +#define TARGET_ICRNL 0000400
> +#define TARGET_IUCLC 0001000
> +#define TARGET_IXON 0002000
> +#define TARGET_IXANY 0004000
> +#define TARGET_IXOFF 0010000
> +#define TARGET_IMAXBEL 0020000
> +#define TARGET_IUTF8 0040000
> +
> +/* c_oflag bits */
> +#define TARGET_OPOST 0000001
> +#define TARGET_OLCUC 0000002
> +#define TARGET_ONLCR 0000004
> +#define TARGET_OCRNL 0000010
> +#define TARGET_ONOCR 0000020
> +#define TARGET_ONLRET 0000040
> +#define TARGET_OFILL 0000100
> +#define TARGET_OFDEL 0000200
> +#define TARGET_NLDLY 0000400
> +#define TARGET_NL0 0000000
> +#define TARGET_NL1 0000400
> +#define TARGET_CRDLY 0003000
> +#define TARGET_CR0 0000000
> +#define TARGET_CR1 0001000
> +#define TARGET_CR2 0002000
> +#define TARGET_CR3 0003000
> +#define TARGET_TABDLY 0014000
> +#define TARGET_TAB0 0000000
> +#define TARGET_TAB1 0004000
> +#define TARGET_TAB2 0010000
> +#define TARGET_TAB3 0014000
> +#define TARGET_XTABS 0014000
> +#define TARGET_BSDLY 0020000
> +#define TARGET_BS0 0000000
> +#define TARGET_BS1 0020000
> +#define TARGET_VTDLY 0040000
> +#define TARGET_VT0 0000000
> +#define TARGET_VT1 0040000
> +#define TARGET_FFDLY 0100000
> +#define TARGET_FF0 0000000
> +#define TARGET_FF1 0100000
> +
> +/* c_cflag bit meaning */
> +#define TARGET_CBAUD 0010017
> +#define TARGET_B0 0000000 /* hang up */
> +#define TARGET_B50 0000001
> +#define TARGET_B75 0000002
> +#define TARGET_B110 0000003
> +#define TARGET_B134 0000004
> +#define TARGET_B150 0000005
> +#define TARGET_B200 0000006
> +#define TARGET_B300 0000007
> +#define TARGET_B600 0000010
> +#define TARGET_B1200 0000011
> +#define TARGET_B1800 0000012
> +#define TARGET_B2400 0000013
> +#define TARGET_B4800 0000014
> +#define TARGET_B9600 0000015
> +#define TARGET_B19200 0000016
> +#define TARGET_B38400 0000017
> +#define TARGET_EXTA TARGET_B19200
> +#define TARGET_EXTB TARGET_B38400
> +#define TARGET_CSIZE 0000060
> +#define TARGET_CS5 0000000
> +#define TARGET_CS6 0000020
> +#define TARGET_CS7 0000040
> +#define TARGET_CS8 0000060
> +#define TARGET_CSTOPB 0000100
> +#define TARGET_CREAD 0000200
> +#define TARGET_PARENB 0000400
> +#define TARGET_PARODD 0001000
> +#define TARGET_HUPCL 0002000
> +#define TARGET_CLOCAL 0004000
> +#define TARGET_CBAUDEX 0010000
> +#define TARGET_BOTHER 0010000
> +#define TARGET_B57600 0010001
> +#define TARGET_B115200 0010002
> +#define TARGET_B230400 0010003
> +#define TARGET_B460800 0010004
> +#define TARGET_B500000 0010005
> +#define TARGET_B576000 0010006
> +#define TARGET_B921600 0010007
> +#define TARGET_B1000000 0010010
> +#define TARGET_B1152000 0010011
> +#define TARGET_B1500000 0010012
> +#define TARGET_B2000000 0010013
> +#define TARGET_B2500000 0010014
> +#define TARGET_B3000000 0010015
> +#define TARGET_B3500000 0010016
> +#define TARGET_B4000000 0010017
> +#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
> +#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */
> +#define TARGET_CRTSCTS 020000000000 /* flow control */
> +
> +#define TARGET_IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
> +
> +/* c_lflag bits */
> +#define TARGET_ISIG 0000001
> +#define TARGET_ICANON 0000002
> +#define TARGET_XCASE 0000004
> +#define TARGET_ECHO 0000010
> +#define TARGET_ECHOE 0000020
> +#define TARGET_ECHOK 0000040
> +#define TARGET_ECHONL 0000100
> +#define TARGET_NOFLSH 0000200
> +#define TARGET_TOSTOP 0000400
> +#define TARGET_ECHOCTL 0001000
> +#define TARGET_ECHOPRT 0002000
> +#define TARGET_ECHOKE 0004000
> +#define TARGET_FLUSHO 0010000
> +#define TARGET_PENDIN 0040000
> +#define TARGET_IEXTEN 0100000
> +#define TARGET_EXTPROC 0200000
> +
> +/* tcflow() and TCXONC use these */
> +#define TARGET_TCOOFF 0
> +#define TARGET_TCOON 1
> +#define TARGET_TCIOFF 2
> +#define TARGET_TCION 3
> +
> +/* tcflush() and TCFLSH use these */
> +#define TARGET_TCIFLUSH 0
> +#define TARGET_TCOFLUSH 1
> +#define TARGET_TCIOFLUSH 2
> +
> +/* tcsetattr uses these */
> +#define TARGET_TCSANOW 0
> +#define TARGET_TCSADRAIN 1
> +#define TARGET_TCSAFLUSH 2
> +
> +/* Derived from include/uapi/asm-generic/ioctls.h */
> +
> +#define TARGET_TCGETS 0x5401
> +#define TARGET_TCSETS 0x5402
> +#define TARGET_TCSETSW 0x5403
> +#define TARGET_TCSETSF 0x5404
> +#define TARGET_TCGETA 0x5405
> +#define TARGET_TCSETA 0x5406
> +#define TARGET_TCSETAW 0x5407
> +#define TARGET_TCSETAF 0x5408
> +#define TARGET_TCSBRK 0x5409
> +#define TARGET_TCXONC 0x540A
> +#define TARGET_TCFLSH 0x540B
> +
> +#define TARGET_TIOCEXCL 0x540C
> +#define TARGET_TIOCNXCL 0x540D
> +#define TARGET_TIOCSCTTY 0x540E
> +#define TARGET_TIOCGPGRP 0x540F
> +#define TARGET_TIOCSPGRP 0x5410
> +#define TARGET_TIOCOUTQ 0x5411
> +#define TARGET_TIOCSTI 0x5412
> +#define TARGET_TIOCGWINSZ 0x5413
> +#define TARGET_TIOCSWINSZ 0x5414
> +#define TARGET_TIOCMGET 0x5415
> +#define TARGET_TIOCMBIS 0x5416
> +#define TARGET_TIOCMBIC 0x5417
> +#define TARGET_TIOCMSET 0x5418
> +#define TARGET_TIOCGSOFTCAR 0x5419
> +#define TARGET_TIOCSSOFTCAR 0x541A
> +#define TARGET_FIONREAD 0x541B
> +#define TARGET_TIOCINQ TARGET_FIONREAD
> +#define TARGET_TIOCLINUX 0x541C
> +#define TARGET_TIOCCONS 0x541D
> +#define TARGET_TIOCGSERIAL 0x541E
> +#define TARGET_TIOCSSERIAL 0x541F
> +#define TARGET_TIOCPKT 0x5420
> +#define TARGET_FIONBIO 0x5421
> +#define TARGET_TIOCNOTTY 0x5422
> +#define TARGET_TIOCSETD 0x5423
> +#define TARGET_TIOCGETD 0x5424
> +#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
> +#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
> +#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> +#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> +#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> +#define TARGET_TCGETS2 TARGET_IOR('T', 0x2A, struct target_termios2)
> +#define TARGET_TCSETS2 TARGET_IOW('T', 0x2B, struct target_termios2)
> +#define TARGET_TCSETSW2 TARGET_IOW('T', 0x2C, struct target_termios2)
> +#define TARGET_TCSETSF2 TARGET_IOW('T', 0x2D, struct target_termios2)
> +#define TARGET_TIOCGRS485 0x542E
> +#ifndef TARGET_TIOCSRS485
> +#define TARGET_TIOCSRS485 0x542F
> +#endif
> +/* Get Pty Number (of pty-mux device) */
> +#define TARGET_TIOCGPTN TARGET_IOR('T', 0x30, unsigned int)
> +/* Lock/unlock Pty */
> +#define TARGET_TIOCSPTLCK TARGET_IOW('T', 0x31, int)
> +
> +/* Get primary device node of /dev/console */
> +#define TARGET_TIOCGDEV TARGET_IOR('T', 0x32, unsigned int)
> +#define TARGET_TCGETX 0x5432 /* SYS5 TCGETX compatibility */
> +#define TARGET_TCSETX 0x5433
> +#define TARGET_TCSETXF 0x5434
> +#define TARGET_TCSETXW 0x5435
> +/* pty: generate signal */
> +#define TARGET_TIOCSIG TARGET_IOW('T', 0x36, int)
> +#define TARGET_TIOCVHANGUP 0x5437
> +/* Get packet mode state */
> +#define TARGET_TIOCGPKT TARGET_IOR('T', 0x38, int)
> +/* Get Pty lock state */
> +#define TARGET_TIOCGPTLCK TARGET_IOR('T', 0x39, int)
> +/* Get exclusive mode state */
> +#define TARGET_TIOCGEXCL TARGET_IOR('T', 0x40, int)
> +/* Safely open the slave */
> +#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41)
> +#define TARGET_TIOCGISO7816 TARGET_IOR('T', 0x42, struct serial_iso7816)
> +#define TARGET_TIOCSISO7816 TARGET_IOWR('T', 0x43, struct serial_iso7816)
> +
> +#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted
> */
> +#define TARGET_FIOCLEX 0x5451
> +#define TARGET_FIOASYNC 0x5452
> +#define TARGET_TIOCSERCONFIG 0x5453
> +#define TARGET_TIOCSERGWILD 0x5454
> +#define TARGET_TIOCSERSWILD 0x5455
> +#define TARGET_TIOCGLCKTRMIOS 0x5456
> +#define TARGET_TIOCSLCKTRMIOS 0x5457
> +#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> +#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> +#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> +#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> +
> +/* wait for a change on serial input line(s) */
> +#define TARGET_TIOCMIWAIT 0x545C
> +/* read serial port inline interrupt counts */
> +#define TARGET_TIOCGICOUNT 0x545D
> +#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
> +#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
> +
> +/*
> + * Some arches already define TARGET_FIOQSIZE due to a historical
> + * conflict with a Hayes modem-specific ioctl value.
> + */
> +#ifndef TARGET_FIOQSIZE
> +# define TARGET_FIOQSIZE 0x5460
> +#endif
> +
> +/* Used for packet mode */
> +#define TARGET_TIOCPKT_DATA 0
> +#define TARGET_TIOCPKT_FLUSHREAD 1
> +#define TARGET_TIOCPKT_FLUSHWRITE 2
> +#define TARGET_TIOCPKT_STOP 4
> +#define TARGET_TIOCPKT_START 8
> +#define TARGET_TIOCPKT_NOSTOP 16
> +#define TARGET_TIOCPKT_DOSTOP 32
> +#define TARGET_TIOCPKT_IOCTL 64
> +
> +#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> +
> +#endif
> diff --git a/linux-user/i386/termbits.h b/linux-user/i386/termbits.h
> index 88264bbde7..b1d4f4fedb 100644
> --- a/linux-user/i386/termbits.h
> +++ b/linux-user/i386/termbits.h
> @@ -1,232 +1 @@
> -/* from asm/termbits.h */
> -
> -#ifndef LINUX_USER_I386_TERMBITS_H
> -#define LINUX_USER_I386_TERMBITS_H
> -
> -#define TARGET_NCCS 19
> -
> -struct target_termios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_B500000 0010005
> -#define TARGET_B576000 0010006
> -#define TARGET_B921600 0010007
> -#define TARGET_B1000000 0010010
> -#define TARGET_B1152000 0010011
> -#define TARGET_B1500000 0010012
> -#define TARGET_B2000000 0010013
> -#define TARGET_B2500000 0010014
> -#define TARGET_B3000000 0010015
> -#define TARGET_B3500000 0010016
> -#define TARGET_B4000000 0010017
> -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
> -#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -
> -/* c_cc character offsets */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* ioctls */
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ TARGET_FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX
> tcsendbreak() */
> -#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty
> Number (of pty-mux device) */
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41) /* Safely open the
> slave */
> -
> -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input
> line(s) */
> -#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt
> counts */
> -#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
> -#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/m68k/termbits.h b/linux-user/m68k/termbits.h
> index 23840aa968..b1d4f4fedb 100644
> --- a/linux-user/m68k/termbits.h
> +++ b/linux-user/m68k/termbits.h
> @@ -1,233 +1 @@
> -/* from asm/termbits.h */
> -/* NOTE: exactly the same as i386 */
> -
> -#ifndef LINUX_USER_M68K_TERMBITS_H
> -#define LINUX_USER_M68K_TERMBITS_H
> -
> -#define TARGET_NCCS 19
> -
> -struct target_termios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_B500000 0010005
> -#define TARGET_B576000 0010006
> -#define TARGET_B921600 0010007
> -#define TARGET_B1000000 0010010
> -#define TARGET_B1152000 0010011
> -#define TARGET_B1500000 0010012
> -#define TARGET_B2000000 0010013
> -#define TARGET_B2500000 0010014
> -#define TARGET_B3000000 0010015
> -#define TARGET_B3500000 0010016
> -#define TARGET_B4000000 0010017
> -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
> -#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -
> -/* c_cc character offsets */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* ioctls */
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ TARGET_FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX
> tcsendbreak() */
> -#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty
> Number (of pty-mux device) */
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41) /* Safely open the
> slave */
> -
> -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input
> line(s) */
> -#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt
> counts */
> -#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
> -#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/microblaze/termbits.h
> b/linux-user/microblaze/termbits.h
> index 17db8a4473..b1d4f4fedb 100644
> --- a/linux-user/microblaze/termbits.h
> +++ b/linux-user/microblaze/termbits.h
> @@ -1,219 +1 @@
> -/* from asm/termbits.h */
> -
> -#ifndef LINUX_USER_MICROBLAZE_TERMBITS_H
> -#define LINUX_USER_MICROBLAZE_TERMBITS_H
> -
> -#define TARGET_NCCS 19
> -
> -struct target_termios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -
> -/* c_cc character offsets */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* ioctls */
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ TARGET_FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX
> tcsendbreak() */
> -#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty
> Number (of pty-mux device) */
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41) /* Safely open the
> slave */
> -
> -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input
> line(s) */
> -#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt
> counts */
> -#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
> -#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/nios2/termbits.h b/linux-user/nios2/termbits.h
> index 425a2fe6ef..b1d4f4fedb 100644
> --- a/linux-user/nios2/termbits.h
> +++ b/linux-user/nios2/termbits.h
> @@ -1,227 +1 @@
> -/* from asm/termbits.h */
> -/* NOTE: exactly the same as i386 */
> -
> -#ifndef LINUX_USER_NIOS2_TERMBITS_H
> -#define LINUX_USER_NIOS2_TERMBITS_H
> -
> -#define TARGET_NCCS 19
> -
> -struct target_termios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
> -#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -
> -/* c_cc character offsets */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* ioctls */
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ TARGET_FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
> -#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TIOCGPTN TARGET_IOR('T', 0x30, unsigned int)
> - /* Get Pty Number (of pty-mux device) */
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T', 0x31, int)
> - /* Lock/unlock Pty */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41)
> - /* Safely open the slave */
> -
> -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be
> adjusted. */
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -#define TARGET_TIOCMIWAIT 0x545C
> - /* wait for a change on serial input line(s) */
> -#define TARGET_TIOCGICOUNT 0x545D
> - /* read serial port inline interrupt counts */
> -#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
> -#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/openrisc/termbits.h b/linux-user/openrisc/termbits.h
> index 7a635ffbc6..b1d4f4fedb 100644
> --- a/linux-user/openrisc/termbits.h
> +++ b/linux-user/openrisc/termbits.h
> @@ -1,301 +1 @@
> -#ifndef LINUX_USER_OPENRISC_TERMBITS_H
> -#define LINUX_USER_OPENRISC_TERMBITS_H
> -
> -typedef unsigned char target_openrisc_cc; /*cc_t*/
> -typedef unsigned int target_openrisc_speed; /*speed_t*/
> -typedef unsigned int target_openrisc_tcflag; /*tcflag_t*/
> -
> -#define TARGET_NCCS 19
> -struct target_termios {
> - target_openrisc_tcflag c_iflag; /* input mode flags */
> - target_openrisc_tcflag c_oflag; /* output mode flags */
> - target_openrisc_tcflag c_cflag; /* control mode flags */
> - target_openrisc_tcflag c_lflag; /* local mode flags */
> - target_openrisc_cc c_line; /* line discipline */
> - target_openrisc_cc c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -struct target_termios2 {
> - target_openrisc_tcflag c_iflag; /* input mode flags */
> - target_openrisc_tcflag c_oflag; /* output mode flags */
> - target_openrisc_tcflag c_cflag; /* control mode flags */
> - target_openrisc_tcflag c_lflag; /* local mode flags */
> - target_openrisc_cc c_line; /* line discipline */
> - target_openrisc_cc c_cc[TARGET_NCCS]; /* control characters */
> - target_openrisc_speed c_ispeed; /* input speed */
> - target_openrisc_speed c_ospeed; /* output speed */
> -};
> -
> -struct target_termios3 {
> - target_openrisc_tcflag c_iflag; /* input mode flags */
> - target_openrisc_tcflag c_oflag; /* output mode flags */
> - target_openrisc_tcflag c_cflag; /* control mode flags */
> - target_openrisc_tcflag c_lflag; /* local mode flags */
> - target_openrisc_cc c_line; /* line discipline */
> - target_openrisc_cc c_cc[TARGET_NCCS]; /* control characters */
> - target_openrisc_speed c_ispeed; /* input speed */
> - target_openrisc_speed c_ospeed; /* output speed */
> -};
> -
> -/* c_cc characters */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_BOTHER 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_B500000 0010005
> -#define TARGET_B576000 0010006
> -#define TARGET_B921600 0010007
> -#define TARGET_B1000000 0010010
> -#define TARGET_B1152000 0010011
> -#define TARGET_B1500000 0010012
> -#define TARGET_B2000000 0010013
> -#define TARGET_B2500000 0010014
> -#define TARGET_B3000000 0010015
> -#define TARGET_B3500000 0010016
> -#define TARGET_B4000000 0010017
> -#define TARGET_CIBAUD 002003600000 /* input baud rate */
> -#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -#define TARGET_IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -#define TARGET_EXTPROC 0200000
> -
> -/* tcflow() and TCXONC use these */
> -#define TARGET_TCOOFF 0
> -#define TARGET_TCOON 1
> -#define TARGET_TCIOFF 2
> -#define TARGET_TCION 3
> -
> -/* tcflush() and TCFLSH use these */
> -#define TARGET_TCIFLUSH 0
> -#define TARGET_TCOFLUSH 1
> -#define TARGET_TCIOFLUSH 2
> -
> -/* tcsetattr uses these */
> -#define TARGET_TCSANOW 0
> -#define TARGET_TCSADRAIN 1
> -#define TARGET_TCSAFLUSH 2
> -
> -/* ioctls */
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TCGETS2 TARGET_IOR('T', 0x2A, struct termios2)
> -#define TARGET_TCSETS2 TARGET_IOW('T', 0x2B, struct termios2)
> -#define TARGET_TCSETSW2 TARGET_IOW('T', 0x2C, struct termios2)
> -#define TARGET_TCSETSF2 TARGET_IOW('T', 0x2D, struct termios2)
> -#define TARGET_TIOCGRS485 0x542E
> -#ifndef TARGET_TIOCSRS485
> -#define TARGET_TIOCSRS485 0x542F
> -#endif
> -/* Get Pty Number (of pty-mux device) */
> -#define TARGET_TIOCGPTN TARGET_IOR('T', 0x30, unsigned int)
> -/* Lock/unlock Pty */
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T', 0x31, int)
> -/* Safely open the slave */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41)
> -/* Get primary device node of /dev/console */
> -#define TARGET_TIOCGDEV TARGET_IOR('T', 0x32, unsigned int)
> -#define TARGET_TCGETX 0x5432 /* SYS5 TCGETX compatibility */
> -#define TARGET_TCSETX 0x5433
> -#define TARGET_TCSETXF 0x5434
> -#define TARGET_TCSETXW 0x5435
> -/* pty: generate signal */
> -#define TARGET_TIOCSIG TARGET_IOW('T', 0x36, int)
> -#define TARGET_TIOCVHANGUP 0x5437
> -
> -#define TARGET_FIONCLEX 0x5450
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -/* wait for a change on serial input line(s) */
> -#define TARGET_TIOCMIWAIT 0x545C
> -/* read serial port inline interrupt counts */
> -#define TARGET_TIOCGICOUNT 0x545D
> -
> -/*
> - * Some arches already define TARGET_FIOQSIZE due to a historical
> - * conflict with a Hayes modem-specific ioctl value.
> - */
> -#ifndef TARGET_FIOQSIZE
> -#define TARGET_FIOQSIZE 0x5460
> -#endif
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -#define TARGET_TIOCPKT_IOCTL 64
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/riscv/termbits.h b/linux-user/riscv/termbits.h
> index 5e0af0dd3f..b1d4f4fedb 100644
> --- a/linux-user/riscv/termbits.h
> +++ b/linux-user/riscv/termbits.h
> @@ -1,227 +1 @@
> -/* from asm/termbits.h */
> -/* NOTE: exactly the same as i386 */
> -
> -#ifndef LINUX_USER_RISCV_TERMBITS_H
> -#define LINUX_USER_RISCV_TERMBITS_H
> -
> -#define TARGET_NCCS 19
> -
> -struct target_termios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
> -#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -
> -/* c_cc character offsets */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* ioctls */
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ TARGET_FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
> -#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TIOCGPTN TARGET_IOR('T', 0x30, unsigned int)
> - /* Get Pty Number (of pty-mux device) */
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T', 0x31, int)
> - /* Lock/unlock Pty */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41)
> - /* Safely open the slave */
> -
> -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be
> adjusted. */
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -#define TARGET_TIOCMIWAIT 0x545C
> - /* wait for a change on serial input line(s) */
> -#define TARGET_TIOCGICOUNT 0x545D
> - /* read serial port inline interrupt counts */
> -#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
> -#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/s390x/termbits.h b/linux-user/s390x/termbits.h
> index 9affa8f41a..b1d4f4fedb 100644
> --- a/linux-user/s390x/termbits.h
> +++ b/linux-user/s390x/termbits.h
> @@ -1,288 +1 @@
> -/*
> - * include/asm-s390/termbits.h
> - *
> - * S390 version
> - *
> - * Derived from "include/asm-i386/termbits.h"
> - */
> -
> -#ifndef LINUX_USER_S390X_TERMBITS_H
> -#define LINUX_USER_S390X_TERMBITS_H
> -
> -#define TARGET_NCCS 19
> -struct target_termios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -struct target_termios2 {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> - unsigned int c_ispeed; /* input speed */
> - unsigned int c_ospeed; /* output speed */
> -};
> -
> -struct target_ktermios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> - unsigned int c_ispeed; /* input speed */
> - unsigned int c_ospeed; /* output speed */
> -};
> -
> -/* c_cc characters */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_BOTHER 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_B500000 0010005
> -#define TARGET_B576000 0010006
> -#define TARGET_B921600 0010007
> -#define TARGET_B1000000 0010010
> -#define TARGET_B1152000 0010011
> -#define TARGET_B1500000 0010012
> -#define TARGET_B2000000 0010013
> -#define TARGET_B2500000 0010014
> -#define TARGET_B3000000 0010015
> -#define TARGET_B3500000 0010016
> -#define TARGET_B4000000 0010017
> -#define TARGET_CIBAUD 002003600000 /* input baud rate */
> -#define TARGET_CMSPAR 010000000000 /* mark or space
> (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -#define TARGET_IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -
> -/* tcflow() and TCXONC use these */
> -#define TARGET_TCOOFF 0
> -#define TARGET_TCOON 1
> -#define TARGET_TCIOFF 2
> -#define TARGET_TCION 3
> -
> -/* tcflush() and TCFLSH use these */
> -#define TARGET_TCIFLUSH 0
> -#define TARGET_TCOFLUSH 1
> -#define TARGET_TCIOFLUSH 2
> -
> -/* tcsetattr uses these */
> -#define TARGET_TCSANOW 0
> -#define TARGET_TCSADRAIN 1
> -#define TARGET_TCSAFLUSH 2
> -
> -/*
> - * include/asm-s390/ioctls.h
> - *
> - * S390 version
> - *
> - * Derived from "include/asm-i386/ioctls.h"
> - */
> -
> -/* 0x54 is just a magic number to make these relatively unique ('T') */
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX
> tcsendbreak() */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TCGETS2 _IOR('T',0x2A, struct termios2)
> -#define TARGET_TCSETS2 _IOW('T',0x2B, struct termios2)
> -#define TARGET_TCSETSW2 _IOW('T',0x2C, struct termios2)
> -#define TARGET_TCSETSF2 _IOW('T',0x2D, struct termios2)
> -#define TARGET_TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number
> (of pty-mux device) */
> -#define TARGET_TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
> -#define TARGET_TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no
> below /dev/console */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41) /* Safely open the
> slave */
> -
> -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input
> line(s) */
> -#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt
> counts */
> -#define TARGET_FIOQSIZE 0x545E
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/tilegx/termbits.h b/linux-user/tilegx/termbits.h
> index 966daec088..b1d4f4fedb 100644
> --- a/linux-user/tilegx/termbits.h
> +++ b/linux-user/tilegx/termbits.h
> @@ -1,275 +1 @@
> -#ifndef TILEGX_TERMBITS_H
> -#define TILEGX_TERMBITS_H
> -
> -/* From asm-generic/termbits.h, which is used by tilegx */
> -
> -#define TARGET_NCCS 19
> -struct target_termios {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -struct target_termios2 {
> - unsigned int c_iflag; /* input mode flags */
> - unsigned int c_oflag; /* output mode flags */
> - unsigned int c_cflag; /* control mode flags */
> - unsigned int c_lflag; /* local mode flags */
> - unsigned char c_line; /* line discipline */
> - unsigned char c_cc[TARGET_NCCS]; /* control characters */
> - unsigned int c_ispeed; /* input speed */
> - unsigned int c_ospeed; /* output speed */
> -};
> -
> -/* c_cc characters */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA TARGET_B19200
> -#define TARGET_EXTB TARGET_B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_BOTHER 0010000
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_B500000 0010005
> -#define TARGET_B576000 0010006
> -#define TARGET_B921600 0010007
> -#define TARGET_B1000000 0010010
> -#define TARGET_B1152000 0010011
> -#define TARGET_B1500000 0010012
> -#define TARGET_B2000000 0010013
> -#define TARGET_B2500000 0010014
> -#define TARGET_B3000000 0010015
> -#define TARGET_B3500000 0010016
> -#define TARGET_B4000000 0010017
> -#define TARGET_CIBAUD 002003600000 /* input baud rate */
> -#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -#define TARGET_IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -#define TARGET_EXTPROC 0200000
> -
> -/* tcflow() and TCXONC use these */
> -#define TARGET_TCOOFF 0
> -#define TARGET_TCOON 1
> -#define TARGET_TCIOFF 2
> -#define TARGET_TCION 3
> -
> -/* tcflush() and TCFLSH use these */
> -#define TARGET_TCIFLUSH 0
> -#define TARGET_TCOFLUSH 1
> -#define TARGET_TCIOFLUSH 2
> -
> -/* tcsetattr uses these */
> -#define TARGET_TCSANOW 0
> -#define TARGET_TCSADRAIN 1
> -#define TARGET_TCSAFLUSH 2
> -
> -/* From asm-generic/ioctls.h, which is used by tilegx */
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ TARGET_FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425
> -#define TARGET_TIOCSBRK 0x5427
> -#define TARGET_TIOCCBRK 0x5428
> -#define TARGET_TIOCGSID 0x5429
> -#define TARGET_TCGETS2 TARGET_IOR('T', 0x2A, struct
> termios2)
> -#define TARGET_TCSETS2 TARGET_IOW('T', 0x2B, struct
> termios2)
> -#define TARGET_TCSETSW2 TARGET_IOW('T', 0x2C, struct
> termios2)
> -#define TARGET_TCSETSF2 TARGET_IOW('T', 0x2D, struct
> termios2)
> -#define TARGET_TIOCGRS485 0x542E
> -#define TARGET_TIOCSRS485 0x542F
> -#define TARGET_TIOCGPTN TARGET_IOR('T', 0x30, unsigned int)
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T', 0x31, int)
> -#define TARGET_TIOCGDEV TARGET_IOR('T', 0x32, unsigned int)
> -#define TARGET_TCGETX 0x5432
> -#define TARGET_TCSETX 0x5433
> -#define TARGET_TCSETXF 0x5434
> -#define TARGET_TCSETXW 0x5435
> -#define TARGET_TIOCSIG TARGET_IOW('T', 0x36, int)
> -#define TARGET_TIOCVHANGUP 0x5437
> -#define TARGET_TIOCGPKT TARGET_IOR('T', 0x38, int)
> -#define TARGET_TIOCGPTLCK TARGET_IOR('T', 0x39, int)
> -#define TARGET_TIOCGEXCL TARGET_IOR('T', 0x40, int)
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41)
> -
> -#define TARGET_FIONCLEX 0x5450
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458
> -#define TARGET_TIOCSERGETLSR 0x5459
> -#define TARGET_TIOCSERGETMULTI 0x545A
> -#define TARGET_TIOCSERSETMULTI 0x545B
> -
> -#define TARGET_TIOCMIWAIT 0x545C
> -#define TARGET_TIOCGICOUNT 0x545D
> -#define TARGET_FIOQSIZE 0x5460
> -
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -#define TARGET_TIOCPKT_IOCTL 64
> -
> -#define TARGET_TIOCSER_TEMT 0x01
> -
> -#endif
> +#include "../generic/termbits.h"
> diff --git a/linux-user/x86_64/termbits.h b/linux-user/x86_64/termbits.h
> index c8bb5996b1..b1d4f4fedb 100644
> --- a/linux-user/x86_64/termbits.h
> +++ b/linux-user/x86_64/termbits.h
> @@ -1,253 +1 @@
> -#ifndef LINUX_USER_X86_64_TERMBITS_H
> -#define LINUX_USER_X86_64_TERMBITS_H
> -
> -#define TARGET_NCCS 19
> -
> -typedef unsigned char target_cc_t;
> -typedef unsigned int target_speed_t;
> -typedef unsigned int target_tcflag_t;
> -struct target_termios {
> - target_tcflag_t c_iflag; /* input mode flags */
> - target_tcflag_t c_oflag; /* output mode flags */
> - target_tcflag_t c_cflag; /* control mode flags */
> - target_tcflag_t c_lflag; /* local mode flags */
> - target_cc_t c_line; /* line discipline */
> - target_cc_t c_cc[TARGET_NCCS]; /* control characters */
> -};
> -
> -/* c_cc characters */
> -#define TARGET_VINTR 0
> -#define TARGET_VQUIT 1
> -#define TARGET_VERASE 2
> -#define TARGET_VKILL 3
> -#define TARGET_VEOF 4
> -#define TARGET_VTIME 5
> -#define TARGET_VMIN 6
> -#define TARGET_VSWTC 7
> -#define TARGET_VSTART 8
> -#define TARGET_VSTOP 9
> -#define TARGET_VSUSP 10
> -#define TARGET_VEOL 11
> -#define TARGET_VREPRINT 12
> -#define TARGET_VDISCARD 13
> -#define TARGET_VWERASE 14
> -#define TARGET_VLNEXT 15
> -#define TARGET_VEOL2 16
> -
> -/* c_iflag bits */
> -#define TARGET_IGNBRK 0000001
> -#define TARGET_BRKINT 0000002
> -#define TARGET_IGNPAR 0000004
> -#define TARGET_PARMRK 0000010
> -#define TARGET_INPCK 0000020
> -#define TARGET_ISTRIP 0000040
> -#define TARGET_INLCR 0000100
> -#define TARGET_IGNCR 0000200
> -#define TARGET_ICRNL 0000400
> -#define TARGET_IUCLC 0001000
> -#define TARGET_IXON 0002000
> -#define TARGET_IXANY 0004000
> -#define TARGET_IXOFF 0010000
> -#define TARGET_IMAXBEL 0020000
> -#define TARGET_IUTF8 0040000
> -
> -/* c_oflag bits */
> -#define TARGET_OPOST 0000001
> -#define TARGET_OLCUC 0000002
> -#define TARGET_ONLCR 0000004
> -#define TARGET_OCRNL 0000010
> -#define TARGET_ONOCR 0000020
> -#define TARGET_ONLRET 0000040
> -#define TARGET_OFILL 0000100
> -#define TARGET_OFDEL 0000200
> -#define TARGET_NLDLY 0000400
> -#define TARGET_NL0 0000000
> -#define TARGET_NL1 0000400
> -#define TARGET_CRDLY 0003000
> -#define TARGET_CR0 0000000
> -#define TARGET_CR1 0001000
> -#define TARGET_CR2 0002000
> -#define TARGET_CR3 0003000
> -#define TARGET_TABDLY 0014000
> -#define TARGET_TAB0 0000000
> -#define TARGET_TAB1 0004000
> -#define TARGET_TAB2 0010000
> -#define TARGET_TAB3 0014000
> -#define TARGET_XTABS 0014000
> -#define TARGET_BSDLY 0020000
> -#define TARGET_BS0 0000000
> -#define TARGET_BS1 0020000
> -#define TARGET_VTDLY 0040000
> -#define TARGET_VT0 0000000
> -#define TARGET_VT1 0040000
> -#define TARGET_FFDLY 0100000
> -#define TARGET_FF0 0000000
> -#define TARGET_FF1 0100000
> -
> -/* c_cflag bit meaning */
> -#define TARGET_CBAUD 0010017
> -#define TARGET_B0 0000000 /* hang up */
> -#define TARGET_B50 0000001
> -#define TARGET_B75 0000002
> -#define TARGET_B110 0000003
> -#define TARGET_B134 0000004
> -#define TARGET_B150 0000005
> -#define TARGET_B200 0000006
> -#define TARGET_B300 0000007
> -#define TARGET_B600 0000010
> -#define TARGET_B1200 0000011
> -#define TARGET_B1800 0000012
> -#define TARGET_B2400 0000013
> -#define TARGET_B4800 0000014
> -#define TARGET_B9600 0000015
> -#define TARGET_B19200 0000016
> -#define TARGET_B38400 0000017
> -#define TARGET_EXTA B19200
> -#define TARGET_EXTB B38400
> -#define TARGET_CSIZE 0000060
> -#define TARGET_CS5 0000000
> -#define TARGET_CS6 0000020
> -#define TARGET_CS7 0000040
> -#define TARGET_CS8 0000060
> -#define TARGET_CSTOPB 0000100
> -#define TARGET_CREAD 0000200
> -#define TARGET_PARENB 0000400
> -#define TARGET_PARODD 0001000
> -#define TARGET_HUPCL 0002000
> -#define TARGET_CLOCAL 0004000
> -#define TARGET_CBAUDEX 0010000
> -#define TARGET_BOTHER 0010000 /* non standard rate */
> -#define TARGET_B57600 0010001
> -#define TARGET_B115200 0010002
> -#define TARGET_B230400 0010003
> -#define TARGET_B460800 0010004
> -#define TARGET_B500000 0010005
> -#define TARGET_B576000 0010006
> -#define TARGET_B921600 0010007
> -#define TARGET_B1000000 0010010
> -#define TARGET_B1152000 0010011
> -#define TARGET_B1500000 0010012
> -#define TARGET_B2000000 0010013
> -#define TARGET_B2500000 0010014
> -#define TARGET_B3000000 0010015
> -#define TARGET_B3500000 0010016
> -#define TARGET_B4000000 0010017
> -#define TARGET_CIBAUD 002003600000 /* input baud rate */
> -#define TARGET_CMSPAR 010000000000 /* mark or space
> (stick) parity */
> -#define TARGET_CRTSCTS 020000000000 /* flow control */
> -
> -#define TARGET_IBSHIFT 8 /* Shift from CBAUD to CIBAUD */
> -
> -/* c_lflag bits */
> -#define TARGET_ISIG 0000001
> -#define TARGET_ICANON 0000002
> -#define TARGET_XCASE 0000004
> -#define TARGET_ECHO 0000010
> -#define TARGET_ECHOE 0000020
> -#define TARGET_ECHOK 0000040
> -#define TARGET_ECHONL 0000100
> -#define TARGET_NOFLSH 0000200
> -#define TARGET_TOSTOP 0000400
> -#define TARGET_ECHOCTL 0001000
> -#define TARGET_ECHOPRT 0002000
> -#define TARGET_ECHOKE 0004000
> -#define TARGET_FLUSHO 0010000
> -#define TARGET_PENDIN 0040000
> -#define TARGET_IEXTEN 0100000
> -
> -/* tcflow() and TCXONC use these */
> -#define TARGET_TCOOFF 0
> -#define TARGET_TCOON 1
> -#define TARGET_TCIOFF 2
> -#define TARGET_TCION 3
> -
> -/* tcflush() and TCFLSH use these */
> -#define TARGET_TCIFLUSH 0
> -#define TARGET_TCOFLUSH 1
> -#define TARGET_TCIOFLUSH 2
> -
> -/* tcsetattr uses these */
> -#define TARGET_TCSANOW 0
> -#define TARGET_TCSADRAIN 1
> -#define TARGET_TCSAFLUSH 2
> -
> -#define TARGET_TCGETS 0x5401
> -#define TARGET_TCSETS 0x5402
> -#define TARGET_TCSETSW 0x5403
> -#define TARGET_TCSETSF 0x5404
> -#define TARGET_TCGETA 0x5405
> -#define TARGET_TCSETA 0x5406
> -#define TARGET_TCSETAW 0x5407
> -#define TARGET_TCSETAF 0x5408
> -#define TARGET_TCSBRK 0x5409
> -#define TARGET_TCXONC 0x540A
> -#define TARGET_TCFLSH 0x540B
> -#define TARGET_TIOCEXCL 0x540C
> -#define TARGET_TIOCNXCL 0x540D
> -#define TARGET_TIOCSCTTY 0x540E
> -#define TARGET_TIOCGPGRP 0x540F
> -#define TARGET_TIOCSPGRP 0x5410
> -#define TARGET_TIOCOUTQ 0x5411
> -#define TARGET_TIOCSTI 0x5412
> -#define TARGET_TIOCGWINSZ 0x5413
> -#define TARGET_TIOCSWINSZ 0x5414
> -#define TARGET_TIOCMGET 0x5415
> -#define TARGET_TIOCMBIS 0x5416
> -#define TARGET_TIOCMBIC 0x5417
> -#define TARGET_TIOCMSET 0x5418
> -#define TARGET_TIOCGSOFTCAR 0x5419
> -#define TARGET_TIOCSSOFTCAR 0x541A
> -#define TARGET_FIONREAD 0x541B
> -#define TARGET_TIOCINQ FIONREAD
> -#define TARGET_TIOCLINUX 0x541C
> -#define TARGET_TIOCCONS 0x541D
> -#define TARGET_TIOCGSERIAL 0x541E
> -#define TARGET_TIOCSSERIAL 0x541F
> -#define TARGET_TIOCPKT 0x5420
> -#define TARGET_FIONBIO 0x5421
> -#define TARGET_TIOCNOTTY 0x5422
> -#define TARGET_TIOCSETD 0x5423
> -#define TARGET_TIOCGETD 0x5424
> -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX
> tcsendbreak() */
> -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
> -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
> -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
> -#define TARGET_TCGETS2 TARGET_IOR('T',0x2A, struct termios2)
> -#define TARGET_TCSETS2 TARGET_IOW('T',0x2B, struct termios2)
> -#define TARGET_TCSETSW2 TARGET_IOW('T',0x2C, struct termios2)
> -#define TARGET_TCSETSF2 TARGET_IOW('T',0x2D, struct termios2)
> -#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get
> Pty Number (of pty-mux device) */
> -#define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock
> Pty */
> -#define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41) /* Safely open the
> slave */
> -
> -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */
> -#define TARGET_FIOCLEX 0x5451
> -#define TARGET_FIOASYNC 0x5452
> -#define TARGET_TIOCSERCONFIG 0x5453
> -#define TARGET_TIOCSERGWILD 0x5454
> -#define TARGET_TIOCSERSWILD 0x5455
> -#define TARGET_TIOCGLCKTRMIOS 0x5456
> -#define TARGET_TIOCSLCKTRMIOS 0x5457
> -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
> -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
> -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
> -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
> -
> -#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input
> line(s) */
> -#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt
> counts */
> -#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
> -#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
> -#define TARGET_FIOQSIZE 0x5460
> -
> -/* Used for packet mode */
> -#define TARGET_TIOCPKT_DATA 0
> -#define TARGET_TIOCPKT_FLUSHREAD 1
> -#define TARGET_TIOCPKT_FLUSHWRITE 2
> -#define TARGET_TIOCPKT_STOP 4
> -#define TARGET_TIOCPKT_START 8
> -#define TARGET_TIOCPKT_NOSTOP 16
> -#define TARGET_TIOCPKT_DOSTOP 32
> -
> -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
> -
> -#endif
> +#include "../generic/termbits.h"
>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
- Re: [PATCH v2 1/3] linux-user: Add generic 'termbits.h' for some archs,
Laurent Vivier <=