|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T d
Length: 3445 (0xd75)
Types: TextFile
Names: »dpy.h«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Dpy/dpy.h«
/*
* @(#)dpy.h 1.12 2/27/85
* @(#)Copyright (C) 1985 by D Bell
* Modified for USG by Alan P.W. Hewett
*/
#ifdef BSD
#include <sys/ioctl.h>
#endif BSD
#ifdef USG
#include <sys/termio.h>
#define CTRL(c) ('c'&037)
#undef CERASE
#define CERASE CTRL(h)
#define CRPRNT CTRL(r)
#define CWERASE CTRL(w)
#define CLNEXT CTRL(v)
#define bcopy(from,to,size) memcpy(to,from,size)
#endif USG
#define STDIN 0 /* standard descriptors */
#define STDOUT 1
#define STDERR 2
/*
* The window structure contains data describing the state of the screen.
* The following picture shows a typical screen and window, and shows the
* relationship of each of the character pointers in the structure.
*
* A----------------------|
* | |
* | C--------| |
* | | | |
* | E G |F |
* | | | |
* | D--------| |
* | |
* |----------------------|
* B
*/
struct window {
char *begdata; /* A: beginning of new screen image */
char *enddata; /* B: end of screen image */
char *begwin; /* C: beginning of current window */
char *endwin; /* D: last row of current window */
char *begrow; /* E: beginning of current row */
char *endrow; /* F: end of current row */
char *cp; /* G: current character pointer */
char *begchange; /* beginning of changed region */
char *endchange; /* end of changed region */
char *screen; /* the actual screen image */
int nrows; /* number of rows on screen */
int ncols; /* number of columns on screen */
int delta; /* distance between rows */
int currow; /* current row column */
int curcol; /* cursor column column */
int tabsize; /* current tab size */
char nocrlf; /* don't do automatic crlfs */
char noctrl; /* don't show control characters */
char nomove; /* don't move cursor when done */
char scroll; /* scroll screen when end reached */
char inited; /* we are initialized */
char output; /* we have output to screen */
char full; /* window is full */
char c_kill; /* line erase character */
char c_erase; /* character erase character */
char c_werase; /* word erase character */
char c_rprnt; /* retype line character */
char c_eof; /* end of file character */
char c_lnext; /* literal input character */
char tc_am; /* cursor wraps on last column */
char tc_hocc; /* character count for tc_ho */
char tc_cecc; /* character count for tc_ce */
char tc_cdcc; /* character count for tc_cd */
char *tc_ho; /* home capability */
char *tc_ce; /* clear to end of line */
char *tc_cd; /* clear to end of display */
char *tc_cm; /* move cursor */
char *tptr; /* pointer into termcap strings */
#ifdef BSD
struct sgttyb old0ttyblk; /* original tty parameters for stdin */
struct sgttyb new0ttyblk; /* new terminal parameters for stdin */
struct sgttyb old1ttyblk; /* original tty parameters for stdout */
struct sgttyb new1ttyblk; /* new terminal parameters for stdout */
#endif BSD
#ifdef USG
struct termio old0ttyblk; /* original tty parameters for stdin */
struct termio new0ttyblk; /* new terminal parameters for stdin */
struct termio old1ttyblk; /* original tty parameters for stdout */
struct termio new1ttyblk; /* new terminal parameters for stdout */
#endif USG
char tdata[1024]; /* buffer for termcap data */
char tbuf[200]; /* strings for termcap */
};
extern struct window window; /* window structure */