1 /*        BEGIN INCLUDE FILE ...aste.incl.pl1 ... */
  2 
  3 /* Template for an AST entry. Length = 12 words. */
  4 
  5 /* Words 0 to 7, and 11 are read by PC; they are read and modified by SC.
  6    Words 8, 9 and 10 are modified by PC; they should never be modified without locking the PC lock */
  7 /* Modified January 1985 by Keith Loepere for multi_class. */
  8 
  9 dcl  astep ptr;
 10 
 11 dcl 1 aste based (astep) aligned,
 12 
 13     (2 fp bit (18),                                         /* forward  used list rel pointer */
 14     2 bp bit (18),                                          /* backward used list rel pointer */
 15 
 16     2 infl bit (18),                                        /* ptr to NEXT  in list of ASTE's of my brothers */
 17     2 infp bit (18),                                        /* ptr to FIRST in list of ASTE's of my children */
 18 
 19     2 strp bit (18),                                        /* rel pointer to process trailer */
 20     2 par_astep bit (18),                                   /* rel pointer to parent aste */
 21 
 22     2 uid bit (36),                                         /* segment unique id */
 23 
 24     2 msl bit (9),                                          /* maximum segment length in 1024 word units */
 25     2 pvtx fixed bin (8),                                   /* physical volume table index */
 26     2 vtocx fixed bin (17),                                 /* vtoc entry index */
 27 
 28     2 usedf bit (1),                                        /* ast entry is being used if non-zero */
 29     2 init bit (1),                                         /* used bit - insure 1 lap */
 30     2 gtus bit (1),                                         /* global transparent usage switch */
 31     2 gtms bit (1),                                         /* global transparent modified switch */
 32     2 hc bit (1),                                           /* hard core segment */
 33     2 hc_sdw bit (1),                                       /* aste with sdw for hardcore seg if non-zero */
 34     2 any_access_on bit (1),                                /* any sdw allows access, unless write_access_on */
 35     2 write_access_on bit (1),                              /* any sdw allows write access */
 36     2 inhibit_cache bit (1),                                /* flag not to reset above bits */
 37     2 explicit_deact_ok bit (1),                            /* set if user can deactivate seg */
 38     2 deact_error bit (1),                                  /* set if error occurred while deactivating */
 39     2 hc_part bit (1),                                      /* set if pages are in a hardcore partition */
 40     2 fm_damaged bit (1),                                   /* set if filemap checksum was ever bad */
 41     2 multi_class bit (1),                                  /* set if page_control should watch state changes to this segment */
 42     2 pad1 bit (2),                                         /* OO */
 43     2 dius bit (1),                                         /* dumper in use switch */
 44     2 nid bit (1),                                          /* if on prevents addtion to incremental dump map */
 45     2 dmpr_pad bit (1),
 46     2 ehs bit (1),                                          /* entry hold switch */
 47     2 nqsw bit (1),                                         /* no quota switch - no checking for pages of this seg */
 48     2 dirsw bit (1),                                        /* directory switch */
 49     2 master_dir bit (1),                                   /* master dir - a root for the log volume */
 50     2 volmap_seg bit (1),                                   /* volmap_seg for some volume */
 51     2 tqsw (0:1) bit (1),                                   /* terminal quota switch - (0) for non dir pages */
 52     2 pad_ic bit (10),                                      /* Used to be aste.ic */
 53 
 54     2 dtu bit (36),                                         /* date and time segment last used */
 55 
 56     2 dtm bit (36),                                         /* date and time segment last modified */
 57 
 58 
 59     2 quota (0:1) fixed bin (18) unsigned,                  /* sec storage quota - (0) for non dir pages */
 60 
 61     2 used (0:1) fixed bin (18) unsigned,                   /* sec storage used  - (0) for non dir pages */
 62 
 63     2 csl bit (9),                                          /* current segment length in 1024 words units */
 64     2 fmchanged bit (1),                                    /* turned on by page if file map changed */
 65     2 fms bit (1),                                          /* file modified switch */
 66     2 npfs bit (1),                                         /* no page fault switch */
 67     2 gtpd bit (1),                                         /* global transparent paging device switch */
 68     2 dnzp bit (1),                                         /* don't null out if zero page switch */
 69     2 per_process bit (1),                                  /* use master quota for this entry */
 70     2 ddnp bit (1),                                         /* don't deposit nulled pages */
 71     2 pad2 bit (2),
 72     2 records bit (9),                                      /* number of records used by the seg in sec storage */
 73     2 np bit (9),                                           /* number of pages in core */
 74 
 75 
 76     2 ht_fp bit (18),                                       /* hash table forward rel pointer */
 77     2 fmchanged1 bit (1),                                   /* value of "fmchanged" saved by pc$get_file_map */
 78     2 damaged bit (1),                                      /* PC declared segment unusable */
 79     2 pack_ovfl bit (1),                                    /* page fault on seg would cause pack overflow */
 80     2 synchronized bit (1),                                 /* Data Management synchronized segment */
 81     2 pad3 bit (6),                                         /* OOOOOOOOO */
 82     2 ptsi bit (2),                                         /* page table size index */
 83     2 marker bit (6)) unaligned;                            /* marker to indicate last word of ASTE */
 84 
 85 
 86 dcl  asta (0 : 8000) bit (36*12 /* sst-> sst.astsize */) based aligned;
 87 
 88 
 89 dcl 1 aste_part aligned based (astep),
 90 
 91     2 one bit (36) unaligned,                               /* fp and bp */
 92     2 two bit (36*11 - 8) unaligned,                        /* part that has to be zeroed when ASTE is freed */
 93     2 three bit (8) unaligned;                              /* ptsi and marker */
 94 
 95 
 96 dcl 1 seg_aste based (astep) aligned,                       /* Overlay because quota is only for dirs */
 97     2 pad1 bit (8*36),
 98     2 usage fixed bin (35),                                 /* page fault count: overlays quota */
 99     2 pad2 bit (3*36);
100 
101 /*        END INCLUDE FILE ... aste.incl.pl1 */