$PAGE "Region structure definitions : Headers and Trailers"             00010000
<<  begin : inclreg >>                                                  00015000
                                                                        00020000
equate hl = 24,                 << header length>>                      00025000
       headerlength = 24,                                               00030000
       trailerlength=4,                                                 00035000
       overhead=headerlength+trailerlength;                             00040000
                                                                        00045000
equate sectorspermainmempage=1;  <<constants>>                          00050000
                                                                        00055000
<< previous trailer >>                                                  00060000
                                                                        00065000
equate rbtoptssdisp =-hl-3,     << prev. trailer subregion size >>      00070000
       rbtoptrasdisp =-hl-2,    << prev. trailer region state >>        00075000
       rbtoptrsdisp =-hl-1;     << prev. trailer region size >>         00080000
                                                                        00085000
<< global region header >>                                              00090000
                                                                        00095000
equate rbtorasdisp = -hl,       << region assignment state >>           00100000
       rbtorsdisp = -hl+1,      << region size >>                       00105000
       rbtoiocntdisp = -hl+2,   << on-going i/o count >>                00110000
       rbtoinitmsgdisp = -hl+3, << initiation message (flags) >>        00115000
       rbtoinitinfodisp =-hl+4, << locn of disk req or move msg >>      00120000
       rbtopldisp = -hl+4,      << link to prior avbl region >>         00125000
       rbtocompmsgdisp = -hl+5, << completion msg (flags) >>            00130000
       rbtompqlinkdisp =-hl+6,  << makepresent deferred queue >>        00135000
       rbtonldisp = -hl+6,      << link to next avbl region >>          00140000
       rbtorpagecntdisp=-hl+7,  << release page count >>                00145000
                                                               <<06406>>00150000
       rbtoioreqqdisp =-hl+8;   << i/o device request queue >>          00155000
                                                                        00160000
<< subregion header >>                                                  00165000
                                                                        00170000
equate rbtosasdisp = -hl+9,     <<subregion assignment state>>          00175000
       rbtossdisp = -hl+10,     << subregion size >>                    00180000
       rbtosddisp = -hl+11,     << subregion displacement >>            00185000
       rbtowreqpdisp = -hl+12,  << write request pointer >>             00190000
       rbtoobjidentdisp=-hl+13, << object identifier >>                 00195000
       rbtopddisp = -hl+15,     << previous cached domain address >>    00200000
       rbtolkfzcntdisp =-hl+15, << lock & freeze count >>               00205000
       rbtowdiofzcntdisp=-hl+16,<< write disabled & i/o frozen cnt >>   00210000
       rbtohodadisp = -hl+17,   << ldev & high disk addr >>             00215000
       rbtolodadisp = -hl+18,   << low order disk addr >>               00220000
       rbtonddisp = -hl+19,     << next cached domain address >>        00225000
       rbtoarrtimedisp =-hl+21, << time of arrival of obj/domai<<06406>>00230000
       rbtocacdadisp  = -hl+23;  << disc address csl(8) >>     <<06406>>00235000
                                                                        00240000
<<relative equates>>                                                    00245000
                                                                        00250000
