1 /* Beginning of INCLUDE file dart_catalog.incl.pl1 */
 2 
 3 declare
 4           1 dartmouth_catalog based (catp) aligned,
 5                2 lock bit(36) aligned,                      /* prevent simultaneous use */
 6                2 out_of_service_lock bit(36) aligned,       /* indicates the directory is out of service */
 7                2 nentries fixed bin aligned,                /* number of entries used */
 8                2 high_entry fixed bin aligned,              /* index of last entry */
 9                2 time_created fixed bin(71) aligned,        /* time of creation of directory */
10                2 nsearches fixed bin aligned,               /* number of searches of the directory */
11                2 ngarbage fixed bin aligned,                /* number of garbage collections made */
12                2 entries(0:i-1 refer(high_entry)) aligned,
13                     3 in_use bit(1) aligned,                /* indicates entry is active */
14                     3 nsrch_for_here fixed bin aligned,     /* number of searches for this entry */
15                     3 suffix char(8) aligned,               /* .basic or .algol or .whatever (without the dot) */
16                     3 name char(8) aligned,                 /* file name */
17                     3 password char(8) aligned,             /* file password*/
18                     3 access aligned,                       /* explained below */
19                          4 without_password bit(18) unal,
20                          4 with_password bit(18) unal,
21                     3 preference fixed bin(35) aligned,     /* explained below */
22                     3 dates bit(36) aligned,                /* DTM and DTU for dartmouth get info from hcs_$status */
23                     3 word_count fixed bin(35) aligned;
24 
25 
26 
27 /* ^L
28 Access control information is specified in 36 bits divided into two 18 bit fields.
29 One field is for access without a password, and one is for access with a password.
30 
31                     B^H_I^H_T^H_        C^H_O^H_D^H_E^H_    E^H_X^H_P^H_L^H_A^H_N^H_A^H_T^H_I^H_O^H_N^H_
32 
33                      0         C        catalog
34                      1         P        password
35                      2                  not used (6/16/71)
36                      3         O        owner
37                      4                  not used (6/16/71)
38                      5         X        execute permission (tra segment|0)  or  S  search permission on directory
39                      6         A        append permission
40                      7         W        write permission
41                      8         R        read permission
42                      9         L        the file is listable
43                     10         S        the file is saveable
44                     11         C        compile permission (runtime package name in words 2 & 3 of file)
45                     12         P        public permission (re *.*.*)
46                     13         G        group permission (re *.project.*)
47                     14-17               system code
48                     18         T        executive trap permission
49                     19                  slave trap permission
50                     20                  not used (6/16/71)
51                     21-35               same as 3-17
52 
53 
54                               S^H_Y^H_S^H_T^H_E^H_M^H_ C^H_O^H_D^H_E^H_S^H_
55 
56                     C^H_O^H_D^H_E^H_              S^H_Y^H_S^H_T^H_E^H_M^H_
57 
58                     0000
59                     0001                BASIC
60                     0010                ALGOL
61                     0011                FORTRAN
62                     0100                LISP
63                     0101                LAFFF
64                     0110                ALGOL68
65                     0111                not used
66                     1000                MIX
67                     1001                GEFORT
68                     1010                not used
69                     1011                not used
70                     1100                not used
71                     1101                GMAP
72                     1110                TRAC
73                     1111                DATA
74 
75 
76                               P^H_R^H_E^H_F^H_E^H_R^H_E^H_N^H_C^H_E^H_S^H_
77 
78                     C^H_O^H_D^H_E^H_              M^H_E^H_A^H_N^H_I^H_N^H_G^H_
79 
80                       1                 Swap files
81                       2                 System files (BASIC, ALGOL, ...) or monitor scratch files
82                       3                 Catalogs
83                       4                 Scratch files
84                       5                 Saved files
85                       6                 Infrequently accessed saved files and data
86                       7                 Permanent data base
87 
88 
89 End of INCLUDE file dart_catalog.incl.pl1 */