1 /* 2648.h 4.1 83/03/09 */ 2 /* 3 * lib2648: routines to deal directly with the HP 2648 Graphics terminal. 4 */ 5 6 #include <stdio.h> 7 8 #define ESC '\033' /* Escape */ 9 10 /* Normal/inverse video */ 11 #define NORMAL 0 /* not inverse video */ 12 #define INVERSE 1 /* inverse video */ 13 14 /* Kinds of lines we can draw */ 15 #define MX 10 /* exclusive or what's on screen */ 16 #define MC 11 /* clear what's on screen */ 17 #define MS 12 /* set what's on screen */ 18 19 /* Escape sequence modes the terminal might be in */ 20 #define NONE 20 /* not in an escape sequence */ 21 #define ESCD 21 /* in an escape * d sequence */ 22 #define ESCP 22 /* in an escape * p sequence */ 23 #define ESCM 23 /* in an escape * m sequence */ 24 #define TEXT 24 /* in graphics text mode */ 25 26 /* 27 * Constants for 2648 ^E/^F handshaking. 28 */ 29 #define ENQ 5 /* ^E sent by system to terminal */ 30 #define ACK 6 /* ^F reply by terminal to system */ 31 #define TBLKSIZ 32 /* Max # chars between handshakes */ 32 33 /* 34 * Misc. variables used by lib2648. 35 */ 36 int _on2648; /* true if getenv("TERM") is hp2648 */ 37 int _video; /* are we in inverse video mode? */ 38 int _actsmode; /* line type mode screen actually in */ 39 int _supsmode; /* line type mode screen supposed to be in */ 40 int _escmode; /* flavor of escape sequence currently in */ 41 int _cursoron; /* true if cursor is on */ 42 43 int _outcount; /* # of consecutive chars without read sent */ 44 char _pushback[BUFSIZ]; /* queue of chars pushed back onto the input */ 45 char *_pb_front, *_pb_back; 46 47 int _penx, _peny; /* where pen is really at */ 48 int _curx, _cury; /* where cursor is really at */ 49 int _supx, _supy; /* where pen and cursor are supposed to be */ 50 51 #ifdef TRACE 52 FILE *trace; /* trace file for debugging */ 53 #endif 54