12311Sjkh/*	$NetBSD: supmsg.h,v 1.6 2001/01/16 02:50:32 cgd Exp $	*/
22311Sjkh
32311Sjkh/*
42311Sjkh * Copyright (c) 1992 Carnegie Mellon University
52311Sjkh * All Rights Reserved.
62311Sjkh *
72311Sjkh * Permission to use, copy, modify and distribute this software and its
82311Sjkh * documentation is hereby granted, provided that both the copyright
92311Sjkh * notice and this permission notice appear in all copies of the
102311Sjkh * software, derivative works or modified versions, and any portions
112311Sjkh * thereof, and that both notices appear in supporting documentation.
122311Sjkh *
132311Sjkh * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
142311Sjkh * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
152311Sjkh * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
162311Sjkh *
172311Sjkh * Carnegie Mellon requests users of this software to return to
182311Sjkh *
1950479Speter *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
202311Sjkh *  School of Computer Science
212311Sjkh *  Carnegie Mellon University
222311Sjkh *  Pittsburgh PA 15213-3890
232311Sjkh *
242311Sjkh * any improvements or extensions that they make and grant Carnegie Mellon
252311Sjkh * the rights to redistribute these changes.
262311Sjkh */
272311Sjkh/*
282311Sjkh * supmsg.h - global definitions/variables used in msg routines.
292311Sjkh *
302311Sjkh **********************************************************************
312311Sjkh * HISTORY
322311Sjkh *
332311Sjkh * 7-July-93  Nate Williams at Montana State University
342311Sjkh *	Modified SUP to use gzip based compression when sending files
352311Sjkh *	across the network to save BandWidth
362311Sjkh *
372311Sjkh * Revision 1.7  92/08/11  12:08:20  mrt
382311Sjkh * 	Added copyright.
392311Sjkh * 	[92/08/10            mrt]
402311Sjkh *
412311Sjkh * Revision 1.6  89/08/23  14:56:42  gm0w
422311Sjkh * 	Changed MSGF to MSG constants.
432311Sjkh * 	[89/08/23            gm0w]
442311Sjkh *
452311Sjkh * 27-Dec-87  Glenn Marcy (gm0w) at Carnegie-Mellon University
462311Sjkh *	Added crosspatch support.  Removed nameserver support.
472311Sjkh *
482311Sjkh * 29-Jun-87  Glenn Marcy (gm0w) at Carnegie-Mellon University
492311Sjkh *	Added "release" support.
502311Sjkh *
512311Sjkh * 27-May-87  Doug Philips (dwp) at Carnegie-Mellon University
522311Sjkh *	Added MSGFDONE and subvalues, added doneack and donereason.
532311Sjkh *
542311Sjkh * 20-May-87  Glenn Marcy (gm0w) at Carnegie-Mellon University
552311Sjkh *	Added changes to make lint happy.
562311Sjkh *
572311Sjkh * 04-Jan-86  Glenn Marcy (gm0w) at Carnegie-Mellon University
582311Sjkh *	Changed hostname to hostT to support multiple repositories per
592311Sjkh *	collection.  Added FSETUPBUSY to tell clients that server is
602311Sjkh *	currently busy.
612311Sjkh *
622311Sjkh * 19-Dec-85  Glenn Marcy (gm0w) at Carnegie-Mellon University
632311Sjkh *	Created.
642311Sjkh *
652311Sjkh **********************************************************************
662311Sjkh */
672311Sjkh
682311Sjkh/* Special messages reserved for SCM */
692311Sjkh#define MSGGOAWAY	(-1)		/* see scm.c */
702311Sjkh
712311Sjkh/* Message types -- see supmsg.c */
722311Sjkh#define MSGSIGNON	(101)
732311Sjkh#define MSGSIGNONACK	(102)
742311Sjkh#define MSGSETUP	(103)
752311Sjkh#define MSGSETUPACK	(104)
762311Sjkh#define MSGLOGIN	(105)
772311Sjkh#define MSGLOGACK	(106)
782311Sjkh#define MSGCRYPT	(107)
792311Sjkh#define MSGCRYPTOK	(108)
802311Sjkh#define MSGREFUSE	(109)
812311Sjkh#define MSGLIST		(110)
822311Sjkh#define MSGNEED		(111)
832311Sjkh#define MSGDENY		(112)
842311Sjkh#define MSGSEND		(113)
852311Sjkh#define MSGRECV		(114)
862311Sjkh#define MSGDONE		(115)
872311Sjkh#define MSGXPATCH	(117)
882311Sjkh#define MSGCOMPRESS	(118)
892311Sjkh
902311Sjkh/* MSGSETUPACK data codes - setupack */
912311Sjkh#define FSETUPOK	(999)
922311Sjkh#define FSETUPHOST	(998)
932311Sjkh#define FSETUPSAME	(997)
942311Sjkh#define FSETUPOLD	(996)
952311Sjkh#define FSETUPBUSY	(995)
962311Sjkh#define FSETUPRELEASE	(994)
972311Sjkh
982311Sjkh/* MSGLOGACK data codes - loginack */
992311Sjkh#define FLOGOK		(989)
1002311Sjkh#define FLOGNG		(988)
1012311Sjkh
1022311Sjkh/* MSGDONE data codes - doneack */
1032311Sjkh#define FDONESUCCESS	(979)
1042311Sjkh#define FDONEDONTLOG	(978)
1052311Sjkh#define FDONESRVERROR	(977)
1062311Sjkh#define FDONEUSRERROR	(976)
1072311Sjkh#define FDONEGOAWAY	(975)
1082311Sjkh
1098169Sache#ifdef	MSGSUBR
1108169Sache
1118169Sache/* used in all msg routines */
1122311Sjkhextern int	isserver;		/* true if we are the server */
1132311Sjkhextern int	protver;		/* protocol version of partner */
1148169Sache
1152311Sjkh#else	/* MSGSUBR */
1162311Sjkh
1172311Sjkh#ifdef	MSGFILE
1182311Sjkh#define	EXTERN
1192311Sjkh#else	/* MSGFILE */
1202311Sjkh#define	EXTERN	extern
1212311Sjkh#endif	/* MSGFILE */
1222311Sjkh
1232311Sjkh/* used in all msg routines */
1242311SjkhEXTERN	int	isserver;		/* true if we are the server */
1252311Sjkh
1262311Sjkh/* msggoaway */
1272311SjkhEXTERN	char	*goawayreason;		/* reason for goaway */
1282311Sjkh
1292311Sjkh/* msgsignon */
1302311SjkhEXTERN	int	pgmversion;		/* version of this program */
1312311SjkhEXTERN	int	protver;		/* protocol version of partner */
1322311SjkhEXTERN	int	pgmver;			/* program version of partner */
1332311SjkhEXTERN	char	*scmver;		/* scm version of partner */
1342311SjkhEXTERN	int	fspid;			/* process id of fileserver */
1352311Sjkh
1362311Sjkh/* msgsetup */
1372311SjkhEXTERN	int	xpatch;			/* setup crosspatch to a new client */
1382311SjkhEXTERN	char	*xuser;			/* user for crosspatch */
1392311SjkhEXTERN	char	*collname;		/* collection name */
1402311SjkhEXTERN	char	*basedir;		/* base directory */
141EXTERN	int	basedev;		/* base directory device */
142EXTERN	int	baseino;		/* base directory inode */
143EXTERN	time_t	lasttime;		/* time of last upgrade */
144EXTERN	int	listonly;		/* only listing files, no data xfer */
145EXTERN	int	newonly;		/* only send new files */
146EXTERN	char	*release;		/* release name */
147EXTERN	int	setupack;		/* ack return value for setup */
148
149/* msgcrypt */
150EXTERN	char	*crypttest;		/* encryption test string */
151
152/* msglogin */
153EXTERN	char	*logcrypt;		/* login encryption test */
154EXTERN	char	*loguser;		/* login username */
155EXTERN	char	*logpswd;		/* password for login */
156EXTERN	int	logack;			/* login ack status */
157EXTERN	char	*logerror;		/* error string from oklogin */
158
159/* msgxpatch */
160EXTERN	int	xargc;			/* arg count for crosspatch */
161EXTERN	char	**xargv;		/* arg array for crosspatch */
162
163/* msgrefuse */
164EXTERN	TREE	*refuseT;		/* tree of files to refuse */
165
166/* msglist */
167EXTERN	TREE	*listT;			/* tree of files to list */
168EXTERN	time_t	scantime;		/* time that collection was scanned */
169
170/* msgneed */
171EXTERN	TREE	*needT;			/* tree of files to need */
172
173/* msgdeny */
174EXTERN	TREE	*denyT;			/* tree of files to deny */
175
176/* msgrecv */
177/* msgsend */
178EXTERN	TREE	*upgradeT;		/* pointer to file being upgraded */
179
180/* msgdone */
181EXTERN	int	doneack;		/* done ack status */
182EXTERN	char 	*donereason;		/* set if indicated by doneack */
183
184#undef	EXTERN
185
186#endif	/* MSGSUBR */
187