/* 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 */
#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
