;
; DebuggerStruct.txt
;
; Syntax rules:
; 	semicolon is start of comment. endofline or semicolon is end of comment
;
;	Structure definition:
; 	  structureName ( <quotedString> OR <fieldDescriptor>, ... )
;
;	<fieldDescriptor> is <offset><fieldType> (note: no white space)
;	<offset> is hex or decimal 16bit number or blank. if blank, the offset
;			is implied by the offset + length of the prior field
;	<fieldType> is:
;			s = sbString
;			z = zbString
;			a = acsii byte
;			b = binary byte
;			w = word
;			i = integer
;			q = quad
;			e = selector
;			p = pointer	
;			u = userNum, display partition and run file name
;			x = pointer, display symbolically
;			l = length of structure (used to compute address next structure
;									 for packed arrays)
;			d = CTOS datetime
;			wl = offset link to next structure
;			ql = long offset link or la to next structure
;			el = selector link to next structure
;		    pl = pointer link to next structure
;
;		
; Example:
;	Ascb ('fhSwapFile=' 0w ' sbUserName=' 64.s)
;
; DebuggerStruct.txt must be in [sys]<sys>
;


;
; ASCB
;
Ascb ('
  fhSwapFile   ' 0w'
  pVlpb        ' 2p'
  fExecScreen  ' 6b'
  ercRet       ' 8w'
  pMsgRet      ' 0ap'
  cbMsgret     ' 0ew'
  NodeMail     ' 2ds'
  qMailId      ' 3aq'
  userName     ' 40s'
  fColor       ' 118b
)

; 
; 1.0 Active State Information Block
;
asib10 ('  tag        ' 0w'
  userNum    ' 3dw' ' 3Du '
  cParMax    ' 9q'
  sgAsibNext ' el'
  sgArib     ' w'
  RMaxBound  ' w'
  sgUser     ' 23w'
  sgLdt      ' w'
  pMpSnSg    ' 2dp'
  fQuieting  ' 1bb'
  LDT  ' 3fq''43q'
  LL   ' 4fq''53q'
  U    ' 5fq''63q'
  SL   ' 6fq''73q
)

;
; 1.1 Active State Information Block
;
asib11 ('
    tag         ' 0w'       oRgPdh      ' w'       flags           ' w'
    stat        ' b'         ver         ' b'         cSwapLock       ' b'
    cParMax     ' q'   sgAsibNext  ' el'       sgArib          ' w'
    RMaxBound   ' w'       oIoib       ' w'       v86cr3          ' q'
    fVirtual    ' b'         fSmallLdt   ' b'         fQuieting       ' b'
    sgAsib      ' w'       oEibLink    ' w'       fLdtIpcInit     ' b'
    bRealMode   ' b'         fInLargeMap ' b'         sgUser          ' w'
    sgLdt       ' w'       oAbsGdtLink ' w'       oAib            ' w'
    islFree     ' w'       pMpSnSg     ' p'  raOvlyZone      ' w'
    snOvlyZone  ' w'       exchSwapperSemaphore    ' w'
    sgLdtr      ' w'       iSlOvlyFirst' w'       islMax          ' w'
    issnMax     ' w'       userNum     ' w'       oPhdLink        ' w'
    LDT.cPar    ' q'   LDT.pla     ' q'   LDT.oGdtLink    ' w'
    LDT.bAccess ' b'         LDT.bType   ' b'         LDT.oPdhNext    ' w'
    LDT.oFib    ' w'
    LL.cPar     ' q'   LL.pla      ' q'   LL.oGdtLink     ' w'
    LL.bAccess  ' b'         LL.bType    ' b'         LL.oPdhNext     ' w'
    LL.oFib     ' w'
    U.cPar      ' q'   U.pla       ' q'   U.oGdtLink      ' w'
    U.bAccess   ' b'         U.bType     ' b'         U.oPdhNext      ' w'
    U.oFib      ' w'
    SL.cPar     ' q'   SL.pla      ' q'   SL.oGdtLink     ' w'
    SL.bAccess  ' b'         SL.bType    ' b'         SL.oPdhNext     ' w'
    SL.oFib     ' w'
    pTermRq     ' p'   pExistList  ' p'   oExitPcb    ' w'
    wExitSS     ' w'   sgTssExit   ' w
)

;
; Byte Stream Work Area (Lpt)
;
BsLpt ('
    NotUsed(13)
    tag                 ' 13.b'
    lineParam(4)        ' w '' w '' w '' w '
    pQ(2)               ' p '' p '
    cQ(2)               ' w '' w '
    sQ(2)               ' w '' w '
    iIn(2)              ' w '' w '
    iOut(2)             ' w '' w '
    RxTxMap(2)          ' b '' b '
    fOutputActive       ' b '
    bImageMode          ' b '
    fTxSuspended(2)     ' b '' b '
    fRxSuspended        ' b '
    fTxTimedOut         ' b '
    fSendCtlChar(2)     ' b '' b '
    fLfBeingExpanded    ' b '
    fPrevCharCR(2)      ' b '' b '
    timeOutCnt(2)       ' w '' w '
    AckDelay            ' w '  fTableBeingExpanded ' b'
    sTab                ' b '    nTab              ' b'
    cCharsPerLine       ' b '    cCharsInBuffer    ' b'     curChar     ' b'
    fReturnedFromInt    ' b '    loopCount         ' w'   waitCount   ' w'
    cbConfigFile        ' b '    pbConfigFile      ' p'
    fTxlting            ' b '    fReceivedAutoRestart ' b'  eotCh        ' b
)

