13bfd9da1Sbellard /* from asm/termbits.h */ 23bfd9da1Sbellard 3f91005e1SMarkus Armbruster #ifndef LINUX_USER_PPC_TERMBITS_H 4f91005e1SMarkus Armbruster #define LINUX_USER_PPC_TERMBITS_H 5f91005e1SMarkus Armbruster 63bfd9da1Sbellard #define TARGET_NCCS 19 73bfd9da1Sbellard 8c218b4edSFilip Bozuta typedef unsigned char target_cc_t; /* cc_t */ 9c218b4edSFilip Bozuta typedef unsigned int target_speed_t; /* speed_t */ 10c218b4edSFilip Bozuta typedef unsigned int target_tcflag_t; /* tcflag_t */ 11c218b4edSFilip Bozuta 123bfd9da1Sbellard struct target_termios { 13c218b4edSFilip Bozuta target_tcflag_t c_iflag; /* input mode flags */ 14c218b4edSFilip Bozuta target_tcflag_t c_oflag; /* output mode flags */ 15c218b4edSFilip Bozuta target_tcflag_t c_cflag; /* control mode flags */ 16c218b4edSFilip Bozuta target_tcflag_t c_lflag; /* local mode flags */ 17c218b4edSFilip Bozuta target_cc_t c_cc[TARGET_NCCS]; /* control characters */ 18*4d6e318aSLaurent Vivier target_cc_t c_line; /* line discipline */ 19c218b4edSFilip Bozuta target_speed_t c_ispeed; /* input speed */ 20c218b4edSFilip Bozuta target_speed_t c_ospeed; /* output speed */ 213bfd9da1Sbellard }; 223bfd9da1Sbellard 233bfd9da1Sbellard /* c_cc character offsets */ 243bfd9da1Sbellard #define TARGET_VINTR 0 253bfd9da1Sbellard #define TARGET_VQUIT 1 263bfd9da1Sbellard #define TARGET_VERASE 2 273bfd9da1Sbellard #define TARGET_VKILL 3 283bfd9da1Sbellard #define TARGET_VEOF 4 293bfd9da1Sbellard #define TARGET_VMIN 5 303bfd9da1Sbellard #define TARGET_VEOL 6 313bfd9da1Sbellard #define TARGET_VTIME 7 323bfd9da1Sbellard #define TARGET_VEOL2 8 333bfd9da1Sbellard #define TARGET_VSWTC 9 343bfd9da1Sbellard 353bfd9da1Sbellard #define TARGET_VWERASE 10 363bfd9da1Sbellard #define TARGET_VREPRINT 11 373bfd9da1Sbellard #define TARGET_VSUSP 12 383bfd9da1Sbellard #define TARGET_VSTART 13 393bfd9da1Sbellard #define TARGET_VSTOP 14 403bfd9da1Sbellard #define TARGET_VLNEXT 15 413bfd9da1Sbellard #define TARGET_VDISCARD 16 423bfd9da1Sbellard 433bfd9da1Sbellard #define TARGET_IGNBRK 0000001 443bfd9da1Sbellard #define TARGET_BRKINT 0000002 453bfd9da1Sbellard #define TARGET_IGNPAR 0000004 463bfd9da1Sbellard #define TARGET_PARMRK 0000010 473bfd9da1Sbellard #define TARGET_INPCK 0000020 483bfd9da1Sbellard #define TARGET_ISTRIP 0000040 493bfd9da1Sbellard #define TARGET_INLCR 0000100 503bfd9da1Sbellard #define TARGET_IGNCR 0000200 513bfd9da1Sbellard #define TARGET_ICRNL 0000400 523bfd9da1Sbellard #define TARGET_IXON 0001000 533bfd9da1Sbellard #define TARGET_IXOFF 0002000 543bfd9da1Sbellard #define TARGET_IXANY 0004000 553bfd9da1Sbellard #define TARGET_IUCLC 0010000 563bfd9da1Sbellard #define TARGET_IMAXBEL 0020000 57f05d35d2Sths #define TARGET_IUTF8 0040000 583bfd9da1Sbellard 593bfd9da1Sbellard /* c_oflag bits */ 603bfd9da1Sbellard #define TARGET_OPOST 0000001 613bfd9da1Sbellard #define TARGET_ONLCR 0000002 623bfd9da1Sbellard #define TARGET_OLCUC 0000004 633bfd9da1Sbellard 643bfd9da1Sbellard #define TARGET_OCRNL 0000010 653bfd9da1Sbellard #define TARGET_ONOCR 0000020 663bfd9da1Sbellard #define TARGET_ONLRET 0000040 673bfd9da1Sbellard 683bfd9da1Sbellard #define TARGET_OFILL 00000100 693bfd9da1Sbellard #define TARGET_OFDEL 00000200 703bfd9da1Sbellard #define TARGET_NLDLY 00001400 713bfd9da1Sbellard #define TARGET_NL0 00000000 723bfd9da1Sbellard #define TARGET_NL1 00000400 733bfd9da1Sbellard #define TARGET_NL2 00001000 743bfd9da1Sbellard #define TARGET_NL3 00001400 753bfd9da1Sbellard #define TARGET_TABDLY 00006000 763bfd9da1Sbellard #define TARGET_TAB0 00000000 773bfd9da1Sbellard #define TARGET_TAB1 00002000 783bfd9da1Sbellard #define TARGET_TAB2 00004000 793bfd9da1Sbellard #define TARGET_TAB3 00006000 80f05d35d2Sths #define TARGET_XTABS 00006000 /* required by POSIX to == TAB3 */ 813bfd9da1Sbellard #define TARGET_CRDLY 00030000 823bfd9da1Sbellard #define TARGET_CR0 00000000 833bfd9da1Sbellard #define TARGET_CR1 00010000 843bfd9da1Sbellard #define TARGET_CR2 00020000 853bfd9da1Sbellard #define TARGET_CR3 00030000 863bfd9da1Sbellard #define TARGET_FFDLY 00040000 873bfd9da1Sbellard #define TARGET_FF0 00000000 883bfd9da1Sbellard #define TARGET_FF1 00040000 893bfd9da1Sbellard #define TARGET_BSDLY 00100000 903bfd9da1Sbellard #define TARGET_BS0 00000000 913bfd9da1Sbellard #define TARGET_BS1 00100000 923bfd9da1Sbellard #define TARGET_VTDLY 00200000 933bfd9da1Sbellard #define TARGET_VT0 00000000 943bfd9da1Sbellard #define TARGET_VT1 00200000 953bfd9da1Sbellard 963bfd9da1Sbellard /* c_cflag bit meaning */ 973bfd9da1Sbellard #define TARGET_CBAUD 0000377 983bfd9da1Sbellard #define TARGET_B0 0000000 /* hang up */ 993bfd9da1Sbellard #define TARGET_B50 0000001 1003bfd9da1Sbellard #define TARGET_B75 0000002 1013bfd9da1Sbellard #define TARGET_B110 0000003 1023bfd9da1Sbellard #define TARGET_B134 0000004 1033bfd9da1Sbellard #define TARGET_B150 0000005 1043bfd9da1Sbellard #define TARGET_B200 0000006 1053bfd9da1Sbellard #define TARGET_B300 0000007 1063bfd9da1Sbellard #define TARGET_B600 0000010 1073bfd9da1Sbellard #define TARGET_B1200 0000011 1083bfd9da1Sbellard #define TARGET_B1800 0000012 1093bfd9da1Sbellard #define TARGET_B2400 0000013 1103bfd9da1Sbellard #define TARGET_B4800 0000014 1113bfd9da1Sbellard #define TARGET_B9600 0000015 1123bfd9da1Sbellard #define TARGET_B19200 0000016 1133bfd9da1Sbellard #define TARGET_B38400 0000017 1143bfd9da1Sbellard #define TARGET_EXTA B19200 1153bfd9da1Sbellard #define TARGET_EXTB B38400 1163bfd9da1Sbellard #define TARGET_CBAUDEX 0000000 1173bfd9da1Sbellard #define TARGET_B57600 00020 1183bfd9da1Sbellard #define TARGET_B115200 00021 1193bfd9da1Sbellard #define TARGET_B230400 00022 1203bfd9da1Sbellard #define TARGET_B460800 00023 1213bfd9da1Sbellard #define TARGET_B500000 00024 1223bfd9da1Sbellard #define TARGET_B576000 00025 1233bfd9da1Sbellard #define TARGET_B921600 00026 1243bfd9da1Sbellard #define TARGET_B1000000 00027 1253bfd9da1Sbellard #define TARGET_B1152000 00030 1263bfd9da1Sbellard #define TARGET_B1500000 00031 1273bfd9da1Sbellard #define TARGET_B2000000 00032 1283bfd9da1Sbellard #define TARGET_B2500000 00033 1293bfd9da1Sbellard #define TARGET_B3000000 00034 1303bfd9da1Sbellard #define TARGET_B3500000 00035 1313bfd9da1Sbellard #define TARGET_B4000000 00036 1323bfd9da1Sbellard 1333bfd9da1Sbellard #define TARGET_CSIZE 00001400 1343bfd9da1Sbellard #define TARGET_CS5 00000000 1353bfd9da1Sbellard #define TARGET_CS6 00000400 1363bfd9da1Sbellard #define TARGET_CS7 00001000 1373bfd9da1Sbellard #define TARGET_CS8 00001400 1383bfd9da1Sbellard 1393bfd9da1Sbellard #define TARGET_CSTOPB 00002000 1403bfd9da1Sbellard #define TARGET_CREAD 00004000 1413bfd9da1Sbellard #define TARGET_PARENB 00010000 1423bfd9da1Sbellard #define TARGET_PARODD 00020000 1433bfd9da1Sbellard #define TARGET_HUPCL 00040000 1443bfd9da1Sbellard 1453bfd9da1Sbellard #define TARGET_CLOCAL 00100000 146f05d35d2Sths #define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */ 1473bfd9da1Sbellard #define TARGET_CRTSCTS 020000000000 /* flow control */ 1483bfd9da1Sbellard 1493bfd9da1Sbellard /* c_lflag bits */ 1503bfd9da1Sbellard #define TARGET_ISIG 0x00000080 1513bfd9da1Sbellard #define TARGET_ICANON 0x00000100 1523bfd9da1Sbellard #define TARGET_XCASE 0x00004000 1533bfd9da1Sbellard #define TARGET_ECHO 0x00000008 1543bfd9da1Sbellard #define TARGET_ECHOE 0x00000002 1553bfd9da1Sbellard #define TARGET_ECHOK 0x00000004 1563bfd9da1Sbellard #define TARGET_ECHONL 0x00000010 1573bfd9da1Sbellard #define TARGET_NOFLSH 0x80000000 1583bfd9da1Sbellard #define TARGET_TOSTOP 0x00400000 1593bfd9da1Sbellard #define TARGET_ECHOCTL 0x00000040 1603bfd9da1Sbellard #define TARGET_ECHOPRT 0x00000020 1613bfd9da1Sbellard #define TARGET_ECHOKE 0x00000001 1623bfd9da1Sbellard #define TARGET_FLUSHO 0x00800000 1633bfd9da1Sbellard #define TARGET_PENDIN 0x20000000 1643bfd9da1Sbellard #define TARGET_IEXTEN 0x00000400 165c218b4edSFilip Bozuta #define TARGET_EXTPROC 0x10000000 1663bfd9da1Sbellard 1673bfd9da1Sbellard /* ioctls */ 1683bfd9da1Sbellard 1693bfd9da1Sbellard #define TARGET_FIOCLEX TARGET_IO('f', 1) 1703bfd9da1Sbellard #define TARGET_FIONCLEX TARGET_IO('f', 2) 1713bfd9da1Sbellard #define TARGET_FIOASYNC TARGET_IOW('f', 125, int) 1723bfd9da1Sbellard #define TARGET_FIONBIO TARGET_IOW('f', 126, int) 1733bfd9da1Sbellard #define TARGET_FIONREAD TARGET_IOR('f', 127, int) 1743bfd9da1Sbellard #define TARGET_TIOCINQ TARGET_FIONREAD 1753bfd9da1Sbellard //#define TARGET_FIOQSIZE TARGET_IOR('f', 128, loff_t) 1763bfd9da1Sbellard 1773bfd9da1Sbellard #define TARGET_TCGETS TARGET_IOR('t', 19, struct target_termios) 1783bfd9da1Sbellard #define TARGET_TCSETS TARGET_IOW('t', 20, struct target_termios) 1793bfd9da1Sbellard #define TARGET_TCSETSW TARGET_IOW('t', 21, struct target_termios) 1803bfd9da1Sbellard #define TARGET_TCSETSF TARGET_IOW('t', 22, struct target_termios) 1813bfd9da1Sbellard 1823bfd9da1Sbellard #define TARGET_TCGETA TARGET_IOR('t', 23, struct target_termio) 1833bfd9da1Sbellard #define TARGET_TCSETA TARGET_IOW('t', 24, struct target_termio) 1843bfd9da1Sbellard #define TARGET_TCSETAW TARGET_IOW('t', 25, struct target_termio) 1853bfd9da1Sbellard #define TARGET_TCSETAF TARGET_IOW('t', 28, struct target_termio) 1863bfd9da1Sbellard 1873bfd9da1Sbellard #define TARGET_TCSBRK TARGET_IO('t', 29) 1883bfd9da1Sbellard #define TARGET_TCXONC TARGET_IO('t', 30) 1893bfd9da1Sbellard #define TARGET_TCFLSH TARGET_IO('t', 31) 1903bfd9da1Sbellard 1913bfd9da1Sbellard #define TARGET_TIOCSWINSZ TARGET_IOW('t', 103, struct target_winsize) 1923bfd9da1Sbellard #define TARGET_TIOCGWINSZ TARGET_IOR('t', 104, struct target_winsize) 1933bfd9da1Sbellard #define TARGET_TIOCSTART TARGET_IO('t', 110) /* start output, like ^Q */ 1943bfd9da1Sbellard #define TARGET_TIOCSTOP TARGET_IO('t', 111) /* stop output, like ^S */ 1953bfd9da1Sbellard #define TARGET_TIOCOUTQ TARGET_IOR('t', 115, int) /* output queue size */ 1963bfd9da1Sbellard 1973bfd9da1Sbellard #define TARGET_TIOCGLTC TARGET_IOR('t', 116, struct target_ltchars) 1983bfd9da1Sbellard #define TARGET_TIOCSLTC TARGET_IOW('t', 117, struct target_ltchars) 1993bfd9da1Sbellard #define TARGET_TIOCSPGRP TARGET_IOW('t', 118, int) 2003bfd9da1Sbellard #define TARGET_TIOCGPGRP TARGET_IOR('t', 119, int) 2013bfd9da1Sbellard 2023bfd9da1Sbellard #define TARGET_TIOCEXCL 0x540C 2033bfd9da1Sbellard #define TARGET_TIOCNXCL 0x540D 2043bfd9da1Sbellard #define TARGET_TIOCSCTTY 0x540E 2053bfd9da1Sbellard 2063bfd9da1Sbellard #define TARGET_TIOCSTI 0x5412 2073bfd9da1Sbellard #define TARGET_TIOCMGET 0x5415 2083bfd9da1Sbellard #define TARGET_TIOCMBIS 0x5416 2093bfd9da1Sbellard #define TARGET_TIOCMBIC 0x5417 2103bfd9da1Sbellard #define TARGET_TIOCMSET 0x5418 2113bfd9da1Sbellard 2123bfd9da1Sbellard #define TARGET_TIOCGSOFTCAR 0x5419 2133bfd9da1Sbellard #define TARGET_TIOCSSOFTCAR 0x541A 2143bfd9da1Sbellard #define TARGET_TIOCLINUX 0x541C 2153bfd9da1Sbellard #define TARGET_TIOCCONS 0x541D 2163bfd9da1Sbellard #define TARGET_TIOCGSERIAL 0x541E 2173bfd9da1Sbellard #define TARGET_TIOCSSERIAL 0x541F 2183bfd9da1Sbellard #define TARGET_TIOCPKT 0x5420 2193bfd9da1Sbellard 2203bfd9da1Sbellard #define TARGET_TIOCNOTTY 0x5422 2213bfd9da1Sbellard #define TARGET_TIOCSETD 0x5423 2223bfd9da1Sbellard #define TARGET_TIOCGETD 0x5424 2233bfd9da1Sbellard #define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */ 2243bfd9da1Sbellard #define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */ 2253bfd9da1Sbellard #define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */ 2263bfd9da1Sbellard #define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */ 2273bfd9da1Sbellard #define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */ 2283bfd9da1Sbellard #define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ 2293bfd9da1Sbellard #define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */ 2302b74f621SAndreas Schwab #define TARGET_TIOCGPTPEER TARGET_IO('T', 0x41) /* Safely open the slave */ 2313bfd9da1Sbellard 2323bfd9da1Sbellard #define TARGET_TIOCSERCONFIG 0x5453 2333bfd9da1Sbellard #define TARGET_TIOCSERGWILD 0x5454 2343bfd9da1Sbellard #define TARGET_TIOCSERSWILD 0x5455 2353bfd9da1Sbellard #define TARGET_TIOCGLCKTRMIOS 0x5456 2363bfd9da1Sbellard #define TARGET_TIOCSLCKTRMIOS 0x5457 2373bfd9da1Sbellard #define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */ 2383bfd9da1Sbellard #define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */ 2393bfd9da1Sbellard /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ 2403bfd9da1Sbellard # define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */ 2413bfd9da1Sbellard #define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */ 2423bfd9da1Sbellard #define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */ 2433bfd9da1Sbellard 2443bfd9da1Sbellard #define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */ 2453bfd9da1Sbellard #define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ 246f91005e1SMarkus Armbruster 247f91005e1SMarkus Armbruster #endif 248