1: /*
   2:  * @(#)tt.h	3.15 9/20/85
   3:  */
   4: 
   5: /*
   6:  * Copyright (c) 1983 Regents of the University of California,
   7:  * All rights reserved.  Redistribution permitted subject to
   8:  * the terms of the Berkeley Software License Agreement.
   9:  */
  10: 
  11: /*
  12:  * Interface structure for the terminal drivers.
  13:  */
  14: struct tt {
  15:         /* startup and cleanup */
  16:     int (*tt_init)();
  17:     int (*tt_end)();
  18: 
  19:         /* terminal functions */
  20:     int (*tt_move)();
  21:     int (*tt_insline)();
  22:     int (*tt_delline)();
  23:     int (*tt_delchar)();
  24:     int (*tt_write)();      /* write a whole block */
  25:     int (*tt_putc)();       /* write one character */
  26:     int (*tt_clreol)();
  27:     int (*tt_clreos)();
  28:     int (*tt_clear)();
  29:     int (*tt_setinsert)();      /* set insert mode */
  30:     int (*tt_setmodes)();       /* set display modes */
  31: 
  32:         /* internal variables */
  33:     char tt_modes;          /* the current display modes */
  34:     char tt_nmodes;         /* the new modes for next write */
  35:     char tt_insert;         /* currently in insert mode */
  36:     char tt_ninsert;        /* insert mode on next write */
  37:     int tt_row;         /* cursor row */
  38:     int tt_col;         /* cursor column */
  39: 
  40:         /* terminal info */
  41:     int tt_nrow;            /* number of display rows */
  42:     int tt_ncol;            /* number of display columns */
  43:     char tt_hasinsert;      /* has insert character */
  44:     char tt_availmodes;     /* the display modes supported */
  45:     char tt_wrap;           /* has auto wrap around */
  46:     char tt_retain;         /* can retain below (db flag) */
  47: 
  48:         /* the frame characters */
  49:     short *tt_frame;
  50: };
  51: struct tt tt;
  52: 
  53: /*
  54:  * List of terminal drivers.
  55:  */
  56: struct tt_tab {
  57:     char *tt_name;
  58:     int tt_len;
  59:     int (*tt_func)();
  60: };
  61: struct tt_tab tt_tab[];
  62: 
  63: /*
  64:  * Clean interface to termcap routines.
  65:  * Too may t's.
  66:  */
  67: char tt_strings[1024];      /* string buffer */
  68: char *tt_strp;          /* pointer for it */
  69: 
  70: struct tt_str {
  71:     char *ts_str;
  72:     int ts_n;
  73: };
  74: 
  75: struct tt_str *tttgetstr();
  76: struct tt_str *ttxgetstr(); /* tgetstr() and expand delays */
  77: 
  78: int tttputc();
  79: #define tttputs(s, n)   tputs((s)->ts_str, (n), tttputc)
  80: #define ttxputs(s)  ttwrite((s)->ts_str, (s)->ts_n)
  81: 
  82: /*
  83:  * Buffered output without stdio.
  84:  * These variables have different meanings from the ww_ob* variabels.
  85:  * But I'm too lazy to think up different names.
  86:  */
  87: char tt_ob[512];
  88: char *tt_obp;
  89: char *tt_obe;
  90: #define ttputc(c)   (tt_obp < tt_obe ? (*tt_obp++ = (c)) \
  91:                 : (ttflush(), *tt_obp++ = (c)))

Defined variables

tt_ob defined in line 87; used 5 times
tt_obe defined in line 89; used 8 times
tt_obp defined in line 88; used 30 times
tt_strings defined in line 67; used 1 times
tt_strp defined in line 68; used 7 times
tt_tab defined in line 61; used 1 times

Defined struct's

tt defined in line 14; used 2 times
  • in line 51(2)
tt_str defined in line 70; used 98 times
tt_tab defined in line 56; used 6 times

Defined macros

tttputs defined in line 79; used 9 times
ttxputs defined in line 80; used 27 times

Usage of this include

Last modified: 1985-09-21
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1119
Valid CSS Valid XHTML 1.0 Strict