1 /* BEGIN INCLUDE FILE ... dir_header.incl.pl1 */ 2 /* Modified 8/74 for NSS */ 3 /* Modified 8/76 to add version number and hash table rel pointer for variable hash table sizes */ 4 /* Modified 3/82 BIM for change pclock */ 5 /* format: style3 */ 6 7 /* Template for the directory header. Length = 64 words. */ 8 9 dcl dp ptr; 10 11 dcl 1 dir based (dp) aligned, 12 13 2 modify bit (36), /* Process ID of last modifier */ 14 2 type bit (18) unaligned, /* type of object = dir header */ 15 2 size fixed bin (17) unaligned, /* size of header in words */ 16 2 dtc (3), /* date-time checked by salvager array */ 17 3 date bit (36), /* the date */ 18 3 error bit (36), /* what errors were discovered */ 19 20 2 uid bit (36), /* uid of the directory - copied from branch */ 21 22 2 pvid bit (36), /* phys vol id of the dir - copied from branch */ 23 24 2 sons_lvid bit (36), /* log vol id for inf non dir seg - copied from branch */ 25 26 2 access_class bit (72), /* security attributes of dir - copied from branch */ 27 28 (2 vtocx fixed bin (17), /* vtoc entry index of the dir - copied from branch */ 29 2 version_number fixed bin (17), /* version number of header */ 30 31 2 entryfrp bit (18), /* rel ptr to beginning of entry list */ 32 2 pad2 bit (18), 33 34 2 entrybrp bit (18), /* rel ptr to end of entry list */ 35 2 pad3 bit (18), 36 37 2 pers_frp bit (18), /* rel ptr to start of person name list */ 38 2 proj_frp bit (18), /* rel ptr to start of project name list */ 39 40 2 pers_brp bit (18), /* rel ptr to end of person name list */ 41 2 proj_brp bit (18), /* rel ptr to end of project name list */ 42 43 2 seg_count fixed bin (17), /* number of non-directory branches */ 44 2 dir_count fixed bin (17), /* number of directory branches */ 45 46 2 lcount fixed bin (17), /* number of links */ 47 2 acle_total fixed bin (17), /* total number of ACL entries in directory */ 48 49 2 arearp bit (18), /* relative pointer to beginning of allocation area */ 50 2 per_process_sw bit (1), /* indicates dir contains per process segments */ 51 2 master_dir bit (1), /* TRUE if this is a master dir */ 52 2 force_rpv bit (1), /* TRUE if segs must be on RPV */ 53 2 rehashing bit (1), /* TRUE if hash table is being constructed */ 54 2 pad4 bit (14), 55 56 2 iacl_count (0:7), 57 3 seg fixed bin (17), /* number of initial acl entries for segs */ 58 3 dir fixed bin (17), /* number of initial acl entries for dir */ 59 60 2 iacl (0:7), /* pointer to initial ACLs for each ring */ 61 3 seg_frp bit (18), /* rel ptr to start of initial ACL for segs */ 62 3 seg_brp bit (18), /* rel ptr to end of initial ACL for segs */ 63 64 3 dir_frp bit (18), /* rel ptr to start of initial for dirs */ 65 3 dir_brp bit (18), /* rel ptr to end of initial ACL for dirs */ 66 67 2 htsize fixed bin (17), /* size of hash table */ 68 2 hash_table_rp bit (18), /* rel ptr to start of hash table */ 69 70 2 htused fixed bin (17), /* no. of used places in hash table */ 71 2 pad6 fixed bin (17), 72 73 2 tree_depth fixed bin (17), /* number of levels from root of this dir */ 74 2 pad7 bit (18)) unaligned, 75 76 2 dts bit (36), /* date-time directory last salvaged */ 77 78 2 master_dir_uid bit (36), /* uid of superior master dir */ 79 2 change_pclock fixed bin (35), /* up one each call to sum$dirmod */ 80 2 pad8 (11) bit (36), /* pad to make it a 64 word header */ 81 2 checksum bit (36), /* checksummed from uid on */ 82 2 owner bit (36); /* uid of parent dir */ 83 84 dcl version_number_2 fixed bin int static options (constant) init (2); 85 86 /* END INCLUDE FILE ... dir_header.incl.pl1 */