<<                                                               >>     00005000
                                                                        00010000
                                                                        00015000
                                                                        00020000
<<                         INCLDQH5                              >>     00025000
                                                                        00030000
                                                                        00035000
<<===============================================================>>     00040000
<<                                                               >>     00045000
<<             DDDD        QQQQQQ       H    H      V       V    >>     00050000
<<             D   D       Q    Q       H    H       V     V     >>     00055000
<<             D   D       Q   QQ       HHHHHH        V   V      >>     00060000
<<             D   D       QQQQQQQ      H    H         V V       >>     00065000
<<             DDDD              Q      H    H          V        >>     00070000
<<===============================================================>>     00075000
                                                                        00080000
<<             DISC        QUEUE        HEAD                     >>     00085000
                                                                        00090000
$IF X8 = OFF                                                            00095000
$CONTROL NOLIST                                                         00100000
$IF                                                                     00105000
COMMENT                                                                 00110000
DISC REQUEST TABLE AND DISC REQUESTS                                    00115000
                                                                        00120000
                                                                        00125000
Requests for disc transfers are done by acquiring an entry from the Disc00130000
Request Table(DISCREQTAB), filling in the proper fields, and calling the00135000
DISCQMANAGER to link the request into the device's doubly linked queue. 00140000
The head and tail  of a device's request queue are contained in the     00145000
devices's DIT.                                                          00150000
                                                                        00155000
                                                                        00160000
  DISCREQTAB                                                            00165000
                   +------------+                                       00170000
                   |            |                                       00175000
                   |            |                                       00180000
                   |            |                                       00185000
            +----->+------------+                                       00190000
+------+    |      |  Device's  |                                       00195000
|      |----+      |  Current   |                                       00200000
| DIT  |-------+   |  Request   |                                       00205000
|      |----+  |   +------------+                                       00210000
+------+    |  |   |            |                                       00215000
            |  |   |            |                                       00220000
            |  |   |            |                                       00225000
            |  |   |            |                                       00230000
            |  |   |            |                                       00235000
            |  |   |            |                                       00240000
            |  |   +------------+                                       00245000
            |  +-->|   First    |                                       00250000
            |      |  Request   |                                       00255000
            |      | in Queue   |<>----+                                00260000
            |      +------------+      |                                00265000
            |      |            |      |                                00270000
            |      |            |      |                                00275000
            |      |            |      |                                00280000
            |      |            |      |                                00285000
            |      |------------|      |                                00290000
            |      |   Next     |<>----+                                00295000
            |      |  Request   |                                       00300000
            |      | in Queue   |<>----+                                00305000
            |      |------------|      |                                00310000
            |      |            |      |                                00315000
            |      +------------+      |                                00320000
            |      |   Last     |<>----+                                00325000
            +----->|  Request   |                                       00330000
                   | in Queue   |                                       00335000
                   +------------+                                       00340000
                   |            |                                       00345000
                   |            |                                       00350000
                   |            |                                       00355000
                   +------------+                                       00360000
                                                                        00365000
DISC REQUEST TABLE                                                      00370000
                                                                        00375000
     DISCREQTAB DST ENTRY# = 56 (%70)                                   00380000
     DISCREQTAB PRT = %1017                                             00385000
                                                                        00390000
                                                                        00395000
                 DISC REQUEST TABLE ENTRY 0 FORMAT                      00400000
                                                                        00405000
              0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15            00410000
            |--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|           00415000
DISCREQTAB00|                TOTAL ENTRIES                  |           00420000
            |-----------------------------------------------|           00425000
DISCREQTAB01|               ENTRY SIZE (%21)                |           00430000
            |-----------------------------------------------|           00435000
DISCREQTAB02|               PRIMARY ENTRIES                 |           00440000
            |-----------------------------------------------|           00445000
DISCREQTAB03|              IMPEDED PROCESS PCB              |           00450000
            |-----------------------------------------------|           00455000
DISCREQTAB04| TABLE INDEX OF HEAD OF AVAILABLE ENTRY LIST   |           00460000
            |-----------------------------------------------|           00465000
DISCREQTAB05| TABLE INDEX OF TAIL OF AVAILABLE ENTRY LIST   |           00470000
            |-----------------------------------------------|           00475000
DISCREQTAB06|              MAX ENTRIES IN USE               |           00480000
            |-----------------------------------------------|           00485000
DISCREQTAB07|            CURRENT ENTRIES IN USE             |           00490000
            |-----------------------------------------------|           00495000
DISCREQTAB08|                  OVERFLOWS                    |           00500000
            |-----------------------------------------------|           00505000
DISCREQTAB09|                                               |           00510000
            |                TOTAL REQUESTS                 |           00515000
DISCREQTAB10|                                               |           00520000
            |-----------------------------------------------|           00525000
DISCREQTAB11|SYSBASE INDEX OF HEAD OF DISABLED REQ Q        | DISCQHEAD 00530000
            |-----------------------------------------------|           00535000
DISCREQTAB12|SYSBASE INDEX OF TAIL OF DISABLED REQ Q        | DISCQTAIL 00540000
            |-----------------------------------------------|           00545000
