1 2 declare /* Information returned by hcs_$status_ and hcs_$status_long */ 3 4 5 1 branch aligned based (info_ptr), /* information about this particular branch */ 6 2 type bit (2) unal, /* "00"b = link, "01"b = segment, "10"b = directory */ 7 2 nnames bit (16) unal, /* number of names this entry has */ 8 2 names_relp bit (18) unal, /* pointer, relative to base of segment, to names */ 9 2 dtm bit (36) unal, /* date-time the segment was last modified */ 10 2 dtu bit (36) unal, /* date-time the segment was last used */ 11 2 mode bit (5) unal, /* the user's access modes to the entry */ 12 2 padding bit (13) unal, /* yawn */ 13 2 records_used bit (18) unal, /* number of blocks actually occupied by entry */ 14 15 /* limit of information returned by status_ */ 16 17 2 dtd bit (36) unal, /* date-time the segment was last dumped */ 18 2 dtbm bit (36) unal, /* date-time the branch for the entry was modified */ 19 2 account bit (36) unal, /* account to which storage is charged */ 20 2 current_length bit (12) unal, /* maximum length in blocks */ 21 2 bit_count bit (24) unal, /* length of entry in bits */ 22 2 device_id bit (4) unal, /* device on which segment currently resides */ 23 2 mdid bit (4) unal, /* device to which it is currently being moved */ 24 2 copy_switch bit (1) unal, /* segment copy switch */ 25 2 tpd bit (1) unal, /* transparent paging device switch */ 26 2 more_padding bit (8) unal, /* yawn, yawn */ 27 2 ring_brackets (0:2) bit (6) unal, /* ring brackets for entry */ 28 2 uid bit (36) unal, /* unique identifier */ 29 30 31 1 link aligned based (info_ptr), /* information about link entries */ 32 2 type bit (2) unal, /* as above */ 33 2 nnames bit (16) unal, /* number of names for this link */ 34 2 names_relp bit (18) unal, /* as above */ 35 2 dtbm bit (36) unal, /* date-time, entry for link was last modified */ 36 2 dtd bit (36) unal, /* date-time dumped */ 37 2 pathname_length bit (18) unal, /* length of link pathname */ 38 2 pathname_relp bit (18) unal, /* pointer, relative to based of segment, to name */ 39 40 entry_names (1) character (32) aligned based (pointer (area_pointer, branch.names_relp)), 41 /* array of names returned */ 42 pathname character (fixed (link.pathname_length)) aligned based (pointer (area_pointer, link.pathname_relp)), 43 /* pathname a link points to */ 44 45 area_pointer pointer, /* to area in which to allocate names */ 46 info_ptr pointer; /* to structure returned */ 47 48