1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
/* $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 */
|