1 /*  BEGIN INCLUDE FILE dm_fm_sys_pn_tbl.incl.pl1 */
 2 
 3 /* DESCRIPTION:
 4         This include file contains the sys_pn_tbl structure, the
 5    file_manager_'s System Pathname Table.  Each file which can possibly
 6    have a before image current must have an entry in this table. Every
 7    time this table is modified it is force-written to disk, as its
 8    correct contents are necessary for rolling back transactions by a
 9    process other than the process which originally owned the transaction.
10    When an entry is inserted, it is force-written twice: the first time with
11    the entry filled in but with the "in_use" element set to indicate that the
12    entry is not yet in use; the second time with the "in_use" element set
13    to indicate that the entry is in use.  This is done to avoid the possibility
14    of a failure while the entry is being written which could successfully
15    write the "in_use" but not all of the rest of the entry. "in_use" can have
16    one of three values: 0 - not in use; -1 - in use ; +1 - in use but the
17    file has been deleted.
18 */
19 
20 /* HISTORY:
21 Written by Jeffrey D. Ives, 10/11/82.
22   (Design by Andre Bensoussan and Jeffrey Ives.)
23 Modified:
24 10/30/84 by Matthew Pierret:  Added DESCRIPTION and HISTORY sections,
25             *_IN_USE constants. Changed thread to in_use, pfuid to file_uid,
26             fsuid to file_system_uid.
27 */
28 
29 /* format: style2,ind3 */
30 
31      dcl     fm_data_$sys_pn_tbl_name
32                                     char (32) ext;
33      dcl     fm_data_$sys_pn_tbl_ptr
34                                     ptr ext;
35 
36      dcl     1 sys_pn_tbl           aligned based (fm_data_$sys_pn_tbl_ptr),
37                2 h,
38                  3 version          bit (36),
39                  3 last_entry       fixed bin,
40                  3 lock             fixed bin (71),
41                  3 mbz              (30) fixed bin (71),
42                2 e                  (4096),
43                  3 in_use           fixed bin,
44                  3 open_count       fixed bin,
45                  3 file_uid         bit (36),
46                  3 file_system_uid  bit (36),
47                2 paths              (4096) char (168) unal;
48 
49      dcl     SYS_PN_TBL_VERSION_1   bit (36) aligned static options (constant) init ("162363353101"b3);
50 
51      dcl     (
52              SPT_ENTRY_IN_USE       init (-1),
53              SPT_ENTRY_IN_USE_BUT_DELETED
54                                     init (1),
55              SPT_ENTRY_NOT_IN_USE   init (0)
56              )                      fixed bin internal static options (constant);
57 
58 /* END INCLUDE FILE dm_fm_sys_pn_tbl.incl.pl1 */