#
/*
	SCCS File Structures  (3.6  76/11/24 10:24:35)
	See sccsfile(V).
*/

struct Header {
	int  Hmagicno;
	char Htype[10];
	char Hpers[14];
	char Hdesc[100];
	int  Hfloor;
	int  Hceil;
	int  Hsw[5];
	int  Hrdef;
	char Hulist[32];
	char Hexpand[50];
	int  Hash;
};
#define MAGICNO (7)
#define HASHADDR (226)


struct Reltab {
	int  Rrel;
	int  Rlevs;
};


struct Deltab {
	int  Drel;
	int  Dlev;
	char Dtype;	/*'D': delta,'P','U': non-prop,'I': incl,'E': excl */
	char Dfill;	/* Used to be option letter */
	long  Ddatetime;
	char Dpgmr[8];
	char Dhist[200];
};


struct Control {
	int  Crel;
	int  Clev;
	char Cctl;	/* -11: ins, -12: del, -13: end */
};
#define SIZEOFCONTROL (5)
#define INS (-11)
#define DEL (-12)
#define END (-13)


struct Line {
	char Lline [256];
};


/*
	Structure for use with buffered I/O routines opnl, opnr, 
	getl and getr.
*/
struct Ibufr {
	int  Ifildes;
	char *Irecptr;
	char *Iend;
	char Ibuff1[256];
	char Ibuff2[512];
	char Ibuff3[2];
	int  Ilen;
	int  Ihflag;
	int  Ihcnt;
	int  Ihtot;
};


/*
	Structure for use with buffered I/O routines crtr, crtl, putl,
	putr, flshr and buflsh.
*/
struct Obufr {
	int  Ofildes;
	char *Orecptr;
	char *Oend;
	char Obuff1[512];
	int  Ohflag;
	int  Ohcnt;
};


/*
 * structure to access an
 * integer in bytes
 */
struct
{
	char	lobyte;
	char	hibyte;
};


/*
 * structure to access an integer
 */
struct
{
	int	integ;
};


/*
 * structure to access a long as integers
 */
struct {
	int	hiword;
	int	loword;
};


/*
	Structure for referencing pieces of localtime().
*/
struct Time {
	int	Tseconds;
	int	Tminutes;
	int	Thours;
	int	Tday_month;
	int	Tmonth;
	int	Tyear;
	int	Tday_week;
	int	Tday_year;
	int	Tflag;
};