equate ptsstorbdisp = -rbtoptssdisp,                                    00255000
       ptrastorbdisp = -rbtoptrasdisp,                                  00260000
       ptrstorbdisp = -rbtoptrsdisp,                                    00265000
       rastorbdisp = -rbtorasdisp,                                      00270000
       rstorbdisp = -rbtorsdisp,                                        00275000
       initmsgtorbdisp = -rbtoinitmsgdisp,                              00280000
       pltorbdisp = -rbtopldisp,                                        00285000
       nltorbdisp = -rbtonldisp,                                        00290000
       pdtorbdisp = -rbtopddisp,                                        00295000
       ndtorbdisp = -rbtonddisp,                                        00300000
       sstorsdisp = rbtorsdisp-rbtossdisp,                              00305000
       rstossdisp = -sstorsdisp,                                        00310000
       wreqptorbdisp = -rbtowreqpdisp,                                  00315000
       objidenttorbdisp = -rbtoobjidentdisp,                            00320000
       rastorsdisp = rbtorsdisp-rbtorasdisp,                            00325000
       rastosasdisp = rbtosasdisp-rbtorasdisp,                          00330000
       rastoiocntdisp = rbtoiocntdisp-rbtorasdisp,                      00335000
       rastoinitmsgdisp = rbtoinitmsgdisp-rbtorasdisp,                  00340000
       rastocompmsgdisp = rbtocompmsgdisp-rbtorasdisp,                  00345000
       rastompqlinkdisp = rbtompqlinkdisp-rbtorasdisp,                  00350000
       rastorpagecntdisp = rbtorpagecntdisp-rbtorasdisp,                00355000
       rastoioreqqdisp = rbtoioreqqdisp-rbtorasdisp,                    00360000
       rastossdisp = rbtossdisp-rbtorasdisp,                            00365000
       rastosddisp = rbtosddisp-rbtorasdisp,                            00370000
       rastowreqpdisp = rbtowreqpdisp-rbtorasdisp,                      00375000
       rastoobjidentdisp = rbtoobjidentdisp-rbtorasdisp,                00380000
       rastolkfzcntdisp = rbtolkfzcntdisp-rbtorasdisp,                  00385000
       rastowdiofzcntdisp = rbtowdiofzcntdisp-rbtorasdisp,              00390000
       rastohodadisp = rbtohodadisp-rbtorasdisp,                        00395000
       rastolodadisp = rbtolodadisp-rbtorasdisp,                        00400000
       rastoarrtimedisp = rbtoarrtimedisp-rbtorasdisp,                  00405000
       rstorasdisp = -rastorsdisp,                                      00410000
       initmsgtorasdisp = -rastoinitmsgdisp,                            00415000
       sstorasdisp = -rastossdisp,                                      00420000
       lkfzcnttorasdisp = -rastolkfzcntdisp,                            00425000
       wdiofzcnttorasdisp = -rastowdiofzcntdisp,                        00430000
       hodatocompmsgdisp = rbtocompmsgdisp-rbtohodadisp,                00435000
       hodatoobjidentdisp = rbtoobjidentdisp-rbtohodadisp,              00440000
       hodatocacdadisp = rbtocacdadisp - rbtohodadisp,                  00445000
       hodatowreqpdisp = rbtowreqpdisp-rbtohodadisp,                    00450000
       hodatorsdisp = rbtorsdisp-rbtohodadisp,                          00455000
       hodatossdisp = rbtossdisp-rbtohodadisp,                          00460000
       ptrastorsdisp = rbtorsdisp-rbtoptrasdisp,                        00465000
       rstoptrasdisp = -ptrastorsdisp,                                  00470000
       sstoptrasdisp = rbtoptrasdisp-rbtossdisp,                        00475000
       rstosddisp = rbtosddisp-rbtorsdisp,                              00480000
       trastotrsdisp = 1,                                               00485000
       trastotssdisp = -1,                                              00490000
       trstotrasdisp = -trastotrsdisp,                                  00495000
       trstotssdisp = trastotssdisp-trastotrsdisp,                      00500000
       tsstotrasdisp = -trastotssdisp,                                  00505000
       rastoptrasdisp = rbtoptrasdisp-rbtorasdisp,                      00510000
       rastoptssdisp = rbtoptssdisp-rbtorasdisp,                        00515000
       pltonldisp = rbtonldisp-rbtopldisp,                              00520000
       pltorsdisp = rbtorsdisp - rbtopldisp,                   <<06787>>00525000
       nltopldisp = -pltonldisp,                                        00530000
       pdtonddisp = rbtonddisp-rbtopddisp,                              00535000
       ndtopddisp = -pdtonddisp,                                        00540000
       ndtohodadisp = rbtohodadisp - rbtonddisp,                        00545000
       ndtocacdadisp = rbtocacdadisp - rbtonddisp,                      00550000
       ndtolodadisp = rbtolodadisp - rbtonddisp,                        00555000
       nltorsdisp = rbtorsdisp-rbtonldisp,                              00560000
       rstoptrsdisp = rbtoptrsdisp-rbtorsdisp,                          00565000
       ptrstorsdisp = -rstoptrsdisp,                                    00570000
       objidenttoptrasdisp = rbtoptrasdisp-rbtoobjidentdisp,            00575000
       objidenttosasdisp = rbtosasdisp-rbtoobjidentdisp,                00580000
       objidenttoptssdisp = rbtoptssdisp-rbtoobjidentdisp,              00585000
       objidenttoinitinfodisp = rbtoinitinfodisp-rbtoobjidentdisp,      00590000
       objidenttowreqpdisp = rbtowreqpdisp-rbtoobjidentdisp,            00595000
       wreqptoobjidentdisp = - objidenttowreqpdisp,                     00600000
       wreqptorasdisp = rbtorasdisp-rbtowreqpdisp,             <<06406>>00605000
       objidenttosddisp = rbtosddisp-rbtoobjidentdisp,                  00610000
       objidenttossdisp = rbtossdisp-rbtoobjidentdisp,         <<06406>>00615000
       compmsgtoinitmsgdisp = rbtoinitmsgdisp-rbtocompmsgdisp,          00620000
       compmsgtoioreqqdisp = rbtoioreqqdisp-rbtocompmsgdisp,            00625000
       compmsgtoarrtimedisp = rbtoarrtimedisp-rbtocompmsgdisp,          00630000
       initmsgtoinitinfodisp = rbtoinitinfodisp-rbtoinitmsgdisp,        00635000
       rpagecnttorsdisp = rbtorsdisp-rbtorpagecntdisp,                  00640000
       initinfotohodadisp = rbtohodadisp-rbtoinitinfodisp,              00645000
       sstoobjidentdisp = rbtoobjidentdisp-rbtossdisp,                  00650000
       sstosddisp = rbtosddisp-rbtossdisp,                              00655000
       sastosddisp = rbtosddisp-rbtosasdisp,                            00660000
       sastorasdisp = rbtorasdisp-rbtosasdisp,                          00665000
       sdtossdisp = -sstosddisp,                                        00670000
       sdtoiocntdisp = rbtoiocntdisp-rbtosddisp,                        00675000
       sdtorasdisp   = rbtorasdisp-rbtosddisp,                          00680000
       iocnttoinitmsgdisp = rbtoinitmsgdisp-rbtoiocntdisp,              00685000
       rstoobjidentdisp = rbtoobjidentdisp-rbtorsdisp,                  00690000
       rastoptrsdisp = rbtoptrsdisp-rbtorasdisp,                        00695000
       ptrstorasdisp = -rastoptrsdisp;                                  00700000
                                                                        00705000
