*COPY IOER 00001000
PUSH PRINT 00001200
AIF ('&SYSPARM' NE 'SUP').IOER01 00001210
PRINT OFF,NOGEN 00001220
.IOER01 ANOP 00001230
IOERBLOK DSECT 00002000
SPACE 1 00003000
*** IOERBLOK - I/O ERROR INFORMATION BLOCK 00004000
* 00005000
* 0 +-----------------------+-----------------------+ 00006000
* | IOERPNT | IOERLOC | 00007000
* 8 +-----------+-----------+-----+-----+-----+-----+ 00008000
* | IOERDW | IOERMSG | I*1 | I*2 | I*3 | 00009000
* 10 +-----------+-----------------+-----+-----+-----+ 00010000
* | IOERADR | 00011000
* 18 +-----------------------------------------------+ 00012000
* | IOERCSW | 00013000
* 20 +-----------------------------------------------+ 00014000
* | IOERCCW | 00015000
* 28 +-----------+-----------+-----+-----------------+ 00016000
* | IOEREXT | IOERCCH | I*4 | IOERSV1 | 00017000
* 30 +-----------+-----------+-----+-----------------+ 00018000
* | IOERCPEX | IOERSV2 | 00018100
* 38 +-----------+-----------+-----------+-----------+ 00018200
* | | 00019000
* = IOERDATA = 00020000
* | | 00021000
* 50 +-----------------------------------------------+ 00022200
* | | 00022400
* = ADDITIONAL SENSE DATA AREA = 00022600
* | OR OBR3211 EXTENTION OR CHANNEL | 00022800
* | CHECK REFLECTION EXTENTION | 00023000
* | | 00025000
* +-----------------------------------------------+ 00026000
* 00027000
*** IOERBLOK - I/O ERROR INFORMATION BLOCK 00028000
SPACE 1 00037000
IOERPNT DS 1F POINTER TO NEXT IOERBLOK 00038000
IOERLOC DS 1F ADDR OF CCW'S USED IN RECOVERY 00039000
IOERDW DS 1H SIZE IN D.W'S OF CORE TO CONSTRUCT CCW'S 00040000
IOERMSG DS XL3 COMMUNICATIONS WITH ERP AMD MSG WTR 00041000
IOERFLG1 DS 1X I*1 FLAG BYTE FOR ERROR RECOVERY ROUTINES 00046000
IOERFLG2 DS 1X I*2 SECOND FLAG BYTE FOR ERP USE 00047000
IOERWRK DS 1X I*3 MISCELLANEOUS WORK BYTE 00048000
IOERADR DS 1D HOME ADDRESS FOR DASDI DEVICES 00049000
IOERCSW DS 1D CSW ASSOCIATED WITH ERROR 00050000
IOERCCW DS 1D SENSE CCW USED TO SENSE THE REAL DEVICE 00051000
IOEREXT DS 1H SIZE OF EXTENDED SENSE AREA IN DBL WORDS 00055000
IOERCCH DS 1H SIZE OF I/O EXTENDED LOGOUT 00056010
IOERFLG3 DS 1X I*4 THIRD FLAG FOR SDR USE 00056120
IOERSV1 DS XL3 RESERVED FOR FUTURE USE 00056130
IOERCPEX DS 1F PENDING I/O CPEXBLOK 00056230
IOERSV2 DS 1F RESERVED FOR FUTURE USE 00056330
IOERSNSZ EQU 32 NUMBER OF SENSE BYTES SUPPORTED 00057000
IOERDATA DS (IOERSNSZ/8)D SENSE BYTES ASSOCIATED WITH ERROR 00057500
IOEREND DS 0F LABEL FOR END OF IOERBLOK 00057600
SPACE 1 00058000
IOERSIZE EQU (*-IOERBLOK)/8 IOERBLOK SIZE IN DOUBLE WORDS 00059000
SPACE 00059050
ORG IOERMSG BREAKDOWN FOR DMKMSW 00059100
IOERNUM DS 1X MESSAGE NUMBER FOR MESSAGE ROUTINE 00059150
IOERIND3 DS 1X INDICATORS FOR MESSAGE ROUTINE 00059200
IOERIND4 DS 1X INDICATORS, AS ABOVE 00059250
SPACE 00059300
ORG IOERCCW BREAKDOWN OF SENSE CCW FIELD 00059350
IOERVSER DS CL6 VOLUME SERIAL FOR STATISTICAL DATA 00059400
IOERLEN DS 1H NUMBER OF SENSE BYTES PRESENT 00059450
SPACE 00059500
ORG IOERDATA BREAKDOWN FOR CHANNEL CHECK HANDLER 00059550
IOERECSW DS 1F ECSW INFORMATION FROM CHANNEL LOGOUT 00059600
IOERCHAN DS 1X CHANNEL TYPE FLAG 00059650
ORG , FORCE ASSEMBLER TO END OF BLOCK 00059700
SPACE 1 00060000
* BITS DEFINED IN IOERFLG1 00061000
IOERPEND EQU X'80' PENDING D.E. INTERRUPT FROM INT.REQ. 00062000
IOERCLN EQU X'40' TAPE CLEANING IN PROGRESS 00063000
IOERERP EQU X'40' SPOOLING - ERROR ROUTINE IN CONTROL 00064000
IOERFSR EQU X'20' FORWARD SPACE RECORD BEING EXECUTED 00065000
IOERDEPD EQU X'20' SPOOLING - WAITING FOR DEVICE END 00066000
IOERBSR EQU X'10' BACKSPACE RECORD BEING EXECUTED 00067000
IOERDERD EQU X'10' SPOOLING - DEVICE END RECEIVED 00068000
IOERERG EQU X'08' ERASE GAP COMMAND IN PROGRESS 00069000
IOERXERP EQU X'08' SPOOLING - ERROR ROUTINE GETTING OBR DATA 00070000
IOERORA EQU X'04' OPPOSITE RECOVERY ACTION IN PROGRESS 00071000
IOERSUPP EQU X'02' CCW HAS SUPPRESS DATA TRANS. BIT ON 00072000
IOERVLD EQU X'01' READ OPPOSITE RECOVERY SUCCESSFUL 00073000
SPACE 1 00074000
* BITS DEFINED IN IOERFLG2 00075000
IOERSTAT EQU X'80' STATISTICAL DATA BEING UNLOADED 00076000
IOERHA EQU X'40' DASDI HOME ADDRESS BEING READ 00077000
IOERCAL EQU X'20' STANDALONE RECALIBRATE BEING EXECUTED 00078000
IOERECF EQU X'10' ERROR CORRECTION FUNCTION 00079000
IOERRBK EQU X'10' READ BACKWARD COMMAND 00079100
IOERREW EQU X'08' TAPE REWIND BEING EXECUTED 00080000
IOERCYLR EQU X'04' CYL. (IN SENSE BYTES) HAS BEEN RELOCATED 00081000
IOERMSW EQU X'04' MESSAGE WRITER IS ACTIVE 00081100
IOERCEMD EQU X'02' INTENSIVE RECORDING MODE 00082000
IOERVOL1 EQU X'01' DASD VOLID BEING READ 00083000
SPACE 1 00084000
* BITS DEFINED IN IOERFLG3 00084100
IOERREAD EQU X'80' SDR READ OPERATION 00084200
IOERALTR EQU X'40' ALT. TRACK RETRY IS IN PROGRESS 00084210
IOERRDR0 EQU X'20' READ HA, R0 IS IN PROGRESS 00084220
SPACE 00084300
* BITS DEFINED IN IOERIND3 00085000
IOERIGN EQU X'80' ALLOW IGNORE RESPONSE 00086000
IOERETRY EQU X'40' ALLOW RETRY RESPONSE 00087000
IOERCAN EQU X'20' ALLOW CANCEL RESPONSE 00088000
IOEREC EQU X'10' ERROR OCCURRED DURING RECOVERY ACTION 00089000
IOERDASD EQU X'08' HOME ADDRESS IS PRESENT 00090000
IOERDEC EQU X'04' OPERATOR DECISION IS NECESSARY 00091000
IOERINFO EQU X'02' INFORMATIONAL MESSAGE 00092000
IOERACT EQU X'01' OPERATOR ACTION IS REQUIRED 00093000
SPACE 1 00094000
* BITS DEFINED IN IOERIND4 00095000
IOERIGNR EQU X'80' OPERATOR RESPONDED IGNORE 00096000
IOERSTRT EQU X'40' OPERATOR RESPONDED RETRY 00097000
IOERCNCL EQU X'20' OPERATOR RESPONDED CANCEL 00098000
EJECT 00099000
ORG IOEREND 00099010
SPACE 00099020
*** IOERBLOK - CHANNEL CHECK REFLECTION EXTENTION 00099030
* | | 00099040
* 50 +-----------------------+-----------------------+ 00099050
* | IOERCCRL | IOERCCRA | 00099060
* 58 +-----------------------+-----------+-----------+ 00099070
* | IOERCUID | IOERCMDL | IOERMCEL | 00099080
* 60 +-----------------------+-----------+-----------+ 00099090
* | IOERUID | 00099100
* 68 +-----------------------------------------------+ 00099110
* | IOERFADD | 00099120
* 78 +-----------------------------------------------+ 00099130
* | IOERCCCW | 00099140
* 80 +-----------------------+-----------------------+ 00099150
* | IOERCCSW | 00099160
* 88 +-----------------------+-----------------------+ 00099170
* | IOERZCSW | IOERDTYP | 00099180
* 90 +-----+-----------------+-----------+-----------+ 00099190
* | I*5 | IOERCCUA | IOERMCUA | IOERLOGL | 00099200
* 98 |-----+-----------------+-----------+-----------| 00099210
* = = 00099220
* = IOERCLOG = 00099230
* = = 00099240
* | | 00099250
* +-----------------------------------------------+ 00099260
* 00099270
*** IOERBLOK - CHANNEL CHECK REFLECTION EXTENTION 00099280
* 00099290
SPACE 1 00099300
IOERCEXT DS 0D THIS IOERBLOK EXTENTION WILL 00099310
* ONLY BE USED 00099320
* FOR CHANNEL CHECK REFLECTION 00099330
IOERCCRL DS 1F LENGTH OF CCHREC 00099340
IOERCCRA DS 1F ADDRESS OF CCHREC 00099350
IOERCUID DS 1F CPU ID 00099360
IOERCMDL DS 1H CPU MACHINE MODEL NUMBER 00099370
* (0158,0168 ETC) 00099380
IOERMCEL DS 1H MAX LENGTH OF MACHINE (CPU) 00099390
* DEPENDENT, 00099400
* MACHINE CHECK EXTENDED LOGOUT AREA 00099410
IOERUID DS 1D USERID 00099420
IOERFADD DS 8H ACTIVE I/O UNITS 00099430
IOERCCCW DS 1D FAILING CCW 00099440
IOERCCSW DS 1D FAILING CSW 00099450
IOERZCSW DS 1F FAILING ECSW 00099460
IOERDTYP DS 1F CP DEVICE TYPE 00099470
IOERCHID DS CL1 I*5 CHANNEL IDENTIFICATION 00099480
SPACE 00099490
* CHANNELS DEFINED IN IOERCHID 00099500
IOER2860 EQU X'05' STANDALONE SELECTOR (2860) 00099510
IOER2870 EQU X'06' STANDALONE MPX (2870) 00099520
IOERB80 EQU X'07' STANDALONE BLOCK MPX (2880) 00099530
IOERS80 EQU X'08' SELECTOR CHANNEL (2880) 00099540
SPACE 00099550
IOERCCUA DS CL3 ACTUAL FAILING DEVICE ADDRESS 00099560
IOERMCUA DS CL2 ADDRESS FROM MACHINE LOCATION 00099570
* HEX'BA' 00099580
IOERLOGL DS CL2 LENGTH OF CHANNEL LOGOUT 00099590
IOERCLOG DS 0F CHANNEL LOGOUT AREA 00099600
IOERLG80 DS 0CL112 2880 CHANNEL - 112 BYTES 00099610
IOERLG70 DS 0CL24 2870 CHANNEL - 24 BYTES 00099620
IOERLG60 DS 0CL24 2860 CHANNEL - 24 BYTES 00099630
IOERADDR DS 1F UNIT ADDR STORED BY INTERGRATED 00099640
* CHANNEL 00099650
IOERLG33 DS 0CL640 3033 CHANNEL - 640 BYTES 00099660
IOERLG45 DS 0CL96 145 INTERGRATED CHANNEL - 96 00099670
* BYTES 00099680
IOERLG35 DS 0CL24 135 INTERGRATED CHANNEL - 24 00099690
* BYTES 00099700
SPACE 00099710
* END OF IOERBLOK EXTENTION FOR CHANNEL CHECK REFLECTION 00099720
SPACE 3 00099730
EJECT 00130000
IOERBLOK DSECT CONTINUE 00131000
SPACE 00132000
ORG IOEREND 00132500
*** XOBR3211 - EXTENDED OUTBOARD RECORDING BLOCK 00133000
* 00134000
* 48 +-----------------------------------------------+ 00135000
* | XOBRCCW1 | 00136000
* 50 +-----------------------------------------------+ 00137000
* | XOBRCCW2 | 00138000
* 58 +-----------------------------------------------+ 00139000
* | XOBRCCW3 | 00140000
* 60 +-----------------------------------------------+ 00141000
* | XOBRCCW4 | 00142000
* 68 +-----+-----+-----------+-----------------------+ 00143000
* | X*1 | X*2 | XOBRMIS1 | XOBRMIS2 | 00144000
* 70 +-----+-----+-----------+-----------------------+ 00145000
* | | 00146000
* = XOBR512 = 00147000
* | | 00148000
* 270 +-----------------------------------------------+ 00149000
* | | 00150000
* = XOBR180 = 00151000
* | | 00152000
* 328 +-----------------------------------------------+ 00153000
* | XOBR010 | 00154000
* 330 | +-----------------------------------+ 00155000
* | | XOBRSV1 | 00156000
* 338 +-----------+-----------------------------------+ 00157000
* 00158000
*** XOBR3211 - EXTENDED OUTBOARD RECORDING BLOCK 00159000
SPACE 00162000
XOBRCCW1 DS 1D CCW USED TO READ OBR INFORMATION 00163000
XOBRCCW2 DS 1D CCW USED TO READ OBR INFORMATION 00164000
XOBRCCW3 DS 1D CCW USED TO READ OBR INFORMATION 00165000
XOBRCCW4 DS 1D CCW USED TO READ OBR INFORMATION 00166000
XOBRFLAG DS 1X X*1 OUTBOARD RECORDING FLAG BYTE 00167000
XOBRSTAT DS 1X X*2 OUTBOARD RECORDING STATUS BYTE 00168000
XOBRMIS1 DS 1H USED BY THE ERROR ROUTINE 00169000
XOBRMIS2 DS 1F USED BY THE ERROR ROUTINE 00170000
XOBR512 DS CL512 SPACE FOR USCB DATA 00171000
XOBR180 DS CL184 SPACE FOR FCB DATA 00172000
XOBR010 DS CL10 SPACE FOR FIRST TEN ERROR CHARACTERS 00176000
XOBRSV1 DS CL6 RESERVED FOR FUTURE USE 00177000
SPACE 1 00178000
XOBRSIZE EQU (*-IOERBLOK)/8 SIZE OF IOER AND XOBR IN DOUBLE WORDS 00179000
XOBREXT EQU (*-XOBRCCW1)/8 SIZE OF XOBR3211 IN DOUBLE WORDS 00180000
SPACE 00180200
ORG XOBR180 RE-DEFINITION FOR PLB CHECK 00180500
XOBR150 DS CL150 SPACE FOR PLB CHECK DATA 00180800
SPACE 00181000
* BITS DEFINED IN XOBRFLAG 00182000
XOBRT1 EQU X'80' T1 BUFFER TYPE INFORMATION PRESENT 00183000
XOBRT2 EQU X'40' T2 BUFFER TYPE INFORMATION PRESENT 00184000
XOBRT3 EQU X'20' T3 BUFFER TYPE INFORMATION PRESENT 00185000
SPACE 00186000
* BITS DEFINED IN XOBRSTAT 00187000
XOBRRT1 EQU X'80' PERFORM ROUTINE 1 IN ERROR MODULE 00188000
XOBRRT2 EQU X'40' PERFORM ROUTINE 2 IN ERROR MODULE 00189000
XOBRRT3 EQU X'20' PERFORM ROUTINE 3 IN ERROR MODULE 00190000
XOBRRT4 EQU X'10' PERFORM ROUTINE 4 IN ERROR MODULE 00191000
XOBRRT5 EQU X'08' PERFORM ROUTINE 5 IN ERROR MODULE 00192000
XOBRRT6 EQU X'04' PERFORM ROUTINE 6 IN ERROR MODULE 00193000
XOBRRT7 EQU X'02' PERFORM ROUTINE 7 IN ERROR MODULE 00194000
XOBRRT8 EQU X'01' PERFORM ROUTINE 8 IN ERROR MODULE 00195000
SPACE 00196000
EJECT 00197000
IRMBLOK DSECT 00197010
SPACE 1 00197020
*** IRMBLOK - INTENSIVE ERROR RECORDING MODE BLOCK 00197030
* 00197040
* 0 +-----------------------+-----------+-----------+ 00197050
* | IRMFWPTR | IRMRLADD | IRMLMT | 00197060
* 8 +-----+-----+-----+-----+-----------+-----+-----+ 00197070
* | I*1 | I*2 | I*3 | I*4 | IRMLMTCT | I*5 | I*6 | 00197080
* 10 +-----+-----+-----+-----+-----------+-----+-----+ 00197090
* 00197100
*** IRMBLOK - INTENSIVE ERROR RECORDING MODE BLOCK 00197110
SPACE 1 00197120
IRMFWPTR DS 1F RESERVED 00197130
IRMRLADD DS 1H DEVICE ADDRESS TO BE MONITORED 00197140
IRMLMT DS 1H LIMIT COUNT - RECORD EVERY 00197150
* 'NTH' ERROR 00197160
IRMBYT1 DS 1X I*1 FIRST SENSE BYTE SPECIFIED 00197170
IRMBIT1 DS 1X I*2 SENSE BIT WITHIN SENSE BYTE 00197180
IRMBYT2 DS 1X I*3 SECOND SENSE BYTE SPECIFIED 00197190
IRMBIT2 DS 1X I*4 SENSE BIT WITHIN SENSE BYTE 00197200
IRMLMTCT DS 1H SUMMARY COUNT FOR LIMIT DETECTION 00197210
IRMMAXCT DS 1X I*5 COUNT OF RECORDINGS FOR 00197220
* THIS REQUEST 00197230
IRMFLG DS 1X I*6 FLAG BYTE 00197240
SPACE 1 00197250
IRMSIZE EQU (*-IRMBLOK)/8 IRMBLOK SIZE IN DOUBLE WORDS 00197260
SPACE 1 00197270
* BITS DEFINED IN IRMFLAG 00197280
IRMAND EQU X'80' 'AND' CONDITION SPECIFIED 00197290
IRMOR EQU X'40' 'OR' CONDITION SPECIFIED 00197300
EJECT 00197310
POP PRINT 00198000
SPACE 00199000