/* RPCLupine.h*/
/* Last modified by D. Swinehart June 9, 1982  10:47 AM */

/* Requires Env, RPC, RPCInternal */

#define headerSize 20
		/* 10+6+4*/
#define maxPupWords (90 + 10 + 1)
		/* 160 voice samples + 10 words for protocol = 90 words */
#define encryptionBlockSize 4
#define lenSecurityChecksum 2
	#define tmp ((maxPupWords-1-headerSize)/encryptionBlockSize)
#define maxDataLength ((tmp*encryptionBlockSize) - lenSecurityChecksum)
	/* max data words in RPC packet */
	#define tmp1 (lenEtherEncapsulation+headerSize+encryptionBlockSize-1)
#define pktOverhead (tmp1 + lenSecurityChecksum + 1)

#define Dispatcher int
  /* TYPE=PROC[pkt, pktLength, conversation, dispatcherArgs)
	RETURNS [returnLength]*/
	
struct DArgs {
	int *Free;	 /* PROC[dArgs: POINTER TO DArgs] */
	int args[1/*many*/]; }; /* arbitrary */