u. is gone; new device calling conventions
[unix-history] / usr / src / sys / hp / hpux / hpux_termio.h
CommitLineData
a8fd2d0d
KM
1/*
2 * Copyright (c) 1988 University of Utah.
3 * Copyright (c) 1990 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * the Systems Programming Group of the University of Utah Computer
8 * Science Department.
9 *
10 * %sccs.include.redist.c%
11 *
fbdf09dd 12 * from: Utah $Hdr: hpux_termio.h 1.1 90/07/09$
a8fd2d0d 13 *
fbdf09dd 14 * @(#)hpux_termio.h 7.3 (Berkeley) %G%
a8fd2d0d
KM
15 */
16
17/* HP-UX termio stuff */
18
19#define HPUXNCC 8
20
21/* control characters */
22#define HPUXVINTR 0
23#define HPUXVQUIT 1
24#define HPUXVERASE 2
25#define HPUXVKILL 3
26#define HPUXVEOF 4
27#define HPUXVEOL 5
28#define HPUXVMIN 4
29#define HPUXVTIME 5
30
31/* input modes */
83ed508e
MH
32#define TIO_IGNBRK 0x00000001 /* 0000001 */
33#define TIO_BRKINT 0x00000002 /* 0000002 */
34#define TIO_IGNPAR 0x00000004 /* 0000004 */
35#define TIO_PARMRK 0x00000008 /* 0000010 */
36#define TIO_INPCK 0x00000010 /* 0000020 */
37#define TIO_ISTRIP 0x00000020 /* 0000040 */
38#define TIO_INLCR 0x00000040 /* 0000100 */
39#define TIO_IGNCR 0x00000080 /* 0000200 */
40#define TIO_ICRNL 0x00000100 /* 0000400 */
41#define TIO_IUCLC 0x00000200 /* 0001000 */
42#define TIO_IXON 0x00000400 /* 0002000 */
43#define TIO_IXANY 0x00000800 /* 0004000 */
44#define TIO_IXOFF 0x00001000 /* 0010000 */
45#define TIO_IENQAK 0x00002000 /* 0020000 */
a8fd2d0d
KM
46
47/* output modes */
83ed508e
MH
48#define TIO_OPOST 0x00000001 /* 0000001 */
49#define TIO_OLCUC 0x00000002 /* 0000002 */
50#define TIO_ONLCR 0x00000004 /* 0000004 */
51#define TIO_OCRNL 0x00000008 /* 0000010 */
52#define TIO_ONOCR 0x00000010 /* 0000020 */
53#define TIO_ONLRET 0x00000020 /* 0000040 */
54#define TIO_OFILL 0x00000040 /* 0000100 */
55#define TIO_OFDEL 0x00000080 /* 0000200 */
56#define TIO_NLDLY 0x00000100 /* 0000400 */
a8fd2d0d 57#define TIO_NL0 0
83ed508e
MH
58#define TIO_NL1 0x00000100 /* 0000400 */
59#define TIO_CRDLY 0x00000600 /* 0003000 */
a8fd2d0d 60#define TIO_CR0 0
83ed508e
MH
61#define TIO_CR1 0x00000200 /* 0001000 */
62#define TIO_CR2 0x00000400 /* 0002000 */
63#define TIO_CR3 0x00000600 /* 0003000 */
64#define TIO_TABDLY 0x00001800 /* 0014000 */
a8fd2d0d 65#define TIO_TAB0 0
83ed508e
MH
66#define TIO_TAB1 0x00000800 /* 0004000 */
67#define TIO_TAB2 0x00001000 /* 0010000 */
68#define TIO_TAB3 0x00001800 /* 0014000 */
69#define TIO_BSDLY 0x00002000 /* 0020000 */
a8fd2d0d 70#define TIO_BS0 0
83ed508e
MH
71#define TIO_BS1 0x00002000 /* 0020000 */
72#define TIO_VTDLY 0x00004000 /* 0040000 */
a8fd2d0d 73#define TIO_VT0 0
83ed508e
MH
74#define TIO_VT1 0x00004000 /* 0040000 */
75#define TIO_FFDLY 0x00008000 /* 0100000 */
a8fd2d0d 76#define TIO_FF0 0
83ed508e 77#define TIO_FF1 0x00008000 /* 0100000 */
a8fd2d0d
KM
78
79/* control modes */
83ed508e 80#define TIO_CBAUD 0x0000001f /* 0000037 */
a8fd2d0d 81#define TIO_B0 0
83ed508e
MH
82#define TIO_B50 0x00000001 /* 0000001 */
83#define TIO_B75 0x00000002 /* 0000002 */
84#define TIO_B110 0x00000003 /* 0000003 */
85#define TIO_B134 0x00000004 /* 0000004 */
86#define TIO_B150 0x00000005 /* 0000005 */
87#define TIO_B200 0x00000006 /* 0000006 */
88#define TIO_B300 0x00000007 /* 0000007 */
89#define TIO_B600 0x00000008 /* 0000010 */
90#define TIO_B900 0x00000009 /* 0000011 */
91#define TIO_B1200 0x0000000a /* 0000012 */
92#define TIO_B1800 0x0000000b /* 0000013 */
93#define TIO_B2400 0x0000000c /* 0000014 */
94#define TIO_B3600 0x0000000d /* 0000015 */
95#define TIO_B4800 0x0000000e /* 0000016 */
96#define TIO_B7200 0x0000000f /* 0000017 */
97#define TIO_B9600 0x00000010 /* 0000020 */
98#define TIO_B19200 0x00000011 /* 0000021 */
99#define TIO_B38400 0x00000012 /* 0000022 */
100#define TIO_EXTA 0x0000001e /* 0000036 */
101#define TIO_EXTB 0x0000001f /* 0000037 */
102#define TIO_CSIZE 0x00000060 /* 0000140 */
a8fd2d0d 103#define TIO_CS5 0
83ed508e
MH
104#define TIO_CS6 0x00000020 /* 0000040 */
105#define TIO_CS7 0x00000040 /* 0000100 */
106#define TIO_CS8 0x00000060 /* 0000140 */
107#define TIO_CSTOPB 0x00000080 /* 0000200 */
108#define TIO_CREAD 0x00000100 /* 0000400 */
109#define TIO_PARENB 0x00000200 /* 0001000 */
110#define TIO_PARODD 0x00000400 /* 0002000 */
111#define TIO_HUPCL 0x00000800 /* 0004000 */
112#define TIO_CLOCAL 0x00001000 /* 0010000 */
113#define TIO_CRTS 0x00002000 /* 0020000 */ /* Obsolete */
a8fd2d0d
KM
114
115/* line discipline 0 modes */
83ed508e
MH
116#define TIO_ISIG 0x00000001 /* 0000001 */
117#define TIO_ICANON 0x00000002 /* 0000002 */
118#define TIO_XCASE 0x00000004 /* 0000004 */
119#define TIO_ECHO 0x00000008 /* 0000010 */
120#define TIO_ECHOE 0x00000010 /* 0000020 */
121#define TIO_ECHOK 0x00000020 /* 0000040 */
122#define TIO_ECHONL 0x00000040 /* 0000100 */
123#define TIO_NOFLSH 0x00000080 /* 0000200 */
a8fd2d0d
KM
124
125struct hpuxtermio {
126 u_short c_iflag; /* input modes */
127 u_short c_oflag; /* output modes */
128 u_short c_cflag; /* control modes */
129 u_short c_lflag; /* line discipline modes */
130 char c_line; /* line discipline */
131 u_char c_cc[HPUXNCC]; /* control chars */
132};
133
134#define HPUXTCGETA _IOR('T', 1, struct hpuxtermio)
135#define HPUXTCSETA _IOW('T', 2, struct hpuxtermio)
136#define HPUXTCSETAW _IOW('T', 3, struct hpuxtermio)
137#define HPUXTCSETAF _IOW('T', 4, struct hpuxtermio)