|
|
1.1 root 1: /* (-lgl
2: * COHERENT Version 4.0
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.