/*
 *      Driver file for Tektronix 4023
 *      - Use with UMIST.def
 */


tek_move(srow, scol)
register int srow, scol;
{
	/* FS, col+32, row+32 */
	ttyout('\034');
	ttyout(scol + 32);
	ttyout(srow + 32);
}

int tek_setup()
{
      ictab[27] = ectab[27] = ENTERedit;
}

int tek_restore()
{
}

tek_pad()
{
	register int i;
	for (i=0; i<4; i++) ttyout('\0');
}

int tek_special(typein,c) int typein; register char c;
{
	register char ch;
}


struct TERMINAL tek_ter =
 {  /* nrows, ncols - size of the screen */
    TER_ROWS, TER_COLS,

    /* up, left, c_MODIFY, c_CONTROL, c_BLOB - single characters */
    { 0, '\010', 0, 0200|'6', 0200|'=' },
	/* onechar */

    /* rollup, pushdown, pushup, pulldown, pullup STRINGS */
    /* and hardscroll boolean */
    /* you MUST have rollup */
    { "\0\n", 0, 0, 0, 0, false },
	/* scrseq */

    /* scrollup, scrolldown PROCEDURES */
    /* scr1_ is pushup, pulldown */
    /* scr2_ is pushdown, pullup */
    /* scr3_ is both */
    /* scr0_ is neither (and in that case hardscroll is false) */
    scr0_up, scr0_down,

    /* splitdown, splitup, joindown, joinup STRINGS */
    { 0, 0, 0, 0 },
	/* splitseq */

    /* split_row, join_row PROCEDURES */
    split0, join0,

    /* clearscreen, *clearhead, *cleartail STRINGS */
    /* I assume ^L for clear screen, but it isn't important */
    { "\0\033\014", 0, 0 },
	/* clrseq */

    /* clr_screen, clr_head, clr_tail PROCEDURES */
    /* I assume hardware support for clear screen at least */
    clrs1, clrh0, clrt0,

    /* inspace, makespace, rubout, erase STRINGS */
    /* inspace puts a space and moves the cursor right,
     * makespace doesn't move it. Likewise rubout moves the
     * cursor left, erase doesn't move it
     */
    { 0, 0, 0, 0 },
	/* charseq */

    /* ins_char, del_char PROCEDURES */
    /* insc1 uses inspace, insc2 makespace */
    /* delc1 uses rubout, delc2 erase */
    /* insc0, delc0 use neither */
    insc0, delc0,

    /* bright, normal STRINGS */
    { "\016", "\017" },
	/* vidseq */

    /* in_two, out_two PROCEDURES */
    no_char, no_char,

    /* move PROCEDURE and nmove integer */
    tek_move, 3,

    /* setup, special, pad, restore PROCEDURES */
   no_int, no_int, tek_pad, tek_restore

 };
