DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T d

⟦87c07b707⟧ TextFile

    Length: 3445 (0xd75)
    Types: TextFile
    Names: »dpy.h«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/General/Dpy/dpy.h« 

TextFile

/*
 * @(#)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 */