*COPY VBLOKS 00001000 PUSH PRINT 00001200 AIF ('&SYSPARM' NE 'SUP').VBL01 00001400 PRINT OFF,NOGEN 00001600 .VBL01 ANOP 00001800 VCHBLOK DSECT 00006000 SPACE 1 00007000 *** VCHBLOK - VIRTUAL CHANNEL BLOCK 00008000 * 00009000 * 0 +-----------+-----------+-----------+-----+-----+ 00010000 * | VCHADD | VCHCUINT | VCHCEDEV | V*1 | V*2 | 00011000 * 8 +-----------+-----------+-----------+-----+-----+ 00012000 * | | 00013000 * = VCHCUTBL = 00014000 * | | 00015000 * 28 +-----------------------+-----------------------+ 00016100 * | VCHRSVD | VCHRCHAD | 00016300 * 30 +-----------------------+-----------------------+ 00016500 * 00017000 *** VCHBLOK - VIRTUAL CHANNEL BLOCK 00018000 SPACE 1 00021000 VCHADD DS 1H VIRTUAL CHANNEL ADDRESS 00022000 VCHCUINT DS 1H VCUBLOK WITH INTERRUPT - BIT MAP 00023000 VCHCEDEV DS 1H VIRT DEV ADDR WITH CHAN CLASS INTERRUPT 00024000 VCHSTAT DS 1X V*1 VIRTUAL CHANNEL STATUS FLAGS 00025000 VCHTYPE DS 1X V*2 VIRTUAL CHANNEL TYPE 00026000 VCHCUTBL DS 16H CONTROL UNITS ATTACHED - VMCUSTRT INDEX 00027000 VCHRSVD DS 1F RESERVED @VA13280 00027001 VCHRCHAD DS 1F RCHBLOK ADDRESS @VA13280 00027002 SPACE 1 00028000 VCHSIZE EQU (*-VCHBLOK)/8 VHCBLOK SIZE IN DOUBLE WORDS 00029000 SPACE 1 00030000 * BITS DEFINED IN VCHSTAT 00031000 VCHBUSY EQU X'80' VIRTUAL CHANNEL BUSY 00032000 VCHCEPND EQU X'40' VIRTUAL CHAN CLASS INT PENDING 00033000 VCHDED EQU X'01' VIRTUAL CHANNEL DEDICATED 00034000 SPACE 1 00035000 * BITS DEFINED IN VCHTYPE 00036000 VCHSEL EQU X'80' VIRTUAL SELECTOR CHANNEL 00037000 VCHBMX EQU X'40' VIRTUAL BLOCK MULTIPLEXOR 00038000 EJECT 00039000 VCUBLOK DSECT 00040000 SPACE 1 00041000 *** VCUBLOK - VIRTUAL CONTROL UNIT BLOCK 00042000 * 00043000 * 0 +-----------+-----------+-----------+-----+-----+ 00044000 * | VCUADD | VCUDVINT | VCUINTS | V*1 | V*2 | 00045000 * 8 +-----------+-----------+-----------+-----+-----+ 00046000 * | | 00047000 * = VCUDVTBL = 00048000 * | | 00049000 * 28 +-----------------------------------------------+ 00050000 * 00051000 *** VCUBLOK - VIRTUAL CONTROL UNIT BLOCK 00052000 SPACE 1 00055000 VCUADD DS 1H VIRTUAL CONTROL UNIT ADDRESS 00056000 VCUDVINT DS 1H VDEVBLOK WITH INTERRUPT - BIT MAP 00057000 VCUINTS DS 1H VIRTUAL CONTROL UNIT INTERRUPT STATUS 00058000 VCUSTAT DS 1X V*1 VIRTUAL CONTROL UNIT STATUS 00059000 VCUTYPE DS 1X V*2 VIRTUAL CONTROL UNIT TYPE 00060000 VCUDVTBL DS 16H DEVICES ATTACHED - VMDVSTRT INDEX 00061000 SPACE 1 00062000 VCUSIZE EQU (*-VCUBLOK)/8 VCUBLOK SIZE IN DOUBLE WORDS 00063000 SPACE 1 00064000 * BITS DEFINED IN VCUSTAT 00065000 VCUCHBSY EQU X'80' VIRTUAL SUBCHANNEL BUSY 00066000 VCUCEPND EQU X'40' INTERRUPT PENDING IN SUB-CHANNEL 00067000 VCUBUSY EQU X'20' VIRTUAL CONTROL UNIT BUSY 00068000 VCUPEND EQU X'10' VIRTUAL CONTROL UNIT INTERRUPT PENDING 00069000 VCUCUEPN EQU X'08' VIRTUAL CONTROL UNIT END PENDING 00070000 VCUACTV EQU X'04' VIRTUAL CONTROL UNIT ACTIVE @VA03150 00070100 SPACE 1 00071000 * BITS DEFINED IN VCUTYPE 00072000 VCUSHRD EQU X'80' VIRTUAL CONTROL UNIT ON SHARED SUBCHANNEL 00073000 VCUCTCA EQU X'40' VIRT CNTRL UNIT IS CHAN-TO-CHAN ADAPTER 00074000 EJECT 00075000 VDEVBLOK DSECT 00076000 SPACE 1 00077000 *** VDEVBLOK - VIRTUAL DEVICE BLOCK 00078000 * 00079000 * 0 +-----------+-----------+-----+-----+-----+-----+ 00080000 * | VDEVADD | VDEVINTS | V*1 | V*2 | V*3 | V*4 | 00081000 * 8 +-----------+-----------+-----+-----+-----+-----+ 00082000 * | VDEVCSW | 00083000 * 10 +-----------+-----------+-----------------------+ 00084000 * | VDEVRELN | VDEVBND | VDEVPOSN | 00085000 * 18 +-----------+-----------+-----------------------+ 00086000 * | VDEVQUED | VDEVOPER | 00087000 * 20 +-----------------------+-----------------------+ 00088000 * | VDEVLINK | VDEVREAL | 00089000 * 28 +-----------------------+-----------------------+ 00090000 * | VDEVIOCT | VDEVUSER | 00091000 * 30 +-----------------------+-----------------------+ 00092000 * | VDEVIOER | VDEVIOB | 00093000 * 38 +-----+-----------------+-----------------------+ 00094000 * | V*5 | VDEVIO | VDEVRRB | 00094200 * 40 +-----+-----------------+-----------------------+ 00094400 * 00095000 *** VDEVBLOK - VIRTUAL DEVICE BLOCK 00096000 SPACE 1 00099000 VDEVADD DS 1H VIRTUAL DEVICE ADDRESS 00100000 VDEVINTS DS 1H VIRTUAL DEVICE INTERRUPT STATUS 00101000 VDEVTYPC DS 1X V*1 VIRTUAL DEVICE TYPE CLASS 00102000 VDEVTYPE DS 1X V*2 VIRTUAL DEVICE TYPE 00103000 VDEVSTAT DS 1X V*3 VIRTUAL DEVICE STATUS 00104000 VDEVFLAG DS 1X V*4 VIRTUAL DEVICE FLAGS 00105000 VDEVCSW DS 1D VIRTUAL CHANNEL STATUS WORD 00106000 VDEVRELN DS 1H VIRTUAL DASD CYLINDER RELOCATION 00107000 VDEVBND DS 1H VIRTUAL DASD SIZE (IN CYLINDERS) 00108000 VDEVPOSN DS 1F VIRTUAL DASD SEEK POSITION 00109000 VDEVQUED DS 1F VIRTUAL SIO TO REAL SIO QUEUED TIME 00110000 VDEVOPER DS 1F DEVICE OPERATIONAL TIME 00111000 VDEVLINK DS 1F LINK TO VIRTUAL SHARED DEVICES 00112000 VDEVREAL DS 1F POINTER TO REAL DEVICE RDEVBLOK 00113000 VDEVIOCT DS 1F VIRTUAL DEVICE IO COUNT 00114000 VDEVUSER DS 1F POINTER TO VMBLOK OF VDEVBLOK OWNER 00115000 VDEVIOER DS 1F POINTER TO IOERBLOK FOR LAST ERROR 00116000 VDEVIOB DS 1F POINTER TO ACTIVE IOBLOK 00117000 VDEVFLG2 DS 1X V*5 VIRTUAL DEVICE FLAG BYTE 2 00117200 VDEVIO DS 3X POINTER TO QUEUE OF PENDING @VA08629 00117400 * INTERRUPTS 00117500 VDEVQMB DS 0A -> QMBLOK chain (virt cons only) HRC062DK 00117550 VDEVRRB DS 1A ADDR OF VRRBLOK FOR RES/REL MDSKS 00117600 SPACE 1 00118000 VDEVSIZE EQU (*-VDEVBLOK)/8 VDEVBLOK SIZE IN DOUBLE WORDS 00119000 SPACE 1 00120000 * FOR SPOOLING/CONSOLE DEVICES 00121000 ORG VDEVRELN 00122000 VDEVEXTN DS 1F POINTER TO SPOOL EXTENSION BLOCK @V293598 00123010 VDEVSPAR DS 1F SPARE @V293598 00123020 VDEVCON DS 1F POINTER TO VCONCTL CONSOLE CONTROL 00124000 VDEVSPL DS 1F POINTER TO VSPLCTL SPOOL CONTROL 00125000 VDEVCLAS DS 1C SPOOL - OUTPUT CLASS 00126000 VDEVKEY DS 1X STORAGE KEY IN USER'S CAW 00127000 VDEVUNIT DS 1H SPOOL - OUTPUT DIRECTED DEVICE ADDRESS 00128000 VDEVCOPY DS 1H NUMBER OF COPIES REQUESTED 00129000 VDEVCFLG DS 1X CONSOLE - VIRTUAL CONSOLE FLAGS 00130000 VDEVSFLG DS 1X SPOOL - VIRTUAL SPOOL FLAGS 00131000 SPACE 1 00132000 ORG VDEVIOER 00133000 VDEVSNSE DS 1F SENSE BYTES FOR SPOOL DEVICE 00134000 VDEVFCBK DS 1F ADDRESS OF FORMS CONTROL BLOK (VFCBBLOK) 00135000 SPACE 1 00136000 ORG VDEVLINK 00137000 VDEVTMAT DS 1F T-DISK ATTACHED TIME (TOD CK WORD 0) 00138000 SPACE 1 00139000 * BITS DEFINED IN VDEVSTAT 00140000 VDEVCHBS EQU X'80' VIRTUAL SUBCHANNEL BUSY 00141000 VDEVCHAN EQU X'40' VIRTUAL CHANNEL INTERRUPT PENDING 00142000 VDEVBUSY EQU X'20' VIRTUAL DEVICE BUSY 00143000 VDEVPEND EQU X'10' VIRTUAL DEVICE INTERRUPT PENDING 00144000 VDEVCUE EQU X'08' VIRTUAL CUE UNIT 00145000 VDEVNRDY EQU X'04' VIRTUAL DEVICE NOT READY 00146000 VDEVCATT EQU X'02' VIRTUAL DEVICE ATTACHED VIA CONSOLE FUNC. 00147000 VDEVDED EQU X'01' VDEVREAL IS DEDICATED DEVICE RDEVBLOK 00148000 SPACE 1 00149000 * BITS DEFINED IN VDEVFLAG 00150000 VDEVRDO EQU X'80' DASD - READONLY 00151000 VDEVENAB EQU X'80' VIRTUAL 270X - LINE ENABLED 00152000 VDEVTDSK EQU X'40' DASD - T-DISK SPACE ALLOCATED BY CP 00153000 VDEVDIAL EQU X'40' VIRTUAL 270X - LINE CONNECTED 00154000 VDEVCSPL EQU X'40' CONSOLE - ACTIVITY SPOOLED 00155000 VDEV231T EQU X'20' DASD - 2311 SIMULATED ON TOP HALF OF 2314 00156000 VDEV231B EQU X'10' DASD - 2311 SIMULATED ON BOTTOM HALF 2314 00157000 VDEVCCW1 EQU X'10' CONSOLE & SPOOLING - PROCESSING 1ST CCW 00158000 VDEVSAS EQU X'08' DASD - EXECUTING STAND ALONE SEEK 00159000 VDEVDLY EQU X'08' CONSOLE - DELAY SPOOLING @VA04213 00159050 VDEVDET EQU X'04' VIRTUAL DEVICE IS BEING DETACHED 00159400 VDEVPOST EQU X'02' PRESENT ATTN WITH A SINGLE INTERRUPT 00159800 VDEVRSRL EQU X'02' RESERVE/RELEASE ARE VALID CCW OP CODES 00160000 VDEVUC EQU X'01' VIRTUAL DEVICE SENSE BYTES PRESENT 00161000 SPACE 1 00162000 * BITS DEFINED IN VDEVCFLG 00163000 VDEVATTN EQU X'80' USER HIT 2 OR MORE ATTENTIONS 00164000 VDEVTIC EQU X'40' LAST CCW PROCESSED WAS A TIC 00165000 VDEVTRAN EQU X'20' DATA TRANSFER OCCURRED DURING THIS *00166000 CHANNEL PROGRAM 00167000 VDEVVCF EQU X'10' VIRTUAL CONSOLE FUNCTION IN PROGRESS 00168000 VDEVAUCR EQU X'08' AUTO CARRIAGE RETURN ON FIRST READ 00169000 SPACE 1 00170000 * BITS DEFINED IN VDEVSFLG 00171000 VDEVFEED EQU X'80' SPOOL READER - LAST COMMAND DID A FEED 00172000 VDEVXFER EQU X'80' SPOOL OUTPUT - XFERED TO VDEVXUSR 00173000 VDEVCONT EQU X'40' SPOOL DEVICE - CONT OPERATION 00174100 VDEVHOLD EQU X'20' HOLD OUTPUT - SAVE INPUT 00176000 VDEVFOR EQU X'10' SPOOL OUTPUT - FOR USER AND DIST 00176100 VDEVEOF EQU X'08' SPOOL INPUT - SET UNIT EXCEPTION AT EOF 00177000 VDEVTERM EQU X'08' TERM OUTPUT REQ'D FOR SPOOLED CONSOLE 00178000 VDEVCFCL EQU X'04' DEVICE CLOSED BY CONSOLE FUNCTION 00179000 VDEVPURG EQU X'02' SPOOL OUTPUT - PURGE FILE AT CLOSE 00180000 VDEVDIAG EQU X'02' SPOOL INPUT - DEVICE OPENED BY DIAGNOSE 00181000 VDEVSVC EQU X'01' SPOOL DEVICE BUSY BY CP 00182100 SPACE 00182200 * BITS DEFINED IN VDEVFLG2 00182210 VDEVRRF EQU X'80' PROCESS VIRTUAL RESERVE/RELEASE CMDS 00182220 VDEVRES EQU X'40' MINIDISK RESERVED BY VDEVUSER 00182230 VDEVODE EQU X'20' VDEVBLOK TO GET DE WHEN MDSK "RELEASED" 00182240 VDEVCPEX EQU X'10' VIRT I/O WAITING FOR "RELEASE" ON MDISK 00182250 VDEVPST EQU X'08' PASS INTERRUPT TO USER @VA09137 00182255 VDEVVIRT EQU X'04' VIRTUAL 3330V @VA09758 00182257 VDEVTNR EQU X'02' DETACH TAPE WITHOUT RUN HRC003DK 00182258 EJECT 00182260 VRRBLOK DSECT 00182270 SPACE 1 00182280 *** VRRBLOK - VIRTUAL RESERVE/RELEASE BLOCK 00182290 * 00182300 * 0 +-----------+-----+-----+-----------------------+ 00182310 * | VRRADD | V*1 | V*2 | VRRCPEX | 00182320 * 8 +-----------+-----+-----+-----------------------+ 00182330 * | VRRUSER | | 00182340 * 10 +-----------------------+-----------------------+ 00182350 * 00182360 *** VRRBLOK - VIRTUAL RESERVE/RELEASE BLOCK 00182370 SPACE 1 00182380 VRRADD DS 1H VIRTUAL DEVICE ADDRESS WHICH IS RESERVED 00182390 VRRSTAT DS 1X V*1 VIRTUAL RESERVE/RELEASE STATUS FLAGS 00182400 DS 1X V*2 RESERVED 00182410 VRRCPEX DS 1A QUED REQUESTS FOR THE MINIDISK 00182420 VRRUSER DS 1A VMBLOK OF THE USER WHO HAS MDISK RESERVED 00182430 DS 1F RESERVED 00182440 SPACE 1 00182450 VRRSIZE EQU (*-VRRBLOK)/8 VRRBLOK SIZE IN DOUBLE WORDS 00182460 SPACE 1 00182470 * BITS DEFINED IN VRRSTAT 00182480 VRRRES EQU X'80' MDISK IS RESERVED 00182490 EJECT 00183000 VFCBBLOK DSECT 00184000 SPACE 1 00185000 *** VFCBBLOK - VIRTUAL FORMS CONTROL BUFFER BLOCK 00186000 * 00187000 * 0 +-----------+-----+-----+-----------------------+ 00188000 * | VFCBCNT | V*1 | V*2 | VFCBWORK | 00189000 * 8 +-----------+-----+-----+-----------------------+ 00190000 * | VFCBSPAR | V*3 | | 00191000 * 10 +-----------+-----+ | 00192000 * | | 00193000 * = VFCBLOAD = 00194000 * | | 00195000 * C0 +-----------------------------------------------+ 00196000 * 00197000 *** VFCBBLOK - VIRTUAL FORMS CONTROL BUFFER BLOCK 00198000 SPACE 1 00201000 VFCBCNT DS 1H CURRENT POINTER TO CARRIAGE COL 00202000 VFCBFLAG DS 1X V*1 WORK FLAG BYTE 00203000 VFCBCHL DS 1X V*2 CHANNEL NUMBER OR SPACE COUNT 00204000 VFCBWORK DS 1F WORK AREA 00205000 VFCBSPAR DS 2X SPARE 00206000 VFCBNDEX DS 1X V*3 INDEX BYTE VALUE 00207000 VFCBLOAD DS CL181 FORM CARRIAGE CONTROL BUFFER 00208000 SPACE 1 00209000 VFCBSIZE EQU (*-VFCBBLOK)/8 SIZE IN DOUBLE WORDS 00210000 SPACE 1 00211000 * BITS DEFINED IN VFCBFLAG 00212000 VFCBEOF EQU X'80' END OF FORMS PASSED ONCE 00213000 VFCBCMD EQU X'40' FORMS CONTROL GIVEN 00214000 EJECT 00215000 VSPXBLOK DSECT @V293598 00216000 SPACE 1 00217000 * 00218000 *** VSPXBLOK - VIRTUAL SPOOL EXTENSION BLOCK 00219000 * 00220000 * +----+----+----+----+-------------------+ 00221000 * |V*1 |V*2 |V*3 |V*4 | VSPXSPAR | 00222000 * +----+----+----+----+-------------------+ 00223000 * | VSPXDIST | 00224000 * +---------------------------------------+ 00225000 * | VSPXXUSR | 00226000 * +-------------------+-------------------+ 00227000 * | VSPXCHAR | VSPXFCB | 00227050 * +-------------------+-------------------+ 00227100 * | VSPXCMOD | VSPXOVLY | 00227150 * +-------------------+-------------------+ 00227200 * | | 00228000 * = VSPXTAG = 00229000 * +---------------------------------------+ 00231000 * 00232000 *** VSPXBLOK - VIRTUAL SPOOL EXTENSION BLOCK 00233000 * 00234000 SPACE 1 00235000 VSPXLEN DS 1X V*1 - VSPXBLOK LENGTH (DBL WORDS)@V293598 00236000 VSPXTGLN DS 1X V*2 - VSPXTAG DATA LENGTH (BYTES)@V293598 00237000 VSPXFLSH DS X V*3 3800 FLASH COUNT @VA09273 00237100 VSPXFLG1 DS X V*4 3800 FLAG BYTE @VA09273 00237200 VSPXCPYF EQU X'80' IF SET, MULT COPIES IN 1 XMISSION@VA09273 00237300 VSPXSPAR DS XL4 SPARE @VA09273 00238000 VSPXDIST DS CL8 VIRTUAL DEVICE DISTRIBUTION CODE @V293598 00239000 VSPXXUSR DS CL8 XFERED TO VMUSER @V293598 00240000 VSPXCHAR DS CL4 3800 CHAR ARRANGEMENT TABLE @VA09273 00240100 VSPXFCB DS CL4 3800 FCB @VA09273 00240200 VSPXCMOD DS CL4 3800 COPY MODIFICATION @VA09273 00240300 VSPXOVLY DS CL4 NAME OF FLASH OVERLAY TO BE USED @VA09273 00240400 VSPXSIZ1 EQU (*-VSPXBLOK)/8 VSPXBLOK HDR IN DOUBLE WORDS @VA09273 00240500 VSPXTAG DS CL136 TAG APPLICATION DATA AREA @V293598 00241000 SPACE 1 00242000 VSPXSIZ2 EQU (*-VSPXBLOK)/8 VSPXBLOK SIZE IN DOUBLE WORDS @VA09273 00243000 EJECT HRC062DK 00244000 * HRC062DK 00245000 * HRC062DK 00246000 QMBLOK DSECT HRC062DK 00247000 *** QMBLOK - DIAG58 QUEUED MESSAGE BLOCK HRC062DK 00248000 * HRC062DK 00249000 * 0 +-----------+-----+-----+-----------------------+ HRC062DK 00250000 * | QMNEXT | QMSIZE | HRC062DK 00251000 * 8 +-----------+-----+-----+-----------------------+ HRC062DK 00252000 * | QMQCNR0 | QMQCNR2 | HRC062DK 00253000 * 10 +-----------+-----------+-----------------------+ HRC062DK 00254000 * Begin QMMSGTXT area HRC062DK 00255000 * HRC062DK 00256000 * HRC062DK 00257000 *** QMBLOK - DIAG58 QUEUED MESSAGE BLOCK HRC062DK 00258000 SPACE 1 HRC062DK 00259000 QMNEXT DS A -> next QMBLOK or zero HRC062DK 00260000 QMSIZE DS F Size of QMBLOK+msg txt in dwords HRC062DK 00261000 QMQCNR0 DS F R0 at entry to DMKQCNWT = msg lenHRC062DK 00262000 QMQCNR2 DS F R2 at entry to DMKQCNWT = msg flgHRC062DK 00263000 QMMSGTXT DS 0C Start of message text (up to 256)HRC062DK 00264000 * HRC062DK 00265000 QMBSIZE EQU (*-QMBLOK)/8 QMBLOK FIXED SIZE IN DOUBLE WORDSHRC062DK 00266000 * HRC062DK 00267000 POP PRINT HRC062DK 00268000 SPACE 1 HRC062DK 00269000