1316958Sdchagin/* $Header: /p/tcsh/cvsroot/tcsh/ed.term.h,v 1.19 2015/03/25 19:53:16 christos Exp $ */
259243Sobrien/*
359243Sobrien * ed.term.h: Local terminal header
459243Sobrien */
559243Sobrien/*-
659243Sobrien * Copyright (c) 1980, 1991 The Regents of the University of California.
759243Sobrien * All rights reserved.
859243Sobrien *
959243Sobrien * Redistribution and use in source and binary forms, with or without
1059243Sobrien * modification, are permitted provided that the following conditions
1159243Sobrien * are met:
1259243Sobrien * 1. Redistributions of source code must retain the above copyright
1359243Sobrien *    notice, this list of conditions and the following disclaimer.
1459243Sobrien * 2. Redistributions in binary form must reproduce the above copyright
1559243Sobrien *    notice, this list of conditions and the following disclaimer in the
1659243Sobrien *    documentation and/or other materials provided with the distribution.
17100616Smp * 3. Neither the name of the University nor the names of its contributors
1859243Sobrien *    may be used to endorse or promote products derived from this software
1959243Sobrien *    without specific prior written permission.
2059243Sobrien *
2159243Sobrien * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2259243Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2359243Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2459243Sobrien * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2559243Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2659243Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2759243Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2859243Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2959243Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3059243Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3159243Sobrien * SUCH DAMAGE.
3259243Sobrien */
3359243Sobrien#ifndef _h_ed_term
3459243Sobrien#define _h_ed_term
3559243Sobrien
3659243Sobrien#define TO_CONTROL(A)	((A) & 037)
3759243Sobrien
3859243Sobrien#if defined(TERMIO) || defined(POSIX)
3959243Sobrien/*
4059243Sobrien * Aix compatible names
4159243Sobrien */
4259243Sobrien# if defined(VWERSE) && !defined(VWERASE)
4359243Sobrien#  define VWERASE VWERSE
4459243Sobrien# endif /* VWERSE && !VWERASE */
4559243Sobrien
4659243Sobrien# if defined(VDISCRD) && !defined(VDISCARD)
4759243Sobrien#  define VDISCARD VDISCRD
4859243Sobrien# endif /* VDISCRD && !VDISCARD */
4959243Sobrien
5059243Sobrien# if defined(VFLUSHO) && !defined(VDISCARD)
5159243Sobrien#  define VDISCARD VFLUSHO
5259243Sobrien# endif  /* VFLUSHO && VDISCARD */
5359243Sobrien
5459243Sobrien# if defined(VSTRT) && !defined(VSTART)
5559243Sobrien#  define VSTART VSTRT
5659243Sobrien# endif /* VSTRT && ! VSTART */
5759243Sobrien
5859243Sobrien# if defined(VSTAT) && !defined(VSTATUS)
5959243Sobrien#  define VSTATUS VSTAT
6059243Sobrien# endif /* VSTAT && ! VSTATUS */
6159243Sobrien
6259243Sobrien# ifndef ONLRET
6359243Sobrien#  define ONLRET 0
6459243Sobrien# endif /* ONLRET */
6559243Sobrien
6659243Sobrien# ifndef TAB3
6759243Sobrien#  ifdef OXTABS
6859243Sobrien#   define TAB3 OXTABS
6959243Sobrien#  else
7059243Sobrien#   define TAB3 0
7159243Sobrien#  endif /* OXTABS */
7259243Sobrien# endif /* !TAB3 */
7359243Sobrien
7459243Sobrien# if defined(OXTABS) && !defined(XTABS)
7559243Sobrien#  define XTABS OXTABS
7659243Sobrien# endif /* OXTABS && !XTABS */
7759243Sobrien
7859243Sobrien# ifndef ONLCR
7959243Sobrien#  define ONLCR 0
8059243Sobrien# endif /* ONLCR */
8159243Sobrien
8259243Sobrien# ifndef IEXTEN
8359243Sobrien#  define IEXTEN 0
8459243Sobrien# endif /* IEXTEN */
8559243Sobrien
8659243Sobrien/*
8759243Sobrien * emx garbage
8859243Sobrien */
8959243Sobrien# ifndef IDEFAULT
9059243Sobrien#  define IDEFAULT 0
9159243Sobrien# endif /* IDEFAULT */
9259243Sobrien
9359243Sobrien# ifndef IDELETE
9459243Sobrien#  define IDELETE 0
9559243Sobrien# endif /* IDELETE */
9659243Sobrien
9759243Sobrien# ifndef ECHOCTL
9859243Sobrien#  define ECHOCTL 0
9959243Sobrien# endif /* ECHOCTL */
10059243Sobrien
10159243Sobrien# ifndef PARENB
10259243Sobrien#  define PARENB 0
10359243Sobrien# endif /* PARENB */
10459243Sobrien
10559243Sobrien# ifndef EXTPROC
10659243Sobrien#  define EXTPROC 0
10759243Sobrien# endif /* EXTPROC */
10859243Sobrien
10959243Sobrien# ifndef FLUSHO
11059243Sobrien#  define FLUSHO  0
11159243Sobrien# endif /* FLUSHO */
11259243Sobrien
11359243Sobrien
11459243Sobrien# if defined(VDISABLE) && !defined(_POSIX_VDISABLE)
11559243Sobrien#  define _POSIX_VDISABLE VDISABLE
11659243Sobrien# endif /* VDISABLE && ! _POSIX_VDISABLE */
11759243Sobrien
11859243Sobrien/*
11959243Sobrien * Work around ISC's definition of IEXTEN which is
12059243Sobrien * XCASE!
12159243Sobrien */
12259243Sobrien# ifdef ISC
12359243Sobrien#  if defined(IEXTEN) && defined(XCASE)
12459243Sobrien#   if IEXTEN == XCASE
12559243Sobrien#    undef IEXTEN
12659243Sobrien#    define IEXTEN 0
12759243Sobrien#   endif /* IEXTEN == XCASE */
12859243Sobrien#  endif /* IEXTEN && XCASE */
12959243Sobrien#  if defined(IEXTEN) && !defined(XCASE)
13059243Sobrien#   define XCASE IEXTEN
13159243Sobrien#   undef IEXTEN
13259243Sobrien#   define IEXTEN 0
13359243Sobrien#  endif /* IEXTEN && !XCASE */
13459243Sobrien# endif /* ISC */
13559243Sobrien
13659243Sobrien/*
13759243Sobrien * Work around convex weirdness where turning off IEXTEN makes us
13859243Sobrien * lose all postprocessing!
13959243Sobrien */
14059243Sobrien#ifdef convex
14159243Sobrien# if defined(IEXTEN) && IEXTEN != 0
14259243Sobrien#  undef IEXTEN
14359243Sobrien#  define IEXTEN 0
14459243Sobrien# endif /* IEXTEN != 0 */
14559243Sobrien#endif /* convex */
14659243Sobrien
14759243Sobrien
14859243Sobrien# else /* SGTTY */
14959243Sobrien
15059243Sobrien# ifndef LPASS8
15159243Sobrien#  define LPASS8  0
15259243Sobrien# endif /* LPASS8 */
15359243Sobrien
15459243Sobrien#endif /* TERMIO || POSIX */
15559243Sobrien
15659243Sobrien#ifndef _POSIX_VDISABLE
15759243Sobrien# define _POSIX_VDISABLE ((unsigned char) -1)
15859243Sobrien#endif /* _POSIX_VDISABLE */
15959243Sobrien
16059243Sobrien
16159243Sobrien#if !defined(CREPRINT) && defined(CRPRNT)
16259243Sobrien# define CREPRINT CRPRNT
16359243Sobrien#endif /* !CREPRINT && CRPRNT */
16459243Sobrien#if !defined(CDISCARD) && defined(CFLUSH)
16559243Sobrien# define CDISCARD CFLUSH
16659243Sobrien#endif /* !CDISCARD && CFLUSH */
16759243Sobrien#if !defined(CDISCARD) && defined(CFLUSHO)
16859243Sobrien# define CDISCARD CFLUSHO
16959243Sobrien#endif /* !CDISCARD && CFLUSHO */
17059243Sobrien
17159243Sobrien/*
17259243Sobrien * IRIX4.0 control macro is broken!
17359243Sobrien * Ignore and undef all default tty chars defined and redefine only
17459243Sobrien * the ones that are different in the IRIX file.
17559243Sobrien */
17659243Sobrien#if __STDC__ && defined(IRIS4D)
17759243Sobrien# undef  CINTR
17859243Sobrien# define CINTR		0177	/* ^? */
17959243Sobrien# undef  CQUIT
18059243Sobrien# undef  CERASE
18159243Sobrien# define CERASE		TO_CONTROL('h')
18259243Sobrien# undef  CKILL
18359243Sobrien# undef  CEOF
18459243Sobrien# undef  CEOL
18559243Sobrien# undef  CEOL2
18659243Sobrien# undef  CSWTCH
18759243Sobrien# define CSWTCH		TO_CONTROL('z')
18859243Sobrien# undef  CDSWTCH
18959243Sobrien# undef  CERASE2
19059243Sobrien# undef  CSTART
19159243Sobrien# undef  CSTOP
19259243Sobrien# undef  CWERASE
19359243Sobrien# undef  CSUSP
19459243Sobrien# undef  CDSUSP
19559243Sobrien# undef  CREPRINT
19659243Sobrien# undef  CDISCARD
19759243Sobrien# undef  CLNEXT
19859243Sobrien# undef  CSTATUS
19959243Sobrien# undef  CPAGE
20059243Sobrien# undef  CPGOFF
20159243Sobrien# undef  CKILL2
20259243Sobrien# undef  CBRK
20359243Sobrien# undef  CMIN
20459243Sobrien# undef  CTIME
20559243Sobrien#endif /* __STDC__ && IRIS4D */
20659243Sobrien
20759243Sobrien
20859243Sobrien#ifndef CINTR
20959243Sobrien# define CINTR		TO_CONTROL('c')
21059243Sobrien#endif /* CINTR */
21159243Sobrien#ifndef CQUIT
21259243Sobrien# define CQUIT		034	/* ^\ */
21359243Sobrien#endif /* CQUIT */
21459243Sobrien#ifndef CERASE
21559243Sobrien# define CERASE		0177	/* ^? */
21659243Sobrien#endif /* CERASE */
21759243Sobrien#ifndef CKILL
21859243Sobrien# define CKILL		TO_CONTROL('u')
21959243Sobrien#endif /* CKILL */
22059243Sobrien#ifndef CEOF
22159243Sobrien# define CEOF		TO_CONTROL('d')
22259243Sobrien#endif /* CEOF */
22359243Sobrien#ifndef CEOL
22459243Sobrien# define CEOL		_POSIX_VDISABLE
22559243Sobrien#endif /* CEOL */
22659243Sobrien#ifndef CEOL2
22759243Sobrien# define CEOL2		_POSIX_VDISABLE
22859243Sobrien#endif /* CEOL2 */
22959243Sobrien#ifndef CSWTCH
23059243Sobrien# define CSWTCH		_POSIX_VDISABLE
23159243Sobrien#endif /* CSWTCH */
23259243Sobrien#ifndef CDSWTCH
23359243Sobrien# define CDSWTCH	_POSIX_VDISABLE
23459243Sobrien#endif /* CDSWTCH */
23559243Sobrien#ifndef CERASE2
23659243Sobrien# define CERASE2	_POSIX_VDISABLE
23759243Sobrien#endif /* CERASE2 */
23859243Sobrien#ifndef CSTART
23959243Sobrien# define CSTART		TO_CONTROL('q')
24059243Sobrien#endif /* CSTART */
24159243Sobrien#ifndef CSTOP
24259243Sobrien# define CSTOP		TO_CONTROL('s')
24359243Sobrien#endif /* CSTOP */
24459243Sobrien#ifndef CSUSP
24559243Sobrien# define CSUSP		TO_CONTROL('z')
24659243Sobrien#endif /* CSUSP */
24759243Sobrien#ifndef CDSUSP
24859243Sobrien# define CDSUSP		TO_CONTROL('y')
24959243Sobrien#endif /* CDSUSP */
25059243Sobrien
25159243Sobrien#ifdef hpux
25259243Sobrien
25359243Sobrien# ifndef CREPRINT
25459243Sobrien#  define CREPRINT	_POSIX_VDISABLE
25559243Sobrien# endif /* CREPRINT */
25659243Sobrien# ifndef CDISCARD
25759243Sobrien#  define CDISCARD	_POSIX_VDISABLE
25859243Sobrien# endif /* CDISCARD */
25959243Sobrien# ifndef CLNEXT
26059243Sobrien#  define CLNEXT	_POSIX_VDISABLE
26159243Sobrien# endif /* CLNEXT */
26259243Sobrien# ifndef CWERASE
26359243Sobrien#  define CWERASE	_POSIX_VDISABLE
26459243Sobrien# endif /* CWERASE */
26559243Sobrien
26659243Sobrien#else /* !hpux */
26759243Sobrien
26859243Sobrien# ifndef CREPRINT
26959243Sobrien#  define CREPRINT	TO_CONTROL('r')
27059243Sobrien# endif /* CREPRINT */
27159243Sobrien# ifndef CDISCARD
27259243Sobrien#  define CDISCARD	TO_CONTROL('o')
27359243Sobrien# endif /* CDISCARD */
27459243Sobrien# ifndef CLNEXT
27559243Sobrien#  define CLNEXT	TO_CONTROL('v')
27659243Sobrien# endif /* CLNEXT */
27759243Sobrien# ifndef CWERASE
27859243Sobrien#  define CWERASE	TO_CONTROL('w')
27959243Sobrien# endif /* CWERASE */
28059243Sobrien
28159243Sobrien#endif /* hpux */
28259243Sobrien
28359243Sobrien#ifndef CSTATUS
28459243Sobrien# define CSTATUS	TO_CONTROL('t')
28559243Sobrien#endif /* CSTATUS */
28659243Sobrien#ifndef CPAGE
28759243Sobrien# define CPAGE		' '
28859243Sobrien#endif /* CPAGE */
28959243Sobrien#ifndef CPGOFF
29059243Sobrien# define CPGOFF		TO_CONTROL('m')
29159243Sobrien#endif /* CPGOFF */
29259243Sobrien#ifndef CKILL2
29359243Sobrien# define CKILL2		_POSIX_VDISABLE
29459243Sobrien#endif /* CKILL2 */
29559243Sobrien#ifndef CBRK
29659243Sobrien# ifndef masscomp
29759243Sobrien#  define CBRK		0377
29859243Sobrien# else
29959243Sobrien#  define CBRK		'\0'
30059243Sobrien# endif /* masscomp */
30159243Sobrien#endif /* CBRK */
30259243Sobrien#ifndef CMIN
303316958Sdchagin# if VMIN == VEOF
304316958Sdchagin#  define CMIN		CEOF
305316958Sdchagin# else
306316958Sdchagin#  define CMIN		1
307316958Sdchagin# endif
30859243Sobrien#endif /* CMIN */
30959243Sobrien#ifndef CTIME
310316958Sdchagin# if VTIME == VEOL
311316958Sdchagin#  define CTIME		CEOL
312316958Sdchagin# else
313316958Sdchagin#  define CTIME		0
314316958Sdchagin# endif
31559243Sobrien#endif /* CTIME */
31659243Sobrien
31759243Sobrien/*
31859243Sobrien * Fix for sun inconsistency. On termio VSUSP and the rest of the
31959243Sobrien * ttychars > NCC are defined. So we undefine them.
32059243Sobrien */
32159243Sobrien#if defined(TERMIO) || defined(POSIX)
32259243Sobrien# if defined(POSIX) && defined(NCCS)
32359243Sobrien#  define NUMCC		NCCS
32459243Sobrien# else
32559243Sobrien#  ifdef NCC
32659243Sobrien#   define NUMCC	NCC
32759243Sobrien#  endif /* NCC */
32859243Sobrien# endif /* POSIX && NCCS */
32959243Sobrien# ifdef NUMCC
33059243Sobrien#  ifdef VINTR
33159243Sobrien#   if NUMCC <= VINTR
33259243Sobrien#    undef VINTR
33359243Sobrien#   endif /* NUMCC <= VINTR */
33459243Sobrien#  endif /* VINTR */
33559243Sobrien#  ifdef VQUIT
33659243Sobrien#   if NUMCC <= VQUIT
33759243Sobrien#    undef VQUIT
33859243Sobrien#   endif /* NUMCC <= VQUIT */
33959243Sobrien#  endif /* VQUIT */
34059243Sobrien#  ifdef VERASE
34159243Sobrien#   if NUMCC <= VERASE
34259243Sobrien#    undef VERASE
34359243Sobrien#   endif /* NUMCC <= VERASE */
34459243Sobrien#  endif /* VERASE */
34559243Sobrien#  ifdef VKILL
34659243Sobrien#   if NUMCC <= VKILL
34759243Sobrien#    undef VKILL
34859243Sobrien#   endif /* NUMCC <= VKILL */
34959243Sobrien#  endif /* VKILL */
35059243Sobrien#  ifdef VEOF
35159243Sobrien#   if NUMCC <= VEOF
35259243Sobrien#    undef VEOF
35359243Sobrien#   endif /* NUMCC <= VEOF */
35459243Sobrien#  endif /* VEOF */
35559243Sobrien#  ifdef VEOL
35659243Sobrien#   if NUMCC <= VEOL
35759243Sobrien#    undef VEOL
35859243Sobrien#   endif /* NUMCC <= VEOL */
35959243Sobrien#  endif /* VEOL */
36059243Sobrien#  ifdef VEOL2
36159243Sobrien#   if NUMCC <= VEOL2
36259243Sobrien#    undef VEOL2
36359243Sobrien#   endif /* NUMCC <= VEOL2 */
36459243Sobrien#  endif /* VEOL2 */
36559243Sobrien#  ifdef VSWTCH
36659243Sobrien#   if NUMCC <= VSWTCH
36759243Sobrien#    undef VSWTCH
36859243Sobrien#   endif /* NUMCC <= VSWTCH */
36959243Sobrien#  endif /* VSWTCH */
37059243Sobrien#  ifdef VDSWTCH
37159243Sobrien#   if NUMCC <= VDSWTCH
37259243Sobrien#    undef VDSWTCH
37359243Sobrien#   endif /* NUMCC <= VDSWTCH */
37459243Sobrien#  endif /* VDSWTCH */
37559243Sobrien#  ifdef VERASE2
37659243Sobrien#   if NUMCC <= VERASE2
37759243Sobrien#    undef VERASE2
37859243Sobrien#   endif /* NUMCC <= VERASE2 */
37959243Sobrien#  endif /* VERASE2 */
38059243Sobrien#  ifdef VSTART
38159243Sobrien#   if NUMCC <= VSTART
38259243Sobrien#    undef VSTART
38359243Sobrien#   endif /* NUMCC <= VSTART */
38459243Sobrien#  endif /* VSTART */
38559243Sobrien#  ifdef VSTOP
38659243Sobrien#   if NUMCC <= VSTOP
38759243Sobrien#    undef VSTOP
38859243Sobrien#   endif /* NUMCC <= VSTOP */
38959243Sobrien#  endif /* VSTOP */
39059243Sobrien#  ifdef VWERASE
39159243Sobrien#   if NUMCC <= VWERASE
39259243Sobrien#    undef VWERASE
39359243Sobrien#   endif /* NUMCC <= VWERASE */
39459243Sobrien#  endif /* VWERASE */
39559243Sobrien#  ifdef VSUSP
39659243Sobrien#   if NUMCC <= VSUSP
39759243Sobrien#    undef VSUSP
39859243Sobrien#   endif /* NUMCC <= VSUSP */
39959243Sobrien#  endif /* VSUSP */
40059243Sobrien#  ifdef VDSUSP
40159243Sobrien#   if NUMCC <= VDSUSP
40259243Sobrien#    undef VDSUSP
40359243Sobrien#   endif /* NUMCC <= VDSUSP */
40459243Sobrien#  endif /* VDSUSP */
40559243Sobrien#  ifdef VREPRINT
40659243Sobrien#   if NUMCC <= VREPRINT
40759243Sobrien#    undef VREPRINT
40859243Sobrien#   endif /* NUMCC <= VREPRINT */
40959243Sobrien#  endif /* VREPRINT */
41059243Sobrien#  ifdef VDISCARD
41159243Sobrien#   if NUMCC <= VDISCARD
41259243Sobrien#    undef VDISCARD
41359243Sobrien#   endif /* NUMCC <= VDISCARD */
41459243Sobrien#  endif /* VDISCARD */
41559243Sobrien#  ifdef VLNEXT
41659243Sobrien#   if NUMCC <= VLNEXT
41759243Sobrien#    undef VLNEXT
41859243Sobrien#   endif /* NUMCC <= VLNEXT */
41959243Sobrien#  endif /* VLNEXT */
42059243Sobrien#  ifdef VSTATUS
42159243Sobrien#   if NUMCC <= VSTATUS
42259243Sobrien#    undef VSTATUS
42359243Sobrien#   endif /* NUMCC <= VSTATUS */
42459243Sobrien#  endif /* VSTATUS */
42559243Sobrien#  ifdef VPAGE
42659243Sobrien#   if NUMCC <= VPAGE
42759243Sobrien#    undef VPAGE
42859243Sobrien#   endif /* NUMCC <= VPAGE */
42959243Sobrien#  endif /* VPAGE */
43059243Sobrien#  ifdef VPGOFF
43159243Sobrien#   if NUMCC <= VPGOFF
43259243Sobrien#    undef VPGOFF
43359243Sobrien#   endif /* NUMCC <= VPGOFF */
43459243Sobrien#  endif /* VPGOFF */
43559243Sobrien#  ifdef VKILL2
43659243Sobrien#   if NUMCC <= VKILL2
43759243Sobrien#    undef VKILL2
43859243Sobrien#   endif /* NUMCC <= VKILL2 */
43959243Sobrien#  endif /* VKILL2 */
44059243Sobrien#  ifdef VBRK
44159243Sobrien#   if NUMCC <= VBRK
44259243Sobrien#    undef VBRK
44359243Sobrien#   endif /* NUMCC <= VBRK */
44459243Sobrien#  endif /* VBRK */
44559243Sobrien#  ifdef VMIN
44659243Sobrien#   if NUMCC <= VMIN
44759243Sobrien#    undef VMIN
44859243Sobrien#   endif /* NUMCC <= VMIN */
44959243Sobrien#  endif /* VMIN */
45059243Sobrien#  ifdef VTIME
45159243Sobrien#   if NUMCC <= VTIME
45259243Sobrien#    undef VTIME
45359243Sobrien#   endif /* NUMCC <= VTIME */
45459243Sobrien#  endif /* VTIME */
45559243Sobrien# endif /* NUMCC */
45659243Sobrien#endif /* !POSIX */
45759243Sobrien
45859243Sobrien/*
45959243Sobrien * fix for hpux10 inconsistency: it has VWERASE, but TIOCSLTC returns
46059243Sobrien * EINVAL if one tries to change it
461100616Smp * Also for RH6.2 on the alpha, defined TIOCGLTC, but does not have
462100616Smp * struct ltchars
46359243Sobrien */
464195609Smp#if (defined(hpux) && defined(VSUSP) && defined(VDSUSP) && defined(VWERASE) && defined(VLNEXT)) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) || defined(__QNXNTO__)
46559243Sobrien# undef TIOCGLTC       /* not really needed */
46659243Sobrien# undef TIOCSLTC
46759243Sobrien#endif
46859243Sobrien
46959243Sobrien#define C_INTR		 0
47059243Sobrien#define C_QUIT		 1
47159243Sobrien#define C_ERASE		 2
47259243Sobrien#define C_KILL		 3
47359243Sobrien#define C_EOF		 4
47459243Sobrien#define C_EOL		 5
47559243Sobrien#define C_EOL2		 6
47659243Sobrien#define C_SWTCH		 7
47759243Sobrien#define C_DSWTCH	 8
47859243Sobrien#define C_ERASE2	 9
47959243Sobrien#define C_START		10
48059243Sobrien#define C_STOP		11
48159243Sobrien#define C_WERASE	12
48259243Sobrien#define C_SUSP		13
48359243Sobrien#define C_DSUSP		14
48459243Sobrien#define C_REPRINT	15
48559243Sobrien#define C_DISCARD	16
48659243Sobrien#define C_LNEXT		17
48759243Sobrien#define C_STATUS	18
48859243Sobrien#define C_PAGE		19
48959243Sobrien#define C_PGOFF		20
49059243Sobrien#define C_KILL2		21
49159243Sobrien#define C_BRK		22
49259243Sobrien#define C_MIN		23
49359243Sobrien#define C_TIME		24
49459243Sobrien#define C_NCC		25
49559243Sobrien#define C_SH(A)		(1 << (A))
49659243Sobrien
497100616Smp/*
498100616Smp * Terminal dependend data structures
499100616Smp */
500100616Smptypedef struct {
501100616Smp#ifdef WINNT_NATIVE
502100616Smp    int dummy;
503100616Smp#else /* !WINNT_NATIVE */
504100616Smp# if defined(POSIX) || defined(TERMIO)
505100616Smp#  ifdef POSIX
506100616Smp    struct termios d_t;
507100616Smp#  else
508100616Smp    struct termio d_t;
509100616Smp#  endif /* POSIX */
510100616Smp# else /* SGTTY */
511100616Smp#  ifdef TIOCGETP
512100616Smp    struct sgttyb d_t;
513100616Smp#  endif /* TIOCGETP */
514100616Smp#  ifdef TIOCGETC
515100616Smp    struct tchars d_tc;
516100616Smp#  endif /* TIOCGETC */
517100616Smp#  ifdef TIOCGPAGE
518100616Smp    struct ttypagestat d_pc;
519100616Smp#  endif /* TIOCGPAGE */
520100616Smp#  ifdef TIOCLGET
521100616Smp    int d_lb;
522100616Smp#  endif /* TIOCLGET */
523100616Smp# endif /* POSIX || TERMIO */
524100616Smp# ifdef TIOCGLTC
525100616Smp    struct ltchars d_ltc;
526100616Smp# endif /* TIOCGLTC */
527100616Smp#endif /* WINNT_NATIVE */
528100616Smp} ttydata_t;
529100616Smp
53059243Sobrien#endif /* _h_ed_term */
531