DISCREQTAB13|///////////////////////////////////////////////|           00550000
            |-----------------------------------------------|           00555000
DISCREQTAB14|///////////////////////////////////////////////|           00560000
            |-----------------------------------------------|           00565000
DISCREQTAB15|///////////////////////////////////////////////|           00570000
            |-----------------------------------------------|           00575000
DISCREQTAB16|///////////////////////////////////////////////|           00580000
            |-----------------------------------------------|           00585000
                                                                        00590000
                                                                        00595000
The head and tail  of a device's request queue are contained in the     00600000
;                                                                       00605000
$CONTROL LIST                                                           00610000
<<   NO PEGGING SHOULD BE REQUIRED FOR THIS SET OF DECLARATIONS >>      00615000
<<   SINCE IT STARTS AT WORD ZERO OF THE DISC REQUEST TABLE    >>       00620000
<<                                                              >>      00625000
<<                                                             >>       00630000
<<                                                             >>       00635000
                                                                        00640000
                                                                        00645000
LOGICAL POINTER DQH = %17;     << SYSTEM TABLE DEFINITION FOR DQH >>    00650000
                                                                        00655000
                                                                        00660000
EQUATE                                                                  00665000
                                                                        00670000
    SYSDISCREQTAB     =  %1017,  <<   SYSTEM TABLE PTR LOC. >>          00675000
    DISCREQTABIX      =  %17,    <<   SYSTEM TABLE INDEX OF DRQ  >>     00680000
    DRQ'DST           =  56,   << DST # FOR DRQ >>                      00685000
                                                                        00690000
    DQH'TOTENT'INDEX  =  0,                                             00695000
    DQH'ENTSIZE'INDEX =  1,                                             00700000
    DQH'PRIENT'INDEX  =  2,                                             00705000
    DQH'IMPPCB'INDEX  =  3,                                             00710000
    DQH'FREEHEAD'INDEX=  4,                                             00715000
    DQH'FREETAIL'INDEX=  5,                                             00720000
    DQH'MAXINUSE'INDEX=  6,                                             00725000
    DQH'CURINUSE'INDEX=  7,                                             00730000
    DQH'OVRFLOWS'INDEX=  8,                                             00735000
    DQH'REQCOUNT'INDEX=  9,                                             00740000
    DQH'REQCOUNU'INDEX=  10,                                            00745000
    DQH'DISHEAD'INDEX =  11,                                            00750000
    DQH'DISTAIL'INDEX =  12,                                            00755000
    DQH'SERWQHEAD'INDEX =13,                                            00760000
    DQH'FLAGS'INDEX   =  14,                                            00765000
    DQH'HEADER'SIZE   =  16;                                   <<07411>>00770000
                                                                        00775000
                                                                        00780000
                                                                        00785000
DEFINE                                                                  00790000
                                                                        00795000
    DQH'TOT'ENT =   DQH(DQH'TOTENT'INDEX)#,   << TOTAL # OF ENTRIES  >> 00800000
    DQH'ENT'SIZE=   DQH(DQH'ENTSIZE'INDEX)#,  << ENTRY SIZE          >> 00805000
    DQH'PRI'ENT =   DQH(DQH'PRIENT'INDEX)#,   << # OF PRIMARY ENTRIES >>00810000
    DQH'IMP'PCB =   DQH(DQH'IMPPCB'INDEX)#,   << IMPEDED PCB         >> 00815000
    DQH'FREEHEAD=   DQH(DQH'FREEHEAD'INDEX)#, << FREE ENTRY LIST PNTR >>00820000
    DQH'FREETAIL=   DQH(DQH'FREETAIL'INDEX)#, << FREE LIST TAIL PNTR >> 00825000
    DQH'MAX'NUSE=   DQH(DQH'MAXINUSE'INDEX)#, << MAX QUES EVER USED >>  00830000
    DQH'CUR'NUSE=   DQH(DQH'CURINUSE'INDEX)#, << CURRENT QUES USED  >>  00835000
    DQH'OVRFLOWS=   DQH(DQH'OVRFLOWS'INDEX)#, << NUMBER OF OVERFLOWS >> 00840000
    DQH'REQCOUNT=   DQH(DQH'REQCOUNT'INDEX)#, << TOTAL OF ALL REQUEST >>00845000
    DQH'REQCOUNU=   DQH(DQH'REQCOUNU'INDEX)#, << TOTAL OF ALL REQUEST >>00850000
    DQH'DISAHEAD=   DQH(DQH'DISHEAD'INDEX)#,  << HEAD OF DISABLED QUE >>00855000
    DQH'DISATAIL=   DQH(DQH'DISTAIL'INDEX)#,  << TAIL OF DISABLED QUE >>00860000
    DQH'FLAGS=DQH(DQH'FLAGS'INDEX)#,                                    00865000
    DQH'ACTSERWRFLAG = (0:1)#,                                          00870000
    DQH'MAXSERQFIELD=(8:8)#,                                            00875000
    DQH'MAXSERWQ=DQH'FLAGS.DQH'MAXSERQFIELD#,                           00880000
    DQH'SERWQHEAD=DQH(DQH'SERWQHEAD'INDEX)#;                            00885000
