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