define                                                                  00710000
                                                                        00715000
       <<region assignment state flags>>                                00720000
                                                                        00725000
       regassignedflag = (0:1)#,                                        00730000
       regreservedflag = (1:1)#,                                        00735000
       regavailableflag = (2:1)#,                                       00740000
       regclearedflag = (3:1)#,                                         00745000
       sizechangepndgflag = (4:1)#,                                     00750000
       regnonmoveflags = (5:3)#,                                        00755000
       reglkdflag = (5:1)#,                                             00760000
       regfzflag = (6:1)#,                                              00765000
       regiofzflag = (7:1)#,                                            00770000
        regmapflag = (8:1)#,                                   <<*7704>>00775000
       blkdlkmigipflag = (15:1)#, <<blocked lock migration in progress>>00780000
                                                                        00785000
       <<subregion assignment state flags>>                             00790000
                                                                        00795000
       regcachedflag = (0:1)#, <<cached disc domain flag>>              00800000
       regrefflag = (1:1)#,  <<referenced flag for cached domains>>     00805000
       regrocflag =(2:1)#, <<recoverable cache domain>>                 00810000
       regfetchiostatus = (13:3)#, <<iostatus of object fetch>>         00815000
                                                                        00820000
       <<initiation message flags>>                                     00825000
                                                                        00830000
       initmsgtoggleswitch = (0:1)#,                                    00835000
       msgextdisabledflag = (1:1)#,                                     00840000
       msgongoingiodisabled = (2:1)#,                                   00845000
       queuereadreqflag = (3:1)#,                                       00850000
       incmovereqflag = (4:1)#,                                         00855000
       expreqflag = (5:1)#,                                             00860000
       garbcollflag = (6:1)#,                                           00865000
       initmsgabortedflag = (7:1)#,                                     00870000
       initmsgrelrespagesflag = (8:1)#,                                 00875000
       initmsgstartcompflag = (9:1)#,                                   00880000
                                                                        00885000
       <<completion message flags>>                                     00890000
                                                                        00895000
       compmsgtoggleswitch = (0:1)#,                                    00900000
       compmsgmodflag = (1:1)#,                                         00905000
       compmsgblkdlkflag = (2:1)#,                                      00910000
       compmsgiowakeflag = (4:1)#,                                      00915000
       msgvalidyetflag = (15:1)#,                                       00920000
                                                                        00925000
       <<freeze, lock, iofreeze count fields>>                          00930000
                                                                        00935000
       fzcntfield = (0:8)#,                                             00940000
       lkcntfield = (8:8)#,                                             00945000
       iofzcntfield = (8:8)#,                                           00950000
                                                                        00955000
       <<disc address fields>>                                          00960000
                                                                        00965000
       reghodafield = (8:8)#,                                           00970000
       regldevfield = (0:8)#,                                           00975000
                                                                        00980000
       <<subregion displacement valid flag>>                            00985000
                                                                        00990000
       sdvalidflag = (0:1)#;                                            00995000
                                                                        01000000
equate regiofzbit = 7,                                                  01005000
       reglkdbit = 5,                                                   01010000
       regfzbit = 6,                                                    01015000
        regmapbit = 8,                                         <<*7704>>01020000
       compmsgiowakebit = 4;                                            01025000
                                                                        01030000
equate completedflag = 6,                                               01035000
       currentflag = 10;                                                01040000
                                                                        01045000
equate regavailablecode = %20000,                                       01050000
       regreservedcode = %40000,                                        01055000
       regassignedcode = %100000,                                       01060000
       lasttrasaddr = %177776;                                          01065000
                                                                        01070000
<<   end : inclreg   >>                                                 01075000
