/* $OpenBSD: hpux_termio.h,v 1.5 2003/06/02 23:28:00 millert Exp $ */ /* $NetBSD: hpux_termio.h,v 1.7 1997/04/01 19:59:04 scottr Exp $ */ /* * Copyright (c) 1988 University of Utah. * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * the Systems Programming Group of the University of Utah Computer * Science Department. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * from: Utah $Hdr: hpux_termio.h 1.1 90/07/09$ * * @(#)hpux_termio.h 8.1 (Berkeley) 6/10/93 */ /* HP-UX termio stuff */ #define HPUXNCC 8 /* control characters */ #define HPUXVINTR 0 #define HPUXVQUIT 1 #define HPUXVERASE 2 #define HPUXVKILL 3 #define HPUXVEOF 4 #define HPUXVEOL 5 #define HPUXVMIN 4 #define HPUXVTIME 5 #define HPUXVEOL2 6 #define HPUXVSWTCH 7 /* input modes */ #define TIO_IGNBRK 0x00000001 /* 0000001 */ #define TIO_BRKINT 0x00000002 /* 0000002 */ #define TIO_IGNPAR 0x00000004 /* 0000004 */ #define TIO_PARMRK 0x00000008 /* 0000010 */ #define TIO_INPCK 0x00000010 /* 0000020 */ #define TIO_ISTRIP 0x00000020 /* 0000040 */ #define TIO_INLCR 0x00000040 /* 0000100 */ #define TIO_IGNCR 0x00000080 /* 0000200 */ #define TIO_ICRNL 0x00000100 /* 0000400 */ #define TIO_IUCLC 0x00000200 /* 0001000 */ #define TIO_IXON 0x00000400 /* 0002000 */ #define TIO_IXANY 0x00000800 /* 0004000 */ #define TIO_IXOFF 0x00001000 /* 0010000 */ #define TIO_IENQAK 0x00002000 /* 0020000 */ /* output modes */ #define TIO_OPOST 0x00000001 /* 0000001 */ #define TIO_OLCUC 0x00000002 /* 0000002 */ #define TIO_ONLCR 0x00000004 /* 0000004 */ #define TIO_OCRNL 0x00000008 /* 0000010 */ #define TIO_ONOCR 0x00000010 /* 0000020 */ #define TIO_ONLRET 0x00000020 /* 0000040 */ #define TIO_OFILL 0x00000040 /* 0000100 */ #define TIO_OFDEL 0x00000080 /* 0000200 */ #define TIO_NLDLY 0x00000100 /* 0000400 */ #define TIO_NL0 0 #define TIO_NL1 0x00000100 /* 0000400 */ #define TIO_CRDLY 0x00000600 /* 0003000 */ #define TIO_CR0 0 #define TIO_CR1 0x00000200 /* 0001000 */ #define TIO_CR2 0x00000400 /* 0002000 */ #define TIO_CR3 0x00000600 /* 0003000 */ #define TIO_TABDLY 0x00001800 /* 0014000 */ #define TIO_TAB0 0 #define TIO_TAB1 0x00000800 /* 0004000 */ #define TIO_TAB2 0x00001000 /* 0010000 */ #define TIO_TAB3 0x00001800 /* 0014000 */ #define TIO_BSDLY 0x00002000 /* 0020000 */ #define TIO_BS0 0 #define TIO_BS1 0x00002000 /* 0020000 */ #define TIO_VTDLY 0x00004000 /* 0040000 */ #define TIO_VT0 0 #define TIO_VT1 0x00004000 /* 0040000 */ #define TIO_FFDLY 0x00008000 /* 0100000 */ #define TIO_FF0 0 #define TIO_FF1 0x00008000 /* 0100000 */ /* control modes */ #define TIO_CBAUD 0x0000001f /* 0000037 */ #define TIO_B0 0 #define TIO_B50 0x00000001 /* 0000001 */ #define TIO_B75 0x00000002 /* 0000002 */ #define TIO_B110 0x00000003 /* 0000003 */ #define TIO_B134 0x00000004 /* 0000004 */ #define TIO_B150 0x00000005 /* 0000005 */ #define TIO_B200 0x00000006 /* 0000006 */ #define TIO_B300 0x00000007 /* 0000007 */ #define TIO_B600 0x00000008 /* 0000010 */ #define TIO_B900 0x00000009 /* 0000011 */ #define TIO_B1200 0x0000000a /* 0000012 */ #define TIO_B1800 0x0000000b /* 0000013 */ #define TIO_B2400 0x0000000c /* 0000014 */ #define TIO_B3600 0x0000000d /* 0000015 */ #define TIO_B4800 0x0000000e /* 0000016 */ #define TIO_B7200 0x0000000f /* 0000017 */ #define TIO_B9600 0x00000010 /* 0000020 */ #define TIO_B19200 0x00000011 /* 0000021 */ #define TIO_B38400 0x00000012 /* 0000022 */ #define TIO_EXTA 0x0000001e /* 0000036 */ #define TIO_EXTB 0x0000001f /* 0000037 */ #define TIO_CSIZE 0x00000060 /* 0000140 */ #define TIO_CS5 0 #define TIO_CS6 0x00000020 /* 0000040 */ #define TIO_CS7 0x00000040 /* 0000100 */ #define TIO_CS8 0x00000060 /* 0000140 */ #define TIO_CSTOPB 0x00000080 /* 0000200 */ #define TIO_CREAD 0x00000100 /* 0000400 */ #define TIO_PARENB 0x00000200 /* 0001000 */ #define TIO_PARODD 0x00000400 /* 0002000 */ #define TIO_HUPCL 0x00000800 /* 0004000 */ #define TIO_CLOCAL 0x00001000 /* 0010000 */ #define TIO_CRTS 0x00002000 /* 0020000 */ /* Obsolete */ /* line discipline 0 modes */ #define TIO_ISIG 0x00000001 /* 0000001 */ #define TIO_ICANON 0x00000002 /* 0000002 */ #define TIO_XCASE 0x00000004 /* 0000004 */ #define TIO_ECHO 0x00000008 /* 0000010 */ #define TIO_ECHOE 0x00000010 /* 0000020 */ #define TIO_ECHOK 0x00000020 /* 0000040 */ #define TIO_ECHONL 0x00000040 /* 0000100 */ #define TIO_NOFLSH 0x00000080 /* 0000200 */ struct hpux_termio { u_short c_iflag; /* input modes */ u_short c_oflag; /* output modes */ u_short c_cflag; /* control modes */ u_short c_lflag; /* line discipline modes */ char c_line; /* line discipline */ u_char c_cc[HPUXNCC]; /* control chars */ }; #define HPUXTCGETA _IOR('T', 1, struct hpux_termio) #define HPUXTCSETA _IOW('T', 2, struct hpux_termio) #define HPUXTCSETAW _IOW('T', 3, struct hpux_termio) #define HPUXTCSETAF _IOW('T', 4, struct hpux_termio) /* HP-UX termios stuff */ #define HPUXNCCS 16 /* control characters */ #define HPUXVMINS 11 /* different than termio */ #define HPUXVTIMES 12 /* different than termio */ #define HPUXVSUSP 13 #define HPUXVSTART 14 #define HPUXVSTOP 15 struct hpux_termios { u_int c_iflag; /* input modes */ u_int c_oflag; /* output modes */ u_int c_cflag; /* control modes */ u_int c_lflag; /* line discipline modes */ u_int c_reserved; /* future use */ u_char c_cc[HPUXNCCS]; /* control chars */ }; #define HPUXTCGETATTR _IOR('T', 16, struct hpux_termios) #define HPUXTCSETATTR _IOW('T', 17, struct hpux_termios) #define HPUXTCSETATTRD _IOW('T', 18, struct hpux_termios) #define HPUXTCSETATTRF _IOW('T', 19, struct hpux_termios) #ifdef _KERNEL struct termio; struct termios; int hpux_termio(int, int, caddr_t, struct proc *); void termiototermios(struct hpux_termio *, struct hpux_termios *, struct termios *); void termiostotermio(struct hpux_termios *, struct hpux_termio *); int bsdtohpuxbaud(long); int hpuxtobsdbaud(int); int getsettty(struct proc *, int, int, caddr_t); #endif /* _KERNEL */