;
; Cache Pool Descriptor
;
cpd ('    signature        ' 0q '
    pFreeHead        ' 4q '
    pFreeTail        ' 8q '
    pFlushProc       ' 12.q '
    pLaundryHead     ' 16.q '
    pLaundryTail     ' 20.q '
    iDirtyPercentMax ' 24.w '
    flags            ' 26.b '
    reserved         ' 27.b '
    rgbChl           ' 028.q ' ' 032.q '  ' 036.q ' ' 040.q '  ' 044.q ' ' 048.q '
                     ' 052.q ' ' 056.q '  ' 060.q ' ' 064.q '  ' 068.q ' ' 072.q '
                     ' 076.q ' ' 080.q '  ' 084.q ' ' 088.q '  ' 092.q ' ' 096.q '
                     ' 100.q ' ' 104.q '  ' 108.q ' ' 112.q '  ' 116.q ' ' 120.q '
                     ' 124.q ' ' 128.q '  ' 132.q ' ' 136.q '  ' 140.q ' ' 144.q '
                     ' 148.q ' ' 152.q '  ' 156.q ' ' 160.q '  ' 164.q ' ' 168.q '
                     ' 172.q ' ' 176.q '  ' 180.q ' ' 184.q '  ' 188.q ' ' 192.q '
                     ' 196.q ' ' 200.q '  ' 204.q ' ' 208.q '  ' 212.q ' ' 216.q '
                     ' 220.q ' ' 224.q '  ' 228.q ' ' 232.q '  ' 236.q ' ' 240.q '
                     ' 244.q ' ' 248.q '  ' 252.q ' ' 256.q '  ' 260.q ' ' 264.q '
                     ' 268.q ' ' 272.q '  ' 276.q ' ' 280.q '  ' 284.q ' ' 288.q '
                     ' 292.q ' ' 296.q '  ' 300.q ' ' 304.q '  ' 308.q ' ' 312.q '
                     ' 316.q ' ' 320.q '  ' 324.q ' ' 328.q '  ' 332.q ' ' 336.q '
                     ' 340.q ' ' 344.q '  ' 348.q ' ' 352.q '  ' 356.q ' ' 360.q '
                     ' 364.q ' ' 368.q '  ' 372.q ' ' 376.q '  ' 380.q ' ' 384.q '
                     ' 388.q ' ' 392.q '  ' 396.q ' ' 400.q '  ' 404.q ' ' 408.q '
                     ' 412.q ' ' 416.q '  ' 420.q ' ' 424.q '  ' 428.q ' ' 432.q '
                     ' 436.q ' ' 440.q '  ' 444.q ' ' 448.q '  ' 452.q ' ' 456.q '
                     ' 460.q ' ' 464.q '  ' 468.q ' ' 472.q '  ' 476.q ' ' 480.q '
                     ' 484.q ' ' 488.q '  ' 492.q ' ' 496.q '  ' 500.q ' ' 504.q '
                     ' 508.q ' ' 512.q '  ' 516.q ' ' 520.q '  ' 524.q ' ' 528.q '
                     ' 532.q ' ' 536.q '  ' 540.q ' ' 544.q '  ' 548.q ' ' 552.q '
                     ' 556.q ' ' 560.q '  ' 564.q ' ' 568.q '  ' 572.q ' ' 576.q '
                     ' 580.q ' ' 584.q '  ' 588.q ' ' 592.q '  ' 596.q ' ' 600.q '
                     ' 604.q ' ' 608.q '  ' 612.q ' ' 616.q '  ' 620.q ' ' 624.q '
                     ' 628.q ' ' 632.q '  ' 636.q ' ' 640.q '  ' 644.q ' ' 648.q '
                     ' 652.q ' ' 656.q '  ' 660.q ' ' 664.q '  ' 668.q ' ' 672.q '
                     ' 676.q ' ' 680.q '  ' 684.q ' ' 688.q '  ' 692.q ' ' 696.q '
                     ' 700.q ' ' 704.q '  ' 708.q ' ' 712.q '  ' 716.q ' ' 720.q '
                     ' 724.q ' ' 728.q '  ' 732.q ' ' 736.q '  ' 740.q ' ' 744.q '
                     ' 748.q ' ' 752.q '  ' 756.q ' ' 760.q '  ' 764.q ' ' 768.q '
                     ' 772.q ' ' 776.q '  ' 780.q ' ' 784.q '  ' 788.q ' ' 792.q '
                     ' 796.q ' ' 800.q '  ' 804.q ' ' 808.q '  ' 812.q ' ' 816.q '
                     ' 820.q ' ' 824.q '  ' 828.q ' ' 832.q '  ' 836.q ' ' 840.q '
                     ' 844.q ' ' 848.q '  ' 852.q ' ' 856.q '  ' 860.q ' ' 864.q '
                     ' 868.q ' ' 872.q '  ' 876.q ' ' 880.q '  ' 884.q ' ' 888.q '
                     ' 892.q ' ' 896.q '  ' 900.q ' ' 904.q '  ' 908.q ' ' 912.q '
                     ' 916.q ' ' 920.q '  ' 924.q ' ' 928.q '  ' 932.q ' ' 936.q '
                     ' 940.q ' ' 944.q '  ' 948.q ' ' 952.q '  ' 956.q ' ' 960.q '
                     ' 964.q ' ' 968.q '  ' 972.q ' ' 976.q '  ' 980.q ' ' 984.q '
                     ' 988.q ' ' 992.q '  ' 996.q ' ' 1000.q '  '  1004.q ' ' 1008.q '
                     ' 1012.q ' ' 1016.q '  ' 1020.q ' ' 1024.q '  '  1028.q ' ' 1032.q '
                     ' 1036.q ' ' 1040.q '  ' 1044.q ' ' 1048.q '  '  1052.q ' ' 1056.q '
                     ' 1060.q ' ' 1064.q '  ' 1068.q ' ' 1072.q '
    qsCacheSpace     ' 1076.q '
    sBlock           ' 1080.w '
    cBlock           ' 1082.w '
    cStealableMin    ' 1084.w '
    cValid           ' 1086.w '
    cFree            ' 1088.w '
    cLocked          ' 1090.w '
    cSticky          ' 1092.w '
    cDirty           ' 1094.w '
    qcGets           ' 1096.q '
    qcHits           ' 1100.q '
    qcMisses         ' 1104.q '
    qcWaits          ' 1108.q
)

;
; Cache Entry Descriptor
;
ced ('
   pNext     ' 0p '
   pPrev     ' 4p '
   pBlock    ' 8p '
   pHashNext ' 12.p '
   pHashPrev ' 16.p '
   rgwCid    ' 20.w ' ' 22.w ' ' 24.w ' ' 26.w '
   flags     ' 28.b '
   reserved  ' 29.b 
)


;
; Context Control Block (for GPS)
;
ccb ('   next     ' 0wl '
   prev     ' 2w '
   seal    ' 4w '
   size ' 6w '
   pRq ' 8p '
   userNum  '12.w '     userNum       ' 12.u ' 
   heapHead      ' 14.w '   heapTail     ' 16.w '
   pAsyncRq     ' 18.p '
   saveSP       ' 22.w '
   rqCode       ' 24.w '
   suspend      ' 26.w '
   sysRqWaiting ' 28.a '
   fAsyncOut ' 29.b '   fBuildRq ' 30.b '   fResponded ' 31.b 
)

;
; CDT
;
cdt ('
  paIccSeg        ' 0q '
  qbiccSeg        ' 4q '
  bProcessorType  ' 8b '
  fWatchDog       ' 9b '
  fWashDisable    ' 10.b '
  qMemorySize     ' 22.q '
  fLockByte       ' 26.b '
  bInitErrStatus  ' 27.b ' 
  bMemorySize     ' 28.b '
  bBootStruct     ' 29.b '' b '' b '
  bBootCommand    ' 32.b '
  bMasterFP       ' 33.b '
  fOsInitialized  ' 34.b '
  fCdtIO          ' 35.b '
  oStatArea       ' 36.w '
  sStatArea       ' 38.w '
  rgbFPXlate      ' 40.b b b b b b b b '
  rgbBusConfigTbl ' 48.b b b b b b b b b b b b b b b b' ... 
  nUserNumber     ' 288.w '
  bTTI            ' 290.b b b b '
  wPanelStatus    ' 294.w '
  bFrontPanel     ' 296.b '
  fDegraded       ' 297.b '
  bDumpCommand    ' 298.b '
  fDisCls         ' 299.b '
  wCpWho          ' 300.w '
  wCpTimer        ' 302.w '
  verifyCode      ' 304.b '
  bBoardsNotReady ' 305.b '
  paConfigFile    ' 306.q '
  cbConfigFile    ' 310.w '
  cLocalUserNums  ' 312.w '
  userNumMax      ' 314.w '
  oHandleTable    ' 376.w '
  sHandleTable    ' 378.w '
  oHandleFree     ' 380.w '
  nDevMounted     ' 382.w '
  paMstrMountTbl  ' 384.q '
  rgObit          ' 388.b b b b b 
)

;
; File System Device Control Block
;
dcb ('    fMountable     '0b '
    fNonSharable   '1b '
    fRemovable     '2b '
    fOnline        '3b '
    fAttention     '4b '
    fCacheCtrl     '5b '
    devName        '6s '
    devPassword    '19.s '
    controllerNum  '32.b '
    unitNum        '33.b '
    state          '34.b '
    unitStatus     '35.b '
    deviceClass    '36.b '
    userCount      '37.b '
    oVhb           '38.w '
    oQueuedIob     '40.w '
    oActiveIob     '42.w '
    lfaMax         '44.q '
    chain          '48.wl '
    verifyKey      '50.w '
    romClass       '52.b '
    romOrdinal     '53.b '
    pageSizeMask   '54.w '
    retryLimit     '56.w '
    softErrorCnt   '58.w '
    hardErrorCnt   '60.w '
    deviceSpecific '62.b 63.b 64.b 65.b 66.b 67.b 68.b 69.b '...'
)

;
; Drop Control Table 
; 
Dct ('
    oNext               ' 0w   '       oPrev           ' 2w '
    oLcb                ' 4w   '       lineNum         ' 6b '
    userNum             ' 7b   '         stationId       ' 8b '
    lineState           ' 9b   '         type            ' 10.b '
    bPortNo             ' 11.b '         saXBlockOut     ' 12.w '
    saXBlockIn          ' 14.w '       nOutstandingRq  ' 16.b '
    nOutstandingSmallRq ' 17.b '         pollSeqNumber   ' 18.q '
    lastErc             ' 22.w '       NR              ' 24.b '
    NS                  ' 25.b '         fh              ' 26.w '
    lfa                 ' 28.q '   revisionLevel   ' 32.b '
    osType              ' 33.b '         actionCode      ' 34.b '
    nRepollActive       ' 35.b '         nCrcError       ' 36.w '
    nOverrun            ' 38.w '       nSequenceError  ' 40.w '
    nProtocolError      ' 42.w '       nAddressError   ' 44.w '
    nLengthError        ' 46.w '       nTimeout        ' 48.w '
    WsnCrcError         ' 50.w '       WsnOverrun      ' 52.w '
    WsnSequenceError    ' 54.w '       WsnProtocolErr  ' 56.w '
    WsnAddressError     ' 58.w '       WsnLengthError  ' 60.w '
    WsnTimeout          ' 62.w '       WsSumSimpleRqTm ' 64.q '
    WsnSimpleRq         ' 68.q '   WsMaxSimpleRqTm ' 72.w '
    WsSumGetDtRqTime    ' 74.q '   WsnGetDtRq      ' 78.w '
    WsMaxGetDtRq        ' 80.w '       WsSumBlockRqTime' 82.q '
    nBlockRq            ' 86.q '   WsMaxBlockRqTime' 90.w '
    WsnTicksPerSecond   ' 92.w
)
 ;
