home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume25 / tcsh-6.01 / part05 / ed.term.h next >
C/C++ Source or Header  |  1991-12-19  |  10KB  |  431 lines

  1. /* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.01/RCS/ed.term.h,v 1.6 1991/12/14 20:45:46 christos 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 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. # ifndef ECHOCTL
  91. #  define ECHOCTL 0
  92. # endif /* ECHOCTL */
  93.  
  94. # ifndef PARENB
  95. #  define PARENB 0
  96. # endif /* PARENB */
  97.  
  98. # ifndef EXTPROC
  99. #  define EXTPROC 0
  100. # endif /* EXTPROC */
  101.  
  102. # ifndef FLUSHO
  103. #  define FLUSHO  0
  104. # endif /* FLUSHO */
  105.  
  106.  
  107. # if defined(VDISABLE) && !defined(_POSIX_VDISABLE)
  108. #  define _POSIX_VDISABLE VDISABLE
  109. # endif /* VDISABLE && ! _POSIX_VDISABLE */
  110.  
  111. /*
  112.  * Work around ISC's definition of IEXTEN which is
  113.  * XCASE!
  114.  */
  115. # ifdef ISC
  116. #  if defined(IEXTEN) && defined(XCASE)
  117. #   if IEXTEN == XCASE
  118. #    undef IEXTEN
  119. #    define IEXTEN 0
  120. #   endif /* IEXTEN == XCASE */
  121. #  endif /* IEXTEN && XCASE */
  122. #  if defined(IEXTEN) && !defined(XCASE)
  123. #   define XCASE IEXTEN
  124. #   undef IEXTEN
  125. #   define IEXTEN 0
  126. #  endif /* IEXTEN && !XCASE */
  127. # endif /* ISC */
  128.  
  129. /*
  130.  * Work around convex weirdness where turning off IEXTEN makes us
  131.  * lose all postprocessing!
  132.  */
  133. #if defined(convex) || defined(__convex__)
  134. # if defined(IEXTEN) && IEXTEN != 0
  135. #  undef IEXTEN
  136. #  define IEXTEN 0
  137. # endif /* IEXTEN != 0 */
  138. #endif /* convex || __convex__ */
  139.  
  140.  
  141. # else /* SGTTY */
  142.  
  143. # ifndef LPASS8
  144. #  define LPASS8  0
  145. # endif /* LPASS8 */
  146.  
  147. #endif /* TERMIO || POSIX */
  148.  
  149. #ifndef _POSIX_VDISABLE
  150. # define _POSIX_VDISABLE ((unsigned char) -1)
  151. #endif /* _POSIX_VDISABLE */
  152.  
  153. #if !defined(CREPRINT) && defined(CRPRNT)
  154. # define CREPRINT CRPRNT
  155. #endif /* !CREPRINT && CRPRNT */
  156. #if !defined(CDISCARD) && defined(CFLUSH)
  157. # define CDISCARD CFLUSH
  158. #endif /* !CDISCARD && CFLUSH */
  159.  
  160. #ifndef CINTR
  161. # define CINTR        CONTROL('c')
  162. #endif /* CINTR */
  163. #ifndef CQUIT
  164. # define CQUIT        034    /* ^\ */
  165. #endif /* CQUIT */
  166. #ifndef CERASE
  167. # define CERASE        0177    /* ^? */
  168. #endif /* CERASE */
  169. #ifndef CKILL
  170. # define CKILL        CONTROL('u')
  171. #endif /* CKILL */
  172. #ifndef CEOF
  173. # define CEOF        CONTROL('d')
  174. #endif /* CEOF */
  175. #ifndef CEOL
  176. # define CEOL        _POSIX_VDISABLE
  177. #endif /* CEOL */
  178. #ifndef CEOL2
  179. # define CEOL2        _POSIX_VDISABLE
  180. #endif /* CEOL2 */
  181. #ifndef CSWTCH
  182. # define CSWTCH        _POSIX_VDISABLE
  183. #endif /* CSWTCH */
  184. #ifndef CDSWTCH
  185. # define CDSWTCH    _POSIX_VDISABLE
  186. #endif /* CDSWTCH */
  187. #ifndef CERASE2
  188. # define CERASE2    _POSIX_VDISABLE
  189. #endif /* CERASE2 */
  190. #ifndef CSTART
  191. # define CSTART        CONTROL('q')
  192. #endif /* CSTART */
  193. #ifndef CSTOP
  194. # define CSTOP        CONTROL('s')
  195. #endif /* CSTOP */
  196. #ifndef CSUSP
  197. # define CSUSP        CONTROL('z')
  198. #endif /* CSUSP */
  199. #ifndef CDSUSP
  200. # define CDSUSP        CONTROL('y')
  201. #endif /* CDSUSP */
  202.  
  203. #ifdef hpux
  204.  
  205. # ifndef CREPRINT
  206. #  define CREPRINT    _POSIX_VDISABLE
  207. # endif /* CREPRINT */
  208. # ifndef CDISCARD
  209. #  define CDISCARD    _POSIX_VDISABLE
  210. # endif /* CDISCARD */
  211. # ifndef CLNEXT
  212. #  define CLNEXT    _POSIX_VDISABLE
  213. # endif /* CLNEXT */
  214. # ifndef CWERASE
  215. #  define CWERASE    _POSIX_VDISABLE
  216. # endif /* CWERASE */
  217.  
  218. #else /* !hpux */
  219.  
  220. # ifndef CREPRINT
  221. #  define CREPRINT    CONTROL('r')
  222. # endif /* CREPRINT */
  223. # ifndef CDISCARD
  224. #  define CDISCARD    CONTROL('o')
  225. # endif /* CDISCARD */
  226. # ifndef CLNEXT
  227. #  define CLNEXT    CONTROL('v')
  228. # endif /* CLNEXT */
  229. # ifndef CWERASE
  230. #  define CWERASE    CONTROL('w')
  231. # endif /* CWERASE */
  232.  
  233. #endif /* hpux */
  234.  
  235. #ifndef CSTATUS
  236. # define CSTATUS    CONTROL('t')
  237. #endif /* CSTATUS */
  238. #ifndef CPAGE
  239. # define CPAGE        ' '
  240. #endif /* CPAGE */
  241. #ifndef CPGOFF
  242. # define CPGOFF        CONTROL('m')
  243. #endif /* CPGOFF */
  244. #ifndef CKILL2
  245. # define CKILL2        _POSIX_VDISABLE
  246. #endif /* CKILL2 */
  247. #ifndef CBRK
  248. # ifndef masscomp
  249. #  define CBRK        0377
  250. # else
  251. #  define CBRK        '\0'
  252. # endif /* masscomp */
  253. #endif /* CBRK */
  254. #ifndef CMIN
  255. # define CMIN        CEOF
  256. #endif /* CMIN */
  257. #ifndef CTIME
  258. # define CTIME        CEOL
  259. #endif /* CTIME */
  260.  
  261. /*
  262.  * Fix for sun inconsistency. On termio VSUSP and the rest of the
  263.  * ttychars > NCC are defined. So we undefine them.
  264.  */
  265. #if defined(TERMIO) || defined(POSIX)
  266. # if defined(POSIX) && defined(NCCS)
  267. #  define NUMCC        NCCS
  268. # else
  269. #  ifdef NCC
  270. #   define NUMCC    NCC
  271. #  endif /* NCC */
  272. # endif /* POSIX && NCCS */
  273. # ifdef NUMCC
  274. #  ifdef VINTR
  275. #   if NUMCC <= VINTR
  276. #    undef VINTR
  277. #   endif /* NUMCC <= VINTR */
  278. #  endif /* VINTR */
  279. #  ifdef VQUIT
  280. #   if NUMCC <= VQUIT
  281. #    undef VQUIT
  282. #   endif /* NUMCC <= VQUIT */
  283. #  endif /* VQUIT */
  284. #  ifdef VERASE
  285. #   if NUMCC <= VERASE
  286. #    undef VERASE
  287. #   endif /* NUMCC <= VERASE */
  288. #  endif /* VERASE */
  289. #  ifdef VKILL
  290. #   if NUMCC <= VKILL
  291. #    undef VKILL
  292. #   endif /* NUMCC <= VKILL */
  293. #  endif /* VKILL */
  294. #  ifdef VEOF
  295. #   if NUMCC <= VEOF
  296. #    undef VEOF
  297. #   endif /* NUMCC <= VEOF */
  298. #  endif /* VEOF */
  299. #  ifdef VEOL
  300. #   if NUMCC <= VEOL
  301. #    undef VEOL
  302. #   endif /* NUMCC <= VEOL */
  303. #  endif /* VEOL */
  304. #  ifdef VEOL2
  305. #   if NUMCC <= VEOL2
  306. #    undef VEOL2
  307. #   endif /* NUMCC <= VEOL2 */
  308. #  endif /* VEOL2 */
  309. #  ifdef VSWTCH
  310. #   if NUMCC <= VSWTCH
  311. #    undef VSWTCH
  312. #   endif /* NUMCC <= VSWTCH */
  313. #  endif /* VSWTCH */
  314. #  ifdef VDSWTCH
  315. #   if NUMCC <= VDSWTCH
  316. #    undef VDSWTCH
  317. #   endif /* NUMCC <= VDSWTCH */
  318. #  endif /* VDSWTCH */
  319. #  ifdef VERASE2
  320. #   if NUMCC <= VERASE2
  321. #    undef VERASE2
  322. #   endif /* NUMCC <= VERASE2 */
  323. #  endif /* VERASE2 */
  324. #  ifdef VSTART
  325. #   if NUMCC <= VSTART
  326. #    undef VSTART
  327. #   endif /* NUMCC <= VSTART */
  328. #  endif /* VSTART */
  329. #  ifdef VSTOP
  330. #   if NUMCC <= VSTOP
  331. #    undef VSTOP
  332. #   endif /* NUMCC <= VSTOP */
  333. #  endif /* VSTOP */
  334. #  ifdef VWERASE
  335. #   if NUMCC <= VWERASE
  336. #    undef VWERASE
  337. #   endif /* NUMCC <= VWERASE */
  338. #  endif /* VWERASE */
  339. #  ifdef VSUSP
  340. #   if NUMCC <= VSUSP
  341. #    undef VSUSP
  342. #   endif /* NUMCC <= VSUSP */
  343. #  endif /* VSUSP */
  344. #  ifdef VDSUSP
  345. #   if NUMCC <= VDSUSP
  346. #    undef VDSUSP
  347. #   endif /* NUMCC <= VDSUSP */
  348. #  endif /* VDSUSP */
  349. #  ifdef VREPRINT
  350. #   if NUMCC <= VREPRINT
  351. #    undef VREPRINT
  352. #   endif /* NUMCC <= VREPRINT */
  353. #  endif /* VREPRINT */
  354. #  ifdef VDISCARD
  355. #   if NUMCC <= VDISCARD
  356. #    undef VDISCARD
  357. #   endif /* NUMCC <= VDISCARD */
  358. #  endif /* VDISCARD */
  359. #  ifdef VLNEXT
  360. #   if NUMCC <= VLNEXT
  361. #    undef VLNEXT
  362. #   endif /* NUMCC <= VLNEXT */
  363. #  endif /* VLNEXT */
  364. #  ifdef VSTATUS
  365. #   if NUMCC <= VSTATUS
  366. #    undef VSTATUS
  367. #   endif /* NUMCC <= VSTATUS */
  368. #  endif /* VSTATUS */
  369. #  ifdef VPAGE
  370. #   if NUMCC <= VPAGE
  371. #    undef VPAGE
  372. #   endif /* NUMCC <= VPAGE */
  373. #  endif /* VPAGE */
  374. #  ifdef VPGOFF
  375. #   if NUMCC <= VPGOFF
  376. #    undef VPGOFF
  377. #   endif /* NUMCC <= VPGOFF */
  378. #  endif /* VPGOFF */
  379. #  ifdef VKILL2
  380. #   if NUMCC <= VKILL2
  381. #    undef VKILL2
  382. #   endif /* NUMCC <= VKILL2 */
  383. #  endif /* VKILL2 */
  384. #  ifdef VBRK
  385. #   if NUMCC <= VBRK
  386. #    undef VBRK
  387. #   endif /* NUMCC <= VBRK */
  388. #  endif /* VBRK */
  389. #  ifdef VMIN
  390. #   if NUMCC <= VMIN
  391. #    undef VMIN
  392. #   endif /* NUMCC <= VMIN */
  393. #  endif /* VMIN */
  394. #  ifdef VTIME
  395. #   if NUMCC <= VTIME
  396. #    undef VTIME
  397. #   endif /* NUMCC <= VTIME */
  398. #  endif /* VTIME */
  399. # endif /* NUMCC */
  400. #endif /* !POSIX */
  401.  
  402. #define C_INTR         0
  403. #define C_QUIT         1
  404. #define C_ERASE         2
  405. #define C_KILL         3
  406. #define C_EOF         4
  407. #define C_EOL         5
  408. #define C_EOL2         6
  409. #define C_SWTCH         7
  410. #define C_DSWTCH     8
  411. #define C_ERASE2     9
  412. #define C_START        10
  413. #define C_STOP        11
  414. #define C_WERASE    12
  415. #define C_SUSP        13
  416. #define C_DSUSP        14
  417. #define C_REPRINT    15
  418. #define C_DISCARD    16
  419. #define C_LNEXT        17
  420. #define C_STATUS    18
  421. #define C_PAGE        19
  422. #define C_PGOFF        20
  423. #define C_KILL2        21
  424. #define C_BRK        22
  425. #define C_MIN        23
  426. #define C_TIME        24
  427. #define C_NCC        25
  428. #define C_SH(A)        (1 << (A))
  429.  
  430. #endif /* _h_ed_term */
  431.