|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U t
Length: 4013 (0xfad)
Types: TextFile
Notes: UNIX file
Names: »tamwin.h«
└─⟦7decd0fac⟧ Bits:30004155/disk4.imd SW95713I 386/ix Software Development System Rel. 2.0
└─⟦7decd0fac⟧ UNIX Filesystem
└─⟦this⟧ »sd/new/usr/include/tam/tamwin.h«
/* Copyright (c) 1984, 1986, 1987, 1988 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ident "@(#)tamwin.h 2.3 - 88/05/27"
# ifndef WINDOW
#include "tam.h"
#include <stdio.h>
#define WNAME "/dev/window"
#define HS_DEFAULT 9
#define VS_DEFAULT 12
#define BASE_DEFAULT 9
#define reg register
typedef char bool;
#define CHAR(a) (((achr_t)a) & 0x7F)
# define TRUE (1)
# define FALSE (0)
# define ERR (0)
# define OK (1)
#ifdef SYS5
#include <termio.h>
typedef struct termio TTY;
#else
#include <sgtty.h>
typedef struct sgttyb TTY;
#endif /*SYS5*/
/*
* Capabilities from termcap
*/
extern bool AM, BS, CA, NC, slkshort;
extern bool MS;
extern char *BC, *BE, *BO, *CD, *CE, *CI, *CL, *CM,
*CV, *EE, *FE, *FL, *HO, *KM, *LL, *ND,
*SE, *SO, *TI, *UE, *UP, *US, *VE, *VS,
*XE, *XS, PC;
extern short SG;
/*
* From the tty modes...
*/
extern char ttytype[];
/*
* window definitions
*/
typedef int (*Fint)();
typedef unsigned short achr_t;
/* ansi attributes */
#define ATTRUNDER (A_UNDERLINE << 8) /* underlined */
#define ATTRREV (A_REVERSE << 8) /* inverse video*/
#define ATTRBOLD (A_BOLD << 8) /* bold */
#define ATTRSTRIKE (A_STRIKE << 8) /* strike-out */
#define ATTRALL (ATTRREV|ATTRUNDER|ATTRSTRIKE|ATTRBOLD)
#define ATTRFONT 0xE000 /* high 3 bits are font */
/* ansi interpreter states */
#define NORM 0 /* normal characters */
#define ESC 1 /* received ESC (0x1b) */
#define CSI 2 /* received CSI (ESC [) */
#define PARAM 3 /* parsing parm string */
/* other ansi parameters */
#define NAPARAM 16 /* max number of parameters */
#define NAROW 27 /* max number of char rows/w */
#define ERRCHR '?' /* error character */
#define ERRATTR ATTRREV
/* Generic Rectangle */
struct recdef
{
unsigned short rec_ulx; /* upper-left x */
unsigned short rec_uly; /* upper-left y */
unsigned short rec_lrx; /* lower-right x (exclusive) */
unsigned short rec_lry; /* lower-right y (exclusive) */
};
/* Window Structure */
struct dirt { short firstc, lastc; };
typedef struct dirt DIRT;
struct window {
struct recdef w_rec; /* window dimensions */
struct recdef w_inrec; /* dimensions within borders */
struct oldef *w_ol; /* obscured list */
struct window *w_back; /* window behind this one */
struct window *w_front; /* window in front of this one */
unsigned short w_uflags; /* user specified flags */
short w_astate; /* ansi parser state */
short w_iparam; /* parameter index */
short w_nparam; /* parameter count */
short w_aparam[NAPARAM]; /* parameters */
Fint *w_adisp; /* ptr to dispatch table */
unsigned char w_sflags; /* window state flags */
short w_cury, w_curx;
achr_t w_attr;
achr_t **w_rptr;
DIRT *w_dirt;
char w_nflags; /* noise line dirty flags */
char w_noise[WTXTNUM][WTXTLEN];/* noise line storage */
FILE *w_outf; /* output stdio file descriptor */
};
typedef struct window WINDOW;
/* Obscured Rectangle */
struct oldef
{
struct recdef ol_rec; /* dimensions of obs. on screen */
WINDOW *ol_lobs; /* ptr to frontmost wp */
struct oldef *ol_next; /* next oldef in a chain */
struct oldef *ol_last; /* prev oldef in a chain */
};
typedef union { WINDOW *w; FILE *f; int i; } WF;
WF wnmap(); /* map window/file # to WINDOW/FILE pointer */
/* window state flags (w_sflags) */
#define _DIRTY 1 /* window contents modified */
#define _SS2 2 /* pending single-shift 2 */
#define _CUROFF 4 /* cursor turned off */
#define _BELL 8 /* bell char seen */
#define _MAPNL 0x10 /* map nl to cr-nl on output */
#define _NSCROLL 0x20 /* window doesn't scroll */
/* user specified window flags (w_uflags) */
/* #define NBORDER 1 /* window has borders (window.h)*/
#define _NOCHANGE -1
extern WF window[];
extern WINDOW physcr;
extern achr_t aspace;
extern bool tbtflg;
extern bool twbflg;
#endif /*WINDOW*/