1 /* Begin include file ..... mdcs.incl.pl1 */
 2 /* Modified to give quota enough precision BIM 83-12-07 */
 3 
 4 /* Format of a master directory control segment */
 5 
 6 dcl  mdcsp ptr;                                             /* Pointer to structure */
 7 
 8 dcl 1 mdcs aligned based (mdcsp),                           /* A master directory control segment */
 9     2 head like mdcs_head,                                  /* First the header */
10     2 area area (0 refer (mdcs.area_size));                 /* Followed by an area for allocating data */
11 
12 dcl 1 mdcs_head aligned based,                              /* The header portion of the mdcs */
13     2 version fixed bin,                                    /* Version of structure */
14     2 init bit (1) unal,                                    /* Set when mdcs created */
15     2 free_bits bit (35) unal,
16     2 time_checked fixed bin (71),                          /* Time this MDCS last checked for consistency */
17     2 volume char (32),                                     /* Name of volume */
18     2 uid bit (36),                                         /* Unique id of volume */
19     2 acct_offset bit (18),                                 /* Offset to first account entry */
20     2 dir_offset bit (18),                                  /* Pointer to first directory entry */
21     2 backup (3) fixed bin (35),                            /* Statistics for backup */
22     2 area_size fixed bin (18),                             /* Size of the area (rest of segment) */
23     2 restrict_path bit (18),                               /* List of pathnames in volume restict list */
24     2 default_path bit (18),                                /* List of pathnames in volume default list */
25     2 fill (43) bit (36) aligned;                           /* Pad to octal 100 */
26 
27 dcl  mdcs_version fixed bin int static options (constant) init (1); /* Latest version */
28 
29 dcl  mdirp ptr;                                             /* Pointer to directory entry */
30 
31 dcl 1 mdirent aligned based (mdirp),
32     2 next bit (18) unal,                                   /* Pointer to next entry */
33     2 fill bit (18) unal,
34     2 uidpath (0:15) bit (36),                              /* Uid pathname of master dir */
35     2 owner,                                                /* Owner of directory */
36       3 person char (22) unal,
37       3 project char (9) unal,
38     2 quota_offset bit (18),                                /* Rel pointer to quota account */
39     2 quota fixed bin (18),                                 /* The quota */
40     2 backup (3) fixed bin (35),                            /* Statistics for backup */
41     2 fill2 (10) bit (36) aligned;
42 
43 dcl  acctp ptr;                                             /* Pointer to account entry */
44 
45 dcl 1 acctent aligned based (acctp),
46     2 next bit (18) unal,                                   /* Relative pointer to next entry */
47     2 fill bit (18) unal,
48     2 name,                                                 /* Name of quota account */
49       3 person char (22) unal,
50       3 project char (9) unal,
51     2 quota fixed bin (35),                                 /* Total quota for account */
52     2 quota_used fixed bin (35),                            /* Amount of quota assigned to master dirs */
53     2 trp fixed bin (71) unal,                              /* Time record product for deleted dirs */
54     2 backup (3) fixed bin (35),                            /* Backup accounting data */
55     2 restrict_path bit (18),                               /* List of restricting paths for account */
56     2 fill2 (7) bit (36) aligned;
57 
58 dcl  pathp ptr;                                             /* Pointer to uid pathname entry */
59 
60 dcl 1 pathent aligned based (pathp),                        /* Entry in a list of pathnames */
61     2 next bit (18) unal,
62     2 fill bit (18) unal,
63     2 uidpath (0:15) bit (36);
64 
65 
66 /* End include file ..... mdcs.incl.pl1 */