home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / jove-4.16-src.tgz / tar.out / bsd / jove / term.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  4KB  |  154 lines

  1. /************************************************************************
  2.  * This program is Copyright (C) 1986-1996 by Jonathan Payne.  JOVE is  *
  3.  * provided to you without charge, and with no warranty.  You may give  *
  4.  * away copies of JOVE, including sources, provided that this notice is *
  5.  * included in all the files.                                           *
  6.  ************************************************************************/
  7.  
  8. /* Notes:
  9.  * - pervasive exports are declared in jove.h
  10.  * - some of the things declared here are defined in system-specific
  11.  *   files (unix.c, termcap.c, ibmpcdos.c, win32.c, etc).
  12.  */
  13.  
  14. extern void
  15.     ttysetattr proto((bool n)),
  16.     ttsize proto((void)),
  17.     getTERM proto((void)),
  18.     settout proto((void)),
  19.     dobell proto((int x)),
  20.     clr_page proto((void)),
  21.     i_lines proto((int, int, int)),
  22.     d_lines proto((int, int, int));
  23.  
  24. /* MSDOS keyboard routines */
  25.  
  26. #ifdef MSDOS
  27.  
  28. # ifdef IBMPCDOS
  29. extern void
  30.     pcSetTerm proto((void)),
  31.     pcUnsetTerm proto((void));
  32.  
  33. extern bool enhanced_keybrd;    /* VAR: exploit "enhanced" keyboard? */
  34. # endif /* IBMPCDOS */
  35.  
  36. extern ZXchar    getrawinchar proto((void));
  37. extern bool    rawkey_ready proto((void));
  38.  
  39. #endif /* MSDOS */
  40.  
  41. /* Win32 keyboard routines */
  42.  
  43. #ifdef WIN32
  44.  
  45. int getInputEvents proto((char *bp, int size));
  46. int inputEventWaiting proto((int nsecs));
  47. int FatalErrorMessage proto((char* str));
  48.  
  49. #endif /* WIN32 */
  50.  
  51. #ifdef PCSCRATTR
  52. extern int
  53.     Txattr,    /* VAR: text-attribute (white on black) */
  54.     Mlattr,    /* VAR: mode-line-attribute (black on white) */
  55.     Hlattr;    /* VAR: highlight-attribute */
  56. #endif /* PCSCRATTR */
  57.  
  58. #ifndef TERMCAP
  59.  
  60. extern void
  61.     clr_eoln proto((void));
  62.  
  63. #else /* TERMCAP */    /* the body is the rest of this file */
  64.  
  65. /* termcap declarations */
  66.  
  67. extern char
  68.     *CS,    /* change scrolling region */
  69.     *SO,    /* Start standout */
  70.     *SE,    /* End standout */
  71.     *US,    /* Start underlining */
  72.     *UE,    /* End underlining */
  73.     *CM,    /* The cursor motion string */
  74.     *CL,    /* Clear screen */
  75.     *CE,    /* Clear to end of line */
  76.     *HO,    /* Home cursor */
  77.     *AL,    /* Addline (insert line) */
  78.     *DL,    /* Delete line */
  79.     *VS,    /* Visual start */
  80.     *VE,    /* Visual end */
  81.     *KS,    /* Keypad mode start */
  82.     *KE,    /* Keypad mode end */
  83.     *TI,    /* Cursor addressing start */
  84.     *TE,    /* Cursor addressing end */
  85.     *LL,    /* Last line, first column */
  86.     *SF,    /* Scroll forward (defaults to \n) */
  87.     *SR,    /* Scroll reverse */
  88.     *VB,    /* visible bell */
  89.     *BL,    /* audible bell (defaults to BEL) */
  90.     *lPC,    /* pad character (as a string!) */
  91.     *NL,    /* newline character (defaults to \n) */
  92.     *DO,    /* down one line (defaults to \n capability) */
  93.     *M_AL,    /* Insert line with arg */
  94.     *M_DL,    /* Delete line with arg */
  95.     *M_SF,    /* Scroll forward with arg */
  96.     *M_SR;    /* Scroll back with arg */
  97.  
  98. # define    INFINITY    1000    /* cost too high to afford */
  99.  
  100. extern int
  101.     UPlen,        /* length of the UP string */
  102.     HOlen,        /* length of Home string */
  103.     LLlen,        /* length of last line string */
  104.  
  105.     phystab,    /* ("it") terminal's tabstop settings */
  106.     UG;        /* number of magic cookies left by US and UE */
  107.  
  108. extern bool
  109.     Hazeltine,        /* Hazeltine tilde kludge */
  110.     UL,        /* underscores don't replace chars already on screen */
  111.     NP;        /* there is No Pad character */
  112.  
  113. extern char
  114.     PC,        /* pad character, as a char (set from lPC; defaults to NUL) */
  115.     *BC,    /* back space (defaults to BS) */
  116.     *UP;    /* Scroll reverse, or up */
  117.  
  118. extern short    ospeed;
  119.  
  120. extern bool    CanScroll;    /* can this terminal scroll? */
  121.  
  122. # ifdef ID_CHAR
  123.  
  124. extern char
  125.     *IC,    /* Insert char */
  126.     *DC,    /* Delete char */
  127.     *IM,    /* Insert mode */
  128.     *EI,    /* End insert mode */
  129.     *IP,    /* insert pad after character inserted */
  130.     *M_IC,    /* Insert char with arg */
  131.     *M_DC;    /* Delete char with arg */
  132.  
  133. extern bool    UseIC;    /* VAR: whether or not to use i/d char processesing */
  134.  
  135. extern int
  136.     IMlen,    /* length of insert mode */
  137.     EIlen,    /* length of end insert mode string */
  138.     IClen,    /* length of insert char */
  139.     DClen,    /* length of delete char */
  140.     MIClen,    /* length of insert char with arg */
  141.     MDClen,    /* length of delete char with arg */
  142.     CElen;    /* length of clear to end of line */
  143.  
  144. extern bool
  145.     MI;        /* okay to move while in insert mode */
  146.  
  147. # endif /* ID_CHAR */
  148.  
  149. extern void
  150.     putpad proto((const char *str, int lines)),
  151.     putmulti proto((const char *ss, const char *ms, int num, int lines));
  152.  
  153. #endif /* TERMCAP */
  154.