Ausam/sys/dmr/unused/dl11.h
/*
* data used in coordinating the KL driver with other drivers on the same controller
*/
#define FIRSTDL 2 /* first DL11 involved */
#define NDL 2 /* no. of DL11s involved */
char dl11[NDL]; /* coordinating status */
#define TTY 1 /* value of dl11 if tty */
#define BLK 2 /* value of dl11 if block device */
#define LPR 4 /* value of dl11 if line printer */
#define COM 010 /* value of dl11 if communications protocol being used */
/*
* now assign the devices
*/
#define VS 1 /* selects element of dl11 & dl11v */
#define VSADDR 0175620 /* interrupt vector at 320 (dl11-d) */
#define SPLVS spl6 /* interrupt priority at br6 */
#define BP 1 /* selects element of dl11 */
#define BPADDR 0175620 /* interrupt vector at 320 (dl11-d) */
/* structure for accessing DL registers */
struct
{
int dlrs; /* DL reading status register ( RCSR ) */
int dlrb; /* " " buffer ( RBUF ) */
char dlws; /* " writing status register ( XCSR ) */
char dlfill;
char dlwb; /* " " buffer ( XBUF ) */
};
/** dlrs status bits **/
#define RDENB 01 /* reader enable */
#define DTR 02 /* data terminal ready */
#define REQ_TO_SND 04 /* request to send */
#define SEC_XMIT 010 /* secondary transmit data */
#define DS_INTEB 040 /* data set interrupt enable */
#define IENABLE 0100 /* receive interrupt enable */
#define DONE 0200 /* receiver done */
#define SEC_REC 02000 /* secondary receive data */
#define CARRIER 010000 /* carrier */
#define CLR_TO_SND 020000 /* clear to send */
#define RING 040000 /* ringing */
#define DS_INTR 0100000 /* data set interrupt */
/* rbuf bits */
#define E_OVRUN 040000
#define E_FRAME 020000
#define E_PARITY 010000
/*
* locations defined in l.s
*/
struct
{
int rcall[2];
int (*rintad)();
int wcall[2];
int (*wintad)();
}
dl11v[NDL];