/* DCP a uucp clone. Copyright Richard H. Lamb 1985,1986,1987 */
#include <stdio.h>		/* Standard UNIX  definitions */
#include "host.h"		/* Host specific definitions */

FILE * FOPEN();
int CREAT();

#define SYSTEMS		"systems"
#define LOGFILE		"LOGFILE"
#define SYSLOG		"SYSLOG"

#define MSGTIME         20
#define MAXPACK         256

#define ACK     4       /*      general definitions     */
#define NAK     2
#define DATA    0
#define CLOSE   1
#define ERROR   10
#define EMPTY   11



#define	SLAVE	0
#define	MASTER	1

#ifndef TRUE
#define TRUE   (-1)
#define FALSE   0
#endif

#define SAME	0
#define FAILED	-1
#define OK		0


/* L.sys field defines */

#define	FLD_REMOTE	0
#define	FLD_CCTIME	1
#define	FLD_DEVICE	2
#define	FLD_TYPE	3
#define	FLD_SPEED	4
#define	FLD_PROTO	5
#define	FLD_EXPECT	6
#define FLD_SEND	7

/**/
typedef int	(*procref)();

typedef struct {
	char	type;
	procref a;
	procref b;
	procref c;
	procref d;
} Proto;

/* the various protocols available. Add here for others */
extern procref          getpkt, sendpkt, openpk, closepk;

extern int	ggetpkt(), gsendpkt(), gopenpk(), gclosepk();
/*
extern int	kgetpkt(), ksendpkt(), kopenpk(), kclosepk();
extern int	rgetpkt(), rsendpkt(), ropenpk(), rclosepk();
extern int	tgetpkt(), tsendpkt(), topenpk(), tclosepk();
*/

/**/
extern int	pktsize;                /* packet size for this pro*/
extern FILE	*logfile;            	/* system log file */
extern FILE	*syslog;            	/* system log file */
extern FILE	*fw;           		/* cfile pointer */
extern char	cfile[80];              /* work file pointer */
extern int	remote;                 /* -1 means we're remote*/
extern int	findwork;
extern int	msgtime;                /* timout setting */
extern char	fromfile[132];
extern char	hostfile[132];		/* host version of fromfile */
extern char	tofile[132];
extern char	state;                  /* present state */
extern int	fp;                     /* current disk file ptr */
extern int	size;                   /* nbytes in buff */
extern FILE	*fsys;
extern char	Rmtname[20];
extern char	rmtname[20];
extern char	*cctime;
extern char	proto[5];

extern char sysline[BUFSIZ];
extern char s_systems[64];
extern char s_logfile[64];
extern char s_syslog[64];
extern char *flds[60];
extern int  kflds;

extern int	debuglevel;		/* debugging flag */
extern unsigned int	checksum();
extern char *index();
extern char *rindex();

extern	char *curdir;