;DebugOsInterface block
;
doi (
'   OsVersion    ' 4w'
   prgSgAsib     ' 0Ap'
   pVf           ' 10p'
   prgprgRouting ' 20p'
   prgrcMax      ' 24p'
   prgprgLSC     ' 28p'
   prgOExUcb     ' 38p'
   prgpDebug     ' 48p'
   pKds          ' 4cp'
   pGdtLinks     ' 50p'
   bMySlot       ' 6b
)

;
; Export Info Block (eib)
;
eib ('
    tag             ' w'       orgPdh          ' w'   wNameClass      ' w'
    sgEibNext       ' w'       oEibLink        ' w'   sgRscDir        ' w'
    fh              ' w'       fhPS            ' w'   wNameSuffix     ' w'
    snData          ' w'       cbProgramHeap   ' w'   iSsnTail        ' w'
    cParDirInFile   ' q'   wVersion        ' w'   pMpSnSg         ' p'
    pInitProc       ' q'   tyInitProc      ' b'     fRef            ' b'
    sbName          ' s'
    pdh0 (Data)
    cPar    ' 104.q'   pla         ' q'   oGdtLink    ' w'   bAccess ' b'
    bType   ' b'         oPdhNext    ' w'       oFib        ' w'
    pdh1 (Dir)
    cPar    ' q'   pla         ' q'   oGdtLink    ' w'   bAccess ' b'
    bType   ' b'         oPdhNext    ' w'       oFib        ' w'
    pdh2 (Code)
    cPar    ' q'   pla         ' q'   oGdtLink    ' w'   bAccess ' b'
    bType   ' b'         oPdhNext    ' w'       oFib        ' w'
    pdh3 (Rsc)
    cPar    ' q'   pla         ' q'   oGdtLink    ' w'   bAccess ' b'
    bType   ' b'         oPdhNext    ' w'       oFib        ' w'
    pdh4 (Instance)
    cPar    ' q'   pla         ' q'   oGdtLink    ' w'   bAccess ' b'
    bType   ' b'         oPdhNext    ' w'       oFib        ' w'
    cSwapLock   ' b'   fill    ' b
)

;
; ExParDesc
;
epd ('    currRunFile  ' 0s '
    exitRunFile  ' 4fs '
    pCharMap     ' 0DDp '
    sCharMap     ' 0E1w '
    pVcb         ' 0E3p '
    prgpVidLine  ' 0EBp '
    pKbdBuf      ' 0ACp ' 
    iBufOut      ' 176.w '
    iBufOut      ' 178.w '
    fReadOrPeek  ' 185.b '
    pPntDevData  ' 0EFp '
    fActionFinishDisabled ' 0BAb
)
;
; ExPcb (Extended Process Control Block)
;
ExPcb ('
    oSoftVecHead    ' 0w '
    deltaPriority   ' b '
    savedPriority   ' b '
    ear             ' w '
    oVector         ' w '
    nwVectors       ' w '
    pVectorArea     ' p '
    oNextPcb        ' w '
    ssSave          ' w '
    spSave          ' w '
    pidChild        ' w
)

;
;Extended User Control Block
;
exUcb (
'  oParDesc    ' 0w '
  cMassioRq   ' 2w '
  exitErc     ' 4w 
)

;
; File Area Block
;
fab ('    chain     ' 0wl '
    vda       ' 2q '
    runLength ' 6q
)

;
; File Control Block
;
fcb ('    oFabChain         ' 0.w '
    oFcbLink          ' 2.wl '
    oFilename         ' 4.w ' (sgNmbheap offset)
    oPassword         ' 6.w ' (ditto)
    fileHeaderNum     ' 8.w '
    fileHeaderNumTail ' 10.w '
    objectType        ' 12.b '
    bCacheCtrl        ' 13.b '
    accessFlags       ' 14.b '
    reserved          ' 15.b
)

;
; File Control Block 2parallel structure to FCB
;
fcb2 ('    devNum           ' 0.w '
    oParentFcb       ' 2.w '
    oChildrenFcbs    ' 4.w '
    oSiblingFcb      ' 6.w '
    protection       ' 8.b '
    mode             ' 9.b '
    modificationSync ' 10.q '
    userCnt          ' 14.w
)

; File Information Block for Paging Service
fib (
'  fileSpec ' 24.s '          passWord ' 105.s '
  fh ' 16.w '  flags ' 14.w '  userNum ' 12w ' ' 12u '
  erc ' 22.w '  cReopen ' 18.w '  mode ' 21.a '' 20.a
)

; Frame Information Block  for Paging Service
frib (
'  lNext ' 0ql '    pa ' 8q '    gla ' 0Cq  '   lPte ' 10q '
  cRqLocks   ' 14w '   cWaitFaultLocks ' 16w '  cPageLocks ' 18w '   cDmaLocks ' 1aw '
  flags ' 1cw '   oPubOwner ' 1ew '  lEscapeNode ' 38q '
  pageClass ' 20b '  cSect ' 21b '  iFib ' 22w '  lfa ' 34q '
  aliasQFirst '  24q '  aliasQLast '  28q '
  waitReadQFirst ' 2cq '  waitReadQLast ' 30q
)
  
;
; SCSI Manager Initiator Control Block
;
icb ('    scsiPhase         ' 0.b '
    ownId             ' 1.b '
    busId             ' 2.b '
    lun               ' 3.b '
    hardwareConfig    ' 4.b '
    softwareConfig    ' 5.b '
    deviceClass       ' 6.b '
    dataAlignmentMask ' 7.b '
    stateFlags        ' 8.w '
    oEligibleIob      ' 10.w '
    oActiveIob        ' 12.w ' ' 14.w ' ' 16.w ' ' 18.w ' ' 20.w ' ' 22.w ' ' 24.w ' ' 26.w '
    pData             ' 28.q '
    baData            ' 32.q '
    sData             ' 36.w '
    sDma              ' 38.w '
    msgOutLen         ' 40.b '
    msgOut            ' 41.b 42.b 43.b 44.b 45.b 46.b 47.b '
    msgInLen          ' 48.b '
    msgIn             ' 49.b 50.b 51.b 52.b 53.b 54.b 55.b '
    targetStatus      ' 56.b '
    preambleReserved  ' 57.b '
    selectTimeLimit   ' 58.w '
    syncOffset        ' '  '60.b '   ' 61.b '   ' 62.b '   ' 63.b '   ' 64.b '   ' 65.b '   ' 66.b '   ' 67.b '
    syncPeriod        ' 68.w ' ' 70.w ' ' 72.w ' ' 74.w ' ' 76.w ' ' 78.w ' ' 80.w ' ' 82.w '
    cQueuedIob        ' 84.w '
    cActiveIob        ' 86.w '
    iScsiMask         ' 88.w '
    rgOLucb           ' 090.w ' ' 092.w ' ' 094.w ' ' 096.w ' ' 098.w ' ' 100.w ' ' 102.w ' ' 104.w '
                      ' 106.w ' ' 108.w ' ' 110.w ' ' 112.w ' ' 114.w ' ' 116.w ' ' 118.w ' ' 120.w '
                      ' 122.w ' ' 124.w ' ' 126.w ' ' 128.w ' ' 130.w ' ' 132.w ' ' 134.w ' ' 136.w '
                      ' 138.w ' ' 140.w ' ' 142.w ' ' 144.w ' ' 146.w ' ' 148.w ' ' 150.w ' ' 152.w '
                      ' 154.w ' ' 156.w ' ' 158.w ' ' 160.w ' ' 162.w ' ' 164.w ' ' 166.w ' ' 168.w '
                      ' 170.w ' ' 172.w ' ' 174.w ' ' 176.w ' ' 178.w ' ' 180.w ' ' 182.w ' ' 184.w '
                      ' 186.w ' ' 188.w ' ' 190.w ' ' 192.w ' ' 194.w ' ' 196.w ' ' 198.w ' ' 200.w '
                      ' 202.w ' ' 204.w ' ' 206.w ' ' 208.w ' ' 210.w ' ' 212.w ' ' 214.w ' ' 216.w '
    dmaFence          ' 218.w '
    sgDmaBuffer       ' 220.w '
    baDmaBuffer       ' 222.q '
    pIoInitiator      ' 226.q '
    pPseudoGeometry   ' 230.q '
    pResetScsiBus     ' 234.q '
    deviceSpecific    ' 238.b 239.b 240.b 241.b 242.b 243.b 244.b 245.b '...'
 )

