xref: /freebsd/contrib/tcsh/ed.term.h (revision 19d2e3de755b7c9ca2f5c90b5902fc8f214b2490)
1*19d2e3deSDmitry Chagin /* $Header: /p/tcsh/cvsroot/tcsh/ed.term.h,v 1.19 2015/03/25 19:53:16 christos Exp $ */
2c80476e4SDavid E. O'Brien /*
3c80476e4SDavid E. O'Brien  * ed.term.h: Local terminal header
4c80476e4SDavid E. O'Brien  */
5c80476e4SDavid E. O'Brien /*-
6c80476e4SDavid E. O'Brien  * Copyright (c) 1980, 1991 The Regents of the University of California.
7c80476e4SDavid E. O'Brien  * All rights reserved.
8c80476e4SDavid E. O'Brien  *
9c80476e4SDavid E. O'Brien  * Redistribution and use in source and binary forms, with or without
10c80476e4SDavid E. O'Brien  * modification, are permitted provided that the following conditions
11c80476e4SDavid E. O'Brien  * are met:
12c80476e4SDavid E. O'Brien  * 1. Redistributions of source code must retain the above copyright
13c80476e4SDavid E. O'Brien  *    notice, this list of conditions and the following disclaimer.
14c80476e4SDavid E. O'Brien  * 2. Redistributions in binary form must reproduce the above copyright
15c80476e4SDavid E. O'Brien  *    notice, this list of conditions and the following disclaimer in the
16c80476e4SDavid E. O'Brien  *    documentation and/or other materials provided with the distribution.
1729301572SMark Peek  * 3. Neither the name of the University nor the names of its contributors
18c80476e4SDavid E. O'Brien  *    may be used to endorse or promote products derived from this software
19c80476e4SDavid E. O'Brien  *    without specific prior written permission.
20c80476e4SDavid E. O'Brien  *
21c80476e4SDavid E. O'Brien  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22c80476e4SDavid E. O'Brien  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23c80476e4SDavid E. O'Brien  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24c80476e4SDavid E. O'Brien  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25c80476e4SDavid E. O'Brien  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26c80476e4SDavid E. O'Brien  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27c80476e4SDavid E. O'Brien  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28c80476e4SDavid E. O'Brien  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29c80476e4SDavid E. O'Brien  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30c80476e4SDavid E. O'Brien  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31c80476e4SDavid E. O'Brien  * SUCH DAMAGE.
32c80476e4SDavid E. O'Brien  */
33c80476e4SDavid E. O'Brien #ifndef _h_ed_term
34c80476e4SDavid E. O'Brien #define _h_ed_term
35c80476e4SDavid E. O'Brien 
36c80476e4SDavid E. O'Brien #define TO_CONTROL(A)	((A) & 037)
37c80476e4SDavid E. O'Brien 
38c80476e4SDavid E. O'Brien #if defined(TERMIO) || defined(POSIX)
39c80476e4SDavid E. O'Brien /*
40c80476e4SDavid E. O'Brien  * Aix compatible names
41c80476e4SDavid E. O'Brien  */
42c80476e4SDavid E. O'Brien # if defined(VWERSE) && !defined(VWERASE)
43c80476e4SDavid E. O'Brien #  define VWERASE VWERSE
44c80476e4SDavid E. O'Brien # endif /* VWERSE && !VWERASE */
45c80476e4SDavid E. O'Brien 
46c80476e4SDavid E. O'Brien # if defined(VDISCRD) && !defined(VDISCARD)
47c80476e4SDavid E. O'Brien #  define VDISCARD VDISCRD
48c80476e4SDavid E. O'Brien # endif /* VDISCRD && !VDISCARD */
49c80476e4SDavid E. O'Brien 
50c80476e4SDavid E. O'Brien # if defined(VFLUSHO) && !defined(VDISCARD)
51c80476e4SDavid E. O'Brien #  define VDISCARD VFLUSHO
52c80476e4SDavid E. O'Brien # endif  /* VFLUSHO && VDISCARD */
53c80476e4SDavid E. O'Brien 
54c80476e4SDavid E. O'Brien # if defined(VSTRT) && !defined(VSTART)
55c80476e4SDavid E. O'Brien #  define VSTART VSTRT
56c80476e4SDavid E. O'Brien # endif /* VSTRT && ! VSTART */
57c80476e4SDavid E. O'Brien 
58c80476e4SDavid E. O'Brien # if defined(VSTAT) && !defined(VSTATUS)
59c80476e4SDavid E. O'Brien #  define VSTATUS VSTAT
60c80476e4SDavid E. O'Brien # endif /* VSTAT && ! VSTATUS */
61c80476e4SDavid E. O'Brien 
62c80476e4SDavid E. O'Brien # ifndef ONLRET
63c80476e4SDavid E. O'Brien #  define ONLRET 0
64c80476e4SDavid E. O'Brien # endif /* ONLRET */
65c80476e4SDavid E. O'Brien 
66c80476e4SDavid E. O'Brien # ifndef TAB3
67c80476e4SDavid E. O'Brien #  ifdef OXTABS
68c80476e4SDavid E. O'Brien #   define TAB3 OXTABS
69c80476e4SDavid E. O'Brien #  else
70c80476e4SDavid E. O'Brien #   define TAB3 0
71c80476e4SDavid E. O'Brien #  endif /* OXTABS */
72c80476e4SDavid E. O'Brien # endif /* !TAB3 */
73c80476e4SDavid E. O'Brien 
74c80476e4SDavid E. O'Brien # if defined(OXTABS) && !defined(XTABS)
75c80476e4SDavid E. O'Brien #  define XTABS OXTABS
76c80476e4SDavid E. O'Brien # endif /* OXTABS && !XTABS */
77c80476e4SDavid E. O'Brien 
78c80476e4SDavid E. O'Brien # ifndef ONLCR
79c80476e4SDavid E. O'Brien #  define ONLCR 0
80c80476e4SDavid E. O'Brien # endif /* ONLCR */
81c80476e4SDavid E. O'Brien 
82c80476e4SDavid E. O'Brien # ifndef IEXTEN
83c80476e4SDavid E. O'Brien #  define IEXTEN 0
84c80476e4SDavid E. O'Brien # endif /* IEXTEN */
85c80476e4SDavid E. O'Brien 
86c80476e4SDavid E. O'Brien /*
87c80476e4SDavid E. O'Brien  * emx garbage
88c80476e4SDavid E. O'Brien  */
89c80476e4SDavid E. O'Brien # ifndef IDEFAULT
90c80476e4SDavid E. O'Brien #  define IDEFAULT 0
91c80476e4SDavid E. O'Brien # endif /* IDEFAULT */
92c80476e4SDavid E. O'Brien 
93c80476e4SDavid E. O'Brien # ifndef IDELETE
94c80476e4SDavid E. O'Brien #  define IDELETE 0
95c80476e4SDavid E. O'Brien # endif /* IDELETE */
96c80476e4SDavid E. O'Brien 
97c80476e4SDavid E. O'Brien # ifndef ECHOCTL
98c80476e4SDavid E. O'Brien #  define ECHOCTL 0
99c80476e4SDavid E. O'Brien # endif /* ECHOCTL */
100c80476e4SDavid E. O'Brien 
101c80476e4SDavid E. O'Brien # ifndef PARENB
102c80476e4SDavid E. O'Brien #  define PARENB 0
103c80476e4SDavid E. O'Brien # endif /* PARENB */
104c80476e4SDavid E. O'Brien 
105c80476e4SDavid E. O'Brien # ifndef EXTPROC
106c80476e4SDavid E. O'Brien #  define EXTPROC 0
107c80476e4SDavid E. O'Brien # endif /* EXTPROC */
108c80476e4SDavid E. O'Brien 
109c80476e4SDavid E. O'Brien # ifndef FLUSHO
110c80476e4SDavid E. O'Brien #  define FLUSHO  0
111c80476e4SDavid E. O'Brien # endif /* FLUSHO */
112c80476e4SDavid E. O'Brien 
113c80476e4SDavid E. O'Brien 
114c80476e4SDavid E. O'Brien # if defined(VDISABLE) && !defined(_POSIX_VDISABLE)
115c80476e4SDavid E. O'Brien #  define _POSIX_VDISABLE VDISABLE
116c80476e4SDavid E. O'Brien # endif /* VDISABLE && ! _POSIX_VDISABLE */
117c80476e4SDavid E. O'Brien 
118c80476e4SDavid E. O'Brien /*
119c80476e4SDavid E. O'Brien  * Work around ISC's definition of IEXTEN which is
120c80476e4SDavid E. O'Brien  * XCASE!
121c80476e4SDavid E. O'Brien  */
122c80476e4SDavid E. O'Brien # ifdef ISC
123c80476e4SDavid E. O'Brien #  if defined(IEXTEN) && defined(XCASE)
124c80476e4SDavid E. O'Brien #   if IEXTEN == XCASE
125c80476e4SDavid E. O'Brien #    undef IEXTEN
126c80476e4SDavid E. O'Brien #    define IEXTEN 0
127c80476e4SDavid E. O'Brien #   endif /* IEXTEN == XCASE */
128c80476e4SDavid E. O'Brien #  endif /* IEXTEN && XCASE */
129c80476e4SDavid E. O'Brien #  if defined(IEXTEN) && !defined(XCASE)
130c80476e4SDavid E. O'Brien #   define XCASE IEXTEN
131c80476e4SDavid E. O'Brien #   undef IEXTEN
132c80476e4SDavid E. O'Brien #   define IEXTEN 0
133c80476e4SDavid E. O'Brien #  endif /* IEXTEN && !XCASE */
134c80476e4SDavid E. O'Brien # endif /* ISC */
135c80476e4SDavid E. O'Brien 
136c80476e4SDavid E. O'Brien /*
137c80476e4SDavid E. O'Brien  * Work around convex weirdness where turning off IEXTEN makes us
138c80476e4SDavid E. O'Brien  * lose all postprocessing!
139c80476e4SDavid E. O'Brien  */
140c80476e4SDavid E. O'Brien #ifdef convex
141c80476e4SDavid E. O'Brien # if defined(IEXTEN) && IEXTEN != 0
142c80476e4SDavid E. O'Brien #  undef IEXTEN
143c80476e4SDavid E. O'Brien #  define IEXTEN 0
144c80476e4SDavid E. O'Brien # endif /* IEXTEN != 0 */
145c80476e4SDavid E. O'Brien #endif /* convex */
146c80476e4SDavid E. O'Brien 
147c80476e4SDavid E. O'Brien 
148c80476e4SDavid E. O'Brien # else /* SGTTY */
149c80476e4SDavid E. O'Brien 
150c80476e4SDavid E. O'Brien # ifndef LPASS8
151c80476e4SDavid E. O'Brien #  define LPASS8  0
152c80476e4SDavid E. O'Brien # endif /* LPASS8 */
153c80476e4SDavid E. O'Brien 
154c80476e4SDavid E. O'Brien #endif /* TERMIO || POSIX */
155c80476e4SDavid E. O'Brien 
156c80476e4SDavid E. O'Brien #ifndef _POSIX_VDISABLE
157c80476e4SDavid E. O'Brien # define _POSIX_VDISABLE ((unsigned char) -1)
158c80476e4SDavid E. O'Brien #endif /* _POSIX_VDISABLE */
159c80476e4SDavid E. O'Brien 
160c80476e4SDavid E. O'Brien 
161c80476e4SDavid E. O'Brien #if !defined(CREPRINT) && defined(CRPRNT)
162c80476e4SDavid E. O'Brien # define CREPRINT CRPRNT
163c80476e4SDavid E. O'Brien #endif /* !CREPRINT && CRPRNT */
164c80476e4SDavid E. O'Brien #if !defined(CDISCARD) && defined(CFLUSH)
165c80476e4SDavid E. O'Brien # define CDISCARD CFLUSH
166c80476e4SDavid E. O'Brien #endif /* !CDISCARD && CFLUSH */
167c80476e4SDavid E. O'Brien #if !defined(CDISCARD) && defined(CFLUSHO)
168c80476e4SDavid E. O'Brien # define CDISCARD CFLUSHO
169c80476e4SDavid E. O'Brien #endif /* !CDISCARD && CFLUSHO */
170c80476e4SDavid E. O'Brien 
171c80476e4SDavid E. O'Brien /*
172c80476e4SDavid E. O'Brien  * IRIX4.0 control macro is broken!
173c80476e4SDavid E. O'Brien  * Ignore and undef all default tty chars defined and redefine only
174c80476e4SDavid E. O'Brien  * the ones that are different in the IRIX file.
175c80476e4SDavid E. O'Brien  */
176c80476e4SDavid E. O'Brien #if __STDC__ && defined(IRIS4D)
177c80476e4SDavid E. O'Brien # undef  CINTR
178c80476e4SDavid E. O'Brien # define CINTR		0177	/* ^? */
179c80476e4SDavid E. O'Brien # undef  CQUIT
180c80476e4SDavid E. O'Brien # undef  CERASE
181c80476e4SDavid E. O'Brien # define CERASE		TO_CONTROL('h')
182c80476e4SDavid E. O'Brien # undef  CKILL
183c80476e4SDavid E. O'Brien # undef  CEOF
184c80476e4SDavid E. O'Brien # undef  CEOL
185c80476e4SDavid E. O'Brien # undef  CEOL2
186c80476e4SDavid E. O'Brien # undef  CSWTCH
187c80476e4SDavid E. O'Brien # define CSWTCH		TO_CONTROL('z')
188c80476e4SDavid E. O'Brien # undef  CDSWTCH
189c80476e4SDavid E. O'Brien # undef  CERASE2
190c80476e4SDavid E. O'Brien # undef  CSTART
191c80476e4SDavid E. O'Brien # undef  CSTOP
192c80476e4SDavid E. O'Brien # undef  CWERASE
193c80476e4SDavid E. O'Brien # undef  CSUSP
194c80476e4SDavid E. O'Brien # undef  CDSUSP
195c80476e4SDavid E. O'Brien # undef  CREPRINT
196c80476e4SDavid E. O'Brien # undef  CDISCARD
197c80476e4SDavid E. O'Brien # undef  CLNEXT
198c80476e4SDavid E. O'Brien # undef  CSTATUS
199c80476e4SDavid E. O'Brien # undef  CPAGE
200c80476e4SDavid E. O'Brien # undef  CPGOFF
201c80476e4SDavid E. O'Brien # undef  CKILL2
202c80476e4SDavid E. O'Brien # undef  CBRK
203c80476e4SDavid E. O'Brien # undef  CMIN
204c80476e4SDavid E. O'Brien # undef  CTIME
205c80476e4SDavid E. O'Brien #endif /* __STDC__ && IRIS4D */
206c80476e4SDavid E. O'Brien 
207c80476e4SDavid E. O'Brien 
208c80476e4SDavid E. O'Brien #ifndef CINTR
209c80476e4SDavid E. O'Brien # define CINTR		TO_CONTROL('c')
210c80476e4SDavid E. O'Brien #endif /* CINTR */
211c80476e4SDavid E. O'Brien #ifndef CQUIT
212c80476e4SDavid E. O'Brien # define CQUIT		034	/* ^\ */
213c80476e4SDavid E. O'Brien #endif /* CQUIT */
214c80476e4SDavid E. O'Brien #ifndef CERASE
215c80476e4SDavid E. O'Brien # define CERASE		0177	/* ^? */
216c80476e4SDavid E. O'Brien #endif /* CERASE */
217c80476e4SDavid E. O'Brien #ifndef CKILL
218c80476e4SDavid E. O'Brien # define CKILL		TO_CONTROL('u')
219c80476e4SDavid E. O'Brien #endif /* CKILL */
220c80476e4SDavid E. O'Brien #ifndef CEOF
221c80476e4SDavid E. O'Brien # define CEOF		TO_CONTROL('d')
222c80476e4SDavid E. O'Brien #endif /* CEOF */
223c80476e4SDavid E. O'Brien #ifndef CEOL
224c80476e4SDavid E. O'Brien # define CEOL		_POSIX_VDISABLE
225c80476e4SDavid E. O'Brien #endif /* CEOL */
226c80476e4SDavid E. O'Brien #ifndef CEOL2
227c80476e4SDavid E. O'Brien # define CEOL2		_POSIX_VDISABLE
228c80476e4SDavid E. O'Brien #endif /* CEOL2 */
229c80476e4SDavid E. O'Brien #ifndef CSWTCH
230c80476e4SDavid E. O'Brien # define CSWTCH		_POSIX_VDISABLE
231c80476e4SDavid E. O'Brien #endif /* CSWTCH */
232c80476e4SDavid E. O'Brien #ifndef CDSWTCH
233c80476e4SDavid E. O'Brien # define CDSWTCH	_POSIX_VDISABLE
234c80476e4SDavid E. O'Brien #endif /* CDSWTCH */
235c80476e4SDavid E. O'Brien #ifndef CERASE2
236c80476e4SDavid E. O'Brien # define CERASE2	_POSIX_VDISABLE
237c80476e4SDavid E. O'Brien #endif /* CERASE2 */
238c80476e4SDavid E. O'Brien #ifndef CSTART
239c80476e4SDavid E. O'Brien # define CSTART		TO_CONTROL('q')
240c80476e4SDavid E. O'Brien #endif /* CSTART */
241c80476e4SDavid E. O'Brien #ifndef CSTOP
242c80476e4SDavid E. O'Brien # define CSTOP		TO_CONTROL('s')
243c80476e4SDavid E. O'Brien #endif /* CSTOP */
244c80476e4SDavid E. O'Brien #ifndef CSUSP
245c80476e4SDavid E. O'Brien # define CSUSP		TO_CONTROL('z')
246c80476e4SDavid E. O'Brien #endif /* CSUSP */
247c80476e4SDavid E. O'Brien #ifndef CDSUSP
248c80476e4SDavid E. O'Brien # define CDSUSP		TO_CONTROL('y')
249c80476e4SDavid E. O'Brien #endif /* CDSUSP */
250c80476e4SDavid E. O'Brien 
251c80476e4SDavid E. O'Brien #ifdef hpux
252c80476e4SDavid E. O'Brien 
253c80476e4SDavid E. O'Brien # ifndef CREPRINT
254c80476e4SDavid E. O'Brien #  define CREPRINT	_POSIX_VDISABLE
255c80476e4SDavid E. O'Brien # endif /* CREPRINT */
256c80476e4SDavid E. O'Brien # ifndef CDISCARD
257c80476e4SDavid E. O'Brien #  define CDISCARD	_POSIX_VDISABLE
258c80476e4SDavid E. O'Brien # endif /* CDISCARD */
259c80476e4SDavid E. O'Brien # ifndef CLNEXT
260c80476e4SDavid E. O'Brien #  define CLNEXT	_POSIX_VDISABLE
261c80476e4SDavid E. O'Brien # endif /* CLNEXT */
262c80476e4SDavid E. O'Brien # ifndef CWERASE
263c80476e4SDavid E. O'Brien #  define CWERASE	_POSIX_VDISABLE
264c80476e4SDavid E. O'Brien # endif /* CWERASE */
265c80476e4SDavid E. O'Brien 
266c80476e4SDavid E. O'Brien #else /* !hpux */
267c80476e4SDavid E. O'Brien 
268c80476e4SDavid E. O'Brien # ifndef CREPRINT
269c80476e4SDavid E. O'Brien #  define CREPRINT	TO_CONTROL('r')
270c80476e4SDavid E. O'Brien # endif /* CREPRINT */
271c80476e4SDavid E. O'Brien # ifndef CDISCARD
272c80476e4SDavid E. O'Brien #  define CDISCARD	TO_CONTROL('o')
273c80476e4SDavid E. O'Brien # endif /* CDISCARD */
274c80476e4SDavid E. O'Brien # ifndef CLNEXT
275c80476e4SDavid E. O'Brien #  define CLNEXT	TO_CONTROL('v')
276c80476e4SDavid E. O'Brien # endif /* CLNEXT */
277c80476e4SDavid E. O'Brien # ifndef CWERASE
278c80476e4SDavid E. O'Brien #  define CWERASE	TO_CONTROL('w')
279c80476e4SDavid E. O'Brien # endif /* CWERASE */
280c80476e4SDavid E. O'Brien 
281c80476e4SDavid E. O'Brien #endif /* hpux */
282c80476e4SDavid E. O'Brien 
283c80476e4SDavid E. O'Brien #ifndef CSTATUS
284c80476e4SDavid E. O'Brien # define CSTATUS	TO_CONTROL('t')
285c80476e4SDavid E. O'Brien #endif /* CSTATUS */
286c80476e4SDavid E. O'Brien #ifndef CPAGE
287c80476e4SDavid E. O'Brien # define CPAGE		' '
288c80476e4SDavid E. O'Brien #endif /* CPAGE */
289c80476e4SDavid E. O'Brien #ifndef CPGOFF
290c80476e4SDavid E. O'Brien # define CPGOFF		TO_CONTROL('m')
291c80476e4SDavid E. O'Brien #endif /* CPGOFF */
292c80476e4SDavid E. O'Brien #ifndef CKILL2
293c80476e4SDavid E. O'Brien # define CKILL2		_POSIX_VDISABLE
294c80476e4SDavid E. O'Brien #endif /* CKILL2 */
295c80476e4SDavid E. O'Brien #ifndef CBRK
296c80476e4SDavid E. O'Brien # ifndef masscomp
297c80476e4SDavid E. O'Brien #  define CBRK		0377
298c80476e4SDavid E. O'Brien # else
299c80476e4SDavid E. O'Brien #  define CBRK		'\0'
300c80476e4SDavid E. O'Brien # endif /* masscomp */
301c80476e4SDavid E. O'Brien #endif /* CBRK */
302c80476e4SDavid E. O'Brien #ifndef CMIN
303*19d2e3deSDmitry Chagin # if VMIN == VEOF
304c80476e4SDavid E. O'Brien #  define CMIN		CEOF
305*19d2e3deSDmitry Chagin # else
306*19d2e3deSDmitry Chagin #  define CMIN		1
307*19d2e3deSDmitry Chagin # endif
308c80476e4SDavid E. O'Brien #endif /* CMIN */
309c80476e4SDavid E. O'Brien #ifndef CTIME
310*19d2e3deSDmitry Chagin # if VTIME == VEOL
311c80476e4SDavid E. O'Brien #  define CTIME		CEOL
312*19d2e3deSDmitry Chagin # else
313*19d2e3deSDmitry Chagin #  define CTIME		0
314*19d2e3deSDmitry Chagin # endif
315c80476e4SDavid E. O'Brien #endif /* CTIME */
316c80476e4SDavid E. O'Brien 
317c80476e4SDavid E. O'Brien /*
318c80476e4SDavid E. O'Brien  * Fix for sun inconsistency. On termio VSUSP and the rest of the
319c80476e4SDavid E. O'Brien  * ttychars > NCC are defined. So we undefine them.
320c80476e4SDavid E. O'Brien  */
321c80476e4SDavid E. O'Brien #if defined(TERMIO) || defined(POSIX)
322c80476e4SDavid E. O'Brien # if defined(POSIX) && defined(NCCS)
323c80476e4SDavid E. O'Brien #  define NUMCC		NCCS
324c80476e4SDavid E. O'Brien # else
325c80476e4SDavid E. O'Brien #  ifdef NCC
326c80476e4SDavid E. O'Brien #   define NUMCC	NCC
327c80476e4SDavid E. O'Brien #  endif /* NCC */
328c80476e4SDavid E. O'Brien # endif /* POSIX && NCCS */
329c80476e4SDavid E. O'Brien # ifdef NUMCC
330c80476e4SDavid E. O'Brien #  ifdef VINTR
331c80476e4SDavid E. O'Brien #   if NUMCC <= VINTR
332c80476e4SDavid E. O'Brien #    undef VINTR
333c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VINTR */
334c80476e4SDavid E. O'Brien #  endif /* VINTR */
335c80476e4SDavid E. O'Brien #  ifdef VQUIT
336c80476e4SDavid E. O'Brien #   if NUMCC <= VQUIT
337c80476e4SDavid E. O'Brien #    undef VQUIT
338c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VQUIT */
339c80476e4SDavid E. O'Brien #  endif /* VQUIT */
340c80476e4SDavid E. O'Brien #  ifdef VERASE
341c80476e4SDavid E. O'Brien #   if NUMCC <= VERASE
342c80476e4SDavid E. O'Brien #    undef VERASE
343c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VERASE */
344c80476e4SDavid E. O'Brien #  endif /* VERASE */
345c80476e4SDavid E. O'Brien #  ifdef VKILL
346c80476e4SDavid E. O'Brien #   if NUMCC <= VKILL
347c80476e4SDavid E. O'Brien #    undef VKILL
348c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VKILL */
349c80476e4SDavid E. O'Brien #  endif /* VKILL */
350c80476e4SDavid E. O'Brien #  ifdef VEOF
351c80476e4SDavid E. O'Brien #   if NUMCC <= VEOF
352c80476e4SDavid E. O'Brien #    undef VEOF
353c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VEOF */
354c80476e4SDavid E. O'Brien #  endif /* VEOF */
355c80476e4SDavid E. O'Brien #  ifdef VEOL
356c80476e4SDavid E. O'Brien #   if NUMCC <= VEOL
357c80476e4SDavid E. O'Brien #    undef VEOL
358c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VEOL */
359c80476e4SDavid E. O'Brien #  endif /* VEOL */
360c80476e4SDavid E. O'Brien #  ifdef VEOL2
361c80476e4SDavid E. O'Brien #   if NUMCC <= VEOL2
362c80476e4SDavid E. O'Brien #    undef VEOL2
363c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VEOL2 */
364c80476e4SDavid E. O'Brien #  endif /* VEOL2 */
365c80476e4SDavid E. O'Brien #  ifdef VSWTCH
366c80476e4SDavid E. O'Brien #   if NUMCC <= VSWTCH
367c80476e4SDavid E. O'Brien #    undef VSWTCH
368c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VSWTCH */
369c80476e4SDavid E. O'Brien #  endif /* VSWTCH */
370c80476e4SDavid E. O'Brien #  ifdef VDSWTCH
371c80476e4SDavid E. O'Brien #   if NUMCC <= VDSWTCH
372c80476e4SDavid E. O'Brien #    undef VDSWTCH
373c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VDSWTCH */
374c80476e4SDavid E. O'Brien #  endif /* VDSWTCH */
375c80476e4SDavid E. O'Brien #  ifdef VERASE2
376c80476e4SDavid E. O'Brien #   if NUMCC <= VERASE2
377c80476e4SDavid E. O'Brien #    undef VERASE2
378c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VERASE2 */
379c80476e4SDavid E. O'Brien #  endif /* VERASE2 */
380c80476e4SDavid E. O'Brien #  ifdef VSTART
381c80476e4SDavid E. O'Brien #   if NUMCC <= VSTART
382c80476e4SDavid E. O'Brien #    undef VSTART
383c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VSTART */
384c80476e4SDavid E. O'Brien #  endif /* VSTART */
385c80476e4SDavid E. O'Brien #  ifdef VSTOP
386c80476e4SDavid E. O'Brien #   if NUMCC <= VSTOP
387c80476e4SDavid E. O'Brien #    undef VSTOP
388c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VSTOP */
389c80476e4SDavid E. O'Brien #  endif /* VSTOP */
390c80476e4SDavid E. O'Brien #  ifdef VWERASE
391c80476e4SDavid E. O'Brien #   if NUMCC <= VWERASE
392c80476e4SDavid E. O'Brien #    undef VWERASE
393c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VWERASE */
394c80476e4SDavid E. O'Brien #  endif /* VWERASE */
395c80476e4SDavid E. O'Brien #  ifdef VSUSP
396c80476e4SDavid E. O'Brien #   if NUMCC <= VSUSP
397c80476e4SDavid E. O'Brien #    undef VSUSP
398c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VSUSP */
399c80476e4SDavid E. O'Brien #  endif /* VSUSP */
400c80476e4SDavid E. O'Brien #  ifdef VDSUSP
401c80476e4SDavid E. O'Brien #   if NUMCC <= VDSUSP
402c80476e4SDavid E. O'Brien #    undef VDSUSP
403c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VDSUSP */
404c80476e4SDavid E. O'Brien #  endif /* VDSUSP */
405c80476e4SDavid E. O'Brien #  ifdef VREPRINT
406c80476e4SDavid E. O'Brien #   if NUMCC <= VREPRINT
407c80476e4SDavid E. O'Brien #    undef VREPRINT
408c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VREPRINT */
409c80476e4SDavid E. O'Brien #  endif /* VREPRINT */
410c80476e4SDavid E. O'Brien #  ifdef VDISCARD
411c80476e4SDavid E. O'Brien #   if NUMCC <= VDISCARD
412c80476e4SDavid E. O'Brien #    undef VDISCARD
413c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VDISCARD */
414c80476e4SDavid E. O'Brien #  endif /* VDISCARD */
415c80476e4SDavid E. O'Brien #  ifdef VLNEXT
416c80476e4SDavid E. O'Brien #   if NUMCC <= VLNEXT
417c80476e4SDavid E. O'Brien #    undef VLNEXT
418c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VLNEXT */
419c80476e4SDavid E. O'Brien #  endif /* VLNEXT */
420c80476e4SDavid E. O'Brien #  ifdef VSTATUS
421c80476e4SDavid E. O'Brien #   if NUMCC <= VSTATUS
422c80476e4SDavid E. O'Brien #    undef VSTATUS
423c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VSTATUS */
424c80476e4SDavid E. O'Brien #  endif /* VSTATUS */
425c80476e4SDavid E. O'Brien #  ifdef VPAGE
426c80476e4SDavid E. O'Brien #   if NUMCC <= VPAGE
427c80476e4SDavid E. O'Brien #    undef VPAGE
428c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VPAGE */
429c80476e4SDavid E. O'Brien #  endif /* VPAGE */
430c80476e4SDavid E. O'Brien #  ifdef VPGOFF
431c80476e4SDavid E. O'Brien #   if NUMCC <= VPGOFF
432c80476e4SDavid E. O'Brien #    undef VPGOFF
433c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VPGOFF */
434c80476e4SDavid E. O'Brien #  endif /* VPGOFF */
435c80476e4SDavid E. O'Brien #  ifdef VKILL2
436c80476e4SDavid E. O'Brien #   if NUMCC <= VKILL2
437c80476e4SDavid E. O'Brien #    undef VKILL2
438c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VKILL2 */
439c80476e4SDavid E. O'Brien #  endif /* VKILL2 */
440c80476e4SDavid E. O'Brien #  ifdef VBRK
441c80476e4SDavid E. O'Brien #   if NUMCC <= VBRK
442c80476e4SDavid E. O'Brien #    undef VBRK
443c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VBRK */
444c80476e4SDavid E. O'Brien #  endif /* VBRK */
445c80476e4SDavid E. O'Brien #  ifdef VMIN
446c80476e4SDavid E. O'Brien #   if NUMCC <= VMIN
447c80476e4SDavid E. O'Brien #    undef VMIN
448c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VMIN */
449c80476e4SDavid E. O'Brien #  endif /* VMIN */
450c80476e4SDavid E. O'Brien #  ifdef VTIME
451c80476e4SDavid E. O'Brien #   if NUMCC <= VTIME
452c80476e4SDavid E. O'Brien #    undef VTIME
453c80476e4SDavid E. O'Brien #   endif /* NUMCC <= VTIME */
454c80476e4SDavid E. O'Brien #  endif /* VTIME */
455c80476e4SDavid E. O'Brien # endif /* NUMCC */
456c80476e4SDavid E. O'Brien #endif /* !POSIX */
457c80476e4SDavid E. O'Brien 
458c80476e4SDavid E. O'Brien /*
459c80476e4SDavid E. O'Brien  * fix for hpux10 inconsistency: it has VWERASE, but TIOCSLTC returns
460c80476e4SDavid E. O'Brien  * EINVAL if one tries to change it
46129301572SMark Peek  * Also for RH6.2 on the alpha, defined TIOCGLTC, but does not have
46229301572SMark Peek  * struct ltchars
463c80476e4SDavid E. O'Brien  */
464a15e6f9aSMark Peek #if (defined(hpux) && defined(VSUSP) && defined(VDSUSP) && defined(VWERASE) && defined(VLNEXT)) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) || defined(__QNXNTO__)
465c80476e4SDavid E. O'Brien # undef TIOCGLTC       /* not really needed */
466c80476e4SDavid E. O'Brien # undef TIOCSLTC
467c80476e4SDavid E. O'Brien #endif
468c80476e4SDavid E. O'Brien 
469c80476e4SDavid E. O'Brien #define C_INTR		 0
470c80476e4SDavid E. O'Brien #define C_QUIT		 1
471c80476e4SDavid E. O'Brien #define C_ERASE		 2
472c80476e4SDavid E. O'Brien #define C_KILL		 3
473c80476e4SDavid E. O'Brien #define C_EOF		 4
474c80476e4SDavid E. O'Brien #define C_EOL		 5
475c80476e4SDavid E. O'Brien #define C_EOL2		 6
476c80476e4SDavid E. O'Brien #define C_SWTCH		 7
477c80476e4SDavid E. O'Brien #define C_DSWTCH	 8
478c80476e4SDavid E. O'Brien #define C_ERASE2	 9
479c80476e4SDavid E. O'Brien #define C_START		10
480c80476e4SDavid E. O'Brien #define C_STOP		11
481c80476e4SDavid E. O'Brien #define C_WERASE	12
482c80476e4SDavid E. O'Brien #define C_SUSP		13
483c80476e4SDavid E. O'Brien #define C_DSUSP		14
484c80476e4SDavid E. O'Brien #define C_REPRINT	15
485c80476e4SDavid E. O'Brien #define C_DISCARD	16
486c80476e4SDavid E. O'Brien #define C_LNEXT		17
487c80476e4SDavid E. O'Brien #define C_STATUS	18
488c80476e4SDavid E. O'Brien #define C_PAGE		19
489c80476e4SDavid E. O'Brien #define C_PGOFF		20
490c80476e4SDavid E. O'Brien #define C_KILL2		21
491c80476e4SDavid E. O'Brien #define C_BRK		22
492c80476e4SDavid E. O'Brien #define C_MIN		23
493c80476e4SDavid E. O'Brien #define C_TIME		24
494c80476e4SDavid E. O'Brien #define C_NCC		25
495c80476e4SDavid E. O'Brien #define C_SH(A)		(1 << (A))
496c80476e4SDavid E. O'Brien 
49729301572SMark Peek /*
49829301572SMark Peek  * Terminal dependend data structures
49929301572SMark Peek  */
50029301572SMark Peek typedef struct {
50129301572SMark Peek #ifdef WINNT_NATIVE
50229301572SMark Peek     int dummy;
50329301572SMark Peek #else /* !WINNT_NATIVE */
50429301572SMark Peek # if defined(POSIX) || defined(TERMIO)
50529301572SMark Peek #  ifdef POSIX
50629301572SMark Peek     struct termios d_t;
50729301572SMark Peek #  else
50829301572SMark Peek     struct termio d_t;
50929301572SMark Peek #  endif /* POSIX */
51029301572SMark Peek # else /* SGTTY */
51129301572SMark Peek #  ifdef TIOCGETP
51229301572SMark Peek     struct sgttyb d_t;
51329301572SMark Peek #  endif /* TIOCGETP */
51429301572SMark Peek #  ifdef TIOCGETC
51529301572SMark Peek     struct tchars d_tc;
51629301572SMark Peek #  endif /* TIOCGETC */
51729301572SMark Peek #  ifdef TIOCGPAGE
51829301572SMark Peek     struct ttypagestat d_pc;
51929301572SMark Peek #  endif /* TIOCGPAGE */
52029301572SMark Peek #  ifdef TIOCLGET
52129301572SMark Peek     int d_lb;
52229301572SMark Peek #  endif /* TIOCLGET */
52329301572SMark Peek # endif /* POSIX || TERMIO */
52429301572SMark Peek # ifdef TIOCGLTC
52529301572SMark Peek     struct ltchars d_ltc;
52629301572SMark Peek # endif /* TIOCGLTC */
52729301572SMark Peek #endif /* WINNT_NATIVE */
52829301572SMark Peek } ttydata_t;
52929301572SMark Peek 
530c80476e4SDavid E. O'Brien #endif /* _h_ed_term */
531