Ausam/include/isys.h

Find at most related files.
including files from this version of Unix.

#
/*
 *	ISYS.H - parameter and structure definitions for the
 *	Information System
 *
 *	Copyright (c) 1977, the Children's Museum
 *
 *	This software is furnished to the purchaser under a license
 *	for use on a single computer system and may be copied (with
 *	inclusion of this copyright notice) only for use on that
 *	system, except as may otherwise be provided in the License
 *	or elsewhere in writing by the Children's Museum.
 *
 *	This software is warranted to conform to the Software
 *	Product Description for this product, SPD 11-77-1. No
 *	other warranties are provided, express or implied.
 *
 *	The information in this document is subject to change
 *	without notice.
 */

/* adjustable parameters */
#define MODES 0666		/* all files are created with this mode */
#define DELETED "!deleted!"	/* reserved descriptor for deleted items */
#define NDESCS 256		/* max descriptors per item - used by get() */
#define BUFSIZ 8192		/* max item size for enter command and get() */

/* critical design parameters - should not be changed */
#define DICTIONARY 0
#define OVERFLOW 1
#define TEMPORARY 2
#define EMPTY 250
#define MAXOVSZ 83
#define PGSIZ 512
#define MAXDESC	64	/* length of longest permitted descriptor;
				   6 + MAXDESC + LTHRES must be < 128 */
#define LTHRES 20		/* LILF threshold */
#define PTRSIZE 2
#define	MAXSIZ	127	/* maximum number of longs on a range descriptor file page */
#define	EQUALS	1	/* range descriptor evaluation conditions */
#define	LESSTHAN	2
#define	GREATER	4

struct {
	char minor;
	char major;
	int inumber;
	int flags;
	char nlinks;
	char uid;
	char gid;
	char size0;
	int size1;
	int addr[8];
	int actime[2];
	int modtime[2];
} sbuf;

struct filstruct {
	int fildes;
	int filenum;
	char *filename;
} dictionary, overflow, lilf, lock, tempfile, ctrlfile, *fstructp,
datafile, descfile, descindex, rdesc, rindex;

struct dpage {
	int page_number;
	int space_left;
	int physno;
	char modified;
	char page_type;
	int end_ptr;
	int dictsize;
	int space[250];
} incore,newpage;

struct hitlist {
	int fildes;
	int nleft;
	char *nextp;
	char buff[512];
	char hitfname[16];	/* hitlist filename */
};

struct cbt {
	int logblock;
	int mask;
	int physblock;
};

struct {
	long nextdno;
	int lastrdesc;
	int lastrindex;
	int lastlilf;
	int dictsize;
	struct cbt cbtbl[MAXOVSZ];
	int pad1;
} control;

struct istruct{
	char entry_length;
	char il_count;
};

struct {
	int pad2;
	long desc_no;
	char descr[2];
};

struct {
	int integer;
};

struct {
	int fildes;
	int nleft;
	char *nextp;
};

int debflg;
int tempfct;
long i_add_desc();
long time();
long hitcount();
struct hitlist *and();
struct hitlist *andnot();
struct hitlist *or();
long extract();
struct istruct *find_desc();
char *stdlilf;
char *stdrdesc;
extern struct hitlist *allocerr;
char *stdrindex;
int ressize;
char *lilfname;
char tempfname[14];

struct item_head {
	int size;
	char *offset;
	long mod_time;
} header;

struct datum {
	struct item_head hedr;
	long descbuf[NDESCS+2];
} curitem;


struct {
	int spaceleft;
	int nextpg;
	long data[MAXSIZ];
	long pad[6];
} rdescbuf;

struct {
	long start;
	long stop;
	int page;
} indexbuf;

long atol();

struct {
	long value;
	int condition;
} range;

struct hitlist err_return;
#define		NULLQUERY	&err_return

extern struct hitlist *supermk();

#define		SILENT		1
#define		VERBOSE		0		/* for supermk */