/* use with QMC.def */ /************************************************************************ * * * copyright Richard Bornat 1981 * * * ************************************************************************/ /* #define TER_ROWS 24 * #define TER_COLS 80 */ /* the qmc terminal structure */ struct TERMINAL qmc_ter = { /* nrows, ncols - size of the screen */ 24, 80, /* up, left, c_MODIFY, c_CONTROL, c_BLOB - single characters */ { 020, 017, 0, '^'|0200, 0140 }, /* onechar */ /* rollup, pushdown, pushup, pulldown, pullup STRINGS */ /* and hardscroll boolean */ { "\n", "\033f", "\033d", "\033g", "\033e", true }, /* scrseq */ /* scrseq */ /* scrollup, scrolldown PROCEDURES */ scr3_up, scr3_down, /* splitdown, splitup, joindown, joinup STRINGS */ { "\033j", "\033k", "\033l", "\033m" }, /* splitseq */ /* split_row, join_row PROCEDURES */ split3, join3, /* clearscreen, *clearhead, *cleartail STRINGS */ { "\014", "\033a", "\033b" }, /* clrseq */ /* clr_screen, clr_head, clr_tail PROCEDURES */ clrs1, clrh1, clrt1, /* inspace, makespace, rubout, erase STRINGS */ { 0, "\023", 0, "\022" }, /* charseq */ /* ins_char, del_char PROCEDURES */ insc2, delc2, /* bright, normal STRINGS */ { "\033h", "\033i" }, /* vidseq */ /* in_two, out_two PROCEDURES */ no_char, no_char, /* move PROCEDURE and nmove integer */ qmc_move, 3, /* setup, special, pad PROCEDURES */ no_int, no_int, no_int };