/* SCCS_ID @(#)mpx.h    	3.1	 01:11:24 - 81/10/27 */

#ifndef LOCALS_INCLUDED
# include <sys/local.h>
#endif

#define	M	3
#define	C	100

/*
 * character Q structure
 */
struct	clist
{
	int	c_cc;
	int	c_cf;
	int	c_cl;
};

struct	chan
{
	char	cflag;
	char	m, c;
	struct	chan	*dest;
	struct	clist	ioq;
};

/* c flags */
#define	BLOCK	01

struct	line
{
	char	xbuf[24+2];
	char	rbuf[100+2];
	char	rseq;
	char	xseq;
	char	ackf;
	char	xflag;
	char	state;
	char	time;
	int	sum;
	char	*ip;
	char	*ep;
};
#define	WWAIT	02
#define	CRUN	04
#define	RWAIT	010
#define	ALLOC	020
#define	DIS	040
#define	DLY	0100

/*
 * machine structure
 */
struct	mach
{
	char	mflag;
	char	rchan;
	char	rcount;
	char	xchan;
	char	xcount;
	struct	clist	ackq;
	struct	clist	datq;
	struct	clist	disq;
	struct	chan	*chanp[128];
};

/* m flags */
#define	RNEXT	01
#define	MRUN	04
#define	XNEXT	010

/*
 * trace buffer
 */
#define	TBSIZ	100
