|
|
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 _RLOCK_H ! 12: #define _RLOCK_H ! 13: ! 14: /* ! 15: * Internal record lock. ! 16: * Active locks are attached to inode. ! 17: */ ! 18: typedef struct rlock { ! 19: struct rlock *rl_next; /* link, must be first */ ! 20: int rl_type; /* 0==read, 1==write */ ! 21: long rl_start; ! 22: long rl_end; /* -1 is EOF */ ! 23: PROC *rl_proc; /* owner's process */ ! 24: } RLOCK; ! 25: ! 26: /* Pending record lock. */ ! 27: typedef struct prlock { ! 28: struct prlock *prl_next; /* link, must be first */ ! 29: RLOCK *prl_rls; /* active locks on desired inode */ ! 30: RLOCK *prl_rl; /* desired lock */ ! 31: } PRLOCK; ! 32: ! 33: extern RLOCK *freerl; /* list of free record locks */ ! 34: extern PRLOCK *pendrl; /* list of all pending locks */ ! 35: extern GATE rlgate; /* only one proc changes locks at a time */ ! 36: ! 37: #endif ! 38: ! 39: /* end of sys/rlock.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.