141486Smckusick /* 241486Smckusick * Copyright (c) 1988 University of Utah. 3*63148Sbostic * Copyright (c) 1990, 1993 4*63148Sbostic * The Regents of the University of California. All rights reserved. 541486Smckusick * 641486Smckusick * This code is derived from software contributed to Berkeley by 741486Smckusick * the Systems Programming Group of the University of Utah Computer 841486Smckusick * Science Department. 941486Smckusick * 1041486Smckusick * %sccs.include.redist.c% 1141486Smckusick * 1245422Smckusick * from: Utah $Hdr: hpux_termio.h 1.1 90/07/09$ 1341486Smckusick * 14*63148Sbostic * @(#)hpux_termio.h 8.1 (Berkeley) 06/10/93 1541486Smckusick */ 1641486Smckusick 1741486Smckusick /* HP-UX termio stuff */ 1841486Smckusick 1941486Smckusick #define HPUXNCC 8 2041486Smckusick 2141486Smckusick /* control characters */ 2241486Smckusick #define HPUXVINTR 0 2341486Smckusick #define HPUXVQUIT 1 2441486Smckusick #define HPUXVERASE 2 2541486Smckusick #define HPUXVKILL 3 2641486Smckusick #define HPUXVEOF 4 2741486Smckusick #define HPUXVEOL 5 2841486Smckusick #define HPUXVMIN 4 2941486Smckusick #define HPUXVTIME 5 3055829Shibler #define HPUXVEOL2 6 3155829Shibler #define HPUXVSWTCH 7 3241486Smckusick 3341486Smckusick /* input modes */ 3444343Shibler #define TIO_IGNBRK 0x00000001 /* 0000001 */ 3544343Shibler #define TIO_BRKINT 0x00000002 /* 0000002 */ 3644343Shibler #define TIO_IGNPAR 0x00000004 /* 0000004 */ 3744343Shibler #define TIO_PARMRK 0x00000008 /* 0000010 */ 3844343Shibler #define TIO_INPCK 0x00000010 /* 0000020 */ 3944343Shibler #define TIO_ISTRIP 0x00000020 /* 0000040 */ 4044343Shibler #define TIO_INLCR 0x00000040 /* 0000100 */ 4144343Shibler #define TIO_IGNCR 0x00000080 /* 0000200 */ 4244343Shibler #define TIO_ICRNL 0x00000100 /* 0000400 */ 4344343Shibler #define TIO_IUCLC 0x00000200 /* 0001000 */ 4444343Shibler #define TIO_IXON 0x00000400 /* 0002000 */ 4544343Shibler #define TIO_IXANY 0x00000800 /* 0004000 */ 4644343Shibler #define TIO_IXOFF 0x00001000 /* 0010000 */ 4744343Shibler #define TIO_IENQAK 0x00002000 /* 0020000 */ 4841486Smckusick 4941486Smckusick /* output modes */ 5044343Shibler #define TIO_OPOST 0x00000001 /* 0000001 */ 5144343Shibler #define TIO_OLCUC 0x00000002 /* 0000002 */ 5244343Shibler #define TIO_ONLCR 0x00000004 /* 0000004 */ 5344343Shibler #define TIO_OCRNL 0x00000008 /* 0000010 */ 5444343Shibler #define TIO_ONOCR 0x00000010 /* 0000020 */ 5544343Shibler #define TIO_ONLRET 0x00000020 /* 0000040 */ 5644343Shibler #define TIO_OFILL 0x00000040 /* 0000100 */ 5744343Shibler #define TIO_OFDEL 0x00000080 /* 0000200 */ 5844343Shibler #define TIO_NLDLY 0x00000100 /* 0000400 */ 5941486Smckusick #define TIO_NL0 0 6044343Shibler #define TIO_NL1 0x00000100 /* 0000400 */ 6144343Shibler #define TIO_CRDLY 0x00000600 /* 0003000 */ 6241486Smckusick #define TIO_CR0 0 6344343Shibler #define TIO_CR1 0x00000200 /* 0001000 */ 6444343Shibler #define TIO_CR2 0x00000400 /* 0002000 */ 6544343Shibler #define TIO_CR3 0x00000600 /* 0003000 */ 6644343Shibler #define TIO_TABDLY 0x00001800 /* 0014000 */ 6741486Smckusick #define TIO_TAB0 0 6844343Shibler #define TIO_TAB1 0x00000800 /* 0004000 */ 6944343Shibler #define TIO_TAB2 0x00001000 /* 0010000 */ 7044343Shibler #define TIO_TAB3 0x00001800 /* 0014000 */ 7144343Shibler #define TIO_BSDLY 0x00002000 /* 0020000 */ 7241486Smckusick #define TIO_BS0 0 7344343Shibler #define TIO_BS1 0x00002000 /* 0020000 */ 7444343Shibler #define TIO_VTDLY 0x00004000 /* 0040000 */ 7541486Smckusick #define TIO_VT0 0 7644343Shibler #define TIO_VT1 0x00004000 /* 0040000 */ 7744343Shibler #define TIO_FFDLY 0x00008000 /* 0100000 */ 7841486Smckusick #define TIO_FF0 0 7944343Shibler #define TIO_FF1 0x00008000 /* 0100000 */ 8041486Smckusick 8141486Smckusick /* control modes */ 8244343Shibler #define TIO_CBAUD 0x0000001f /* 0000037 */ 8341486Smckusick #define TIO_B0 0 8444343Shibler #define TIO_B50 0x00000001 /* 0000001 */ 8544343Shibler #define TIO_B75 0x00000002 /* 0000002 */ 8644343Shibler #define TIO_B110 0x00000003 /* 0000003 */ 8744343Shibler #define TIO_B134 0x00000004 /* 0000004 */ 8844343Shibler #define TIO_B150 0x00000005 /* 0000005 */ 8944343Shibler #define TIO_B200 0x00000006 /* 0000006 */ 9044343Shibler #define TIO_B300 0x00000007 /* 0000007 */ 9144343Shibler #define TIO_B600 0x00000008 /* 0000010 */ 9244343Shibler #define TIO_B900 0x00000009 /* 0000011 */ 9344343Shibler #define TIO_B1200 0x0000000a /* 0000012 */ 9444343Shibler #define TIO_B1800 0x0000000b /* 0000013 */ 9544343Shibler #define TIO_B2400 0x0000000c /* 0000014 */ 9644343Shibler #define TIO_B3600 0x0000000d /* 0000015 */ 9744343Shibler #define TIO_B4800 0x0000000e /* 0000016 */ 9844343Shibler #define TIO_B7200 0x0000000f /* 0000017 */ 9944343Shibler #define TIO_B9600 0x00000010 /* 0000020 */ 10044343Shibler #define TIO_B19200 0x00000011 /* 0000021 */ 10144343Shibler #define TIO_B38400 0x00000012 /* 0000022 */ 10244343Shibler #define TIO_EXTA 0x0000001e /* 0000036 */ 10344343Shibler #define TIO_EXTB 0x0000001f /* 0000037 */ 10444343Shibler #define TIO_CSIZE 0x00000060 /* 0000140 */ 10541486Smckusick #define TIO_CS5 0 10644343Shibler #define TIO_CS6 0x00000020 /* 0000040 */ 10744343Shibler #define TIO_CS7 0x00000040 /* 0000100 */ 10844343Shibler #define TIO_CS8 0x00000060 /* 0000140 */ 10944343Shibler #define TIO_CSTOPB 0x00000080 /* 0000200 */ 11044343Shibler #define TIO_CREAD 0x00000100 /* 0000400 */ 11144343Shibler #define TIO_PARENB 0x00000200 /* 0001000 */ 11244343Shibler #define TIO_PARODD 0x00000400 /* 0002000 */ 11344343Shibler #define TIO_HUPCL 0x00000800 /* 0004000 */ 11444343Shibler #define TIO_CLOCAL 0x00001000 /* 0010000 */ 11544343Shibler #define TIO_CRTS 0x00002000 /* 0020000 */ /* Obsolete */ 11641486Smckusick 11741486Smckusick /* line discipline 0 modes */ 11844343Shibler #define TIO_ISIG 0x00000001 /* 0000001 */ 11944343Shibler #define TIO_ICANON 0x00000002 /* 0000002 */ 12044343Shibler #define TIO_XCASE 0x00000004 /* 0000004 */ 12144343Shibler #define TIO_ECHO 0x00000008 /* 0000010 */ 12244343Shibler #define TIO_ECHOE 0x00000010 /* 0000020 */ 12344343Shibler #define TIO_ECHOK 0x00000020 /* 0000040 */ 12444343Shibler #define TIO_ECHONL 0x00000040 /* 0000100 */ 12544343Shibler #define TIO_NOFLSH 0x00000080 /* 0000200 */ 12641486Smckusick 12741486Smckusick struct hpuxtermio { 12841486Smckusick u_short c_iflag; /* input modes */ 12941486Smckusick u_short c_oflag; /* output modes */ 13041486Smckusick u_short c_cflag; /* control modes */ 13141486Smckusick u_short c_lflag; /* line discipline modes */ 13241486Smckusick char c_line; /* line discipline */ 13341486Smckusick u_char c_cc[HPUXNCC]; /* control chars */ 13441486Smckusick }; 13541486Smckusick 13641486Smckusick #define HPUXTCGETA _IOR('T', 1, struct hpuxtermio) 13741486Smckusick #define HPUXTCSETA _IOW('T', 2, struct hpuxtermio) 13841486Smckusick #define HPUXTCSETAW _IOW('T', 3, struct hpuxtermio) 13941486Smckusick #define HPUXTCSETAF _IOW('T', 4, struct hpuxtermio) 14055829Shibler 14155829Shibler /* HP-UX termios stuff */ 14255829Shibler 14355829Shibler #define HPUXNCCS 16 14455829Shibler 14555829Shibler /* control characters */ 14655829Shibler #define HPUXVMINS 11 /* different than termio */ 14755829Shibler #define HPUXVTIMES 12 /* different than termio */ 14855829Shibler #define HPUXVSUSP 13 14955829Shibler #define HPUXVSTART 14 15055829Shibler #define HPUXVSTOP 15 15155829Shibler 15255829Shibler struct hpuxtermios { 15355829Shibler u_int c_iflag; /* input modes */ 15455829Shibler u_int c_oflag; /* output modes */ 15555829Shibler u_int c_cflag; /* control modes */ 15655829Shibler u_int c_lflag; /* line discipline modes */ 15755829Shibler u_int c_reserved; /* future use */ 15855829Shibler u_char c_cc[HPUXNCCS]; /* control chars */ 15955829Shibler }; 16055829Shibler 16155829Shibler #define HPUXTCGETATTR _IOR('T', 16, struct hpuxtermios) 16255829Shibler #define HPUXTCSETATTR _IOW('T', 17, struct hpuxtermios) 16355829Shibler #define HPUXTCSETATTRD _IOW('T', 18, struct hpuxtermios) 16455829Shibler #define HPUXTCSETATTRF _IOW('T', 19, struct hpuxtermios) 165