;
; Ctos III Icc Structures
;
Icc (' (pSgMyIcc) 
sg ' 0w '
pa ' q '
prgpBuffer  ' p '
prgpaBuffer ' p '
sgMyShadow  ' w 
)

IccBuf (' 
pa=' 0q ' exchDirect=' w ' wRcb=' w ' sync=' w ' cbReq=' w ' cb=' w ' fRemoteDma=' w ' 
rq.sCntInfo   ' w '
rq.nPbCb      ' w '
rq.userNum    ' w '
rq.respExch   ' w '
rq.ercRet     ' w '
rq.rqCode     ' w 
)

IccSegLocal (' (sgMyShadow)
        oQueue     iPut    iTake   wiMask   cbEach  iSlotLW   cWaits  mpiSlfW
freeZ ' 0q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q '
freeY '  q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q '
freeW '  q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q '
mpcbcRq ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ... '
) 

IccSeg (' (sgIcc)
        oQueue     iPut    iTake   wiMask   cbEach  iSlotLW   cWaits  mpiSlfW
freeZ ' 0q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q '
freeY '  q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q '
freeW '  q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q '
Req   '  q ' ' q ' ' q ' ' q '
Resp  '  q ' ' q ' ' q ' ' q '
Cache '  q ' ' q ' ' q ' ' q '
orgPaBuffer  ' q '
orgOwnBuffer ' q '
mpiSlotfWaitSatisfied ' q '
rgObit       ' b b b b b b b b b b b b b b b b b b b b
               b b b b b b b b b b b b b b b b b '
             (obit: 0=alive 1=newly dead 2=rcbs freed 3=bufs freed)
iSlotIcc     ' b '
wSignature   ' w ' (7A79h) 
mpcbcRq      ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ' q ' ... '
) 

IccRcb ('
oLink     ' 0w '
oBackLink ' w '
pBuf      ' p '
pRq       ' p '
baRemote  ' q '
iBuf      ' w '
bSlot     ' b '
iPbCb     ' b '
oData     ' w 
)

IccRcbSeg ('
oRcbFree     ' 0w '
oRcbRcv      ' w '
oRcbDmaHead  ' w '
oRcbDmaTail  ' w '
oRcbBufHead  ' w '
oRcbBufTail  ' w '
oRcbBlkHead  ' w '
oRcbBlkTail  ' w 
)

;
; MassIo IOB
;
iob ('    chain          ' 0.w '
    pRq            ' 2.q '
    exchResp       ' 6.w '
    ercRet         ' 8.w '
    serviceCode    ' 10.w '
    oFcb           ' 12.w '
    oDcb           ' 14.w '
    massIoCtrl     ' 16.w '
    slotId         ' 18.b '
    reserved       ' 19.b '
    timeoutCounter ' 20.w '
    deviceCtrl     ' 22.w '
    pRqBuffer     ' 24.q '
    baRqBuffer    ' 28.q '
    rqFileLfa     ' 32.q '
    rqVda         ' 36.q '
    rqXferLength  ' 40.w '
    runXferLength ' 42.w '
    pCacheBuffer        ' 44.q '
    baCacheBuffer       ' 48.q '
    cacheVda            ' 52.q '
    cacheXferLength     ' 56.w '
    cacheRunXferLength  ' 58.w '
    cacheHandle         ' 60.q '
    pCacheChain         ' 64.q '
    cacheOffset         ' 68.w '
    cacheEmbeddedLength ' 70.w '
    pIoBuffer     ' 72.q '
    baIoBuffer    ' 76.q '
    ioVda         ' 80.q '
    dmaXferLength ' 84.w '
    ioXferLength  ' 86.w '
    ioXferOK      ' 88.w '
    retryLimit    ' 90.b '
    retryCount    ' 91.b '
 device specific area follows; SCSI type device is assumed 
    oScsiIob      ' 92.w '
    senseData     ' 94.b 95.b 96.b 97.b 98.b 99.b 100.b 101.b 102.b 103.b 104.b 105.b 106.b 107.b 108.b 109.b 110.b 111.b '
    targetStatus  ' 112.b '
    cdbLen        ' 113.b '
    cdb           ' 114.b 115.b 116.b 117.b 118.b 119.b 120.b 121.b 122.b 123.b 124.b 125.b
 )

;
; Keyboard data structures
;
parKbdInfo ('
  pKbdDataHdr=' 0p ' pKbdEmulHdr=' p ' 
  apparentState=' w ' kbdState=' w ' pRepeatBuffer=' p '
  parKbdMap=' b b b b b b b b b b b b b b b b '
  fSemicoded= ' b ' chgID= ' b ' rsvd0= ' b '
  tDia_col=' b ' tDia_key=' b ' tDia_State=' b ' ikeyAftTrDiac=' b '   
  rgwExp=' w w w w w ' cStrings=' b ' RepeatAttr=' b ' rsvd=' w '
  pAsiaBuffer=' p ' AsiawRepeat=' w ' AsiabLedState=' b '
  AsiabKbdCode=' b ' AsiafCodeMode=' b ' Asiarsvd=' b 
)
  
kbdDataHdr ('
  signature      ' 0w '     ID             ' w ' 
  cbNLSinfo      ' w '     version        ' w ' 
  cSpecialKeys   ' w '     oSpecialKeys   ' w ' 
  cChords        ' w '     oChords        ' w ' 
  cControlChords ' w '     oControlChords ' w ' 
  cConditions    ' w '     oConditions    ' w ' 
  cKeys          ' w '     oAttributes    ' w ' 
  oAllowedStates ' w '     oCmdKeyMasks   ' w ' 
  oDiacritMasks  ' w '     cDiacritMaps   ' w ' 
  oDiacritMaps   ' w '     oStringMasks   ' w ' 
  cStrings       ' w '     oExpansionInfo ' w ' 
  cXlateTables   ' w '     oTableInfo     ' w ' 
  oUnXlateInfo   ' w '     cbChecked      ' w '
  chksum         ' q 
)

KbdEmulHdr ('
  signature       ' 0w '       ID             ' w ' 
  cbNLSinfo       ' w '       version        ' w ' 
  TargetKbd       ' w '       cRawChords     ' w ' 
  oRawChords      ' w '       cRawSpecKeys   ' w ' 
  oRawSpecKeys    ' w '       cConditions    ' w ' 
  oConditions     ' w '       cKeys          ' w ' 
  oUsedTableMasks ' w '       oAllowedStates ' w ' 
  oDiacritMasks   ' w '       cDiacritMaps   ' w ' 
  oDiacritMaps    ' w '       oStringMasks   ' w ' 
  cStrings        ' w '       oExpansionInfo ' w ' 
  cEmulTables     ' w '       oTableInfo     ' w ' 
  cLedMaps        ' w '       oLedMaps       ' w ' 
  cbChecked       ' w '       chksum         ' q 
)

ChordInfo ('
  ikey     ' 0b  '     fExclusion  ' b '
  wMask    ' w  '     fToggle     ' b '
  fLED     ' b  '     wLedMask    ' w '
  rawkey   ' b  '     fInitOn     ' b  0al
)

