*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