/*
	SCCS Internal Structures (used by get and delta).     (3.11)
*/

struct Apply {
	int    Adt;		/* pseudo date-time */
	int    Acode;		/* APPLY, NOAPPLY or EMPTY */
};
#define APPLY	  (1)
#define NOAPPLY  (-1)
#define EMPTY	  (0)


struct Queue {
	struct Queue *Qnext;
	int    Qrel;		/* release */
	int    Qlev;		/* level */
	int    Qdt;		/* pseudo date-time */
	int    Qkeep;		/* keep switch setting */
};
#define YES	 (1)
#define NO	(-1)
#define NULL	 (0)

#define SIZEOFPfile (50)


struct Packet {
	char	Pfile[SIZEOFPfile];	/* file name containing module */
/*
			Note: the order of the next two words
				can not___ be changed!
			This is because the release and level together
			are treated as a long.
*/
	int	Prel;		/* specified release (-1 = not spec.) */
	int	Plev;		/* specified level (-1 = not spec.)*/
	char	Pverbose;	/* verbose flags (see #define's below) */
	char	Pupd;		/* update flag (!0 = update mode) */
	long    Pcutoff;	/* specified cutoff date-time */
	struct	Header	Phdr;	/* header from module */
	int	Plnno;		/* line number of current line */
	int	Precno;		/* record number of current rec */
	char	Pwrttn;		/* written flag (!0 = written) */
	char	Pkeep;		/* keep switch for readmod() */
	struct	Apply **Papply;	/* ptr to apply array */
	struct	Queue *Pq;	/* ptr to control queue */
	struct	Ibufr Pibuf;	/* input buffer */
	long	Pcdt;		/* date/time of newest applied delta */
	char	*Plfile;	/* 0 = no l-file; else ptr to l arg */
	char	Punack;		/* !0 if unacknowledged non-prop deltas */
	char	Pnoprop;	/* !0 if new delta is to be non-prop */
	int	Pirel;		/* rel which inserted current rec */
	int	Pilev;		/* lev which inserted current rec */
};
/*
	Masks for Pverbose
*/

# define RLACCESS	(1)
# define NLINES		(2)
# define DOLIST		(4)
# define UNACK		(8)
# define NEWRL		(16)
# define WARNING	(32)

/*
	size of login name
*/
# define SZLNAM	(7)
