#ifndef da_h
#define da_h
/*
* This is the "Debug Access" (or "Distributed Agent") definition file. The DA
* package  is  a debug hook that lets us see things from the viewpoint of our
* set of agents destributed across the network.  This capability functions  a
* lot  like  a  distributed file system, though it is limited to the views as
* seen from the agents.
*
* By John Chambers.
*   <jc@trillian.mit.edu>
*/
#define	DAclose(f)	da_close(f)
#define	DAopen(n,f,m)	daOpen((CP)(n),(int)(f),(int)(m))
#define	DAopen1(n)	daOpen((CP)(n),(int)(0),(-1))
#define	DAopen2(n,f)	daOpen((CP)(n),(int)(f),(-1))
#define	DAopen3(n,f,m)	daOpen((CP)(n),(int)(f),(int)(m))
#define	DAread(f,b,n)	da_read((int)(f),(CP)(b),(unsigned)(n))
#define	DAseek(f,o,w)	da_seek((int)(f),(unsigned long)(o),(int)(w))
#define	DAwrite(f,b,n)	da_write((int)(f),(CP)(b),(unsigned)(n))

#define DAmsg struct _da_msg_
DAmsg {
	U32 magic;			/* Type and byte-order combined */
	U8  src[8];			/* Source address */
	U8  dst[8];			/* Destination address */
	U8  op[4];			/* Op-code bytes */
	U32 seq;				/* Sequence number */
	U32 size;			/* Number of data bytes that follow */
};

#endif