;
; Line Control Block
;
Lcb ('
    pollstate               '   0b'          lineMode                '   1b'
    saXbkCurrent            '   2w'        listInactive1To15Head   ' 04.w'
    listInactive1To15Tail   ' 06.w'        listInactive16To31Head  ' 08.w'
    listInactive16To31Tail  ' 10.w'        listInactive31PlusHead  ' 12.w'
    listInactive31PlusTail  ' 14.w'        listActiveHead          ' 16.w'
    listActiveTail          ' 18.w'        ioStatus                ' 20.w'
    errcCnt                 ' 22.w'        cWriteData              ' 24.w'
    cReadData               ' 26.w'        cReadDataMax            ' 28.w'
    cbWritten               ' 30.w'        ioChannel               ' 32.w'
    ackInDmaAddr            ' 34.w'        ackInDmaEar             ' 36.w'
    ackOutDmaAddr           ' 38.w'        ackOutDmaEar            ' 40.w'
    saAckInBuf              ' 42.w'        saAckOutBuf             ' 44.w'
    logBufferIndex          ' 46.w'        KHLineSpeed             ' 48.w'
    snrmTimeout             ' 50.w'        pollCycleTimeout        ' 52.w'
    dctCurrent              ' 54.w'        dctTimedOut             ' 56.w'
    timerIntBlock(linkFld1) ' 58.q'    slot1(linkFld2)         ' 62.q'
    TimerIsrAddr(pIntHdlr)  ' 66.p'   DS(saData)              ' 70.w'
    pitTimeout(cIntervals)  ' 72.w'        ppRqRet(pRqBlkRet)      ' 74.p'
    slot3(footPrint)        ' 78.w'        slot4(delta)            '80.w'
    ldt(reserved[0])        ' 82.w'        userNum(reserved[1]     '84.w'
    fActivePollCycle        ' 86.b'          fDisableCl              ' 87.b'
    DcdMask                 ' 88.b'          fPollActiveOnly         ' 89.b'
    fSnrmTimeOut            ' 90.b'          statePit                ' 91.b' 
    countSendSnrm           ' 92.b'          lastSnrmSent            ' 93.b'
    sioClock                ' 94.b'          fGoingDown              ' 95.b'
    pollSequenceNumber      ' 96.q'    pollSystime             '100.q'
    lastPollSequenceNumber  '104.w'        curPollCycleNbr         '106.w'
    idleTicksLastSec        '108.w'        idleTicksLast10Sec      '110.w'
    statIdleTicksLastSec    '112.w'        statIdleTicksLast10Sec  '114.w'
    startIdleTimeLow        '116.w'        startIdleTimeHigh       '118.w'
    ticksSinceLastPoll      '120.w'        fTimeout                '122.b'
    fHighSpeed              '123.b'          counter1Sec             '124.b'
    counter10Sec            '125.b'          SRNMall                 '126.b'
    SNRMnext                '127.b
)
 ;
; LpStruc (line printer structure)
;
LpStruc ('
    rqTimeOut(5)        ' 0.w '' w '' w '' w '' w '
    exchPrinter         ' w '
    fHaveOutputChar     ' b '
    cascadeOCW1_8259    ' w '
    ioLpt               ' w '
    direction           ' b '
    lptDirection        ' w '
    lptIn               ' w '
    pIndexTable         ' p '
    pTxltnTable         ' p '
    fTxlting            ' b '
    prevChar            ' b '
    bLpStatus           ' b '
    fPollDMA            ' b '
    rgbOutput (1)       ' b
)

;
; SCSI Manager Logical Unit Control Block
;
lucb ('    oUpb        ' 0w '
    userCount   ' 2.w '
    oIcb        ' 4.w '
    oQueuedIob  ' 6.w '
    oActiveIob  ' 8.w '
    busId       ' 10.b '
    lun         ' 11.b '
    rgSenseKey        ' 12.b '       ' 13.b '       ' 14.b '       ' 15.b '       ' 16.b '       ' 17.b '       ' 18.b '
                      ' 19.b '
    rgSenseCode       ' 20.b '       ' 21.b '       ' 22.b '       ' 23.b '       ' 24.b '       ' 25.b '       ' 26.b '
                      ' 27.b '
    rgResidue   ' 28.q ' ' 32.q ' ' 36.q ' ' 40.q ' ' 44.q ' ' 48.q ' ' 52.q '
                ' 56.q '
    pathFlags   ' 60.b '
    sbPassword  ' 61.s
)

;
; Memory Map Type
;
MemMap ('
    plaMin          ' 0q '
    plaMax          ' 4q '
    cSlotsFree      ' 8w '
    oSlotLast       ' 10.w '
    cParSlot0       ' 12.q '
    userNumSlot0    ' 16.w
)

;
; NetServerData
;
NetServerData ('
  pRgWsAbortRq     ' 0p '  nWsAbortRq     ' w '
  pRgChgUserNumRq  '  p '  nChgUserNumRq  ' w '
  pRgTerminationRq '  p '  nTerminationRq ' w '
  userNumLast      '  w '
  userNumClstrLast '  w '
  nNetUsers        '  w '
  pRgSwappingRq    '  p '  nSwappingRq    ' w '
  exchNetServer    '  w '
  sbNodeName       ' 32.s '
  prgpNetRouting   ' 45.p '
  prgRcMax         ' 49.p '
  userExchFirst    ' 57.w '
  pSysTime         ' 59.p '
  pBootBlock       ' 63.p '
  pRgOUcb          ' 67.p '
  pRgOExUcb        ' 71.p '
  userNumNetMin    ' 75.w '
  userNumNetMax    ' 77.w 
)

;
; File System NameSpace Heap Entry (nmb)lives in sgNmbHeap
;
nmb ('    oNmbRef ' 0w '
    sbName  ' 2s
)

;
; ParCnfgBlock
;
parCnfg (
'  oExParDesc ' 0w'
    oBcb       ' 2w'
    oAscb      ' 4w'
    oUSegDesc  ' 6w
)
 ;
;Partition Descriptor
;
parDesc (
'  PartitionName ' 10s '
  cParCreated   ' 35.b 36.w '
  fVacant       ' 29.b '
  fBatch        ' 33.b ' ' 42.l 
)

;
; pcb (Process Control Block)
;
pcb ('
    oPcbLnk     ' 0w '
    status      ' b '
    priority    ' b '
    spSave      ' w '
    ssSave      ' w '
    msgRetAddr  ' p '
    exchgSync   ' w '
    userNum     ' w '
    oExPcb      ' w
 )
 
;
; Hypersegment Descriptor (Pdh)
;
pdh ('cparpla=' 0q '' 4q ' oGdtLnk=' 8w ' bAccess=' 0ab ' ty=' 0bb ' oPdhNext=' 0cw ' oFib=' 0ew 
)

; Page User Block for Paging Service
pub (
'  lNext ' 0ql '  fribFirst ' 8q '  fribLast ' 0cq '  clockFrib ' 24q '
  user ' 12w ' ' 12u '
  flags ' 58w '   erc ' 60w ' cCriticalSection ' 72w '
  cFramesR ' 46w '  cFramesLocked ' 10w '  cFramesRMin ' 48w ' cFramesRMax ' 4aw '
  lFribPageTable ' 28q '  lFribDirPage ' 2cq 
)

; Page User Block (all of it) for Paging Service
puba (
'  lNext ' 0ql '  fribFirst ' 8q '  fribLast ' 0cq '  clockFrib ' 24q '
  user ' 12w ' ' 12u '
  flags ' 58w '   erc ' 60w ' cCriticalSection ' 72w '
  cFramesR ' 46w '  cFramesLocked ' 10w '  cFramesRMin ' 48w ' cFramesRMax ' 4aw '
  lFribPageTable ' 28q '  lFribDirPage ' 2cq '
  cFramesClock ' 4ew '  cFramesWS ' 4cw ' cFramesWsMin ' 52w ' cFramesWsMax ' 50w '
  cFramesV ' 54w ' cFramesVSwap ' 56w ' cFramesOverRMax ' 5cw ' cFramesFree ' 5ew '
  cQueuedForCleaning ' 40w '  cBeingCleaned ' 42w '  cWaitingForCleanPage ' 44w '
  cPagesCleaned ' 62w ' cWaitsForCleanPage ' 64w ' cSwapFilePages ' 6cw '
  tcbWaitCleanPageQ_lFirst ' 30q '  tcbWaitCleanPageQ_lLast ' 34q '
  fribCleaningQ_lFirst     ' 38q '  fribCleaningQ_lLast     '3cq '
  cPageFaultsTotal  ' 14q '  cWaitTicksTotal  ' 1cq '
  cPageFaultsShared ' 18q '  cWaitTicksShared ' 20q '
  cPagesPrefaulted ' 66w ' cPagesPrefaultedUsed ' 68w ' cPagesPrefaultedUnused ' 6aw '
  cPageFaultsLastPeriod ' 6ew ' cFramesElbowRoom ' 70w
)

;
; QuietRqType
;
QuietRq ('  userNum= ' 4u '
  rcCode=  ' 0aw '
  erc=     ' 0cw '
  fVacate= ' 0eb '
  state=   ' 0fb '
  fAbort=  ' 10b '
  iRq=     ' 12b '
  prqTerm= ' 14p '
  pExStack=' 18p 
)
  ;
; RcbClusterType
;
RcbCluster ('
    oNext=          ' 0w '
    oPrev=          ' 2w '
    pRq=            ' 4p '
    flags=          ' 8b '
    state=          ' 9b '
    oCf=            ' 10.w '
    sBufOutTotal=   ' 12.w '
    sBufInTotal=    ' 14.w '
    ercRet=         ' 16.w '
    userNum=        ' 18.w '
    nOutStanding=   ' 20.b '
    reserved=       ' 21.b '
    rqStartTime=    ' 22.w '
    saXBlock=       ' 24.w
)

;
; Run File Header
;
runHdrV6 (
'  signature    ' 0w   '     ver          ' 2w '
  cPnRes       ' 4w   '     iRleMax      ' 6w '
  cParDir      ' 8w   '     cparMinAlloc ' 10.w '
  cparMaxAlloc ' 12.w '     wChecksum    ' 18.w '
  spInit       ' 16.w '     ssInit       ' 14.w '
  csInit       ' 20.w '     ipInit       ' 22.w '
  orgRle       ' 24.w '     iovMax       ' 26.w '
  dsLarge      ' 28.w '     allFs        ' 30.w '
  verAlt       ' 32.w '     orgpIdiv     ' 34.w '
  cpIDiv       ' 36.w '     snFirst      ' 58.w '
  oRgPdh       ' 46.w '     iPdhMax      ' 48.w '
  orgRqLabl    ' 50.w '     iRqLablMax   ' 52.w '
  oMpSnSa      ' 54.w '     iSnMax       ' 56.w '
  qbDataMin    ' 38.q ' qbDataMax    ' 42.q '
altVerPMOS              8000h    altVerGdt               4000h
altVerCTOSp             2000h    altVerLoadLLLow         1000h' '
altVerConditionalCTOSp  0800h    altVerCodeSharingServer 0400h
altVerHighMem           0200h    altVerAsian             0100h' '
altverNRelPro           0080h    altVerAsianExt          0040h
altVerNoLdtTraps        0020h    altVerReserved          0010h' '
altVerDistrix           0002h'
 )

;
; Run File Header
;
runHdrV8 ('
  signature    ' 0w   '     ver          ' 2w '
  cPnFile      ' 4w   '     wRev         ' 6w '
  wFlags       ' 8w   '     wMinOs       ' 10.w '
  wMaxOs       ' 12.w '     wPriority    ' 14.w '
  bMinInstSet  ' 16.b '       bMinMath     ' 17.b '
  cpbDir       ' 18.w '     cpnHdr       ' 20.w '
  wChkSumHdr   ' 22.w '     cModify      ' 24.w '
  snFirst      ' 26.w '     cSn          ' 28.w '
  altVer       ' 32.w '     dateTime     ' 34.q '
  wCodeSet     ' 46.w '     cbHeap       ' 48.w '
  qbMinData    ' 38.q ' qbMaxData    ' 42.q ' 
Elements          placPar
  InitReg (0)    ' 80.w  '' 84.w '
  Strings (1)    ' 92.w  '' 96.w '
  Pdh     (3)    ' 116.w '' 120.w '
  Exp     (4)    ' 128.w '' 132.w '
  Iib     (10)   ' 200.w '' 204.w '
  Fib     (11)   ' 212.w '' 216.w '
  Data    (12)   ' 224.w '' 228.w '
  Instance(14)   ' 248.w '' 252.w '
  Code    (20)   ' 320.w '' 324.w '
  RscData (29)   ' 428.w '' 432.w '
  RscDir  (29)   ' 440.w '' 444.w 
)

;
; SCSI IOB
;
scsiIob ('    chain          ' 0.w '
    pRq            ' 2.q '
    exchResp       ' 6.w '
    ercRet         ' 8.w '
    serviceCode    ' 10.w '
    oFcb           ' 12.w '
    oDcb           ' 14.w '
    massIoCtrl     ' 16.w '
    slotId         ' 18.b '
    reserved       ' 19.b '
    timeoutCounter ' 20.w '
    deviceCtrl     ' 22.w '
    oLucb            ' 24.w '
    oUpb             ' 26.w '
    pData            ' 28.q '
    baData           ' 32.q '
    sData            ' 36.w '
    sDma             ' 38.w '
    identifyMsg      ' 40.b '
    targetStatus     ' 41.b '
    autoSenseStatus  ' 42.b '
    cdbLen           ' 43.b '
    cdb              ' 44.b 45.b 46.b 47.b 48.b 49.b 50.b 51.b 52.b 53.b 54.b 55.b '
    baDataStart      ' 56.q ' (aka. pUserData)
    sDataXferred     ' 60.w '
    pExtSense        ' 62.q '
    sExtSense        ' 66.w '
    oScb             ' 68.w '
    pRgSegDescriptor ' 70.q '
    segDescriptors   ' 74.w
  )
 
;
;System Common Address Table
;
scat ('
  pSysTime     ' 0p '
  pVcb         ' 4p '
  pSysError    ' 8p '
  pDOI         ' 18p '  
  pOsVersion   ' 14p '
  porgoDcb     ' 3cp '
  porgoVhb     ' 48p '
  porgoUcb     ' 44p '
  porgpTiming  ' 50p '
  pBootBlock   ' 74p '
  pScb         ' 88p
  )

;
;SymbolWorkArea
;
swa ('
 fn=' 0w ' sgRsc=' 2w ' cbRsc=' 4q ' loadOffset=' 8w ' pMpSnSg=' 0ap '
 sgEib=' 0ew ' userNum=' 10w ' userSS=' 12w ' fMpBtsInit=' 14b '
 fGdt=' 15b ' cpnSym= ' 16w ' pnFirstHash=' 18w ' cpnHash=' 1aw '
 pubMax= ' 1cw ' iovMax=' 1eb ' iSnMax=' 1fw ' snFirst=' 21w '
 process= ' 23w ' fExplOff=' 25b ' fCaseSens= ' 26b ' fSnBts= ' 27b 28l
)

;
;System Config Block
;
scb (
'  cPcb = ' 0cw '  cExch = ' 0ew '  cLinkBlk =' 10w '  cTrb =' 14w '
  cFcb = ' 18w '  cVhb = ' 1aw '  cUcb = ' 1cw '  userNumKbd  ' 2ew 
)

; Thread Control Block for Paging Service
tcb (
'  lNext ' 0ql '   lNextWaiting ' 8q '  lPrevWaiting ' 0cq '
  pMsg ' 10p '   message ' 14q '   signal ' 18w '   oAsyncRq ' 1aw '
  userNum ' 1Cw ' ' 1Cu '
  flags ' 1Ew '   saveSP ' 20w
)

;
; Timer Request Block
;
trb ('    counter       '0w '
    counterReload '2w '
    cEvents       '4w '
    exchResp      '6w '
    ercRet        '8.w '
    rqCode        '10.w 
)

;
; Timer Pseudointerrupt Block
;
tpib ('
    linkField1      '   0q'
    linkField2      '   4q'
    pIntHandler     '   8p'
    saData          ' 12.w'
    cIntervals      ' 14.w'
    pRqBlkRet       ' 16.p'
    footPrint       ' 20.w'
    delta           ' 22.w'
    reserved(8)     ' 24.b 25.b 26.b 27.b 28.b 29.b 30.b 31.b
)

;
; Task State Segment
;
tss ('  cs:ip ' 4cw ':' 20q '
  ss:sp ' 50w ':' 38q '
  eax ' 28q '  ebx ' 34q '  ecx ' 2cq '  edx ' 30q '
  esi ' 40q '  edi ' 44q '  ebp ' 3cq '  efl ' 24q '
  es ' 48w '  ds ' 54w '  fs ' 58w '  gs ' 5cw '  link ' 0w '  ldt ' 60w '
  tyDev ' 9Aw '  iInt ' 0C0w '  oPcb ' 0A6w '  wOs2Tid ' 0b4w '
  intCsIp ' 0A2w ':' 0A0w '  intDS ' 9Cw '  intFL ' 9Ew '
  laFault ' 0AAq '  errorCode ' 0Aw '  oIoMap ' 66w '  oRgb87 ' 0B2w '
  cCriticalSect ' 0caw '  cPendingSuspend ' 0ccw '
  pKernelStack ' 0cep '
  pUserStack   ' 0d2p 
)

;
; Volume Home Block
;
vhb ('    checksum                '0w '
    lfaSysImageBase         '2.q '
    cPagesSysImage          '6.w '
    lfaBadBlkBase           '8.q '
    cPagesBadBlk            '12.w '
    lfaCrashDumpBase        '14.q '
    cPagesCrashDump         '18.w '
    volName                 '20.s '
    volPassword             '33.s '
    lfaVhb                  '46.q '
    lfaInitialVhb           '50.q '
    creationDT              '54.q '
    modificationDT          '58.q '
    lfaMfdBase              '62.q '
    cPagesMfd               '66.w '
    lfaLogBase              '68.q '
    cPagesLog               '72.w '
    currentLogPage          '74.w '
    currentLogByte          '76.w '
    lfaFileHeadersBase      '78.q '
    cPagesFileHeaders       '82.w '
    altFileHeaderPageOffset '84.w '
    iFreeFileHeader         '86.w '
    cFreeFileHeaders        '88.w '
    clusterFactor           '90.b '
    bECC                    '91.b '
    defaultExtend           '92.w '
    allocSkipCnt            '94.w '
    lfaAllocBase            '96.q '
    allocPageCnt            '100.w '
    lastAllocPg             '102.w '
    lastAllocWd             '104.w '
    lastAllocBit            '106.w '
    cFreePages              '108.q '
    iDev                    '112.w '
    oMfdFcb                 '114.w '
    seekStepRate         '116.b '
    gapSize              '117.b '
    writePrecompCylinder '118.b '
    devType              '119.b '
    spiralFactor         '120.b '
    startingSector       '121.b '
    interleaveFactor     '122.b '
    verifyCode           '123.b '
    cPagesCrashDumpHigh  '124.w '
    rgbVhbEx (93)        '126.b 127.b 128.b 129.b 130.b 131.b 132.b 133.b '...
    magicWd               '219.w '
    bootBaseSector        '221.b '
    bootBaseHead          '222.b '
    bootBaseCyl           '223.w '
    bootMaxPageCount      '225.w '
    badBlkBaseSector      '227.b '
    badBlkBaseHead        '228.b '
    badBlkBaseCyl         '229.w '
    badBlkMaxPageCount    '231.w '
    crashDumpBaseSector   '233.b '
    crashDumpBaseHead     '234.b '
    crashDumpBaseCyl      '235.w '
    crashDumpMaxPageCount '237.w '
    bytesPerSector        '239.w '
    sectorsPerTrack       '241.w '
    tracksPerCylinder     '243.w '
    cylindersPerDisk      '245.w '
    volumeCapacity        '247.q '
    reserved3 (5)         '251.b 252.b 253.b 254.b 255.b
)

;
; User Control Block
;
ucb (
    reserved    '0w '
    defaultVol  '2s '
    defaultDir  '15.s '
    defaultPW   '28.s '
    prefix      '41.s '
    defaultNode '54.w '
)

;
; SCSI Manager User Path Block
;
upb ('    oSiblingUpb    ' 0.w '
    oParentLucb    ' 2.w '
    userNum        ' 4.w '
    cPendingRq     ' 6.w '
    pathFlags      ' 8.b '
    identifyMsg    ' 9.b '
    defaultTimeout ' 10.w '
    pRq            ' 12.q
)

;
; OS Global Flags
;
Vf ('
  f186=  ' 00b '   f286= ' 01b '   f386=  ' 02b '   fXbus=' 03b '
  fB39=  ' 04b '   fMF=  ' 05b '   fMFP=  ' 06b '   fSrvr=' 08b '
  fClstr=' 09b '   fFS=  ' 0ab '   f287=  ' 0bb '   f387= ' 0cb '
  fPS2=  ' 0eb '   fLpIn=' 11b '   fPS=   ' 12b '   fVOs= ' 13b '
  fExp3= ' 14b '   f486= ' 15b '   f4Mb=  ' 16b '   fLCW= ' 17b '
  fSgen= ' 18b '   fPcAt=' 1ab '   fStat= ' 1bb '   fPort=' 1cb ' 
  fPPort=' 1db '   fSg1K=' 1eb '   fEisa= ' 1fb '   fSrp= ' 20b '
  fIBus= ' 21b '   fIOP= ' 22b '   f82380=' 23b '   f586= ' 2cb 
) 

;
; vStats
;
vStats ('SpecHeap:
  InUse=' 04w '   InUseMax=' 06w'   Initial=' 0Cw '
  cFreeNodes=' 00w '   cFreeNodesMaxMax=' 02w '   cWaits='0aw'   cFails='08w'
LoaderHeap:
  InUse=' 14w '   InUseMax=' 16w'   Initial=' 1Cw '
  cFreeNodes=' 10w '   cFreeNodesMax=' 12w '   cWaits='1aw'   cFails='18w'
MemMgrHeap:
  InUse=' 24w '   InUseMax=' 26w'   Initial=' 2Cw '
  cFreeNodes=' 20w '   cFreeNodesMax=' 22w '   cWaits='3aw'   cFails='38w'
TermHeap:
  InUse='34w '   InUseMax='36w'   Initial='3Cw '
  cFreeNodes='30w '   cFreeNodesMax='32w '   cWaits='3aw'   cFails='38w'
QuietHeap:
  InUse='44w '   InUseMax='46w'   Initial='4Cw '
  cFreeNodes='40w '   cFreeNodesMax='42w '   cWaits='4aw'   cFails='48w'
NameDictionary:
  Initial=' 50q '   Alloc=' 54q '   AllocMax=' 58q '
  Names=' 5cq '    Registers=' 60q '   Queries=' 64q '
  sHash=' 68w '    MaxDepth=' 6aw '   cClass=' 6cw '   cFails=' 6ew

)

;
; Cluster Xblock
;
XBlock ('
  saNext          ' 0el '
  oDct            ' 2w '
  dmaAddr         ' 4w '
  dmaEar          ' 6w '
  cbData          ' 8w '
  respExch        ' 10.w '
  status          ' 12.b '
  flags           ' 13.b '
  saveAddr        ' 14.w '
  saveEar         ' 16.w '
  xboffset        ' 18.w '
  phase           ' 19.b '
  ceh             ' 20.q '
  oXBlock         ' 24.w '
  oCf             ' 26.w '
  cbXBlock        ' 28.w '
  lfa             ' 30.q '
  station         ' 34.b '
  frameType       ' 35.b '
  cbDataSent      ' 36.w '
  rqSCntlInfo     ' 38.w '
  rqnPbCb         ' 40.w '
  rqUserNum       ' 42.w '
  rqRespExch      ' 44.w '
  rqErcRet        ' 46.w '
  rqCode          ' 48.w 
)

;
; CtosXe Cache Pool Descriptor
;
XeCpd ('
    signature   ' 0q '
    pFreeHead   ' 4p '
    pFreeTail   ' 8p '
    pFlushProc  ' 12.p '
    flags       ' 16.b '
    reserved    ' 17.b '
    rgbChl      ' 018.p ' ' 022.p '  ' 026.p ' ' 030.p '  ' 034.p ' ' 038.p '
                ' 042.p ' ' 046.p '  ' 050.p ' ' 054.p '  ' 058.p ' ' 062.p '
                ' 066.p ' ' 070.p '  ' 074.p ' ' 078.p '  ' 082.p ' ' 086.p '
                ' 090.p ' ' 094.p '  ' 098.p ' ' 102.p '  ' 106.p ' ' 110.p '
                ' 114.p ' ' 118.p '  ' 122.p ' ' 126.p '  ' 130.p ' ' 134.p '
                ' 138.p ' ' 142.p '  ' 146.p ' ' 150.p '  ' 154.p ' ' 158.p '
                ' 162.p ' ' 166.p '  ' 170.p ' ' 174.p '  ' 178.p ' ' 182.p '
                ' 186.p ' ' 190.p '  ' 194.p ' ' 198.p '  ' 202.p ' ' 206.p '
                ' 210.p ' ' 214.p '  ' 218.p ' ' 222.p '  ' 226.p ' ' 230.p '
                ' 234.p ' ' 238.p '  ' 242.p ' ' 246.p '  ' 250.p ' ' 254.p '
                ' 258.p ' ' 262.p '  ' 266.p ' ' 270.p '  ' 274.p ' ' 278.p '
                ' 282.p ' ' 286.p '  ' 290.p ' ' 294.p '  ' 298.p ' ' 302.p '
                ' 306.p ' ' 310.p '  ' 314.p ' ' 318.p '  ' 322.p ' ' 326.p '
                ' 330.p ' ' 334.p '  ' 338.p ' ' 342.p '  ' 346.p ' ' 350.p '
                ' 354.p ' ' 358.p '  ' 362.p ' ' 366.p '  ' 370.p ' ' 374.p '
                ' 378.p ' ' 382.p '  ' 386.p ' ' 390.p '  ' 394.p ' ' 398.p '
                ' 402.p ' ' 406.p '  ' 410.p ' ' 414.p '  ' 418.p ' ' 422.p '
                ' 426.p ' ' 430.p '  ' 434.p ' ' 438.p '  ' 442.p ' ' 446.p '
                ' 450.p ' ' 454.p '  ' 458.p ' ' 462.p '  ' 466.p ' ' 470.p '
                ' 474.p ' ' 478.p '  ' 482.p ' ' 486.p '  ' 490.p ' ' 494.p '
                ' 498.p ' ' 502.p '  ' 506.p ' ' 510.p '  ' 514.p ' ' 518.p '
                ' 522.p ' ' 526.p '  ' 530.p ' ' 534.p '  ' 538.p ' ' 542.p '
                ' 546.p ' ' 550.p '  ' 554.p ' ' 558.p '  ' 562.p ' ' 566.p '
                ' 570.p ' ' 574.p '  ' 578.p ' ' 582.p '  ' 586.p ' ' 590.p '
                ' 594.p ' ' 598.p '  ' 602.p ' ' 606.p '  ' 610.p ' ' 614.p '
                ' 618.p ' ' 622.p '  ' 626.p ' ' 630.p '  ' 634.p ' ' 638.p '
                ' 642.p ' ' 646.p '  ' 650.p ' ' 654.p '  ' 658.p ' ' 662.p '
                ' 666.p ' ' 670.p '  ' 674.p ' ' 678.p '  ' 682.p ' ' 686.p '
                ' 690.p ' ' 694.p '  ' 698.p ' ' 702.p '  ' 706.p ' ' 710.p '
                ' 714.p ' ' 718.p '  ' 722.p ' ' 726.p '  ' 730.p ' ' 734.p '
                ' 738.p ' ' 742.p '  ' 746.p ' ' 750.p '  ' 754.p ' ' 758.p '
                ' 762.p ' ' 766.p '  ' 770.p ' ' 774.p '  ' 778.p ' ' 782.p '
                ' 786.p ' ' 790.p '  ' 794.p ' ' 798.p '  ' 802.p ' ' 806.p '
                ' 810.p ' ' 814.p '  ' 818.p ' ' 822.p '  ' 826.p ' ' 830.p '
                ' 834.p ' ' 838.p '  ' 842.p ' ' 846.p '  ' 850.p ' ' 854.p '
                ' 858.p ' ' 862.p '  ' 866.p ' ' 870.p '  ' 874.p ' ' 878.p '
                ' 882.p ' ' 886.p '  ' 890.p ' ' 894.p '  ' 898.p ' ' 902.p '
                ' 906.p ' ' 910.p '  ' 914.p ' ' 918.p '  ' 922.p ' ' 926.p '
                ' 930.p ' ' 934.p '  ' 938.p ' ' 942.p '  ' 946.p ' ' 950.p '
                ' 954.p ' ' 958.p '  ' 962.p ' ' 966.p '  ' 970.p ' ' 974.p '
                ' 978.p ' ' 982.p '  ' 986.p ' ' 990.p '  ' 994.p ' ' 998.p '
                '1002.p ' '1006.p '  '1010.p ' '1014.p '  '1018.p ' '1022.p '
                '1026.p ' '1030.p '  '1034.p ' '1038.p '  '1042.p ' '1046.p '
                '1050.p ' '1054.p '  '1058.p ' '1062.p '
    qsCcheSpace ' 1066.q '
    sBlock      ' 1070.w '
    cBlock      ' 1072.w '
    cStealblMin ' 1074.w '
    cValid      ' 1076.w '
    cFree       ' 1078.w '
    cLocked     ' 1080.w '
    cSticky     ' 1082.w '
    cDirty      ' 1084.w '
    qcGets      ' 1086.q '
    qcHits      ' 1090.q '
    qcMisses    ' 1094.q '
    qcWaits     ' 1098.q
)

;
; CtosXe Icc Segment type
;
XeIccSeg ('
    listFreeZ.listFields.oQueue     ' 0.q '
    listFreeZ.listFields.iPut       ' 4.q '
    listFreeZ.listFields.iTake      ' 8.q '
    listFreeZ.listFields.wiMask     ' 12.q '
    listFreeZ.cbEach                ' 16.q '
    listFreeZ.iSlotLastWait         ' 20.q '
    listFreeZ.cWaits                ' 24.q '
    listFreeZ.mpiSlotfWait          ' 28.q '
    listFreeY.listFields.oQueue     ' 32.q '
    listFreeY.listFields.iPut       ' 36.q '
    listFreeY.listFields.iTake      ' 40.q '
    listFreeY.listFields.wiMask     ' 44.q '
    listFreeY.cbEach                ' 48.q '
    listFreeY.iSlotLastWait         ' 52.q '
    listFreeY.cWaits                ' 56.q '
    listFreeY.mpiSlotfWait          ' 60.q '
    listFreeW.listFields.oQueue     ' 64.q '
    listFreeW.listFields.iPut       ' 68.q '
    listFreeW.listFields.iTake      ' 72.q '
    listFreeW.listFields.wiMask     ' 76.q '
    listFreeW.cbEach                ' 80.q '
    listFreeW.iSlotLastWait         ' 84.q '
    listFreeW.cWaits                ' 88.q '
    listFreeW.mpiSlotfWait          ' 92.q '
    listRequest.listFields.oQueue   ' 96.q '
    listRequest.listFields.iPut     ' 100.q '
    listRequest.listFields.iTake    ' 104.q '
    listRequest.listFields.wiMask   ' 108.q '
    listRespond.listFields.oQueue   ' 112.q '
    listRespond.listFields.iPut     ' 116.q '
    listRespond.listFields.iTake    ' 120.q '
    listRespond.listFields.wiMask   ' 124.q '
    oRgPaBuffer                     ' 128.q '
    oRgOwnBuffer                    ' 132.q '
    mpiSlotfWaitSatisfied           ' 136.q '
    rgObit(37)                      ' 140.b 141.b 142.b 143.b '...' '
    padding                         ' 177.b'
    wSignature                      ' 178.w '
    mpcbcRq(256)                    ' 180.q 184.q 188.q 192.q '...'
)

;
;	CtosXe massio Iob
;
XeIob ('
    chain           ' 0.w '      pRq                 ' p '
    exchResp        ' w '      ercRet              ' w '
    serviceCode     ' w '      oFcb                ' w '
    oDcb            ' w '      massIoCtrl          ' w '
    slotId          ' b '        deviceCtrl          ' b '
    timeoutCounter  ' w '      pRqBuffer           ' p '
    baRqBuffer      ' q '  rqFileLfa           ' q '
    rqVda           ' q '  rqXferLength        ' w '
    runXferLength   ' w '      pCacheBuffer        ' p '
    baCacheBuffer   ' q '  cacheVda            ' q '
    cacheXferLength ' w '      cacheRunXferLength  ' w '
    cacheHandle     ' q '  pCacheChain         ' p '
    cacheOffset     ' w '      cacheEmbeddedLength ' w '
    pIoBuffer       ' p ' baIoBuffer          ' q '
    ioVda           ' q '  dmaXferLength       ' w '
    ioXferLength    ' w '      ioXferOK            ' w '
    retryLimit      ' b '        retryCount          ' b '
 device specific area follows; SCSI type device is assumed 
    oScsiIob        ' w '
    senseData       ' b b b b b b b b b b b b b b b b b b '
    targetStatus    ' b '
    cdbLen          ' b '
    cdb             ' b b b b b b b b b b b b
 )

;
; CtosXe Icc Request Control Block Type
;
XeRcb ('
    oLink       ' 0.w '
    oBackLink   ' 2.w '
    pBuf        ' 4.p '
    pRq         ' 8.p '
    baRemote    ' 12.q '
    br0         ' 16.w '
    bSlot       ' 18.b '
    iPbCb       ' 19.b '
    oData       ' 20.w
)

;
; CtosXe Icc Request Control Block Segment Type
;
XeRcbSeg ('
    oRcbFree        ' 0.w '
    oRcbHead        ' 2.w '
    oRcbBackLink    ' 4.w
)

 ' ' 750.p '  ' 754.p ' ' 758.p '
                ' 762.p ' ' 766.p '  ' 770.p ' ' 774.p '  ' 778.p ' ' 782.p '
                ' 786.p ' ' 790.p '  ' 794.p ' ' 798.p '  ' 802.p ' ' 806.p '
                ' 810.p ' ' 814.p '  ' 818.p ' ' 822.