File:  [MW Coherent from dump] / coherent / f / usr / include.78 / sys / rlock.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:40 2019 UTC (7 years ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

/* (-lgl
 * 	COHERENT Version 3.2.2
 * 	Copyright (c) 1982, 1992 by Mark Williams Company.
 * 	All rights reserved. May not be copied without permission.
 -lgl) */
/*
 * /usr/include/sys/rlock.h
 * Record locking.
 */

#ifndef __SYS_RLOCK_H__
#define __SYS_RLOCK_H__

#include <sys/ksynch.h>

/*
 * Internal record lock.
 * Active locks are attached to inode.
 */
typedef struct	rlock	{
	struct	rlock	*rl_next;	/* link, must be first		*/
	int		rl_type;	/* 0==read, 1==write		*/
	long		rl_start;
	long		rl_end;		/* -1 is EOF			*/
	PROC		*rl_proc;	/* owner's process		*/
} RLOCK;

/* Pending record lock. */
typedef struct	prlock	{
	struct	prlock	*prl_next;	/* link, must be first		*/
	RLOCK		*prl_rls;	/* active locks on desired inode */
	RLOCK		*prl_rl;	/* desired lock			*/
} PRLOCK;

extern	RLOCK	*freerl;		/* list of free record locks	*/
extern	PRLOCK	*pendrl;		/* list of all pending locks	*/
extern	GATE	rlgate;			/* only one proc changes locks at a time */

#endif

/* end of sys/rlock.h */

unix.superglobalmegacorp.com

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