xref: /csrg-svn/sys/tahoe/vba/mpreg.h (revision 35934)
134506Skarels /*
235078Sbostic  * Copyright (c) 1988 Regents of the University of California.
335078Sbostic  * All rights reserved.
435078Sbostic  *
535078Sbostic  * This code is derived from software contributed to Berkeley by
635078Sbostic  * Computer Consoles Inc.
735078Sbostic  *
835078Sbostic  * Redistribution and use in source and binary forms are permitted
935078Sbostic  * provided that the above copyright notice and this paragraph are
1035078Sbostic  * duplicated in all such forms and that any documentation,
1135078Sbostic  * advertising materials, and other materials related to such
1235078Sbostic  * distribution and use acknowledge that the software was developed
1335078Sbostic  * by the University of California, Berkeley.  The name of the
1435078Sbostic  * University may not be used to endorse or promote products derived
1535078Sbostic  * from this software without specific prior written permission.
1635078Sbostic  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
1735078Sbostic  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
1835078Sbostic  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1935078Sbostic  *
20*35934Sbostic  *	@(#)mpreg.h	7.3 (Berkeley) 10/19/88
2134506Skarels  */
2232632Ssam 
2332632Ssam /*
2432632Ssam  * MPCC Asynchronous Communications Interface.
2532632Ssam  */
2632632Ssam #define MPINTRBASE	0xa0		/* base vector for interupts */
2732632Ssam #define MPMAGIC		1969		/* magic number for mblok */
2832632Ssam #define MPMAXPORT	32		/* maximum number of ports on an MPCC */
2932632Ssam 
3032632Ssam /*
3132632Ssam  * MPCC's are capable of supporting one of a
3232632Ssam  * the protocols listed below.  This driver
3332632Ssam  * supports only the async terminal protocol.
3432632Ssam  */
3532632Ssam #define MPPROTO_UNUSED	0	/* port not in use */
3632632Ssam #define MPPROTO_ASYNC	1	/* async protocol */
3732632Ssam #define MPPROTO_X25	2	/* x25 protocol (unsupported) */
3832632Ssam #define MPPROTO_BISYNC	3	/* bisync protocol (unsupported) */
3932632Ssam #define MPPROTO_SNA  	4	/* sna protocol (unsupported) */
4032632Ssam 
4132632Ssam #define NMPPROTO	5	/* max protocols supported by MPCC */
4232632Ssam 
43*35934Sbostic #define MPINSET		8
44*35934Sbostic #define MPOUTSET	8
4532632Ssam 
4632632Ssam /*
47*35934Sbostic  * Host Interface semaphores
48*35934Sbostic  */
49*35934Sbostic #define MPSEMA_AVAILABLE	1
50*35934Sbostic #define MPSEMA_WORK		4
51*35934Sbostic 
52*35934Sbostic /*
53*35934Sbostic  * Host Interface imok values
54*35934Sbostic  */
55*35934Sbostic #define MPIMOK_ALIVE	0x01
56*35934Sbostic #define MPIMOK_DEAD	0x80
57*35934Sbostic 
58*35934Sbostic /*
5932632Ssam  * Host Interface Structure
6032632Ssam  */
6132632Ssam struct his {
6232632Ssam 	u_char	semaphore;
6332632Ssam 	u_char	imok;
6432632Ssam 	u_char	brdnum;		/* Virtual brd number for protocol */
6532632Ssam 	u_char	unused;
6632632Ssam 	struct {
6734506Skarels 		u_char	inbdone[MPMAXPORT];	/* Ports w/ inbound completed */
6834506Skarels 		u_char	outbdone[MPMAXPORT];	/* Ports w/outbound available */
6932632Ssam 		u_int	fill[2];
7032632Ssam 	} proto[NMPPROTO];
7132632Ssam };
7232632Ssam 
7334506Skarels #define MPPORT_EOL	0xff		/* end of port list */
7432632Ssam 
7532632Ssam /*
7632632Ssam  * Async host transmit list structure.
7732632Ssam  */
7832632Ssam #define MPXMIT	4	/* # of transmit ptrs/MP_WRITE event */
7932632Ssam 
8032632Ssam struct	hxmtl {
8132632Ssam 	caddr_t	dblock[MPXMIT];	/* ptrs to data blocks */
8232632Ssam 	u_short	size[MPXMIT];	/* size of each block */
8332632Ssam };
8432632Ssam 
8532632Ssam /*
8632632Ssam  * MPCC asynchronous protocol events.
8732632Ssam  */
8832632Ssam struct mpevent {
8932632Ssam 	u_char	ev_status;	/* Go Status */
9032632Ssam 	u_char	ev_cmd;		/* Optional Op-code */
9132632Ssam 	u_short	ev_opts;	/* Optional flags */
9232632Ssam 	u_short	ev_error;	/* error status returned */
9332632Ssam 	u_short	ev_flags;	/* optional event flags field */
9432632Ssam 	caddr_t	ev_params;	/* pointer to event parameters */
9532632Ssam 	union {
9632632Ssam 		struct	hxmtl *hxl;	/* pointer to host xmit list */
9732632Ssam 		u_char	*rcvblk;	/* pointer to receive block */
9832632Ssam 	} ev_un;
9932632Ssam 	u_short	ev_count;	/* # ptrs in xmit list/# receive chars  */
10032632Ssam 	u_short	ev_unused;	/* round to longword */
10132632Ssam 	u_int	ev_unused2;	/* round to size of BSC struct. GROT!! */
10232632Ssam };
10332632Ssam 
10432632Ssam /* defines for ev_status */
10532632Ssam #define EVSTATUS_FREE	0
10632632Ssam #define EVSTATUS_GO	1
10732632Ssam #define EVSTATUS_BUSY	2
10832632Ssam #define EVSTATUS_DONE	4
10932632Ssam 
11032632Ssam /* defines for ev_cmd */
11132632Ssam #define EVCMD_OPEN	1
11232632Ssam #define EVCMD_CLOSE	2
11332632Ssam #define EVCMD_RESET	3
11432632Ssam #define EVCMD_IOCTL	4
11532632Ssam #define EVCMD_WRITE	5
11632632Ssam #define EVCMD_READ	6
11732632Ssam #define EVCMD_STATUS	7
11832632Ssam #define EVCMD_EVENT	8
11932632Ssam 
12032632Ssam /*
12132632Ssam  * Host-MPCC interface block.
12232632Ssam  */
12332632Ssam struct	mblok {
12432632Ssam 	u_char	mb_status;		/* mpcc status */
12532632Ssam 	u_char	mb_ivec;		/* host interrupt vector */
12632632Ssam 	u_short	mb_magic;
12732632Ssam 	u_char	mb_diagswitch[2];	/* run diagnostics/application */
12832632Ssam 	u_char	mb_softerr;		/* soft error code */
12932632Ssam 	u_char	mb_harderr;		/* hard error code */
13032632Ssam 	struct mpdl {		/* download/config area */
13132632Ssam 		u_char	mpdl_status;	/* control/status */
13232632Ssam 		u_char	mpdl_cmd;	/* request type */
13332632Ssam 		u_short	mpdl_count;	/* size of parameter block */
13432632Ssam 		caddr_t	mpdl_data;	/* command parameters */
13532632Ssam 	} mb_dl;
13632632Ssam 	u_char	mb_hiport, mb_loport;	/* high-low mpcc port numbers */
13732632Ssam 	u_char	mb_unit;		/* mpcc unit number */
13832632Ssam 	u_char	mb_hndshk;		/* handshaking timer */
13932632Ssam 	caddr_t	mb_imokclk;		/* handshaking clock */
14032632Ssam 	u_char	mb_nointcnt;		/* no interrupt from handshake */
14132632Ssam 	u_char	mb_mpintcnt;		/* # outstanding interupts to MPCC */
14232632Ssam 	short	mb_unused;
14332632Ssam 	caddr_t	mb_mpintclk;		/* MPCC interrupt clock */
14432632Ssam 	struct	his mb_hostint;		/* To Talk with Host */
14532632Ssam 	u_char	mb_proto[MPMAXPORT];	/* per-port protocols */
14632632Ssam 	u_char	mb_intr[MPMAXPORT];	/* per-port host->mpcc int flags */
14732632Ssam 	struct	mpport {	/* per-port structure */
14832632Ssam 		u_short	mp_proto;	/* protocol of port */
14932632Ssam 		u_char	mp_on;		/* Next available entry on Host */
15032632Ssam 		u_char	mp_off;		/* Next expected 'DONE' entry on Host */
15132632Ssam 		struct	mpevent mp_recvq[MPINSET]; /* queue of events to host */
15232632Ssam 		struct	mpevent mp_sendq[MPOUTSET];/* queue of events to mpcc */
15332632Ssam 		u_char	mp_nextrcv;	/* next expected 'DONE' entry on Host */
15432632Ssam 		u_char	mp_flags;	/* host flags */
15532632Ssam 		short	mp_unused;
15632632Ssam 		caddr_t	mp_data;	/* pointer to data for port */
15732632Ssam 	} mb_port[MPMAXPORT];
15832632Ssam };
15932632Ssam 
16032632Ssam /* status defines for mblok.status */
16132632Ssam #define MP_DLPEND	1
16232632Ssam #define MP_DLOPEN	2
16332632Ssam #define MP_DLDONE	3
16432632Ssam #define MP_OPCLOSE	4
16532632Ssam #define MP_OPOPEN	5
16632632Ssam #define MP_DLTIME	6
16732632Ssam #define MP_DLERROR	(-1)
16832632Ssam 
16932632Ssam /* hard error status values loaded into mblock.herr */
17032632Ssam #define NOHERR		0	/* no error */
17132632Ssam #define MPBUSERR	1	/* bus error */
17232632Ssam #define ADDRERR		2	/* address error */
17332632Ssam #define UNDECC		3	/* undefined ecc interrupt */
17432632Ssam #define UNDINT		4	/* undefined interrupt */
17532632Ssam #define PWRFL		5	/* power fail occurred */
17632632Ssam #define NOXENTRY	6	/* xdone was enterred w/o xmit entry on queue */
17732632Ssam #define TWOFTMRS	7	/* tried to start two fast timers on one port */
17832632Ssam #define INTQFULL	8	/* interupt queue full */
17932632Ssam #define INTQERR		9	/* interupt queue ack error */
18032632Ssam #define CBPERR		10	/* uncorrectable DMA parity error */
18132632Ssam #define ACPDEAD		11	/* acap has died */
18232632Ssam /* additional panic codes not listed */
18332632Ssam 
18432632Ssam /* soft error status values loaded into mblock.serr */
18532632Ssam #define NOSERR	0		/* no error */
18632632Ssam #define DMAPERR	1		/* dma parity error */
18732632Ssam #define ECCERR	2		/* local memory ecc error */
18832632Ssam 
18932632Ssam /* Defines for flags */
19032632Ssam #define MP_PROGRESS	1	/* Open or Close is in progress */
191*35934Sbostic #define MP_IOCTL	2	/* IOCTL is in progress */
19232632Ssam #define MP_REMBSY	4	/* remote station busy */
19332632Ssam 
19432632Ssam /*
19532632Ssam  * Asynchronous Terminal Protocol Definitions.
19632632Ssam  */
19732632Ssam #define A_RCVTIM	2	/* default max tix for receive event (~20ms) */
19832632Ssam #define ACPTMR		300	/* approx. 5 secs to wait for acap     */
19932632Ssam #define A_MAXEVTP	3	/* maximum # of L1 or Host Events to    */
20032632Ssam 				/* process per port at one time	 */
20132632Ssam #define A_MAXRCV	128	/* max # of chars in rcv event - enough */
20232632Ssam 				/* to hold 20ms of chars at 19.2KB      */
20332632Ssam #define A_NUMRCV	32	/* number of rcv buffers per port       */
20432632Ssam #define A_NUMXMT	2	/* max number of concurrent xmits/port  */
20532632Ssam #define A_NUMEVT	32	/* number of evt bufs for status evts   */
20632632Ssam 				/* and L2 to L1 transmit evts	   */
20732632Ssam #define WR5	5		/* SCC Write Reg 5		      */
20832632Ssam #define TXENBL	0x08		/* mask to enable transmitter in WR 5   */
20932632Ssam #define RTSON	0x02		/* mask to turn on RTS in wreg 5	*/
21032632Ssam #define CHR5MSK	0x1F		/* mask for 5-bit transmit data	 */
21132632Ssam 
21232632Ssam /*
21332632Ssam  * macro to adjust a circular buffer ptr
21432632Ssam  *      x  = pointer or index
21532632Ssam  *      sz = size of circular buffer
21632632Ssam  */
21732632Ssam #define adjptr(x,sz)	((x) = ((++(x) == (sz)) ? 0 : (x)))
21832632Ssam #define adjptrbk(x,sz)	((x) = ((x) == 0) ? (sz) : --(x))
21932632Ssam 
22032632Ssam /*
22132632Ssam  * Events from ASYNC Level 1 to Level 2
22232632Ssam  */
22332632Ssam #define RCVDTA	10	/* normal receive data available */
22432632Ssam #define PARERR	11	/* receive data with parity error */
22532632Ssam #define OVRNERR	12	/* receive data with overrun error */
22632632Ssam #define OVFERR	13	/* receive data with overflow error */
22732632Ssam #define FRAMERR	14	/* receive data with framing error */
22832632Ssam #define ACKXMT	15	/* successful completion of transmit */
22932632Ssam #define NORBUF	16	/* No Receive Buffers available	 */
23032632Ssam #define NOEBUF	17	/* No Event Buffers available */
23132632Ssam #define BRKASRT	18	/* Break condition detected */
23232632Ssam 
23332632Ssam /* defines for error conditions */
23432632Ssam #define A_OK		0	/* No Errors */
23532632Ssam #define A_INVEVT	1	/* Invalid Event Error */
23632632Ssam #define A_IOCERR	2	/* Error while configuring port */
23732632Ssam #define A_SIZERR	3	/* Error in count of data chars to xmt */
23832632Ssam #define A_NXBERR	4	/* Transmit Incomplete due to lack of bufs */
23932632Ssam 
24032632Ssam /*
24132632Ssam  * Modem control signal control structure.
24232632Ssam  */
24332632Ssam struct mdmctl {
244*35934Sbostic 	u_char	mc_rngdsr;	/* ring or dsr */
245*35934Sbostic 	u_char	mc_rts;		/* request to send */
246*35934Sbostic 	u_char	mc_rate;
247*35934Sbostic 	u_char	mc_dcd;		/* data carrier detect */
248*35934Sbostic 	u_char	mc_sectx;	/* secondary transmit */
249*35934Sbostic 	u_char	mc_cts;		/* clear to send */
250*35934Sbostic 	u_char	mc_secrx;	/* secondary receive */
251*35934Sbostic 	u_char	mc_dtr;		/* data terminal ready */
25232632Ssam };
25332632Ssam 
25432632Ssam /* defines for modem control lines */
25532632Ssam #define ASSERT	1		/* line asserted */
25632632Ssam #define DROP	2		/* line dropped */
25732632Ssam #define AUTO	3		/* auto mode enabled, rts only */
25832632Ssam 
25932632Ssam /*
26032632Ssam  * Async parameter structure.
26132632Ssam  */
26232632Ssam struct asyncparam {
26332632Ssam 	u_char	ap_xon, ap_xoff;	/* xon-xoff characters */
26432632Ssam 	u_char	ap_xena;		/* xon/xoff enabled */
26532632Ssam 	u_char	ap_xany;		/* any received char enables xmitter */
26632632Ssam 	struct	mdmctl ap_modem;	/* port modem control lines */
26732632Ssam 	struct	mdmctl ap_intena;	/* modem signals which generate */
26832632Ssam 					/* status change events */
26932632Ssam 	u_char	ap_data;		/* number of data bits */
27032632Ssam 	u_char	ap_stop;		/* number of stop bits */
27132632Ssam 	u_char	ap_baud;		/* baud rate */
27232632Ssam 	u_char	ap_parity;		/* even/odd/no parity */
27332632Ssam 	u_char	ap_loop;		/* enable for local loopback */
27432632Ssam 	u_char	ap_rtimer;		/* receive timer value (msec) */
27532632Ssam 	short	ap_fill;		/* round to longword */
27632632Ssam };
27732632Ssam 
27832632Ssam /* enable/disable signal codes */
27932632Ssam #define MPA_ENA	1		/* condition enabled */
28032632Ssam #define MPA_DIS	2		/* condition disabled */
28132632Ssam 
28232632Ssam /* defines for ap_data */
28332632Ssam #define MPCHAR_5	0	/* 5 bits per character */
28432632Ssam #define MPCHAR_6	2	/* 6 bits per character */
28532632Ssam #define MPCHAR_7	1	/* 7 bits per character */
28632632Ssam #define MPCHAR_8 	3	/* 8 bits per character */
28732632Ssam 
28832632Ssam /* defines for ap_stop */
28932632Ssam #define MPSTOP_1	1	/* 1 stop bit per character */
29032632Ssam #define MPSTOP_1_5	2	/* 1 1/2 stop bits per character */
29132632Ssam #define MPSTOP_2	3	/* 2 stop bits per character */
29232632Ssam 
29332632Ssam /* defines for ap_baud */
29432632Ssam #define MODEM	0
29532632Ssam #define M0	0		/* baud rate = 0 */
29632632Ssam #define M50	1		/* baud rate = 50 */
29732632Ssam #define M75	2		/* baud rate = 75 */
29832632Ssam #define M110	3		/* baud rate = 110 */
29932632Ssam #define M134_5	4		/* baud rate = 134.5 */
30032632Ssam #define M150	5		/* baud rate = 150 */
30132632Ssam #define M200	6		/* baud rate = 200 */
30232632Ssam #define M300	7		/* baud rate = 300 */
30332632Ssam #define M600	8		/* baud rate = 600 */
30432632Ssam #define M1200	9		/* baud rate = 1200 */
30532632Ssam #define M1800	10		/* baud rate = 1800 */
30632632Ssam #define M2400	11		/* baud rate = 2400 */
30732632Ssam #define M4800	12		/* baud rate = 4800 */
30832632Ssam #define M9600	13		/* baud rate = 9600 */
30932632Ssam #define MEXTA	14		/* baud rate = Ext A */
31032632Ssam #define MEXTB	15		/* baud rate = Ext B */
31132632Ssam #define M2000	16		/* baud rate = 2000 */
31232632Ssam #define M3600	17		/* baud rate = 3600 */
31332632Ssam #define M7200	18		/* baud rate = 7200 */
31432632Ssam #define M19200	19		/* baud rate = 19,200 */
31532632Ssam #define M24000	20		/* baud rate = 24,000 */
31632632Ssam #define M28400	21		/* baud rate = 28,400 */
31732632Ssam #define M37800	22		/* baud rate = 37,800 */
31832632Ssam #define M40300	23		/* baud rate = 40,300 */
31932632Ssam #define M48000	24		/* baud rate = 48,000 */
32032632Ssam #define M52000	25		/* baud rate = 52,000 */
32132632Ssam #define M56800	26		/* baud rate = 56,800 */
32232632Ssam 
32332632Ssam /* defines for ap_parity */
32432632Ssam #define MPPAR_NONE	0	/* no parity */
32532632Ssam #define MPPAR_ODD	1	/* odd parity */
32632632Ssam #define MPPAR_EVEN	3	/* even parity */
32732632Ssam 
32832632Ssam /* possible flags for Host MP_IOCTL Events */
32932632Ssam #define A_CHGX		1	/* IOCTL is only chging xonxoff params */
33032632Ssam #define A_MDMCHG	2	/* change modem control lines */
33132632Ssam #define A_MDMGET	3	/* get current state of modem ctl lines */
33232632Ssam #define A_CHGL1P	4	/* IOCTL is changing changing L1 params */
33332632Ssam #define A_BRKON		5	/* set port break bit */
33432632Ssam #define A_BRKOFF	6	/* clear port break bit */
33532632Ssam #define A_CHGALL	7	/* IOCTL is changing xonxoff params, */
33632632Ssam 				/* pcnfg struct, & modem ctl structs */
33732632Ssam #define A_DISABX	8	/* disable port transmitter (ctl-s) */
33832632Ssam #define A_ENABLX	9	/* enable port transmitter (ctl-q) */
33932632Ssam 
34032632Ssam /* possible flags for Host MP_WRITE Events */
34132632Ssam #define A_FLUSH		1	/* flush any queued transmit events */
34232632Ssam #define A_SSTOP		2	/* transmit a port stop (xoff) char */
34332632Ssam 				/* before sending rest of event xmts */
34432632Ssam #define A_SSTART	3	/* transmit a port start (xon) char */
34532632Ssam 				/* before sending rest of event xmts */
34632632Ssam 
34732632Ssam /* possible flags for Outbound MP_READ Events */
34832632Ssam #define A_XOFF		1	/* transmitter stopped from by xoff char */
34932632Ssam 
35032632Ssam /* Perpos flags for modem control fields */
35132632Ssam #define A_RNGDSR	00001
35232632Ssam #define A_RTS		00002
35332632Ssam #define A_RATE		00004
35432632Ssam #define A_DCD		00010
35532632Ssam #define A_SECTX		00020
35632632Ssam #define A_CTS		00040
35732632Ssam #define A_SECRX		00100
35832632Ssam #define A_DTR		00200
35932632Ssam 
36032632Ssam #define DCDASRT		100	/* data carrier detect asserted */
36132632Ssam #define DTRASRT		101	/* data terminal ready asserted */
36232632Ssam #define RNGASRT		102	/* ring indicator asserted */
36332632Ssam #define DSRASRT		102	/* data set ready asserted */
36432632Ssam #define CTSASRT		103	/* clear to send asserted */
36532632Ssam #define RTSASRT		104	/* ready to send asserted */
36632632Ssam #define STXASRT		105	/* secondary transmit asserted */
36732632Ssam #define SRXASRT		106	/* secondary recieve asserted */
36832632Ssam #define RATEASRT	107	/* rate signal asserted */
36932632Ssam #define DCDDROP		108	/* data carrier detect dropped */
37032632Ssam #define DTRDROP		109	/* data terminal ready dropped */
37132632Ssam #define RNGDROP		110	/* ring indicator dropped */
37232632Ssam #define MPDSRDROP	110	/* data set ready dropped */
37332632Ssam #define CTSDROP		111	/* clear to send dropped */
37432632Ssam #define RTSDROP		112	/* ready to send dropped */
37532632Ssam #define STXDROP		113	/* secondary transmit dropped */
37632632Ssam #define SRXDROP		114	/* secondary recieve dropped */
37732632Ssam #define RATEDROP	115	/* rate signal dropped */
37832632Ssam 
37932632Ssam /* Defines for filters and intena in portstat */
38032632Ssam #define MDM_OFF	0
38132632Ssam #define MDM_ON	1
38232632Ssam 
38332632Ssam /* Modem on/off flags */
384*35934Sbostic #define MMOD_OFF	0
385*35934Sbostic #define MMOD_ON		1
38632632Ssam 
38732632Ssam /* defintions for DL interface */
38832632Ssam 
389*35934Sbostic #define MPDLBUFSIZE	1024
39032632Ssam 
391*35934Sbostic /* mpdlioctl command defines */
39232632Ssam 
39332632Ssam struct protports {
39432632Ssam 	char protoport[MPMAXPORT];
395*35934Sbostic };
39632632Ssam 
39732632Ssam struct abdcf {
398*35934Sbostic 	short xmtbsz;		/* transmit buffer size - should */
399*35934Sbostic 				/* equal # of chars in a cblock  */
40032632Ssam };
40132632Ssam 
40232632Ssam struct bdcf {
403*35934Sbostic 	char loadname[NMPPROTO+1];
404*35934Sbostic 	char protoports[MPMAXPORT];
405*35934Sbostic 	char fccstimer;		/* powerfail timer */
406*35934Sbostic 	char fccsports;		/* ports to affect */
407*35934Sbostic 	char fccssoc;		/* ports which will 'switch on close' */
40832632Ssam };
40932632Ssam 
41032632Ssam 
41132632Ssam /* These ioctls are for the dlmpcc command */
412*35934Sbostic #define MPIOPORTMAP		_IOW('m',1, struct protports)
413*35934Sbostic #define MPIOHILO		_IOW('m',3, short)
414*35934Sbostic #define MPIOENDCODE		_IO('m',4)
415*35934Sbostic #define MPIOASYNCNF		_IOW('m',7, struct abdcf)
416*35934Sbostic #define MPIOENDDL		_IO('m',10)
417*35934Sbostic #define MPIOSTARTDL		_IO('m',11)
418*35934Sbostic #define MPIORESETBOARD		_IO('m',12)
41932632Ssam 
420*35934Sbostic /* mpdlwrite opcode defines */
42132632Ssam 
422*35934Sbostic #define MPDLCMD_NORMAL	1
42332632Ssam 
424*35934Sbostic /* error messages printed at console , board & port # filled in later */
425*35934Sbostic 
426*35934Sbostic #define A_INVSTS	"Invalid Status Event "
427*35934Sbostic #define A_INVCMD	"Invalid Event From the MPCC "
428*35934Sbostic #define A_NORBUF	"No More Available Receive Buffers "
429*35934Sbostic #define A_NOEBUF	"No More Available Event Buffers "
430*35934Sbostic #define A_OVRN		"Overrun Error Detected "
431*35934Sbostic #define A_OVRF		"Overflow Error Detected "
432*35934Sbostic #define A_NOXBUF	"No More Available Transmit Event Buffers "
433*35934Sbostic #define A_XSIZE		"Transmit Data Block Size Exceeds Event Data Buffer Size "
434*35934Sbostic #define A_NOFREIN	"No Available Inbound Entries to Send Close Event "
435