File:  [Research Unix] / researchv9 / jerq / sgs / inc / sdpsrc / hd / struct.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:22:00 2018 UTC (8 years, 3 months ago) by root
Branches: belllabs, MAIN
CVS tags: researchv9-SUN3_old, researchv9-SUN3, HEAD
researchv9-SUN3(old)

/*
 * static char ID_strcth[] = "@(#) struct.h: 1.1 1/7/82";
 */

/*
 * Each manager keeps track of information relevant to a particular
 * frame. There is one manager for each frame.
 *
 *	forward, backward: link the managers into a doubly-linked list of
 *			   available (e.g., free) page frames
 *	frame_pntr:	   the address of the start of the
 *			   associated frame.
 *
 * These three fields are initialized by function sdpinit(), and do
 * not change.
 *
 *	page_id:    the itemid of the start of the page
 *		    which resides in the associated frame.
 *	ref_chng:   a flag which indicates whether or not
 *		    the page which resides in the associated frame
 *		    has been changed.
 *	lock_count: the number of lock calls made on items on the resident
 *		    page without a corresponding unlock call being issued
 *	partition:  the number of the page-frame partition
 *		    to which this manager belongs
 *
 * The value of these last three members is transient.
 */

struct frame_manager {
	long	page_id;	/* itemid to start of resident page	*/
	int	lock_count;	/* number of locks without matching 
					unlocks				*/
	int	forward;	/* forward link to next manager		*/
	int	backward;	/* backward link to previous manager	*/
	int	ref_chng;	/* reference/change flag		*/
	int	partition;	/* page frame partition			*/
	char   *frame_pntr;	/* address of associated frame		*/
	};

typedef struct frame_manager MANAGER;
/*eject*/
/*
 * A structure header_buffer exists for each open address space.
 * Each structure contains information which descirbe the status
 * of the associated address space.
 */

struct header_buffer {
	long	maxpage;	/* largest page number allocated	*/
	long	curpage;	/* page number of current page		*/
	int	curoffset;	/* offset into current page		*/
	int	numbfiles;	/* number of files composing space	*/
	long	filesize[MAXFILES];	/* size (in pages) of files	*/
	int	filedes[MAXFILES];	/* file descriptors of files	*/
	};

typedef struct header_buffer HEADER;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.