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