1: /*
2: ** LOCK.H -- Concurency structs and global variables
3: **
4: ** Version:
5: ** @(#)lock.h 8.1 12/31/84
6: */
7:
8: # ifndef KEYSIZE
9:
10:
11: # define M_SHARE 2
12: # define M_EXCL 1
13: # define T_CS 0
14: # define T_PAGE 1
15: # define T_REL 2
16: # define T_DB 3
17: # define A_RTN 1
18: # define A_SLP 2
19: # define A_RLS1 3
20: # define A_RLSA 4
21: # define KEYSIZE 12
22: struct lockreq
23: {
24: char lract; /* requested action
25: * =1 request lock,err return
26: * =2 request lock,sleep
27: * =3 release lock
28: * =release all locks for pid
29: */
30: char lrtype; /* type of lock:
31: * =0, critical section lock
32: * =1, page lock
33: * =2, logical lock
34: * =3, data base lock
35: */
36: char lrmod; /* mode of lock
37: * =1 exclusive lock
38: * =2 shared lock
39: */
40: /* key for the lock */
41: char dbnode[4]; /* inode of data base */
42: char lrel[4]; /* relation tid */
43: char lpage[4]; /* page address */
44: };
45:
46: extern char Acclock; /* locks enabled flag */
47: extern int Alockdes; /* file descriptor for lock device*/
48: extern int Lockrel; /* lock relations flag*/
49:
50:
51: # endif KEYSIZE
Defined struct's
Defined macros
A_RTN
defined in line
17;
never used
A_SLP
defined in line
18;
never used
T_CS
defined in line
13;
never used
T_DB
defined in line
16;
never used
T_REL
defined in line
15;
never used