/************************************************************************
 * This program is Copyright (C) 1986 by Jonathan Payne.  JOVE is       *
 * provided to you without charge, and with no warranty.  You may give  *
 * away copies of JOVE, including sources, provided that this notice is *
 * included in all the files.                                           *
 ************************************************************************/

#ifndef _REC_H_
#define _REC_H_

#ifndef TUNED
#   include "tune.h"
#endif

#ifdef Extern
RCS_H(rec, "$Id: rec.h,v 14.31.0.11 1994/06/11 21:35:54 tom Exp tom $")
#endif

#ifndef Extern
#   define Extern	extern
#endif

struct rec_head {
	int	Uid,		/* Uid of owner. */
		Pid;		/* Pid of jove process. */
	time_t	UpdTime;	/* Last time this was updated. */
	int	Nbuffers;	/* Number of buffers. */
};

struct rec_entry {
	char	r_bname[BNAMESIZE],
		r_fname[FILESIZE];
	int	r_nlines;
#ifdef FULLRECOVER
	/* Some extra fields to restore buffer status as good as we can. */
	int	r_dot,
		r_char;
	INO_T	r_ino;
	dev_t	r_dev;
	time_t	r_mtime;
	long/*off_t*/	r_statsize;
	char	r_type,
		r_curbuf;	/* Set when this is curbuf. */
	int	r_major,
		r_minor;
#endif /* FULLRECOVER */
};

#ifndef NOT_JOVE
#   ifndef NO_TRIV_PROTO
extern void	SyncRec __(( void )),
		recclose __(( void ));
#   endif
#endif

#endif /* _REC_H_ */

#undef Extern

/*======================================================================
 * $Log: rec.h,v $
 * Revision 14.31.0.11  1994/06/11  21:35:54  tom
 * (struct rec_entry): change typeof(r_statsize) size_t -> long (for DOS).
 *
 * Revision 14.31  1993/02/15  03:04:41  tom
 * some cleanup.
 *
 * Revision 14.27  1992/09/22  02:03:53  tom
 * add `r_statsize' to FULLRECOVER struct Record.
 *
 * Revision 14.26  1992/08/26  23:56:47  tom
 * add RCS directives.
 *
 */
