1 /*        BEGIN INCLUDE FILE            mdbm_dbc.incl.pl1   08/23/78   odf                          */
 2 
 3 /* HISTORY:
 4 
 5    Modified by odf for new version data bases in August 1978
 6    Modified by Al Kepner, March 8, 1979 to add new flags for quiescing
 7    Modified by M. Pierret, 8 April 1980 to look prettier, add pads
 8    Modified by M. Pierret, 22 August 1980, grouping like fields (flags, offsets..)
 9 
10    80-11-19 Jim Gray : modified to change version number from 4  to 5 to allow
11    automatic update of dbc structures to new r-s-m-d-u scope codes from r-u.
12 */
13 
14 dcl 1 dbc based (dbc_ptr),                                  /* data base control segment description */
15     2 proper,
16       3 version fixed bin,                                  /* version number of this structure */
17       3 dtd_mrds fixed bin (71),                            /* date time dumped by mrds utility */
18       3 flags,
19         4 trouble_switch bit (1) unal,                      /* ON => ungraceful termination of a user process */
20         4 dead_proc_flag bit (1) unal,                      /* ON => dead process has access to part of data base */
21         4 quiesce_sw bit (1) unal,                          /* ON => db is quiesced for a administrative user */
22         4 quiesce_db bit (1) unal,                          /* ON => The entire data base is being quiesced. */
23         4 quiesce_files bit (1) unal,                       /* ON => A selected set of files is being quiesced. */
24         4 pad bit (31) unal,                                /* reserved for future use */
25       3 quiesce_lock bit (36) aligned,                      /* lock word for quiescing data base */
26       3 wakeup_waiters fixed bin,                           /* nbr users who have been sent a wakeup signal but have not yet
27                                                                received it */
28       3 user_counts,
29         4 open_users fixed bin,                             /* nbr of users with data base open in any mode */
30         4 active_users fixed bin,                           /* nbr of users currently having a scope set */
31         4 waiting_users fixed bin,                          /* nbr of users waiting to set scope */
32       3 open_lock bit (36) aligned,                         /* lock word for opening data base */
33       3 scope_lock bit (36) aligned,                        /* lock word for setting and deleting scope */
34       3 sa_size fixed bin (35),                             /* size in words of static area  */
35       3 pad2 bit (144),
36       3 offsets,
37         4 open_users_ofs bit (18) unal,                     /* bit offset to list of users with data base currently open */
38         4 active_users_ofs bit (18) unal,                   /* bit offset to list of active users in shared mode */
39         4 waiting_users_ofs bit (18) unal,                  /* bit offset to list of waiting users in shared mode */
40         4 obsolete bit (36) unal,                           /* obsolete */
41       3 pad3 bit (144),
42     2 static_area area (sys_info$max_seg_size - fixed (rel (addr (dbc.static_area))) + 1);
43 
44 dcl  dbc_ptr ptr init (null ());
45 
46 dcl  VERSION_NBR fixed bin init (5) static internal options (constant);
47 
48 
49 /* END mdbm_dcb.incl.pl1  */
50 
51