/*static char *SCCSID = "@(#)screen.h	6.1 90/11/17";*/
/*	SCCSID = @(#)screen.inc  13.1 88/10/14 */

/* XLATOFF */
#pragma subtitle("Screen info. and console locus declarations")
/* XLATON */

/* ASM
SUBTTL	Screen info. and console locus declarations
 */

/**	Screen info Structure


	One of these per possible screen-image.  They start at
	Scrn_Dat; the current one is pointed to by Scrn_Ptr.
*/

typedef struct Scrn_Info {
uchar_t S_Num ; 	    /* screen number 0..NSCR-1 */
uchar_t S_Flg ; 	    /* flags (see below) */
ushort_t S_spare ;	    /* makes indexing easy */
uchar_t *S_Ptr ;	    /* pointer to locus info */
} Scrn_Info ;

#define SG_STOP 1	    /* Applied to S_Flg */

#define NSCRN  16

/**	Screen locus structure

	Allocated per-process, current console locus on a screen
	is pointed to by S_Ptr and chained together with Prev_Loc.
*/

typedef struct Cons_Locus {
ushort_t Scrn_Sub ;		/* sub-screen code */
uchar_t Scrn_Num ;		/* screen number */
uchar_t Cons_Mode ;		/* console mode */
uchar_t Char_KBI1 ;		/* current aux intercept 1 */
uchar_t Char_KBI2 ;		/* current aux intercept 2 */
ulong_t Prev_Loc ;		/* previous console locus */
} Cons_Locus ;

#define CL_RAW1 0x20		/* IOCTL controlled raw bit */
#define CL_RAW2 0x10		/* delay ^C interpretation for INT23 emulation */
#define CL_RAW3 0x08		/* delay ^C interpretation for raw cons. input */

#define CL_RAW	(CL_RAW1+CL_RAW2+CL_RAW3)

/* XLATOFF */
#pragma subtitle(" ")
/* XLATON */

/* ASM
SUBTTL
 */
