source: trunk/third/tcsh/ed.term.h @ 12039

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