1195609Smp/* $Header: /p/tcsh/cvsroot/tcsh/ed.term.h,v 1.18 2007/07/05 14:13:06 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 30359243Sobrien# define CMIN CEOF 30459243Sobrien#endif /* CMIN */ 30559243Sobrien#ifndef CTIME 30659243Sobrien# define CTIME CEOL 30759243Sobrien#endif /* CTIME */ 30859243Sobrien 30959243Sobrien/* 31059243Sobrien * Fix for sun inconsistency. On termio VSUSP and the rest of the 31159243Sobrien * ttychars > NCC are defined. So we undefine them. 31259243Sobrien */ 31359243Sobrien#if defined(TERMIO) || defined(POSIX) 31459243Sobrien# if defined(POSIX) && defined(NCCS) 31559243Sobrien# define NUMCC NCCS 31659243Sobrien# else 31759243Sobrien# ifdef NCC 31859243Sobrien# define NUMCC NCC 31959243Sobrien# endif /* NCC */ 32059243Sobrien# endif /* POSIX && NCCS */ 32159243Sobrien# ifdef NUMCC 32259243Sobrien# ifdef VINTR 32359243Sobrien# if NUMCC <= VINTR 32459243Sobrien# undef VINTR 32559243Sobrien# endif /* NUMCC <= VINTR */ 32659243Sobrien# endif /* VINTR */ 32759243Sobrien# ifdef VQUIT 32859243Sobrien# if NUMCC <= VQUIT 32959243Sobrien# undef VQUIT 33059243Sobrien# endif /* NUMCC <= VQUIT */ 33159243Sobrien# endif /* VQUIT */ 33259243Sobrien# ifdef VERASE 33359243Sobrien# if NUMCC <= VERASE 33459243Sobrien# undef VERASE 33559243Sobrien# endif /* NUMCC <= VERASE */ 33659243Sobrien# endif /* VERASE */ 33759243Sobrien# ifdef VKILL 33859243Sobrien# if NUMCC <= VKILL 33959243Sobrien# undef VKILL 34059243Sobrien# endif /* NUMCC <= VKILL */ 34159243Sobrien# endif /* VKILL */ 34259243Sobrien# ifdef VEOF 34359243Sobrien# if NUMCC <= VEOF 34459243Sobrien# undef VEOF 34559243Sobrien# endif /* NUMCC <= VEOF */ 34659243Sobrien# endif /* VEOF */ 34759243Sobrien# ifdef VEOL 34859243Sobrien# if NUMCC <= VEOL 34959243Sobrien# undef VEOL 35059243Sobrien# endif /* NUMCC <= VEOL */ 35159243Sobrien# endif /* VEOL */ 35259243Sobrien# ifdef VEOL2 35359243Sobrien# if NUMCC <= VEOL2 35459243Sobrien# undef VEOL2 35559243Sobrien# endif /* NUMCC <= VEOL2 */ 35659243Sobrien# endif /* VEOL2 */ 35759243Sobrien# ifdef VSWTCH 35859243Sobrien# if NUMCC <= VSWTCH 35959243Sobrien# undef VSWTCH 36059243Sobrien# endif /* NUMCC <= VSWTCH */ 36159243Sobrien# endif /* VSWTCH */ 36259243Sobrien# ifdef VDSWTCH 36359243Sobrien# if NUMCC <= VDSWTCH 36459243Sobrien# undef VDSWTCH 36559243Sobrien# endif /* NUMCC <= VDSWTCH */ 36659243Sobrien# endif /* VDSWTCH */ 36759243Sobrien# ifdef VERASE2 36859243Sobrien# if NUMCC <= VERASE2 36959243Sobrien# undef VERASE2 37059243Sobrien# endif /* NUMCC <= VERASE2 */ 37159243Sobrien# endif /* VERASE2 */ 37259243Sobrien# ifdef VSTART 37359243Sobrien# if NUMCC <= VSTART 37459243Sobrien# undef VSTART 37559243Sobrien# endif /* NUMCC <= VSTART */ 37659243Sobrien# endif /* VSTART */ 37759243Sobrien# ifdef VSTOP 37859243Sobrien# if NUMCC <= VSTOP 37959243Sobrien# undef VSTOP 38059243Sobrien# endif /* NUMCC <= VSTOP */ 38159243Sobrien# endif /* VSTOP */ 38259243Sobrien# ifdef VWERASE 38359243Sobrien# if NUMCC <= VWERASE 38459243Sobrien# undef VWERASE 38559243Sobrien# endif /* NUMCC <= VWERASE */ 38659243Sobrien# endif /* VWERASE */ 38759243Sobrien# ifdef VSUSP 38859243Sobrien# if NUMCC <= VSUSP 38959243Sobrien# undef VSUSP 39059243Sobrien# endif /* NUMCC <= VSUSP */ 39159243Sobrien# endif /* VSUSP */ 39259243Sobrien# ifdef VDSUSP 39359243Sobrien# if NUMCC <= VDSUSP 39459243Sobrien# undef VDSUSP 39559243Sobrien# endif /* NUMCC <= VDSUSP */ 39659243Sobrien# endif /* VDSUSP */ 39759243Sobrien# ifdef VREPRINT 39859243Sobrien# if NUMCC <= VREPRINT 39959243Sobrien# undef VREPRINT 40059243Sobrien# endif /* NUMCC <= VREPRINT */ 40159243Sobrien# endif /* VREPRINT */ 40259243Sobrien# ifdef VDISCARD 40359243Sobrien# if NUMCC <= VDISCARD 40459243Sobrien# undef VDISCARD 40559243Sobrien# endif /* NUMCC <= VDISCARD */ 40659243Sobrien# endif /* VDISCARD */ 40759243Sobrien# ifdef VLNEXT 40859243Sobrien# if NUMCC <= VLNEXT 40959243Sobrien# undef VLNEXT 41059243Sobrien# endif /* NUMCC <= VLNEXT */ 41159243Sobrien# endif /* VLNEXT */ 41259243Sobrien# ifdef VSTATUS 41359243Sobrien# if NUMCC <= VSTATUS 41459243Sobrien# undef VSTATUS 41559243Sobrien# endif /* NUMCC <= VSTATUS */ 41659243Sobrien# endif /* VSTATUS */ 41759243Sobrien# ifdef VPAGE 41859243Sobrien# if NUMCC <= VPAGE 41959243Sobrien# undef VPAGE 42059243Sobrien# endif /* NUMCC <= VPAGE */ 42159243Sobrien# endif /* VPAGE */ 42259243Sobrien# ifdef VPGOFF 42359243Sobrien# if NUMCC <= VPGOFF 42459243Sobrien# undef VPGOFF 42559243Sobrien# endif /* NUMCC <= VPGOFF */ 42659243Sobrien# endif /* VPGOFF */ 42759243Sobrien# ifdef VKILL2 42859243Sobrien# if NUMCC <= VKILL2 42959243Sobrien# undef VKILL2 43059243Sobrien# endif /* NUMCC <= VKILL2 */ 43159243Sobrien# endif /* VKILL2 */ 43259243Sobrien# ifdef VBRK 43359243Sobrien# if NUMCC <= VBRK 43459243Sobrien# undef VBRK 43559243Sobrien# endif /* NUMCC <= VBRK */ 43659243Sobrien# endif /* VBRK */ 43759243Sobrien# ifdef VMIN 43859243Sobrien# if NUMCC <= VMIN 43959243Sobrien# undef VMIN 44059243Sobrien# endif /* NUMCC <= VMIN */ 44159243Sobrien# endif /* VMIN */ 44259243Sobrien# ifdef VTIME 44359243Sobrien# if NUMCC <= VTIME 44459243Sobrien# undef VTIME 44559243Sobrien# endif /* NUMCC <= VTIME */ 44659243Sobrien# endif /* VTIME */ 44759243Sobrien# endif /* NUMCC */ 44859243Sobrien#endif /* !POSIX */ 44959243Sobrien 45059243Sobrien/* 45159243Sobrien * fix for hpux10 inconsistency: it has VWERASE, but TIOCSLTC returns 45259243Sobrien * EINVAL if one tries to change it 453100616Smp * Also for RH6.2 on the alpha, defined TIOCGLTC, but does not have 454100616Smp * struct ltchars 45559243Sobrien */ 456195609Smp#if (defined(hpux) && defined(VSUSP) && defined(VDSUSP) && defined(VWERASE) && defined(VLNEXT)) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) || defined(__QNXNTO__) 45759243Sobrien# undef TIOCGLTC /* not really needed */ 45859243Sobrien# undef TIOCSLTC 45959243Sobrien#endif 46059243Sobrien 46159243Sobrien#define C_INTR 0 46259243Sobrien#define C_QUIT 1 46359243Sobrien#define C_ERASE 2 46459243Sobrien#define C_KILL 3 46559243Sobrien#define C_EOF 4 46659243Sobrien#define C_EOL 5 46759243Sobrien#define C_EOL2 6 46859243Sobrien#define C_SWTCH 7 46959243Sobrien#define C_DSWTCH 8 47059243Sobrien#define C_ERASE2 9 47159243Sobrien#define C_START 10 47259243Sobrien#define C_STOP 11 47359243Sobrien#define C_WERASE 12 47459243Sobrien#define C_SUSP 13 47559243Sobrien#define C_DSUSP 14 47659243Sobrien#define C_REPRINT 15 47759243Sobrien#define C_DISCARD 16 47859243Sobrien#define C_LNEXT 17 47959243Sobrien#define C_STATUS 18 48059243Sobrien#define C_PAGE 19 48159243Sobrien#define C_PGOFF 20 48259243Sobrien#define C_KILL2 21 48359243Sobrien#define C_BRK 22 48459243Sobrien#define C_MIN 23 48559243Sobrien#define C_TIME 24 48659243Sobrien#define C_NCC 25 48759243Sobrien#define C_SH(A) (1 << (A)) 48859243Sobrien 489100616Smp/* 490100616Smp * Terminal dependend data structures 491100616Smp */ 492100616Smptypedef struct { 493100616Smp#ifdef WINNT_NATIVE 494100616Smp int dummy; 495100616Smp#else /* !WINNT_NATIVE */ 496100616Smp# if defined(POSIX) || defined(TERMIO) 497100616Smp# ifdef POSIX 498100616Smp struct termios d_t; 499100616Smp# else 500100616Smp struct termio d_t; 501100616Smp# endif /* POSIX */ 502100616Smp# else /* SGTTY */ 503100616Smp# ifdef TIOCGETP 504100616Smp struct sgttyb d_t; 505100616Smp# endif /* TIOCGETP */ 506100616Smp# ifdef TIOCGETC 507100616Smp struct tchars d_tc; 508100616Smp# endif /* TIOCGETC */ 509100616Smp# ifdef TIOCGPAGE 510100616Smp struct ttypagestat d_pc; 511100616Smp# endif /* TIOCGPAGE */ 512100616Smp# ifdef TIOCLGET 513100616Smp int d_lb; 514100616Smp# endif /* TIOCLGET */ 515100616Smp# endif /* POSIX || TERMIO */ 516100616Smp# ifdef TIOCGLTC 517100616Smp struct ltchars d_ltc; 518100616Smp# endif /* TIOCGLTC */ 519100616Smp#endif /* WINNT_NATIVE */ 520100616Smp} ttydata_t; 521100616Smp 52259243Sobrien#endif /* _h_ed_term */ 523