1a15e6f9aSMark Peek /* $Header: /p/tcsh/cvsroot/tcsh/ed.term.h,v 1.18 2007/07/05 14:13:06 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 303c80476e4SDavid E. O'Brien # define CMIN CEOF 304c80476e4SDavid E. O'Brien #endif /* CMIN */ 305c80476e4SDavid E. O'Brien #ifndef CTIME 306c80476e4SDavid E. O'Brien # define CTIME CEOL 307c80476e4SDavid E. O'Brien #endif /* CTIME */ 308c80476e4SDavid E. O'Brien 309c80476e4SDavid E. O'Brien /* 310c80476e4SDavid E. O'Brien * Fix for sun inconsistency. On termio VSUSP and the rest of the 311c80476e4SDavid E. O'Brien * ttychars > NCC are defined. So we undefine them. 312c80476e4SDavid E. O'Brien */ 313c80476e4SDavid E. O'Brien #if defined(TERMIO) || defined(POSIX) 314c80476e4SDavid E. O'Brien # if defined(POSIX) && defined(NCCS) 315c80476e4SDavid E. O'Brien # define NUMCC NCCS 316c80476e4SDavid E. O'Brien # else 317c80476e4SDavid E. O'Brien # ifdef NCC 318c80476e4SDavid E. O'Brien # define NUMCC NCC 319c80476e4SDavid E. O'Brien # endif /* NCC */ 320c80476e4SDavid E. O'Brien # endif /* POSIX && NCCS */ 321c80476e4SDavid E. O'Brien # ifdef NUMCC 322c80476e4SDavid E. O'Brien # ifdef VINTR 323c80476e4SDavid E. O'Brien # if NUMCC <= VINTR 324c80476e4SDavid E. O'Brien # undef VINTR 325c80476e4SDavid E. O'Brien # endif /* NUMCC <= VINTR */ 326c80476e4SDavid E. O'Brien # endif /* VINTR */ 327c80476e4SDavid E. O'Brien # ifdef VQUIT 328c80476e4SDavid E. O'Brien # if NUMCC <= VQUIT 329c80476e4SDavid E. O'Brien # undef VQUIT 330c80476e4SDavid E. O'Brien # endif /* NUMCC <= VQUIT */ 331c80476e4SDavid E. O'Brien # endif /* VQUIT */ 332c80476e4SDavid E. O'Brien # ifdef VERASE 333c80476e4SDavid E. O'Brien # if NUMCC <= VERASE 334c80476e4SDavid E. O'Brien # undef VERASE 335c80476e4SDavid E. O'Brien # endif /* NUMCC <= VERASE */ 336c80476e4SDavid E. O'Brien # endif /* VERASE */ 337c80476e4SDavid E. O'Brien # ifdef VKILL 338c80476e4SDavid E. O'Brien # if NUMCC <= VKILL 339c80476e4SDavid E. O'Brien # undef VKILL 340c80476e4SDavid E. O'Brien # endif /* NUMCC <= VKILL */ 341c80476e4SDavid E. O'Brien # endif /* VKILL */ 342c80476e4SDavid E. O'Brien # ifdef VEOF 343c80476e4SDavid E. O'Brien # if NUMCC <= VEOF 344c80476e4SDavid E. O'Brien # undef VEOF 345c80476e4SDavid E. O'Brien # endif /* NUMCC <= VEOF */ 346c80476e4SDavid E. O'Brien # endif /* VEOF */ 347c80476e4SDavid E. O'Brien # ifdef VEOL 348c80476e4SDavid E. O'Brien # if NUMCC <= VEOL 349c80476e4SDavid E. O'Brien # undef VEOL 350c80476e4SDavid E. O'Brien # endif /* NUMCC <= VEOL */ 351c80476e4SDavid E. O'Brien # endif /* VEOL */ 352c80476e4SDavid E. O'Brien # ifdef VEOL2 353c80476e4SDavid E. O'Brien # if NUMCC <= VEOL2 354c80476e4SDavid E. O'Brien # undef VEOL2 355c80476e4SDavid E. O'Brien # endif /* NUMCC <= VEOL2 */ 356c80476e4SDavid E. O'Brien # endif /* VEOL2 */ 357c80476e4SDavid E. O'Brien # ifdef VSWTCH 358c80476e4SDavid E. O'Brien # if NUMCC <= VSWTCH 359c80476e4SDavid E. O'Brien # undef VSWTCH 360c80476e4SDavid E. O'Brien # endif /* NUMCC <= VSWTCH */ 361c80476e4SDavid E. O'Brien # endif /* VSWTCH */ 362c80476e4SDavid E. O'Brien # ifdef VDSWTCH 363c80476e4SDavid E. O'Brien # if NUMCC <= VDSWTCH 364c80476e4SDavid E. O'Brien # undef VDSWTCH 365c80476e4SDavid E. O'Brien # endif /* NUMCC <= VDSWTCH */ 366c80476e4SDavid E. O'Brien # endif /* VDSWTCH */ 367c80476e4SDavid E. O'Brien # ifdef VERASE2 368c80476e4SDavid E. O'Brien # if NUMCC <= VERASE2 369c80476e4SDavid E. O'Brien # undef VERASE2 370c80476e4SDavid E. O'Brien # endif /* NUMCC <= VERASE2 */ 371c80476e4SDavid E. O'Brien # endif /* VERASE2 */ 372c80476e4SDavid E. O'Brien # ifdef VSTART 373c80476e4SDavid E. O'Brien # if NUMCC <= VSTART 374c80476e4SDavid E. O'Brien # undef VSTART 375c80476e4SDavid E. O'Brien # endif /* NUMCC <= VSTART */ 376c80476e4SDavid E. O'Brien # endif /* VSTART */ 377c80476e4SDavid E. O'Brien # ifdef VSTOP 378c80476e4SDavid E. O'Brien # if NUMCC <= VSTOP 379c80476e4SDavid E. O'Brien # undef VSTOP 380c80476e4SDavid E. O'Brien # endif /* NUMCC <= VSTOP */ 381c80476e4SDavid E. O'Brien # endif /* VSTOP */ 382c80476e4SDavid E. O'Brien # ifdef VWERASE 383c80476e4SDavid E. O'Brien # if NUMCC <= VWERASE 384c80476e4SDavid E. O'Brien # undef VWERASE 385c80476e4SDavid E. O'Brien # endif /* NUMCC <= VWERASE */ 386c80476e4SDavid E. O'Brien # endif /* VWERASE */ 387c80476e4SDavid E. O'Brien # ifdef VSUSP 388c80476e4SDavid E. O'Brien # if NUMCC <= VSUSP 389c80476e4SDavid E. O'Brien # undef VSUSP 390c80476e4SDavid E. O'Brien # endif /* NUMCC <= VSUSP */ 391c80476e4SDavid E. O'Brien # endif /* VSUSP */ 392c80476e4SDavid E. O'Brien # ifdef VDSUSP 393c80476e4SDavid E. O'Brien # if NUMCC <= VDSUSP 394c80476e4SDavid E. O'Brien # undef VDSUSP 395c80476e4SDavid E. O'Brien # endif /* NUMCC <= VDSUSP */ 396c80476e4SDavid E. O'Brien # endif /* VDSUSP */ 397c80476e4SDavid E. O'Brien # ifdef VREPRINT 398c80476e4SDavid E. O'Brien # if NUMCC <= VREPRINT 399c80476e4SDavid E. O'Brien # undef VREPRINT 400c80476e4SDavid E. O'Brien # endif /* NUMCC <= VREPRINT */ 401c80476e4SDavid E. O'Brien # endif /* VREPRINT */ 402c80476e4SDavid E. O'Brien # ifdef VDISCARD 403c80476e4SDavid E. O'Brien # if NUMCC <= VDISCARD 404c80476e4SDavid E. O'Brien # undef VDISCARD 405c80476e4SDavid E. O'Brien # endif /* NUMCC <= VDISCARD */ 406c80476e4SDavid E. O'Brien # endif /* VDISCARD */ 407c80476e4SDavid E. O'Brien # ifdef VLNEXT 408c80476e4SDavid E. O'Brien # if NUMCC <= VLNEXT 409c80476e4SDavid E. O'Brien # undef VLNEXT 410c80476e4SDavid E. O'Brien # endif /* NUMCC <= VLNEXT */ 411c80476e4SDavid E. O'Brien # endif /* VLNEXT */ 412c80476e4SDavid E. O'Brien # ifdef VSTATUS 413c80476e4SDavid E. O'Brien # if NUMCC <= VSTATUS 414c80476e4SDavid E. O'Brien # undef VSTATUS 415c80476e4SDavid E. O'Brien # endif /* NUMCC <= VSTATUS */ 416c80476e4SDavid E. O'Brien # endif /* VSTATUS */ 417c80476e4SDavid E. O'Brien # ifdef VPAGE 418c80476e4SDavid E. O'Brien # if NUMCC <= VPAGE 419c80476e4SDavid E. O'Brien # undef VPAGE 420c80476e4SDavid E. O'Brien # endif /* NUMCC <= VPAGE */ 421c80476e4SDavid E. O'Brien # endif /* VPAGE */ 422c80476e4SDavid E. O'Brien # ifdef VPGOFF 423c80476e4SDavid E. O'Brien # if NUMCC <= VPGOFF 424c80476e4SDavid E. O'Brien # undef VPGOFF 425c80476e4SDavid E. O'Brien # endif /* NUMCC <= VPGOFF */ 426c80476e4SDavid E. O'Brien # endif /* VPGOFF */ 427c80476e4SDavid E. O'Brien # ifdef VKILL2 428c80476e4SDavid E. O'Brien # if NUMCC <= VKILL2 429c80476e4SDavid E. O'Brien # undef VKILL2 430c80476e4SDavid E. O'Brien # endif /* NUMCC <= VKILL2 */ 431c80476e4SDavid E. O'Brien # endif /* VKILL2 */ 432c80476e4SDavid E. O'Brien # ifdef VBRK 433c80476e4SDavid E. O'Brien # if NUMCC <= VBRK 434c80476e4SDavid E. O'Brien # undef VBRK 435c80476e4SDavid E. O'Brien # endif /* NUMCC <= VBRK */ 436c80476e4SDavid E. O'Brien # endif /* VBRK */ 437c80476e4SDavid E. O'Brien # ifdef VMIN 438c80476e4SDavid E. O'Brien # if NUMCC <= VMIN 439c80476e4SDavid E. O'Brien # undef VMIN 440c80476e4SDavid E. O'Brien # endif /* NUMCC <= VMIN */ 441c80476e4SDavid E. O'Brien # endif /* VMIN */ 442c80476e4SDavid E. O'Brien # ifdef VTIME 443c80476e4SDavid E. O'Brien # if NUMCC <= VTIME 444c80476e4SDavid E. O'Brien # undef VTIME 445c80476e4SDavid E. O'Brien # endif /* NUMCC <= VTIME */ 446c80476e4SDavid E. O'Brien # endif /* VTIME */ 447c80476e4SDavid E. O'Brien # endif /* NUMCC */ 448c80476e4SDavid E. O'Brien #endif /* !POSIX */ 449c80476e4SDavid E. O'Brien 450c80476e4SDavid E. O'Brien /* 451c80476e4SDavid E. O'Brien * fix for hpux10 inconsistency: it has VWERASE, but TIOCSLTC returns 452c80476e4SDavid E. O'Brien * EINVAL if one tries to change it 45329301572SMark Peek * Also for RH6.2 on the alpha, defined TIOCGLTC, but does not have 45429301572SMark Peek * struct ltchars 455c80476e4SDavid E. O'Brien */ 456a15e6f9aSMark Peek #if (defined(hpux) && defined(VSUSP) && defined(VDSUSP) && defined(VWERASE) && defined(VLNEXT)) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) || defined(__QNXNTO__) 457c80476e4SDavid E. O'Brien # undef TIOCGLTC /* not really needed */ 458c80476e4SDavid E. O'Brien # undef TIOCSLTC 459c80476e4SDavid E. O'Brien #endif 460c80476e4SDavid E. O'Brien 461c80476e4SDavid E. O'Brien #define C_INTR 0 462c80476e4SDavid E. O'Brien #define C_QUIT 1 463c80476e4SDavid E. O'Brien #define C_ERASE 2 464c80476e4SDavid E. O'Brien #define C_KILL 3 465c80476e4SDavid E. O'Brien #define C_EOF 4 466c80476e4SDavid E. O'Brien #define C_EOL 5 467c80476e4SDavid E. O'Brien #define C_EOL2 6 468c80476e4SDavid E. O'Brien #define C_SWTCH 7 469c80476e4SDavid E. O'Brien #define C_DSWTCH 8 470c80476e4SDavid E. O'Brien #define C_ERASE2 9 471c80476e4SDavid E. O'Brien #define C_START 10 472c80476e4SDavid E. O'Brien #define C_STOP 11 473c80476e4SDavid E. O'Brien #define C_WERASE 12 474c80476e4SDavid E. O'Brien #define C_SUSP 13 475c80476e4SDavid E. O'Brien #define C_DSUSP 14 476c80476e4SDavid E. O'Brien #define C_REPRINT 15 477c80476e4SDavid E. O'Brien #define C_DISCARD 16 478c80476e4SDavid E. O'Brien #define C_LNEXT 17 479c80476e4SDavid E. O'Brien #define C_STATUS 18 480c80476e4SDavid E. O'Brien #define C_PAGE 19 481c80476e4SDavid E. O'Brien #define C_PGOFF 20 482c80476e4SDavid E. O'Brien #define C_KILL2 21 483c80476e4SDavid E. O'Brien #define C_BRK 22 484c80476e4SDavid E. O'Brien #define C_MIN 23 485c80476e4SDavid E. O'Brien #define C_TIME 24 486c80476e4SDavid E. O'Brien #define C_NCC 25 487c80476e4SDavid E. O'Brien #define C_SH(A) (1 << (A)) 488c80476e4SDavid E. O'Brien 48929301572SMark Peek /* 49029301572SMark Peek * Terminal dependend data structures 49129301572SMark Peek */ 49229301572SMark Peek typedef struct { 49329301572SMark Peek #ifdef WINNT_NATIVE 49429301572SMark Peek int dummy; 49529301572SMark Peek #else /* !WINNT_NATIVE */ 49629301572SMark Peek # if defined(POSIX) || defined(TERMIO) 49729301572SMark Peek # ifdef POSIX 49829301572SMark Peek struct termios d_t; 49929301572SMark Peek # else 50029301572SMark Peek struct termio d_t; 50129301572SMark Peek # endif /* POSIX */ 50229301572SMark Peek # else /* SGTTY */ 50329301572SMark Peek # ifdef TIOCGETP 50429301572SMark Peek struct sgttyb d_t; 50529301572SMark Peek # endif /* TIOCGETP */ 50629301572SMark Peek # ifdef TIOCGETC 50729301572SMark Peek struct tchars d_tc; 50829301572SMark Peek # endif /* TIOCGETC */ 50929301572SMark Peek # ifdef TIOCGPAGE 51029301572SMark Peek struct ttypagestat d_pc; 51129301572SMark Peek # endif /* TIOCGPAGE */ 51229301572SMark Peek # ifdef TIOCLGET 51329301572SMark Peek int d_lb; 51429301572SMark Peek # endif /* TIOCLGET */ 51529301572SMark Peek # endif /* POSIX || TERMIO */ 51629301572SMark Peek # ifdef TIOCGLTC 51729301572SMark Peek struct ltchars d_ltc; 51829301572SMark Peek # endif /* TIOCGLTC */ 51929301572SMark Peek #endif /* WINNT_NATIVE */ 52029301572SMark Peek } ttydata_t; 52129301572SMark Peek 522c80476e4SDavid E. O'Brien #endif /* _h_ed_term */ 523