$PAGE "MPE TABLE ACCESS: XDD (IDD/ODD)"                                 00010000
equate                                                                  00012000
                                                                        00014000
       idd'dst           = %55 << = #45 >>                              00016000
      ,idd'sir           = %3  << = #3 >>                               00018000
                                                                        00020000
      ,odd'dst           = %56 << = #46 >>                              00022000
      ,odd'sir           = %4  << = #4 >>                               00024000
                                                                        00026000
      ,size'of'xdd'head  = %4  << = #4, an xdd head entry >>            00028000
      ,size'of'xdd'sub   = %36 << = #30, an xdd sub entry >>            00030000
      ,size'of'xdd0      = %10 << = #8, an xdd zero entry >>            00032000
                                                                        00034000
      ,size'of'idd'sub   = size'of'xdd'sub << %36 = #30 >>              00036000
      ,size'of'odd'sub   = size'of'xdd'sub << %36 = #30 >>              00038000
;                                                                       00040000
                                                                        00042000
define                                                                  00044000
                                                                        00046000
        << _xdd entry 0_ ( prefix: xdd0 ) >>                            00048000
                                                                        00050000
       xdd0'max'size     = 0).(0:8 # << maximum size of xdd  >>         00052000
                                   << in sectors (words/128) >>         00054000
                                                                        00056000
      ,xdd0'cur'size     = 0).(8:8 # << current size of xdd  >>         00058000
                                   << in sectors (words/128) >>         00060000
                                                                        00062000
      ,xdd0'head'size    = 1).(0:8 # << device header size   >>         00064000
                                   << (4 words)              >>         00066000
                                                                        00068000
      ,xdd0'entry'size   = 1).(8:8 # << xdd entry size       >>         00070000
                                   << (%36, #30)             >>         00072000
                                                                        00074000
      ,xdd0'subentry'area'ptr = 3 #                                     00076000
                                                                        00078000
      ,xdd0'dd           = 3).(0:1 # << device directory type>>         00080000
                              <<  0 = input device directory >>         00082000
                              << 1 = output device directory >>         00084000
                                                                        00086000
      ,xdd0'next'dfid    = 3).(1:15 # << next available dfid >>         00088000
                              << (device file id)            >>         00090000
                                                                        00092000
      ,xdd0'fence        = 4).(12:4 # <<global fence value   >>         00094000
                                                                        00096000
                                                                        00098000
        << _xdd head entry_ ( prefix: xdd'head ) >>                     00100000
                                                                        00102000
      ,xdd'head'ldev     = 0).(8:8 # << the ldev which this  >>         00104000
                              <<header entry is for          >>         00106000
                                                                        00108000
      ,xdd'head'first'subentry = 1 # << ptr to the first xdd >>         00110000
                              <<subentry for this device     >>         00112000
                                                                        00114000
      ,xdd'head'last'subentry = 2 # << ptr to the last xdd   >>         00116000
                              << subentry for this device    >>         00118000
                                                                        00120000
$page                                                                   00122000
        << _xdd sub entry_ ( prefix: xdd'sub ) >>                       00124000
                                                                        00126000
      ,xdd'sub'st        = 0).(1:2 # <<state of entry:       >>         00128000
                              << 0 = active                  >>         00130000
                              << 1 = ready                   >>         00132000
                              << 2 = opened                  >>         00134000
                              << 3 = locked (ignore)         >>         00136000
                                                                        00138000
      ,xdd'sub'c         = 0).(7:1 # <<device is a class     >>         00140000
                              << index to the device class   >>         00142000
                              << table                       >>         00144000
                                                                        00146000
      ,xdd'sub'device    = 0).(8:8 #                                    00148000
           << if xdd'sub'c then                              >>         00150000
           <<   an index to the device class table           >>         00152000
           << else                                           >>         00154000
           << from which this xdd came                       >>         00156000
           <<        or                                      >>         00158000
           << to which this xdd is to go.                    >>         00160000
      ,xdd'sub'jobtype   = 1).(0:2 # << job/session type:    >>         00162000
                           << 0 = session' (via spook tape)  >>         00164000
                           << 1 = session                    >>         00166000
                           << 2 = job                        >>         00168000
                           << 3 = job' (via spook tape)      >>         00170000
                                                                        00172000
      ,xdd'sub'js'number = 1).(2:14 # <<job/session number   >>         00174000
                                                                        00176000
      ,xdd'sub'user'name = 2 # << job/session user name      >>         00178000
                                                                        00180000
      ,xdd'sub'b'user'name = 4 # << job/session user name    >>         00182000
                                 << byte offset              >>         00184000
                                                                        00186000
      ,xdd'sub'acct'name = 6 # << job/session account name   >>         00188000
                                                                        00190000
      ,xdd'sub'b'acct'name = 12 # << job/session account name>>         00192000
                                  << byte offset             >>         00194000
                                                                        00196000
      ,xdd'sub'js'name   = 10 # << job/session name          >>         00198000
                                                                        00200000
      ,xdd'sub'b'js'name = 20 # << job/session name          >>         00202000
                                << byte offset               >>         00204000
                                                                        00206000
      ,xdd'sub'file'name = 14 # << xdd sub entry file name   >>         00208000
                                                                        00210000
      ,xdd'sub'b'file'name = 28 # << xdd sub entry file name >>         00212000
                                  << byte offset             >>         00214000
                                                                        00216000
      ,xdd'sub'dfid      = 18 # << xdd sub entry dfid        >>         00218000
                                << (device file id)          >>         00220000
                                                                        00222000
      ,xdd'sub'dfid'type = 18).(0:1 # << xdd sub entry dfid  >>         00224000
                            << type:                                    00226000
                            <<       0 := input (idd)        >>         00228000
                            <<       1 := output (odd)       >>         00230000
                                                                        00232000
      ,xdd'sub'dfid'number = 18).(1:15 # << xdd sub entry    >>         00234000
                            << dfid number                   >>         00236000
                                                                        00238000
      ,xdd'sub'head'indx = 19).(8:8 # <<index of head entry  >>         00240000
                            << for this chain for subentries >>         00242000
                                                                        00244000
      ,xdd'sub'd'disc'label'adr = 10 # << file label's disc  >>         00246000
                            << disc label address            >>         00248000
                                                                        00250000
      ,xdd'sub'disc'dev  = 20).(0:8 # <<volume table or ldev >>         00252000
                            << ?? of the file label's disc   >>         00254000
                                                                        00256000
      ,xdd'sub'hi'sector'adr = 20).(8:8 # <<hi order of the  >>         00258000
                            << file label's sector address   >>         00260000
                                                                        00262000
      ,xdd'sub'lo'sector'adr = 21 # << low order of the file >>         00264000
                            << label's sector address        >>         00266000
                                                                        00268000
      ,xdd'sub'extent'cnt= 22).(0:8 # << number of extents   >>         00270000
                            << in this spool file            >>         00272000
                                                                        00274000
      ,xdd'sub'ldev      = 22).(8:8 # << logical device upon >>         00276000
                            << which the spool file is       >>         00278000
                            << currently active ??           >>         00280000
                                                                        00282000
      ,xdd'sub'last'extent'size = 23 # << size of the last   >>         00284000
                            << extent allocated              >>         00286000
                                                                        00288000
      ,xdd'sub's         = 24).(4:1 # << failure during      >>         00290000
           << allocation of a new disc extent                >>         00292000
                                                                        00294000
      ,xdd'sub'sublink'ptr = 25 # << pointer to the next     >>         00296000
                            << subentry in this chain        >>         00298000
                                                                        00300000
      ,xdd'sub'd'record'cnt = 13 # << the number of          >>         00302000
           << sequential records in this spool file          >>         00304000
                                                                        00306000
      ,xdd'sub'msw'record'cnt = 26 # << msw of the number of >>         00308000
           << sequential records in this spool file          >>         00310000
                                                                        00312000
      ,xdd'sub'lsw'record'cnt = 27 # << lsw of the number of >>         00314000
           << sequential records in this spool file          >>         00316000
                                                                        00318000
      ,xdd'sub'd'ready'time = 14 # << the time in clock      >>         00320000
           << intrinsic format which the spool file was put  >>         00322000
           << into the ready state                           >>         00324000
           <<                                                >>         00326000
           << if xdd'sub'd'ready'time = 0d then              >>         00328000
           <<   'the file was not close properly'            >>         00330000
           <<   (i.e. a system failure)                      >>         00332000
                                                                        00334000
;                                                                       00336000
                                                                        00338000
$page "MPE TABLE ACCESS: XDD (IDD SPECIFIC)"                            00340000
define                                                                  00342000
                                                                        00344000
       idd'sub'data'created = 19).(1:1 # << :data created    >>         00346000
                            << input spool file              >>         00348000
                                                                        00350000
      ,idd'sub'restart'job = 24).(2:1 # << job restart is    >>         00352000
           << requested if a warmstart happens               >>         00354000
           << (i.e. ";RESTART" was on the :job card          >>         00356000
                                                                        00358000
;                                                                       00360000
                                                                        00362000
$page "MPE TABLE ACCESS: XDD (ODD SPECIFIC)"                            00364000
define                                                                  00366000
                                                                        00368000
       odd'sub'forms'in'file = 19).(0:1 # << there are forms >>         00370000
            << associated with this output spool file        >>         00372000
                                                                        00374000
      ,odd'sub'squeeze'extents = 24).(0:1 # << once an       >>         00376000
                         << extent has been printed purge it >>         00378000
                                                                        00380000
      ,odd'sub'forms'on'device = 24).(3:1 # << non-standard  >>         00382000
                         << forms are on the device          >>         00384000
                                                                        00386000
      ,odd'sub'aborted'job = 24).(5:1 # << this is the job   >>         00388000
                            << $stdlist of an aborted job    >>         00390000
                                                                        00392000
      ,odd'sub'copy'cnt  = 24).(8:8 # << copy count for this >>         00394000
                            << spool file                    >>         00396000
                                                                        00398000
;                                                                       00400000
                                                                        00402000
