|
|
1.1 ! root 1: /* (-lgl ! 2: * COHERENT Version 3.2.2 ! 3: * Copyright (c) 1982, 1992 by Mark Williams Company. ! 4: * All rights reserved. May not be copied without permission. ! 5: -lgl) */ ! 6: /* ! 7: * /usr/include/sys/rlock.h ! 8: * Record locking. ! 9: */ ! 10: ! 11: #ifndef __SYS_RLOCK_H__ ! 12: #define __SYS_RLOCK_H__ ! 13: ! 14: #include <sys/ksynch.h> ! 15: ! 16: /* ! 17: * Internal record lock. ! 18: * Active locks are attached to inode. ! 19: */ ! 20: typedef struct rlock { ! 21: struct rlock *rl_next; /* link, must be first */ ! 22: int rl_type; /* 0==read, 1==write */ ! 23: long rl_start; ! 24: long rl_end; /* -1 is EOF */ ! 25: PROC *rl_proc; /* owner's process */ ! 26: } RLOCK; ! 27: ! 28: /* Pending record lock. */ ! 29: typedef struct prlock { ! 30: struct prlock *prl_next; /* link, must be first */ ! 31: RLOCK *prl_rls; /* active locks on desired inode */ ! 32: RLOCK *prl_rl; /* desired lock */ ! 33: } PRLOCK; ! 34: ! 35: extern RLOCK *freerl; /* list of free record locks */ ! 36: extern PRLOCK *pendrl; /* list of all pending locks */ ! 37: extern GATE rlgate; /* only one proc changes locks at a time */ ! 38: ! 39: #endif ! 40: ! 41: /* end of sys/rlock.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.