* 00100000 * %GOTO IOBL1; /* 00150000 MACRO 00200000 IEZIOB &DSECT=YES */ 00300000 *%IOBL1 : ; 00350000 * 00400000 */* INPUT/OUTPUT BLOCK */ 00410000 */* */ 00420000 */* OS/VS2 SU30, 01/18/77, LEVEL=1 */ 00425000 */* */ 00440000 */* METHOD OF ACCESS */ 00442000 */* BAL - DSECT IS PRODUCED UNLESS DSECT=NO IS SPECIFIED. */ 00444000 */* USING ON IOB GIVES ADDRESSABILITY FOR ALL SYMBOLS. */ 00446000 */* PL/S - DCL (IOBPRPTR,IOBSTPTR) PTR */ 00448000 */* */ 00448400 *%GOTO IOBL2; /* 00448800 SPACE 1 00449200 AIF ('&DSECT' EQ 'NO').NODSCT 00450000 IOB DSECT , - IOBSTDRD-16 00500000 AGO .CONT 00550000 .NODSCT ANOP 00560000 DS 0D 00570000 IOB EQU * - IOBSTDRD-16 00580000 .CONT ANOP 00590000 SPACE 1 00592000 *********************************************************************** 00600000 * * 00700000 * PREFIX SECTIONS OF THE IOB * 00800000 * * 00900000 *********************************************************************** 01000000 SPACE 1 01100000 IOBPREFX DS 0D 01200000 SPACE 1 01300000 * ****************************************** 01400000 * * * 01500000 * * QSAM,BSAM,BPAM PREFIX * 01600000 * * CHAINED SCHEDULING *** 16 BYTES * 01700000 * * * 01800000 * ****************************************** 01900000 SPACE 1 02000000 IOBQSAMC DS 0D 02050000 IOBBSAMC DS 0D 02100000 IOBBPAMC DS 0D 02150000 IOBCFLG1 DS B - I/O INDICATORS 02200000 IOBV6CHN EQU X'80' - I/O CHAINED BIT SET BY IGG019V6 @ZA56251 02250000 IOBRSV02 EQU X'40',,C'X' RESERVED 02300000 IOBRSV03 EQU X'20',,C'X' RESERVED 02350000 IOBRSV04 EQU X'10',,C'X' RESERVED 02360000 IOBPTST EQU X'08' - NOTE OR POINT OPERATION IS IN PROCESS 02370000 IOBABAPP EQU X'04' - ERROR HAS BEEN PROCESSED ONCE BY ABNORMAL-END 02400000 * APPENDAGE ROUTINE 02450000 IOBRSTCH EQU X'02' - RESTART CHANNEL 02500000 IOBPCI EQU X'01' - SET WHEN A PROGRAM-CONTROLLED INTERRUPTION 02600000 * (PCI) OCCURS 02650000 IOBRSV05 DS XL1 - RESERVED 02700000 IOBCINOP DS CL1 - OFFSET OF THE LAST I/O COMMAND FOR INPUT 02900000 * OPERATION (NOP CCW) FROM THE ORIGIN OF THE ICB 03000000 IOBCONOP DS CL1 - OFFSET OF THE LAST I/O COMMAND FOR AN OUTPUT 03100000 * OPERATION (NOP CCW) FROM THE ORIGIN OF THE ICB 03200000 IOBCECB DS F - EVENT CONTROL BLOCK USED BY BSAM OR QSAM. 03300000 * SHOWS THE STATUS OF THE I/O OPERATION. 03350000 IOBCICB DS A - ADDRESS OF THE FIRST INTERRUPT CONTROL BLOCK 03400000 * (ICB) ON THE ICB QUEUE 03450000 IOBCNOPA DS A - ADDRESS OF THE NOP COMMAND AT THE END OF THE 03500000 * QUEUE 03550000 SPACE 2 03600000 ORG IOBPREFX+8 03700000 SPACE 1 03800000 * ****************************************** 03900000 * * * 04000000 * * QSAM,BSAM,BPAM PREFIX * 04100000 * * NORMAL SCHEDULING *** 8 BYTES * 04200000 * * * 04300000 * ****************************************** 04400000 SPACE 1 04500000 IOBQSAMN DS 0D 04550000 IOBBSAMN DS 0D 04600000 IOBBPAMN DS 0D 04650000 IOBNIOBA DS 0A - ADDRESS OF THE NEXT IOB ASSOCIATED WITH ONE 04700000 * PARTICULAR DCB. THE IOB'S ARE CHAINED IN 04750000 * SEQUENTIAL ORDER. 04760000 IOBNFLG1 DS B - FLAG BYTE 04800000 IOBPRTOV EQU X'80' - PRTOV HAS OCCURRED (PRINTER DEVICES) 05000000 * (MDC331) @Z40FP9A 05010000 IOBSEGMT EQU X'80' - SEGMENTING OF A SPANNED RECORD IS IN PROCESS 05020000 * (QSAM LOCATE MODE, LOGICAL RECORD INTERFACE, 05030000 * UPDATE PROCESSING) (DIRECT ACCESS) (OS/VS2) 05040000 * (MDC332) @Z40FP9A 05050000 IOBWRITE EQU X'40' - A WRITE OPERATION IS IN PROCESS 05100000 IOBREAD EQU X'20' - A READ OPERATION IS IN PROCESS 05200000 IOBUPDAT EQU X'10' - UPDATE FLAG. SET ON TOGETHER WITH BIT 1 OF 05300000 * THIS BYTE TO SHOW THAT THE BLOCK IS TO BE 05350000 * UPDATED. CAN ONLY OCCUR IF THE OPEN 05360000 * PARAMETER IS UPDAT. 05370000 IOBBKSPC EQU X'08' - IOB BEING USED FOR BACKSPACE, CONTROL OR 05400000 * NOTE/POINT OPERATION 05450000 IOBSPAN EQU X'04' - THE RECORD CURRENTLY BEING PROCESSED HAS MORE 05500000 * THAN ONE SEGMENT (QSAM LOCATE MODE, LOGICAL 05510000 * RECORD INTERFACE, UPDATE PROCESSING OF 05520000 * SPANNED RECORDS) 05530000 IOBUPERR EQU X'02' - UPDATE CHANNEL PROGRAM HAS BEEN SPLIT INTO 05550000 * TWO PARTS MDC036 05560000 IOBFIRST EQU X'01' - THIS IS THE FIRST IOB ON CHAIN 05600000 IOBNIOBB DS AL3 - ADDRESS OF THE NEXT IOB ASSOCIATED WITH ONE 05800000 * PARTICULAR DCB. THE IOB'S ARE CHAINED IN 05850000 * SEQUENTIAL ORDER. 05900000 IOBNECB DS F - EVENT CONTROL BLOCK USED BY QSAM TO INDICATE 06000000 * THE STATUS OF THE I/O EVENT 06060000 SPACE 2 06100000 ORG IOBPREFX+8 06200000 SPACE 1 06300000 * ****************************************** 06500000 * * * 06600000 * * BDAM PREFIX *** 8 BYTES * 06700000 * * * 06800000 * ****************************************** 06900000 SPACE 1 07000000 IOBBDAM DS 0D 07050000 IOBDQADA DS 0A - ADDRESS OF THE OTHER IOB REFERRED TO IN 07200000 * DESCRIPTION OF IOBDEQ BELOW 07300000 IOBDEQIN DS B - DEQUEUE LOOP INDICATOR 07400000 IOBDEQ EQU X'80' - THIS IOB IS USING A TRACK THAT WAS DEQUEUED BY 07500000 * ANOTHER IOB WHICH IS NOW WAITING TO DEQUEUE 07510000 * ANOTHER TRACK. THE OTHER IOB ENQUEUED ON TWO 07520000 * OR MORE TRACKS TO FIND SPACE IN WHICH TO 07530000 * WRITE/ADD A SPANNED RECORD. THE OTHER IOB 07540000 * REMAINED ENQUEUED UNTIL IT EITHER WROTE THE 07542000 * RECORD OR DETERMINED THAT THERE WAS ENOUGH 07544000 * CONTIGUOUS FREE SPACE ON THE TRACKS TO CONTAIN 07546000 * THE RECORD. AFTER THE OTHER IOB DEQUEUED THE 07548000 * CURRENT TRACK, THE DEQUEUEING WAS INTERRUPTED 07548400 * BY THE NEED OF THIS IOB FOR THE CURRENT TRACK. 07548800 IOBRSV07 EQU X'40',,C'X' RESERVED 07550000 IOBRSV08 EQU X'20',,C'X' RESERVED 07560000 IOBRSV09 EQU X'10',,C'X' RESERVED 07570000 IOBRSV10 EQU X'08',,C'X' RESERVED 07580000 IOBRSV11 EQU X'04',,C'X' RESERVED 07590000 IOBRSV12 EQU X'02',,C'X' RESERVED 07592000 IOBRSV13 EQU X'01',,C'X' RESERVED 07594000 IOBDQADB DS AL3 - ADDRESS OF THE OTHER IOB REFERRED TO IN 07600000 * DESCRIPTION OF IOBDEQ ABOVE 07700000 IOBSWAP DS A - ADDRESS OF THE SEGMENT WORK AREA USED BY THIS 07800000 * IOB TO READ OR WRITE A RECORD OF A FORMAT VS 07850000 * DATA SET 07860000 SPACE 2 07900000 ORG IOBPREFX+12 08100000 SPACE 1 08200000 * ****************************************** 08400000 * * * 08500000 * * GAM,QISAM PREFIX *** 4 BYTES * 08550000 * * * 08600000 * ****************************************** 08800000 SPACE 1 08900000 IOBGAM EQU * 08950000 IOBQISAM EQU * 09000000 IOBGQECB DS F - EVENT CONTROL BLOCK THAT IS WITHIN FIRST IOB 09100000 * ONLY (GAM) 09150000 * EVENT CONTROL BLOCK USED TO INDICATE STATUS 09160000 * OF AN I/O EVENT (QISAM) 09170000 SPACE 3 09200000 *********************************************************************** 09300000 * * 09400000 * STANDARD SECTION OF THE IOB * 09500000 * * 09600000 *********************************************************************** 09700000 SPACE 1 09800000 IOBSTDRD DS 0D 09900000 SPACE 1 10000000 IOBFLAG1 DS B - FLAG BYTE 1 10100000 IOBDATCH EQU X'80' - DATA CHAINING USED IN CHANNEL PROGRAM 10300000 IOBCMDCH EQU X'40' - COMMAND CHAINING USED IN CHANNEL PROGRAM 10400000 IOBERRTN EQU X'20' - ERROR ROUTINE IS IN CONTROL 10500000 IOBRPSTN EQU X'10' - DEVICE IS TO BE REPOSITIONED 10600000 IOBCYCCK EQU X'08' - CYCLIC REDUNDANCY CHECK (CRC) NEEDED (TAPE) 10700000 IOBFCREX EQU X'08' - FETCH COMMAND RETRY EXIT (DIRECT ACCESS) 10750000 IOBIOERR EQU X'04' - EXCEPTIONAL CONDITION. AFTER THE ERROR 10800000 * ROUTINE RETURNS AND THIS BIT IS ON, THE ERROR 10850000 * IS CONSIDERED PERMANENT. 10860000 IOBUNREL EQU X'02' - IOB UNRELATED FLAG (I.E., NONSEQUENTIAL) 10900000 IOBRSTRT EQU X'01' - IF 1, RESTART ADDRESS IN IOB TO BE USED. 11000000 * IF 0, START. (OS/VS1) MDC034 11050000 IOBSPSVC EQU X'01' - FOR SAM/PAM, SET BY SVC IF I/O APPENDAGE 11100000 * SHOULD NOT PROCESS INTERRUPT (OS/VS2) MDC035 11150000 IOBFLAG2 DS B - FLAG BYTE 2 11200000 IOBHALT EQU X'80' - HALT I/O HAS BEEN ISSUED BY SVC PURGE ROUTINE 11400000 IOBSENSE EQU X'40' - SENSE WILL NOT BE PERFORMED UNTIL THE DEVICE 11500000 * IS FREE 11550000 IOBPURGE EQU X'20' - IOB HAS BEEN PURGED TO ALLOW I/O ACTIVITY TO 11600000 * QUIESCE. (OS/VS1) MDC046 11650000 IOBRRT3 EQU X'20' - TYPE 3 RELATED REQUEST (OS/VS2) MDC048 11660000 IOBRDHA0 EQU X'10' - HOME ADDRESS (R0) RECORD IS TO BE READ. SEEK 11700000 * COMMAND NOT NEEDED. (OS/VS1) MDC047 11750000 IOBRRT2 EQU X'10' - TYPE 2 RELATED REQUEST (OS/VS2) MDC049 11760000 IOBALTTR EQU X'08' - NO TEST FOR OUT-OF-EXTENT. AN ALTERNATE TRACK 11800000 * IS IN USE. 11900000 IOBSKUPD EQU X'04' - SEEK ADDRESS IS BEING UPDATED. CYLINDER END 12000000 * OR FILE MASK VIOLATION HAS OCCURRED. 12100000 IOBSTATO EQU X'02' - DEVICE END STATUS HAS BEEN OR'ED WITH CHANNEL 12200000 * END STATUS (GRAPHICS DEVICE) 12300000 IOBPNCH EQU X'01' - ERROR RECOVERY IN CONTROL FOR A 2540 CARD 12400000 * PUNCH WITH THREE BUFFERS (QSAM) 12500000 * RESETPL MACRO INSTRUCTION WAS USED (BTAM) 12550000 IOBSENS0 DS B - FIRST SENSE BYTE 12700000 IOBS0B0 EQU X'80' - BIT 0 (DEVICE DEPENDENT) 12750000 IOBS0B1 EQU X'40' - BIT 1 (DEVICE DEPENDENT) 12760000 IOBS0B2 EQU X'20' - BIT 2 (DEVICE DEPENDENT) 12770000 IOBS0B3 EQU X'10' - BIT 3 (DEVICE DEPENDENT) 12780000 IOBS0B4 EQU X'08' - BIT 4 (DEVICE DEPENDENT) 12790000 IOBS0B5 EQU X'04' - BIT 5 (DEVICE DEPENDENT) 12792000 IOBS0B6 EQU X'02' - BIT 6 (DEVICE DEPENDENT) 12794000 IOBS0B7 EQU X'01' - BIT 7 (DEVICE DEPENDENT) 12796000 IOBSNSC9 EQU X'01' - CHANNEL 9 SENSED IN CARRIAGE TAPE 12798000 IOBSENS1 DS B - SECOND SENSE BYTE 12800000 IOBS1B0 EQU X'80' - BIT 0 (DEVICE DEPENDENT) 12850000 IOBS1B1 EQU X'40' - BIT 1 (DEVICE DEPENDENT) 12860000 IOBS1B2 EQU X'20' - BIT 2 (DEVICE DEPENDENT) 12870000 IOBS1B3 EQU X'10' - BIT 3 (DEVICE DEPENDENT) 12880000 IOBS1B4 EQU X'08' - BIT 4 (DEVICE DEPENDENT) 12890000 IOBS1B5 EQU X'04' - BIT 5 (DEVICE DEPENDENT) 12892000 IOBS1B6 EQU X'02' - BIT 6 (DEVICE DEPENDENT) 12894000 IOBS1B7 EQU X'01' - BIT 7 (DEVICE DEPENDENT) 12896000 IOBECBPT DS 0A - ADDRESS OF ECB TO BE POSTED ON I/O COMPLETION 13000000 IOBECBCC DS CL1 - COMPLETION CODE FOR AN I/O REQUEST. THIS CODE 13100000 * WILL APPEAR IN THE FIRST BYTE OF AN ECB. 13150000 IOBECBPB DS AL3 - ADDRESS OF THE ECB TO BE POSTED UPON THE 13200000 * COMPLETION OF AN I/O EVENT. FOR BSAM/BPAM, 13202000 * ECB IS IN THE DECB. FOR QSAM, ECB IS IN THE 13204000 * QSAM PREFIX OF THE IOB. 13206000 IOBFLAG3 DS 0B - I/O SUPERVISOR ERROR ROUTINE FLAG BYTE 13210000 * (DEVICE DEPENDENT) 13212000 IOBFL3 DS B - FLAG 3 - STATUS ERROR COUNTS FOR MAGNETIC 13220000 * DOCUMENT READER (3890) OR FLAGS FOR 3800 13230000 * (OS/VS1) (MDC307) @X50AD9A 13240000 IOBCCC EQU X'80' - CHANNEL CONTROL CHECK ERROR COUNT (3890) 13250000 * MDC038 13255000 IOBICC EQU X'40' - INTERFACE CONTROL CHECK ERROR COUNT (3890) 13260000 * MDC039 13265000 IOBCDC EQU X'20' - CHANNEL DATA CHECK ERROR (3890) MDC040 13270000 IOBACU EQU X'10' - ATTENTION/CONTROL UNIT ERROR (3890) MDC041 13275000 IOBCNC EQU X'08' - CHAIN CHECK ERROR (3890) MDC042 13280000 IOBSDR EQU X'08' - STATISTICS ONLY FLAG (3800) (MDC306) @X50AD9A 13285000 IOBMSG EQU X'04' - MESSAGE FLAG (3890 OR 3800) (MDC308) @X50AD9A 13292000 IOBICL EQU X'02' - INCORRECT LENGTH ERROR (3890) MDC020 13352000 IOBJAM EQU X'02' - SET ON WHEN JES SUBSYSTEM HAS DETECTED A 13362000 * PAPER JAM SO 3800 ERP WILL SUPPRESS ITS 13372000 * INTERVENTION REQUIRED MESSAGE (3800) 13382000 * (MDC330) @X50AD9A 13392000 IOBLOG EQU X'01' - LOG OUT FLAG (3890 OR 3800) (MDC309) @X50AD9A 13412000 IOBCSW DS 0CL7 - LOW-ORDER SEVEN BYTES OF THE LAST CSW THAT 13500000 * REFLECTS THE STATUS FOR THIS REQUEST 13502000 IOBIOCSW DS 0CL5 - LOW-ORDER BYTES OF CSW FOR MAGNETIC DOCUMENT 13510000 * READER (3890) (OS/VS1) MDC022 13520000 IOBCMDA DS AL3 - COMMAND ADDRESS (3890) MDC023 13530000 IOBSTBYT DS 0BL2 - STATUS BITS 32-47 (3890) MDC024 13540000 IOBUSTAT DS B - CSW UNIT STATUS FLAGS (3800) (MDC311) @Z40MP9A 13540800 IOBUSB0 EQU X'80' - ATTENTION (MDC312) @Z40MP9A 13541600 IOBUSB1 EQU X'40' - STATUS MODIFIER (MDC313) @Z40MP9A 13542400 IOBUSB2 EQU X'20' - CONTROL UNIT END (MDC314) @Z40MP9A 13543200 IOBUSB3 EQU X'10' - BUSY (MDC315) @Z40MP9A 13544000 IOBUSB4 EQU X'08' - CHANNEL END (MDC316) @Z40MP9A 13544800 IOBUSB5 EQU X'04' - DEVICE END (MDC317) @Z40MP9A 13545600 IOBUSB6 EQU X'02' - UNIT CHECK (MDC318) @Z40MP9A 13546400 IOBUSB7 EQU X'01' - UNIT EXCEPTION (MDC319) @Z40MP9A 13547200 IOBCSTAT DS B - CSW CHANNEL STATUS FLAGS (3800) 13548000 * (MDC320) @Z40MP9A 13548800 IOBCSB0 EQU X'80' - PROGRAM CONTROL INTERRUPT (MDC321) @Z40MP9A 13550000 IOBCSB1 EQU X'40' - INCORRECT LENGTH (MDC322) @Z40MP9A 13560000 IOBCSB2 EQU X'20' - PROGRAM CHECK (MDC323) @Z40MP9A 13570000 IOBCSB3 EQU X'10' - PROTECTION CHECK (MDC324) @Z40MP9A 13580000 IOBCSB4 EQU X'08' - CHANNEL DATA CHECK (MDC325) @Z40MP9A 13590000 IOBCSB5 EQU X'04' - CHANNEL CONTROL CHECK (MDC326) @Z40MP9A 13600000 IOBCSB6 EQU X'02' - INTERFACE CONTROL CHECK (MDC327) @Z40MP9A 13610000 IOBCSB7 EQU X'01' - CHAINING CHECK (MDC328) @Z40MP9A 13620000 DS XL2 - LAST TWO BYTES OF IOBCSW 13630000 IOBSTART DS 0A - ADDRESS OF CHANNEL PROGRAM TO BE EXECUTED 13700000 IOBSIOCC DS B - SIO CODE. BITS 2 AND 3 CONTAIN CONDITION CODE 13800000 * RETURNED AFTER EXECUTION OF SIO INSTRUCTION 13850000 * FOR THIS I/O EVENT. 13860000 IOBSTRTB DS AL3 - ADDRESS OF CHANNEL PROGRAM TO BE EXECUTED 13900000 IOBDCBPT DS 0A - ADDRESS OF DCB ASSOCIATED WITH THIS IOB 14100000 IOBFLAG4 DS B - FLAG BYTE MDC011 14110000 IOBGDPOL EQU X'80' - RE-ENTER SIO APPENDAGE FOR OLTEP GUARANTEED 14120000 * DEVICE PATH MDC012 14130000 IOBCC3WE EQU X'40' - USER REQUESTS THAT IOS POST A X'6D' FOR A 14140000 * CONDITION CODE 3 ON ATTEMPTED I/O OPERATIONS 14143000 * (OS/VS2) (MDC310) @Z309P9A 14146000 IOBPMERR EQU X'20' - VTAM SETS THIS BIT ON TO INDICATE TO IOS THAT 14150000 * VTAM SHOULD BE POSTED WITH A PERMANENT I/O 14152000 * ERROR BECAUSE ALL ALTERNATE PATHS TO THE 3705 14154000 * HAVE BEEN TRIED (OS/VS1) (MDC329) @X04BH9A 14156000 IOBRSV40 EQU X'10',,C'X' - RESERVED 14160000 IOBRSV41 EQU X'08',,C'X' - RESERVED 14170000 IOBRSV42 EQU X'04',,C'X' - RESERVED 14180000 IOBJES3I EQU X'02' - JES3 INTERVENTION REQUIRED NOTIFICATION. 14190000 * SETTING THIS BIT WILL RESULT IN TURNING ON BIT 14192000 * IOSPGDPX IN THE IOSB. (OS/VS2) 14194000 * (MDC305) @Y02BP9A 14196000 IOBRSV44 EQU X'01',,C'X' - RESERVED 14200000 IOBDCBPB DS AL3 - ADDRESS OF DCB ASSOCIATED WITH THIS IOB 14300000 IOBRESTR DS 0A - AFTER SVC 16 (PURGE) - QUIESCE - ADDRESS OF 14500000 * THE NEXT IOB IN THE PURGE CHAIN. (LAST IOB IN 14550000 * THE CHAIN, BYTE 4 IS FF.) 14560000 * DURING I/O SUPERVISOR WRITE-TO-OPERATOR 14570000 * ROUTINE CONTROL - CCHH PART OF THE ADDRESS OF 14580000 * A DEFECTIVE TRACK. 14590000 * DURING I/O ERROR CORRECTION (MEANINGFUL ONLY 14592000 * IF BIT 3 IN THE IOBFLAG1 FIELD IS ON) - 14594000 * ADDRESS OF THE CHANNEL PROGRAM USED TO CORRECT 14596000 * AN ERROR CONDITION. 14598000 * AFTER I/O ERROR CORRECTION - IF A CHANNEL 14598400 * PROGRAM IS RESTARTED THROUGH A CCW OTHER THAN 14598800 * THE ONE POINTED TO BY THE IOBSTART FIELD, ITS 14599200 * ADDRESS IS HERE. 14599600 IOBREPOS DS CL1 - DURING I/O ERROR CORRECTION (MEANINGFUL ONLY 14600000 * IF BIT 3 IN THE IOBFLAG1 FIELD IS ON) FOR 14650000 * MAGNETIC TAPE ONLY - THE CONTROL COMMAND 14660000 * (BSR, FSR, ERG) REQUIRED TO REPOSITION OVER A 14670000 * BLOCK. 14680000 IOBRSTRB DS AL3 - SAME AS IOBRESTR ABOVE 14700000 IOBINCAM DS 0H - QSAM, BSAM, EXCP ACCESS METHOD -- NORMAL 14900000 * SCHEDULING - VALUE USED TO INCREMENT BLOCK 14950000 * COUNT FIELD IN DCB FOR MAGNETIC TAPE. 14960000 * CHAINED SCHEDULING - ZEROS. 14970000 * QSAM, BSAM -- OPERATION CODE OF WRITE CCW WHEN 14980000 * A USASI CONTROL CHARACTER AND NO DATA IS TO BE 14990000 * WRITTEN (PRINTER AND CARD PUNCH ONLY) 14992000 IOBBTAMF DS B - FLAG BYTE FOR BTAM 15000000 IOBPRMER EQU X'80' - SAD OR ENABLE ISSUED BY OPEN RESULTED IN A 15100000 * PERMANENT I/O ERROR 15150000 IOBINUSE EQU X'40' - THIS IOB IS CURRENTLY IN USE BY AN I/O 15200000 * OPERATION 15210000 IOBRSV14 EQU X'20',,C'X' RESERVED 15250000 IOBRSV15 EQU X'10',,C'X' RESERVED 15260000 IOBRSV16 EQU X'08',,C'X' RESERVED 15270000 IOBRSV17 EQU X'04',,C'X' RESERVED 15280000 IOBRFTMG EQU X'02' - A REQUEST-FOR-TEST MESSAGE RECEIVED FROM A 15290000 * REMOTE 3270 DISPLAY STATION ICB478 15292000 IOBOLTST EQU X'01' - LINE IS UNDER ON-LINE TEST OPERATION 15300000 IOBRSV19 DS XL1 - RESERVED 15500000 SPACE 2 15510000 ORG IOBINCAM 15520000 IOBFL4 DS B - FLAG 4 - SENSE ERROR COUNTS FOR MAGNETIC 15530000 * DOCUMENT READER (3890) (OS/VS1) OR ERROR CODE 15535000 * PASSBACK BYTE FOR 3895 (FOR ERROR CODE VALUES 15540000 * SEE IBM 3895 DOCUMENT READER/INSCRIBER MACHINE 15541000 * AND PROGRAMMING DESCRIPTION, GA24-3620) 15542000 * (MDC333) @G30HP9A 15543000 IOBOVR EQU X'80' - OVERRUN ERROR (3890) (MDC026) @G30HP9A 15544000 IOBREJ EQU X'40' - COMMAND REJECT ERROR (3890) (MDC027) @G30HP9A 15550000 IOBDCK EQU X'20' - DATA CHECK ERROR (3890) (MDC028) @G30HP9A 15560000 IOBBUS EQU X'10' - BUS-OUT ERROR (3890) (MDC029) @G30HP9A 15570000 IOBEQP EQU X'08' - EQUIPMENT CHECK ERROR (3890) (MDC030) @G30HP9A 15580000 IOBENT EQU X'04' - FIRST TIME ENTRY SWITCH (3890) 15590000 * (MDC045) @G30HP9A 15592000 IOBRSV47 EQU X'02',,C'X' - RESERVED FOR 3890 MDC044 15620000 IOBRSV46 EQU X'01',,C'X' - RESERVED FOR 3890 MDC033 15622000 SPACE 2 15630000 ORG IOBINCAM 15640000 IOBCRDCC DS CL1 - DATA CHECK ERROR COUNT (OPTICAL READER) 15700000 IOBCRILC DS CL1 - INCORRECT LENGTH ERROR COUNT (OPTICAL READER) 15800000 SPACE 2 15900000 IOBERRCT DS H - USED BY I/O SUPERVISOR ERROR ROUTINES TO COUNT 16000000 * TEMPORARY ERRORS DURING RETRY 16050000 SPACE 3 16100000 *********************************************************************** 16200000 * * 16300000 * EXTENSION SECTIONS OF THE IOB * 16400000 * * 16500000 *********************************************************************** 16600000 SPACE 1 16700000 IOBEXTEN DS 0D 16800000 SPACE 1 16900000 * ****************************************** 17000000 * * * 17100000 * * DIRECT ACCESS EXTENSION *** 8 BYTES * 17200000 * * * 17300000 * ****************************************** 17400000 SPACE 1 17500000 IOBSEEK DS 0CL8 - A SEEK ADDRESS (IN THE FORMAT MBBCCHHR) USED 17600000 * WITH A CHANNEL PROGRAM 17650000 IOBM DS CL1 - THE NUMBER OF THE DEB EXTENT TO BE USED FOR 17800000 * THIS REQUEST. THE FIRST EXTENT IS NUMBER 0. 17850000 IOBBB DS 0CL2 - BIN NUMBER(DATA CELL) 18000000 IOBBB1 DS CL1 18100000 IOBBB2 DS CL1 18200000 IOBCC DS 0CL2 - CYLINDER NUMBER 18400000 IOBCC1 DS CL1 18500000 IOBCC2 DS CL1 18600000 IOBHH DS 0CL2 - TRACK NUMBER 18800000 IOBHH1 DS CL1 18900000 IOBHH2 DS CL1 19000000 IOBR DS CL1 - RECORD NUMBER 19100000 SPACE 2 19200000 ORG IOBEXTEN 19250000 SPACE 1 19260000 * ****************************************** 19300000 * * * 19400000 * * BTAM EXTENSION *** * 19500000 * * 40 BYTES + CHANNEL PROGRAM * 19600000 * * * 19650000 * ****************************************** 19700000 SPACE 1 19800000 IOBUCBX DS CL1 - UCB INDEX. THE LINE NUMBER IS USED AS AN 19900000 * INDEX TO LOCATE THE PROPER UCB ADDRESS IN THE 20000000 * DEB. 20050000 IOBWORK DS CL5 - WORK AREA USED BY ERROR ROUTINES AND ON-LINE 20100000 * TERMINAL TEST ROUTINES 20200000 IOBRCVPT DS CL1 - RECEIVED ACK (ACK-0 OR ACK-1) 20250000 IOBSNDPT DS CL1 - SENT ACK (ACK-0 OR ACK-1) 20260000 IOBERCCW DS CL8 - CCW AREA USED BY THE BTAM ERROR RECOVERY 20300000 * ROUTINES 20350000 IOBERINF DS CL16 - ERROR INFORMATION FIELD USED BY THE BTAM ERROR 20400000 * RECOVERY ROUTINES 20450000 IOBCPA DS 0D - CHANNEL PROGRAMS AREA. THE LENGTH DEPENDS ON 20500000 * THE TERMINAL AND THE OPTIONS. 20600000 SPACE 2 20700000 ORG IOBSEEK+8 20750000 SPACE 1 20760000 * ****************************************** 20800000 * * * 20900000 * * BISAM EXTENSION *** 16 BYTES * 21000000 * * * 21100000 * ****************************************** 21200000 SPACE 1 21300000 IOBCCWAD DS A - FOR FIXED LENGTH RECORDS, ADDRESS OF FIRST 21400000 * CCW OF CHANNEL PROGRAM. 21450000 * FOR VARIABLE LENGTH RECORDS, ADDRESS OF 21500000 * BUFFER, IF DYNAMIC BUFFERING SPECIFIED, AFTER 21550000 * COMPLETION OF A READ FOR UPDATE (READ KU) 21600000 IOBINDCT DS B - INDICATORS 21900000 IOBDEQCP EQU X'80' - DEQUEUE CHANNEL PROGRAM FROM QUEUE 22100000 IOBUNSCH EQU X'40' - UNSCHEDULED QUEUE 22200000 IOBOVPTR EQU X'20' - IF 0, DECBAREA + 6 POINTS TO OVERFLOW RECORD 22300000 * DATA. 22500000 * IF 1, DCBMSWA POINTS TO OVERFLOW RECORD KEY 22600000 * FOLLOWED BY DATA. 22700000 IOBKEYAD EQU X'10' - IF 0, DECBKEY POINTS TO OVERFLOW RECORD KEY. 22800000 * IF 1, DCBMSWA + 8 POINTS TO OVERFLOW RECORD 23100000 * KEY. 23200000 IOBRSV27 EQU X'08',,C'X' RESERVED 23250000 IOBRSV28 EQU X'04',,C'X' RESERVED 23260000 IOBRSV29 EQU X'02',,C'X' RESERVED 23270000 IOBCHNNL EQU X'01' - IF 0, NORMAL CHANNEL END HAS OCCURRED. 23300000 * IF 1, ABNORMAL CHANNEL END HAS OCCURRED. 23500000 IOBUNSQR DS B - REASON FOR UNSCHEDULED QUEUE 23800000 IOBCPBSY EQU X'80' - CHANNEL PROGRAM CP1 OR CP2 BUSY 24000000 IOBNTAV1 EQU X'40' - NO CP4, CP5 OR CP6 AVAILABLE 24100000 IOBNTAV2 EQU X'20' - NO CP7 AVAILABLE 24200000 IOBKNWR EQU X'10' - WRITE KN IS IN EFFECT (UNSCHEDULED IOB IS FOR 24300000 * WRITE KN) 24400000 IOBKNRWR EQU X'08' - WRITE KN IS IN EFFECT (UNSCHEDULED IOB IS FOR 24500000 * READ OR WRITE KN) 24600000 IOBRSV30 EQU X'04',,C'X' RESERVED 24650000 IOBRSV31 EQU X'02',,C'X' RESERVED 24660000 IOBRSV32 EQU X'01',,C'X' RESERVED 24670000 IOBAPP DS CL1 - APPENDAGE CODE 24800000 IOBASYN DS CL1 - ASYNCHRONOUS ROUTINE CODE 25000000 IOBFCHAD DS 0A - FORWARD CHAIN ADDRESS 25200000 IOBCOUNT DS CL1 - WRITE CHECK COUNTER 25300000 IOBFCHNB DS AL3 - FORWARD CHAIN ADDRESS 25400000 IOBBCHAD DS A - BACKWARD CHAIN ADDRESS 25500000 SPACE 2 25600000 ORG IOBEXTEN 25650000 SPACE 1 25660000 * ****************************************** 25700000 * * * 25800000 * * GAM EXTENSION *** 40 BYTES * 25900000 * * * 26000000 * ****************************************** 26100000 SPACE 1 26200000 IOBUCBXG DS CL1 - UCB INDEX 26400000 IOBRSV37 DS XL3 - RESERVED 26500000 IOBNXTPT DS 0A - ADDRESS OF NEXT AVAILABLE IOB. SET TO ZERO 26600000 * IF THIS IS LAST IOB. 26700000 IOBSTATA DS B - STATUS INDICATORS 26800000 IOBAVLFL EQU X'80' - IF 0, IOB IS AVAILABLE. 26900000 * IF 1, IOB IS NOT AVAILABLE. 27000000 IOBRSV20 EQU X'40',,C'X' RESERVED 27050000 IOBRSV21 EQU X'20',,C'X' RESERVED 27060000 IOBRSV22 EQU X'10',,C'X' RESERVED 27070000 IOBRSV23 EQU X'08',,C'X' RESERVED 27080000 IOBRSV24 EQU X'04',,C'X' RESERVED 27090000 IOBRSV25 EQU X'02',,C'X' RESERVED 27092000 IOBRSV26 EQU X'01',,C'X' RESERVED 27094000 IOBNXTPB DS AL3 - ADDRESS OF NEXT AVAILABLE IOB. SET TO ZERO 27100000 * IF THIS IS LAST IOB 27200000 IOBCCW DS CL32 - LIST OF CHANNEL COMMAND WORDS TO TRANSFER DATA 27300000 SPACE 2 27400000 ORG IOBSEEK+8 27450000 SPACE 1 27500000 * ****************************************** 27600000 * * * 27700000 * * QISAM EXTENSION *** 2 BYTES * 27800000 * * * 27900000 * ****************************************** 28000000 SPACE 1 28100000 W1IEXTEN DS 0CL2 - APPENDAGE CODES FOR BOTH NORMAL AND ABNORMAL 28200000 * CHANNEL END CONDITIONS 28250000 W1OEXTEN DS CL2 - SAME AS W1IEXTEN ABOVE 28300000 SPACE 2 28400000 ORG IOBSEEK+8 28450000 SPACE 1 28460000 * ****************************************** 28500000 * * * 28600000 * * BDAM EXTENSION *** * 28700000 * * 40 BYTES + CHANNEL PROGRAM * 28800000 * * * 28850000 * ****************************************** 28900000 SPACE 1 29000000 IOBDBYTR DS H - NUMBER OF UNUSED BYTES REMAINING ON THE TRACK 29100000 IOBDIOBS DS H - OVERALL SIZE OF THE IOB 29200000 IOBDPLAD DS 0A - ADDRESS OF THE NEXT IOB IN THE POOL OF IOB'S 29300000 IOBDAYLI DS B - ALL BITS SET TO ZERO INDICATE THE AVAILABILITY 29400000 * OF THIS IOB 29450000 IOBDPLB DS AL3 - ADDRESS OF THE NEXT IOB IN THE POOL OF IOB'S 29600000 IOBDTYPE DS B - THE TYPE OF REQUEST AND SPECIFIED OPTIONS 29800000 IOBVERFY EQU X'80' - VERIFY 30000000 IOBOVFLO EQU X'40' - OVERFLOW 30100000 IOBEXTSC EQU X'20' - EXTENDED SEARCH 30200000 IOBFDBCK EQU X'10' - FEEDBACK 30300000 IOBACTAD EQU X'08' - ACTUAL ADDRESSING 30400000 IOBDYNBF EQU X'04' - DYNAMIC BUFFERING 30500000 IOBRDEXC EQU X'02' - READ EXCLUSIVE 30600000 IOBRELBL EQU X'01' - RELATIVE BLOCK ADDRESSING 30700000 IOBDTYP2 DS B - SECOND BYTE OF OPTIONS AND REQUESTS 30900000 IOBSKEY EQU X'80' - KEY ADDRESS CODED AS 'S' 31100000 IOBSBLKL EQU X'40' - BLOCK LENGTH CODED AS 'S' 31200000 IOBSUFFX EQU X'30' - IF BITS 2 AND 3 ARE ONE, RU IS SUFFIXED TO THE 31300000 * TYPE, INDICATING THAT THE FEEDBACK ADDRESS IN 31350000 * DECNXADR CAN BE THE ADDRESS OF EITHER THE NEXT 31360000 * DATA RECORD OR THE NEXT CAPACITY RECORD, 31370000 * WHICHEVER OCCURS FIRST. 31380000 * IF BIT 2 IS ZERO AND BIT 3 IS ONE, R IS 31390000 * SUFFIXED TO THE TYPE, INDICATING THAT THE 31392000 * FEEDBACK ADDRESS IN DECNXADR IS THE ADDRESS OF 31394000 * THE NEXT DATA RECORD. 31396000 IOBRQUST EQU X'08' - IF 1, READ REQUEST. IF 0, WRITE REQUEST. 31400000 IOBTYPE EQU X'04' - IF 1, KEY TYPE. IF 0, ID TYPE. 31500000 IOBADDTY EQU X'02' - ADD TYPE 31700000 IOBRELEX EQU X'01' - RELEX MACRO ISSUED 31800000 IOBDSTAT DS 0CL2 - STATUS OF THE I/O REQUEST 32000000 IOBSTAT1 DS B - FLAG BYTE 32200000 IOBABNRM EQU X'80' - ABNORMAL COMPLETION 32400000 IOBNEWVL EQU X'40' - ON EXTENDED SEARCH, THE NEXT EXTENT IS ON A 32500000 * NEW VOLUME. THE ASI ROUTINE MUST ISSUE THE 32600000 * EXCP MACRO. THE END-OF-EXTENT APPENDAGE 32700000 * CANNOT. 32710000 IOBSYNCH EQU X'20' - MODULE WAS ENTERED VIA SYNCH MDC037 32750000 IOBPASS2 EQU X'10' - ON EXTENDED SEARCH, INDICATES TO THE RELATIVE 32900000 * BLOCK CONVERSION ROUTINE THAT THE SECOND PASS 33000000 * OF A TWO-PASS CONVERSION ROUTINE HAS COMPLETED 33100000 IOBENQUE EQU X'08' - FOR EXCLUSIVE CONTROL REQUEST, INDICATES THAT 33200000 * A RECORD HAS BEEN ENQUEUED 33250000 IOBBUFF EQU X'04' - A BUFFER HAS BEEN ASSIGNED TO THIS IOB 33300000 IOBADDVU EQU X'02' - IOB BEING USED TO ADD A VARIABLE (V) OR 33400000 * UNDEFINED (U) TYPE RECORD TO THE DATA SET 33450000 IOBSIORT EQU X'01' - INDICATES TO THE DYNAMIC BUFFERING ROUTINE 33500000 * THAT IT WAS ENTERED FROM, AND IS TO RETURN 33600000 * TO, THE START I/O APPENDAGE MODULE 33700000 IOBSTAT2 DS CL1 - ERROR CODE FOR ABNORMAL COMPLETION USED AS 33900000 * POST CODE IN ECB 34000000 IOBDCPND DS A - ADDRESS OF LOCATION WHERE CHANNEL END PROGRAM 34100000 * SHOULD END 34200000 IOBDBYTN DS H - NUMBER OF BYTES NEEDED ON A TRACK TO WRITE A 34300000 * NEW BLOCK 34400000 IOBRSV34 DS XL2 - RESERVED 34500000 IOBDQPTR DS A - ADDRESS OF IOB FOR NEXT I/O OPERATION TO BE 34600000 * EXECUTED 34650000 IOBRSV35 DS XL8 - RESERVED 34700000 IOBDNCRF DS CL8 - COUNT FIELD FOR NEW BLOCK 34900000 IOBCHNPR DS 0D - CHANNEL PROGRAM USED TO TRANSFER DATA AS 35000000 * REQUESTED BY THE READ OR WRITE MACRO 35000400 * INSTRUCTION STARTS HERE 35000800 SPACE 2 35001000 ORG IOBSEEK+8 35001400 SPACE 1 35001800 * ****************************************** 35002000 * * * 35003000 * * VSAM EXTENSION *** 24 BYTES * 35004000 * * * 35005000 * ****************************************** 35006000 SPACE 1 35007000 IOBSEEK2 DS 0CL8 - SEEK FIELD 2 ICB435 35008000 IOBSK2M DS C - EXTENT NUMBER ICB435 35009000 IOBSK2BB DS CL2 - BIN NUMBER ICB435 35010000 IOBSK2CC DS CL2 - CYLINDER NUMBER ICB435 35011000 IOBSK2HH DS CL2 - HEAD NUMBER ICB435 35012000 IOBSK2R DS C - RECORD NUMBER ICB435 35013000 IOBBUFC DS A - ADDRESS OF ASSOCIATED BUFFER CONTROL BLOCK 35014000 * ICB435 35015000 IOBREADA DS A - ADDRESS OF FIRST READ CHANNEL PROGRAM SEGMENT 35016000 * THAT HAS NOT BEEN PROCESSED ICB435 35016400 IOBNEXTA DS A - ADDRESS OF NEXT ACTIVE IOB ICB435 35018000 IOBRDCHP DS A - ADDRESS OF READ CHANNEL PROGRAM ICB435 35019000 SPACE 2 35020000 ORG IOBEXTEN 35020400 SPACE 1 35020800 * ****************************************** 35021000 * * * 35022000 * * VTAM EXTENSION (OS/VS1 ONLY) * 35023000 * * *** 24 BYTES * 35024000 * * * 35025000 * ****************************************** 35026000 SPACE 1 35027000 IOBERCT DS 0A - POINTER TO COUNTERS FOR SIO AND TEMPORARY 35028000 * ERRORS MDC001 35028100 IOBUCBXV DS 0FL1 - UCB INDEX MDC050 35028400 IOBRTYPE DS C - RECORD TYPE FOR OBR MDC002 35029000 IOBERCTA DS AL3 - POINTER TO COUNTERS FOR SIO AND TEMPORARY 35030000 * ERRORS MDC003 35031000 IOBNAME DS 0A - POINTER TO TERMINAL NAME MDC004 35032000 IOBNAMSZ DS FL1 - SIZE OF TERMINAL NAME MDC005 35033000 IOBNAMEA DS AL3 - POINTER TO TERMINAL NAME MDC006 35034000 IOBMDREC DS A - POINTER TO RECORD BEING PASSED TO 35035000 * MISCELLANEOUS DATA RECORDER MDC007 35036000 IOBRCD DS A - POINTER TO QUEUE OF OBR RECORDS PASSED FROM 35037000 * 3705 MDC008 35038000 IOBSENSV DS X - SENSE BYTE SAVE AREA MDC009 35039000 IOBCSWSV DS XL7 - SAVE AREA FOR LAST 7 BYTES OF CSW MDC010 35040000 SPACE 2 35044000 ORG IOBEXTEN - @Z30OP9A 35048000 SPACE 1 35052000 * ****************************************** 35056000 * * * 35060000 * * 3540 EXTENSION *** 4 BYTES @Z30OP9A* 35064000 * * * 35072000 * ****************************************** 35076000 SPACE 1 35080000 IOBSKADR DS 0CL4 - 3540 SEEK ADDRESS (MDC300) @Z30OP9A 35084000 IOBSKRV DS XL1 - RESERVED (MDC301) @Z30OP9A 35094000 IOBSKTT DS XL1 - TRACK NUMBER (MDC302) @Z30OP9A 35104000 IOBSK0 DS XL1 - MUST BE ZERO (MDC303) @Z30OP9A 35114000 IOBSKSS DS XL1 - SECTOR NUMBER (MDC304) @Z30OP9A 35124000 MEND , */ 35160000 * %IOBL2 : ; 35200000 * 35250000 * DECLARE 35400000 * 1 IOBPREFX BASED(IOBPRPTR) BDY(WORD), 35500000 * 35550000 * /* *************************************************************** */ 35600000 * /* */ 35700000 * /* PREFIX SECTIONS OF THE IOB */ 35800000 * /* */ 35900000 * /* *************************************************************** */ 36000000 * 36100000 * /* **************************************** */ 36150000 * /* QSAM,BSAM,BPAM PREFIX */ 36160000 * /* CHAINED SCHEDULING *** 16 BYTES */ 36170000 * /* **************************************** */ 36180000 * 36190000 * 2 IOBCFLG1 CHAR(1), /* I/O INDICATORS */ 36200000 * 3 IOBRSV01 BIT(1), /* RESERVED */ 36400000 * 3 IOBRSV02 BIT(1), /* RESERVED */ 36450000 * 3 IOBRSV03 BIT(1), /* RESERVED */ 36500000 * 3 IOBRSV04 BIT(1), /* RESERVED */ 36550000 * 3 IOBPTST BIT(1), /* NOTE OR POINT OPERATION IS 36800000 * IN PROCESS */ 36850000 * 3 IOBABAPP BIT(1), /* ERROR HAS BEEN PROCESSED ONCE 36900000 * BY ABNORMAL-END APPENDAGE 37000000 * ROUTINE */ 37050000 * 3 IOBRSTCH BIT(1), /* RESTART CHANNEL */ 37100000 * 3 IOBPCI BIT(1), /* SET WHEN A PROGRAM-CONTROLLED 37200000 * INTERRUPTION (PCI) OCCURS */ 37250000 * 2 IOBRSV05 CHAR(1), /* RESERVED */ 37300000 * 2 IOBCINOP CHAR(1), /* OFFSET OF THE LAST I/O 37500000 * COMMAND FOR INPUT OPERATION 37550000 * (NOP CCW) FROM THE ORIGIN OF 37600000 * THE ICB */ 37700000 * 2 IOBCONOP CHAR(1), /* OFFSET OF THE LAST I/O 37800000 * COMMAND FOR AN OUTPUT 37850000 * OPERATION (NOP CCW) FROM 37900000 * THE ORIGIN OF THE ICB */ 38000000 * 2 IOBCECB FIXED(31), /* EVENT CONTROL BLOCK USED BY 38100000 * BSAM OR QSAM. SHOWS THE 38150000 * STATUS OF THE I/O OPERATION. */ 38160000 * 2 IOBCICB PTR(31), /* ADDRESS OF THE FIRST 38200000 * INTERRUPT CONTROL BLOCK (ICB) 38250000 * ON THE ICB QUEUE */ 38260000 * 2 IOBCNOPA PTR(31); /* ADDRESS OF THE NOP COMMAND AT 38300000 * THE END OF THE QUEUE */ 38400000 * 38500000 * /* **************************************** */ 38550000 * /* QSAM,BSAM,BPAM PREFIX */ 38560000 * /* NORMAL SCHEDULING *** 8 BYTES */ 38570000 * /* **************************************** */ 38580000 * 38600000 * DECLARE 1 IOBORG01 38700000 *%IF IKEPLS='2' %THEN 38750000 * %GOTO IOBA1; 38760000 * BASED(ADDR(IOBPREFX)+8) BDY(WORD), 38800000 *%GOTO IOBA2; 38850000 *%IOBA1 : ; 38900000 * DEF(IOBPREFX) POS(9) BDY(WORD), 38950000 *%IOBA2 : ; 38960000 * 2 IOBNIOBA PTR(31), /* ADDRESS OF THE NEXT IOB 39000000 * ASSOCIATED WITH ONE PARTICULAR 39050000 * DCB. THE IOB'S ARE CHAINED 39060000 * IN SEQUENTIAL ORDER. */ 39070000 * 3 IOBNFLG1 CHAR(1), /* FLAG BYTE */ 39100000 * 4 IOBPRTOV BIT(1), /* PRTOV HAS OCCURRED (PRINTER 39300000 * DEVICES) (MDC331) @Z40FP9A*/ 39310000 * 5 IOBSEGMT BIT(1), /* SEGMENTING OF A SPANNED 39320000 * RECORD IS IN PROCESS (QSAM 39330000 * LOCATE MODE, LOGICAL RECORD 39340000 * INTERFACE, UPDATE PROCESSING) 39350000 * (DIRECT ACCESS) (OS/VS2) 39360000 * (MDC332) @Z40FP9A*/ 39370000 * 4 IOBWRITE BIT(1), /* A WRITE OPERATION IS IN 39400000 * PROCESS */ 39450000 * 4 IOBREAD BIT(1), /* A READ OPERATION IS IN 39500000 * PROCESS */ 39550000 * 4 IOBUPDAT BIT(1), /* UPDATE FLAG. SET ON TOGETHER 39600000 * WITH BIT 1 OF THIS BYTE TO 39650000 * SHOW THAT THE BLOCK IS TO BE 39660000 * UPDATED. CAN ONLY OCCUR IF 39670000 * THE OPEN PARAMETER IS UPDAT. */ 39680000 * 4 IOBBKSPC BIT(1), /* IOB BEING USED FOR BACKSPACE, 39700000 * CONTROL OR NOTE/POINT 39800000 * OPERATION */ 39850000 * 4 IOBSPAN BIT(1), /* THE RECORD CURRENTLY BEING 39900000 * PROCESSED HAS MORE THAN ONE 39950000 * SEGMENT (QSAM LOCATE MODE, 40000000 * LOGICAL RECORD INTERFACE, 40010000 * UPDAT PROCESSING OF SPANNED 40020000 * RECORDS) */ 40030000 * 4 IOBUPERR BIT(1), /* UPDATE CHANNEL PROGRAM HAS 40050000 * BEEN SPLIT INTO TWO PARTS 40100000 * MDC036*/ 40150000 * 4 IOBFIRST BIT(1), /* THIS IS THE FIRST IOB ON 40200000 * CHAIN */ 40250000 * 3 IOBNIOBB PTR(24), /* SAME AS IOBNIOBA ABOVE */ 40400000 * 2 IOBNECB FIXED(31); /* EVENT CONTROL BLOCK USED BY 40700000 * QSAM TO INDICATE THE STATUS 40750000 * OF THE I/O EVENT */ 40760000 * 40800000 * /* **************************************** */ 40850000 * /* BDAM PREFIX *** 8 BYTES */ 40860000 * /* **************************************** */ 40870000 * 40900000 * DECLARE 1 IOBORG02 41000000 *%IF IKEPLS='2' %THEN 41050000 * %GOTO IOBA3; 41060000 * BASED(ADDR(IOBPREFX)+8) BDY(WORD), 41100000 *%GOTO IOBA4; 41150000 *%IOBA3 : ; 41160000 * DEF(IOBPREFX) POS(9) BDY(WORD), 41170000 *%IOBA4 : ; 41180000 * 2 IOBDQADA PTR(31), /* ADDRESS OF THE OTHER IOB 41200000 * REFERRED TO IN DESCRIPTION 41250000 * OF IOBDEQ BELOW */ 41300000 * 3 IOBDEQIN CHAR(1), /* DEQUEUE LOOP INDICATOR */ 41500000 * 4 IOBDEQ BIT(1), /* THIS IOB IS USING A TRACK 41600000 * THAT WAS DEQUEUED BY ANOTHER 41650000 * IOB WHICH IS NOW WAITING TO 41700000 * DEQUEUE ANOTHER TRACK. THE 41750000 * OTHER IOB ENQUEUED ON TWO OR 41760000 * MORE TRACKS TO FIND SPACE IN 41770000 * WHICH TO WRITE/ADD A SPANNED 41780000 * RECORD. THE OTHER IOB 41790000 * REMAINED ENQUEUED UNTIL IT 41792000 * EITHER WROTE THE RECORD OR 41794000 * DETERMINED THAT THERE WAS 41796000 * ENOUGH CONTIGUOUS FREE SPACE 41798000 * ON THE TRACKS TO CONTAIN THE 41798400 * RECORD. AFTER THE OTHER IOB 41798800 * DEQUEUED THE CURRENT TRACK, 41799200 * THE DEQUEUEING WAS INTERRUPTED 41799600 * BY THE NEED OF THIS IOB FOR 41799700 * THE CURRENT TRACK. */ 41799800 * 4 IOBRSV07 BIT(1), /* RESERVED */ 41800000 * 4 IOBRSV08 BIT(1), /* RESERVED */ 41900000 * 4 IOBRSV09 BIT(1), /* RESERVED */ 42000000 * 4 IOBRSV10 BIT(1), /* RESERVED */ 42100000 * 4 IOBRSV11 BIT(1), /* RESERVED */ 42200000 * 4 IOBRSV12 BIT(1), /* RESERVED */ 42300000 * 4 IOBRSV13 BIT(1), /* RESERVED */ 42400000 * 3 IOBDQADB PTR(24), /* SAME AS IOBDQADA ABOVE */ 42500000 * 2 IOBSWAP PTR(31); /* ADDRESS OF THE SEGMENT WORK 42900000 * AREA USED BY THIS IOB TO READ 42950000 * OR WRITE A RECORD OF A FORMAT 42960000 * VS DATA SET */ 42970000 * 43000000 * /* **************************************** */ 43050000 * /* GAM,QISAM PREFIX *** 4 BYTES */ 43060000 * /* **************************************** */ 43070000 * 43080000 * DECLARE 1 IOBORG03 43100000 *%IF IKEPLS='2' %THEN 43150000 * %GOTO IOBA5; 43160000 * BASED(ADDR(IOBPREFX)+12) BDY(WORD), 43200000 *%GOTO IOBA6; 43250000 *%IOBA5 : ; 43300000 * DEF(IOBPREFX) POS(13) BDY(WORD), 43350000 *%IOBA6 : ; 43360000 * 2 IOBGQECB FIXED(31); /* EVENT CONTROL BLOCK THAT IS 43400000 * WITHIN FIRST IOB ONLY (GAM) 43410000 * EVENT CONTROL BLOCK USED TO 43420000 * INDICATE STATUS OF AN I/O 43430000 * EVENT (QISAM) */ 43440000 * 43450000 * /* *************************************************************** */ 43600000 * /* */ 43700000 * /* STANDARD SECTION OF THE IOB */ 43800000 * /* */ 43900000 * /* *************************************************************** */ 44000000 * 44100000 * DECLARE 44500000 * 1 IOBSTDRD BASED(IOBSTPTR) BDY(WORD), 44600000 * 2 IOBFLAG1 CHAR(1), /* FLAG BYTE 1 */ 44800000 * 3 IOBDATCH BIT(1), /* DATA CHAINING USED IN CHANNEL 45000000 * PROGRAM */ 45100000 * 3 IOBCMDCH BIT(1), /* COMMAND CHAINING USED IN 45200000 * CHANNEL PROGRAM */ 45300000 * 3 IOBERRTN BIT(1), /* ERROR ROUTINE IS IN CONTROL */ 45400000 * 3 IOBRPSTN BIT(1), /* DEVICE IS TO BE REPOSITIONED */ 45500000 * 3 IOBCYCCK BIT(1), /* CYCLIC REDUNDANCY CHECK (CRC) 45600000 * NEEDED (TAPE) */ 45700000 * 4 IOBFCREX BIT(1), /* FETCH COMMAND RETRY EXIT 45750000 * (DIRECT ACCESS) */ 45760000 * 3 IOBIOERR BIT(1), /* EXCEPTIONAL CONDITION. AFTER 45800000 * THE ERROR ROUTINE RETURNS AND 45850000 * THIS BIT IS ON, THE ERROR IS 45860000 * CONSIDERED PERMANENT. */ 45870000 * 3 IOBUNREL BIT(1), /* IOB UNRELATED FLAG (I.E., 45900000 * NONSEQUENTIAL) */ 46000000 * 3 IOBRSTRT BIT(1), /* IF 1, RESTART ADDRESS IN IOB 46100000 * TO BE USED. IF 0, START. 46200000 * (OS/VS1) MDC034*/ 46210000 * 4 IOBSPSVC BIT(1), /* FOR SAM/PAM, SET BY SVC IF 46250000 * I/O APPENDAGE SHOULD NOT 46300000 * PROCESS INTERRUPT (OS/VS2) 46350000 * MDC035*/ 46360000 * 2 IOBFLAG2 CHAR(1), /* FLAG BYTE 2 */ 46400000 * 3 IOBHALT BIT(1), /* HALT I/O HAS BEEN ISSUED BY 46600000 * SVC PURGE ROUTINE */ 46700000 * 3 IOBSENSE BIT(1), /* SENSE WILL NOT BE PERFORMED 46800000 * UNTIL THE DEVICE IS FREE */ 46850000 * 3 IOBPURGE BIT(1), /* IOB HAS BEEN PURGED TO ALLOW 47000000 * I/O ACTIVITY TO QUIESCE. 47100000 * (OS/VS1) MDC046*/ 47150000 * 4 IOBRRT3 BIT(1), /* TYPE 3 RELATED REQUEST 47160000 * (OS/VS2) MDC048*/ 47170000 * 3 IOBRDHA0 BIT(1), /* HOME ADDRESS (R0) RECORD IS 47200000 * TO BE READ. SEEK COMMAND NOT 47250000 * NEEDED. (OS/VS1) MDC047*/ 47300000 * 4 IOBRRT2 BIT(1), /* TYPE 2 RELATED REQUEST 47350000 * (OS/VS2) MDC049*/ 47360000 * 3 IOBALTTR BIT(1), /* NO TEST FOR OUT-OF-EXTENT. 47400000 * AN ALTERNATE TRACK IS IN USE.*/ 47500000 * 3 IOBSKUPD BIT(1), /* SEEK ADDRESS IS BEING 47600000 * UPDATED. CYLINDER END OR 47700000 * FILE MASK VIOLATION HAS 47800000 * OCCURRED. */ 47900000 * 3 IOBSTATO BIT(1), /* DEVICE END STATUS HAS BEEN 48000000 * OR'ED WITH CHANNEL END STATUS 48100000 * (GRAPHICS DEVICE) */ 48200000 * 3 IOBPNCH BIT(1), /* ERROR RECOVERY IN CONTROL FOR 48300000 * A 2540 CARD PUNCH WITH THREE 48350000 * BUFFERS. (QSAM) 48400000 * RESETPL MACRO INSTRUCTION WAS 48450000 * USED. (BTAM) */ 48500000 * 2 IOBSENS0 CHAR(1), /* FIRST SENSE BYTE */ 48700000 * 3 IOBS0B0 BIT(1), /* BIT 0 (DEVICE DEPENDENT) */ 48750000 * 3 IOBS0B1 BIT(1), /* BIT 1 (DEVICE DEPENDENT) */ 48760000 * 3 IOBS0B2 BIT(1), /* BIT 2 (DEVICE DEPENDENT) */ 48770000 * 3 IOBS0B3 BIT(1), /* BIT 3 (DEVICE DEPENDENT) */ 48780000 * 3 IOBS0B4 BIT(1), /* BIT 4 (DEVICE DEPENDENT) */ 48790000 * 3 IOBS0B5 BIT(1), /* BIT 5 (DEVICE DEPENDENT) */ 48792000 * 3 IOBS0B6 BIT(1), /* BIT 6 (DEVICE DEPENDENT) */ 48794000 * 3 IOBS0B7 BIT(1), /* BIT 7 (DEVICE DEPENDENT) */ 48796000 * 4 IOBSNSC9 BIT(1), /* CHANNEL 9 SENSED IN 48798000 * CARRIAGE TAPE */ 48798400 * 2 IOBSENS1 CHAR(1), /* SECOND SENSE BYTE */ 48800000 * 3 IOBS1B0 BIT(1), /* BIT 0 (DEVICE DEPENDENT) */ 48850000 * 3 IOBS1B1 BIT(1), /* BIT 1 (DEVICE DEPENDENT) */ 48860000 * 3 IOBS1B2 BIT(1), /* BIT 2 (DEVICE DEPENDENT) */ 48870000 * 3 IOBS1B3 BIT(1), /* BIT 3 (DEVICE DEPENDENT) */ 48880000 * 3 IOBS1B4 BIT(1), /* BIT 4 (DEVICE DEPENDENT) */ 48890000 * 3 IOBS1B5 BIT(1), /* BIT 5 (DEVICE DEPENDENT) */ 48892000 * 3 IOBS1B6 BIT(1), /* BIT 6 (DEVICE DEPENDENT) */ 48894000 * 3 IOBS1B7 BIT(1), /* BIT 7 (DEVICE DEPENDENT) */ 48896000 * 2 IOBECBPT PTR(31), /* ADDRESS OF ECB TO BE POSTED 49000000 * ON I/O COMPLETION */ 49100000 * 3 IOBECBCC CHAR(1), /* COMPLETION CODE FOR AN I/O 49200000 * REQUEST. THIS CODE WILL 49300000 * APPEAR IN THE FIRST BYTE OF 49350000 * AN ECB. */ 49360000 * 3 IOBECBPB PTR(24), /* ADDRESS OF THE ECB TO BE 49400000 * POSTED UPON THE COMPLETION OF 49450000 * AN I/O EVENT. FOR BSAM/BPAM, 49500000 * ECB IS IN THE DECB. FOR 49550000 * QSAM, ECB IS IN THE QSAM 49600000 * PREFIX OF THE IOB. */ 49650000 * 2 IOBFLAG3 CHAR(1), /* I/O SUPERVISOR ERROR ROUTINE 49800000 * FLAG BYTE (DEVICE DEPENDENT) */ 49802000 * 3 IOBFL3 BIT(8), /* FLAG 3 - STATUS ERROR COUNTS 49805000 * FOR MAGNETIC DOCUMENT READER 49810000 * (3890) OR FLAGS FOR 3800 49815000 * (OS/VS1) (MDC307) @X50AD9A*/ 49822000 * 4 IOBCCC BIT(1), /* CHANNEL CONTROL CHECK ERROR 49830000 * COUNT (3890) MDC038*/ 49835000 * 4 IOBICC BIT(1), /* INTERFACE CONTROL CHECK ERROR 49840000 * COUNT (3890) MDC039*/ 49845000 * 4 IOBCDC BIT(1), /* CHANNEL DATA CHECK ERROR 49850000 * (3890) MDC040*/ 49855000 * 4 IOBACU BIT(1), /* ATTENTION/CONTROL UNIT ERROR 49860000 * (3890) MDC041*/ 49865000 * 4 IOBCNC BIT(1), /* CHAIN CHECK ERROR (3890) 49866000 * MDC042*/ 49867000 * 5 IOBSDR BIT(1), /* STATISTICS ONLY FLAG (3800) 49868000 * (MDC306) @X50AD9A*/ 49869000 * 4 IOBMSG BIT(1), /* MESSAGE FLAG (3890 OR 3800) 49872000 * (MDC308) @X50AD9A*/ 49873000 * 4 IOBICL BIT(1), /* INCORRECT LENGTH ERROR (3890) 49875000 * MDC020*/ 49880000 * 5 IOBJAM BIT(1), /* SET ON WHEN JES SUBSYSTEM HAS 49880800 * DETECTED A PAPER JAM SO 3800 49881600 * ERP WILL SUPPRESS ITS 49882400 * INTERVENTION REQUIRED MESSAGE 49883200 * (3800) (MDC330) @X50AD9A*/ 49884000 * 4 IOBLOG BIT(1), /* LOG OUT FLAG (3890 OR 3800) 49885000 * (MDC309) @X50AD9A*/ 49892000 * 2 IOBCSW CHAR(7) BDY(WORD,2), /* LOW-ORDER SEVEN BYTES OF THE 49900000 * LAST CSW THAT REFLECTS THE 49950000 * STATUS FOR THIS REQUEST */ 50000000 * 3 IOBIOCSW CHAR(5) BDY(WORD,2),/* LOW-ORDER BYTES OF CSW FOR 50010000 * MAGNETIC DOCUMENT READER 50020000 * (3890) (OS/VS1) MDC022*/ 50030000 * 4 IOBCMDA PTR(24) BDY(WORD,2),/* COMMAND ADDRESS (3890)MDC023*/ 50040000 * 4 IOBSTBYT BIT(16), /* STATUS BITS 32-47 (3890) 50050000 * MDC024*/ 50060000 * 5 IOBUSTAT BIT(8), /* CSW UNIT STATUS FLAGS (3800) 50068000 * (MDC311) @Z40MP9A*/ 50076000 * 6 IOBUSB0 BIT(1), /* ATTENTION (MDC312) @Z40MP9A*/ 50084000 * 6 IOBUSB1 BIT(1), /* STATUS MODIFIER 50092000 * (MDC313) @Z40MP9A*/ 50100000 * 6 IOBUSB2 BIT(1), /* CONTROL UNIT END 50108000 * (MDC314) @Z40MP9A*/ 50116000 * 6 IOBUSB3 BIT(1), /* BUSY (MDC315) @Z40MP9A*/ 50124000 * 6 IOBUSB4 BIT(1), /* CHANNEL END (MDC316) @Z40MP9A*/ 50132000 * 6 IOBUSB5 BIT(1), /* DEVICE END (MDC317) @Z40MP9A*/ 50140000 * 6 IOBUSB6 BIT(1), /* UNIT CHECK (MDC318) @Z40MP9A*/ 50148000 * 6 IOBUSB7 BIT(1), /* UNIT EXCEPTION 50156000 * (MDC319) @Z40MP9A*/ 50164000 * 5 IOBCSTAT BIT(8), /* CSW CHANNEL STATUS FLAGS 50172000 * (3800) (MDC320) @Z40MP9A*/ 50180000 * 6 IOBCSB0 BIT(1), /* PROGRAM CONTROL INTERRUPT 50188000 * (MDC321) @Z40MP9A*/ 50200000 * 6 IOBCSB1 BIT(1), /* INCORRECT LENGTH 50203000 * (MDC322) @Z40MP9A*/ 50206000 * 6 IOBCSB2 BIT(1), /* PROGRAM CHECK 50209000 * (MDC323) @Z40MP9A*/ 50212000 * 6 IOBCSB3 BIT(1), /* PROTECTION CHECK 50215000 * (MDC324) @Z40MP9A*/ 50218000 * 6 IOBCSB4 BIT(1), /* CHANNEL DATA CHECK 50221000 * (MDC325) @Z40MP9A*/ 50224000 * 6 IOBCSB5 BIT(1), /* CHANNEL CONTROL CHECK 50227000 * (MDC326) @Z40MP9A*/ 50230000 * 6 IOBCSB6 BIT(1), /* INTERFACE CONTROL CHECK 50233000 * (MDC327) @Z40MP9A*/ 50236000 * 6 IOBCSB7 BIT(1), /* CHAINING CHECK 50239000 * (MDC328) @Z40MP9A*/ 50242000 * 2 IOBSTART PTR(31), /* ADDRESS OF CHANNEL PROGRAM 50245000 * TO BE EXECUTED */ 50250000 * 3 IOBSIOCC CHAR(1), /* SIO CODE. BITS 2 AND 3 50300000 * CONTAIN CONDITION CODE 50350000 * RETURNED AFTER EXECUTION OF 50360000 * SIO INSTRUCTION FOR THIS I/O 50370000 * EVENT. */ 50380000 * 3 IOBSTRTB PTR(24), /* ADDRESS OF CHANNEL PROGRAM 50400000 * TO BE EXECUTED */ 50450000 * 2 IOBDCBPT PTR(31), /* ADDRESS OF DCB ASSOCIATED 50700000 * WITH THIS IOB */ 50800000 * 3 IOBFLAG4 BIT(8), /* FLAG BYTE MDC011*/ 50810000 * 4 IOBGDPOL BIT(1), /* RE-ENTER SIO APPENDAGE FOR 50820000 * OLTEP GUARANTEED DEVICE PATH 50830000 * MDC012*/ 50840000 * 4 IOBCC3WE BIT(1), /* USER REQUESTS THAT IOS POST A 50850000 * X'6D' FOR A CONDITION CODE 3 50852000 * ON ATTEMPTED I/O OPERATIONS 50854000 * (OS/VS2) (MDC310) @Z309P9A*/ 50856000 * 4 IOBPMERR BIT(1), /* VTAM SETS THIS BIT ON TO 50860000 * INDICATE TO IOS THAT VTAM 50861000 * SHOULD BE POSTED WITH A 50862000 * PERMANENT I/O ERROR BECAUSE 50863000 * ALL ALTERNATE PATHS TO THE 50864000 * 3705 HAVE BEEN TRIED 50865000 * (OS/VS1) (MDC329) @X04BH9A*/ 50866000 * 4 IOBRSV40 BIT(1), /* RESERVED */ 50870000 * 4 IOBRSV41 BIT(1), /* RESERVED */ 50880000 * 4 IOBRSV42 BIT(1), /* RESERVED */ 50890000 * 4 IOBJES3I BIT(1), /* JES3 INTERVENTION REQUIRED 50900000 * NOTIFICATION. SETTING THIS 50902000 * BIT WILL RESULT IN TURNING ON 50904000 * BIT IOSPGDPX IN THE IOSB. 50906000 * (OS/VS2) (MDC305) @Y02BP9A*/ 50908000 * 4 IOBRSV44 BIT(1), /* RESERVED */ 50910000 * 3 IOBDCBPB PTR(24), /* ADDRESS OF DCB ASSOCIATED 51000000 * WITH THIS IOB */ 51200000 * 2 IOBRESTR PTR(31), /* AFTER SVC 16 (PURGE) - 51400000 * QUIESCE - ADDRESS OF THE NEXT 51450000 * IOB IN THE PURGE CHAIN. 51500000 * (LAST IOB IN THE CHAIN, BYTE 51550000 * 4 IS FF.) 51560000 * DURING I/O SUPERVISOR WRITE- 51570000 * TO-OPERATOR ROUTINE CONTROL - 51580000 * CCHH PART OF THE ADDRESS OF A 51590000 * DEFECTIVE TRACK. 51592000 * DURING I/O ERROR CORRECTION 51594000 * (MEANINGFUL ONLY IF BIT 3 IN 51596000 * THE IOBFLAG1 FIELD IS ON) - 51598000 * ADDRESS OF THE CHANNEL 51598400 * PROGRAM USED TO CORRECT AN 51598800 * ERROR CONDITION. 51599200 * AFTER I/O ERROR CORRECTION - 51599600 * IF A CHANNEL PROGRAM IS 51599700 * RESTARTED THROUGH A CCW OTHER 51599800 * THAN THE ONE POINTED TO BY 51599900 * THE IOBSTART FIELD, ITS 51633200 * ADDRESS IS HERE. */ 51643200 * 3 IOBREPOS CHAR(1), /* DURING I/O ERROR CORRECTION 51666700 * (MEANINGFUL ONLY IF BIT 3 IN 51700000 * THE IOBFLAG1 FIELD IS ON) FOR 51750000 * MAGNETIC TAPE ONLY - THE 51760000 * CONTROL COMMAND (BSR, FSR, 51770000 * ERG) REQUIRED TO REPOSITION 51780000 * OVER A BLOCK. */ 51790000 * 3 IOBRSTRB PTR(24), /* SAME AS IOBRESTR ABOVE */ 51800000 * 2 IOBINCAM FIXED(15) BDY(WORD), /* QSAM, BSAM, EXCP ACCESS 52200000 * METHOD -- NORMAL SCHEDULING - 52250000 * VALUE USED TO INCREMENT BLOCK 52300000 * COUNT FIELD IN DCB FOR 52350000 * MAGNETIC TAPE. CHAINED 52360000 * SCHEDULING - ZEROS. 52370000 * QSAM, BSAM -- OPERATION CODE 52380000 * OF WRITE CCW WHEN A USASI 52390000 * CONTROL CHARACTER AND NO DATA 52392000 * IS TO BE WRITTEN (PRINTER AND 52394000 * CARD PUNCH ONLY) */ 52396000 * 3 IOBBTAMF CHAR(1), /* FLAG BYTE FOR BTAM */ 52400000 * 4 IOBPRMER BIT(1), /* SAD OR ENABLE ISSUED BY OPEN 52500000 * RESULTED IN A PERMANENT I/O 52550000 * ERROR */ 52600000 * 4 IOBINUSE BIT(1), /* THIS IOB IS CURRENTLY IN USE 52700000 * BY AN I/O OPERATION */ 52750000 * 4 IOBRSV14 BIT(1), /* RESERVED */ 52800000 * 4 IOBRSV15 BIT(1), /* RESERVED */ 52900000 * 4 IOBRSV16 BIT(1), /* RESERVED */ 53000000 * 4 IOBRSV17 BIT(1), /* RESERVED */ 53100000 * 4 IOBRFTMG BIT(1), /* A REQUEST-FOR-TEST MESSAGE 53200000 * RECEIVED FROM A REMOTE 3270 53250000 * DISPLAY STATION ICB478*/ 53260000 * 4 IOBOLTST BIT(1), /* LINE IS UNDER ON-LINE TEST 53300000 * OPERATION */ 53400000 * 3 IOBRSV19 CHAR(1), /* RESERVED */ 53600000 * 2 IOBERRCT FIXED(15); /* USED BY I/O SUPERVISOR ERROR 53610000 * ROUTINES TO COUNT TEMPORARY 53612000 * ERRORS DURING RETRY */ 53614000 * 53620000 * 53660000 * DECLARE 1 IOBORG04 53700000 *%IF IKEPLS='2' %THEN 53750000 * %GOTO IOBA7; 53760000 * BASED(ADDR(IOBINCAM)) BDY(WORD), 53800000 *%GOTO IOBA8; 53850000 *%IOBA7 : ; 53860000 * DEF(IOBINCAM) BDY(WORD), 53870000 *%IOBA8 : ; 53880000 * 2 IOBCRDCC CHAR(1), /* DATA CHECK ERROR COUNT 53900000 * (OPTICAL READER) */ 53902000 * 2 IOBCRILC CHAR(1); /* INCORRECT LENGTH ERROR COUNT 53910000 * (OPTICAL READER) */ 53912000 * 53920000 * 53930000 * DECLARE 1 IOBORG12 53940000 *%IF IKEPLS='2' %THEN 53950000 * %GOTO IOBA25; 53960000 * BASED(ADDR(IOBINCAM)) BDY(WORD), 53970000 *%GOTO IOBA26; 53980000 *%IOBA25 : ; 53990000 * DEF(IOBINCAM) BDY(WORD), 54000000 *%IOBA26 : ; 54010000 * 2 IOBFL4 BIT(8), /* FLAG 4 - SENSE ERROR COUNTS 54020000 * FOR MAGNETIC DOCUMENT READER 54030000 * (3890) (OS/VS1) OR ERROR CODE 54035000 * PASSBACK BYTE FOR 3895 (FOR 54040000 * ERROR CODE VALUES SEE IBM 54041000 * 3895 DOCUMENT READER/INSCRIBER 54042000 * MACHINE AND PROGRAMMING 54043000 * DESCRIPTION, GA24-3620) 54044000 * (MDC333) @G30HP9A*/ 54045000 * 3 IOBOVR BIT(1), /* OVERRUN ERROR (3890) 54046000 * (MDC026) @G30HP9A*/ 54050000 * 3 IOBREJ BIT(1), /* COMMAND REJECT ERROR (3890) 54053000 * (MDC027) @G30HP9A*/ 54060000 * 3 IOBDCK BIT(1), /* DATA CHECK ERROR (3890) 54063000 * (MDC028) @G30HP9A*/ 54070000 * 3 IOBBUS BIT(1), /* BUS-OUT ERROR (3890) 54073000 * (MDC029) @G30HP9A*/ 54080000 * 3 IOBEQP BIT(1), /* EQUIPMENT CHECK ERROR (3890) 54083000 * (MDC030) @G30HP9A*/ 54090000 * 3 IOBENT BIT(1), /* FIRST TIME ENTRY SWITCH 54092000 * (3890) (MDC045) @G30HP9A*/ 54093000 * 3 IOBRSV47 BIT(1), /* RESERVED FOR 3890 MDC044*/ 54120000 * 3 IOBRSV46 BIT(1); /* RESERVED FOR 3890 MDC033*/ 54122000 * 54130000 * 54200000 * /* *************************************************************** */ 54500000 * /* */ 54600000 * /* EXTENSION SECTIONS OF THE IOB */ 54700000 * /* */ 54800000 * /* *************************************************************** */ 54900000 * 55100000 * /* **************************************** */ 55150000 * /* DIRECT ACCESS EXTENSION *** 8 BYTES */ 55160000 * /* **************************************** */ 55170000 * 55200000 * DECLARE 55300000 *%IF IKEPLS='2' %THEN 55350000 * %GOTO IOBA9; 55360000 * 1 IOBEXTEN BASED(ADDR(IOBSTDRD)+32) BDY(WORD), 55400000 *%GOTO IOBA10; 55450000 *%IOBA9 : ; 55460000 * 1 IOBEXTEN DEF(IOBSTDRD) POS(33) BDY(WORD), 55470000 *%IOBA10 : ; 55480000 * 2 IOBSEEK CHAR(8) BDY(WORD), /* A SEEK ADDRESS (IN THE FORMAT 55500000 * MBBCCHHR) USED WITH A CHANNEL 55550000 * PROGRAM */ 55600000 * 3 IOBM CHAR(1), /* THE NUMBER OF THE DEB EXTENT 55700000 * TO BE USED FOR THIS REQUEST. 55750000 * THE FIRST EXTENT IS NUMBER 55800000 * ZERO. */ 55850000 * 3 IOBBB CHAR(2), /* BIN NUMBER(DATA CELL) */ 56000000 * 4 IOBBB1 CHAR(1), 56100000 * 4 IOBBB2 CHAR(1), 56200000 * 3 IOBCC CHAR(2), /* CYLINDER NUMBER */ 56400000 * 4 IOBCC1 CHAR(1), 56500000 * 4 IOBCC2 CHAR(1), 56600000 * 3 IOBHH CHAR(2), /* TRACK NUMBER */ 56800000 * 4 IOBHH1 CHAR(1), 56900000 * 4 IOBHH2 CHAR(1), 57000000 * 3 IOBR CHAR(1); /* RECORD NUMBER */ 57100000 * 57200000 * /* **************************************** */ 57250000 * /* BTAM EXTENSION *** 40 BYTES + */ 57260000 * /* CHANNEL PROGRAM */ 57270000 * /* **************************************** */ 57280000 * 57300000 * DECLARE 1 IOBORG05 57400000 *%IF IKEPLS='2' %THEN 57450000 * %GOTO IOBA11; 57460000 * BASED(ADDR(IOBEXTEN)) BDY(WORD), 57500000 *%GOTO IOBA12; 57550000 *%IOBA11 : ; 57560000 * DEF(IOBEXTEN) BDY(WORD), 57570000 *%IOBA12 : ; 57580000 * 2 IOBUCBX CHAR(1), /* UCB INDEX. THE LINE NUMBER 57600000 * IS USED AS AN INDEX TO LOCATE 57650000 * THE PROPER UCB ADDRESS IN THE 57700000 * DEB. */ 57800000 * 2 IOBWORK CHAR(5), /* WORK AREA USED BY ERROR 57900000 * ROUTINES AND ON-LINE TERMINAL 58000000 * TEST ROUTINES */ 58100000 * 2 IOBRCVPT CHAR(1), /* RECEIVED ACK (ACK-0 OR ACK-1)*/ 58150000 * 2 IOBSNDPT CHAR(1), /* SENT ACK (ACK-0 OR ACK-1) */ 58160000 * 2 IOBERCCW CHAR(8) BDY(WORD), /* CCW AREA USED BY THE BTAM 58200000 * ERROR RECOVERY ROUTINES */ 58300000 * 2 IOBERINF CHAR(16) BDY(WORD), /* ERROR INFORMATION FIELD USED 58400000 * BY THE BTAM ERROR RECOVERY 58500000 * ROUTINES */ 58550000 * 2 IOBCPA CHAR(8) BDY(WORD); /* CHANNEL PROGRAMS AREA. THE 58600000 * LENGTH DEPENDS ON THE 58800000 * TERMINAL AND THE OPTIONS. */ 58900000 * 59100000 * /* **************************************** */ 59150000 * /* GAM EXTENSION *** 40 BYTES */ 59160000 * /* **************************************** */ 59170000 * 59200000 * DECLARE 1 IOBORG06 59300000 *%IF IKEPLS='2' %THEN 59350000 * %GOTO IOBA13; 59360000 * BASED(ADDR(IOBEXTEN)) BDY(WORD), 59400000 *%GOTO IOBA14; 59450000 *%IOBA13 : ; 59460000 * DEF(IOBEXTEN) BDY(WORD), 59470000 *%IOBA14 : ; 59480000 * 3 IOBUCBXG CHAR(1), /* UCB INDEX */ 59500000 * 3 IOBRSV37 CHAR(3), /* RESERVED */ 59600000 * 3 IOBNXTPT PTR(31), /* ADDRESS OF NEXT AVAILABLE 59700000 * IOB. SET TO ZERO IF THIS IS 59800000 * LAST IOB. */ 59850000 * 4 IOBSTATA CHAR(1), /* STATUS INDICATORS */ 59900000 * 5 IOBAVLFL BIT(1), /* IF 0, IOB IS AVAILABLE. 60000000 * IF 1, IOB IS NOT AVAILABLE */ 60100000 * 5 IOBRSV20 BIT(1), /* RESERVED */ 60300000 * 5 IOBRSV21 BIT(1), /* RESERVED */ 60350000 * 5 IOBRSV22 BIT(1), /* RESERVED */ 60400000 * 5 IOBRSV23 BIT(1), /* RESERVED */ 60450000 * 5 IOBRSV24 BIT(1), /* RESERVED */ 60500000 * 5 IOBRSV25 BIT(1), /* RESERVED */ 60550000 * 5 IOBRSV26 BIT(1), /* RESERVED */ 60600000 * 4 IOBNXTPB PTR(24), /* SAME AS IOBNXTPT ABOVE */ 61000000 * 3 IOBCCW CHAR(32) BDY(WORD); /* LIST OF CHANNEL COMMAND WORDS 61300000 * TO TRANSFER DATA */ 61400000 * 61450000 * /* **************************************** */ 61460000 * /* QISAM EXTENSION *** 2 BYTES */ 61470000 * /* **************************************** */ 61480000 * 61490000 * DECLARE 1 IOBORG07 61500000 *%IF IKEPLS='2' %THEN 61550000 * %GOTO IOBA15; 61560000 * BASED(ADDR(IOBEXTEN)+8) BDY(WORD), 61600000 *%GOTO IOBA16; 61650000 *%IOBA15 : ; 61700000 * DEF(IOBEXTEN) POS(9) BDY(WORD), 61750000 *%IOBA16 : ; 61760000 * 2 W1IEXTEN CHAR(2), /* APPENDAGE CODES FOR BOTH 61800000 * NORMAL AND ABNORMAL CHANNEL 61850000 * END CONDITIONS */ 61900000 * 3 W1OEXTEN CHAR(2); /* SAME AS W1IEXTEN ABOVE */ 62000000 * 62050000 * /* **************************************** */ 62060000 * /* BISAM EXTENSION *** 16 BYTES */ 62070000 * /* **************************************** */ 62080000 * 62090000 * DECLARE 1 IOBORG08 62100000 *%IF IKEPLS='2' %THEN 62150000 * %GOTO IOBA17; 62160000 * BASED(ADDR(IOBEXTEN)+8) BDY(WORD), 62200000 *%GOTO IOBA18; 62250000 *%IOBA17 : ; 62260000 * DEF(IOBEXTEN) POS(9) BDY(WORD), 62270000 *%IOBA18 : ; 62280000 * 2 IOBCCWAD PTR(31), /* FOR FIXED LENGTH RECORDS, 62300000 * ADDRESS OF FIRST CCW OF 62350000 * CHANNEL PROGRAM. 62400000 * FOR VARIABLE LENGTH RECORDS, 62450000 * ADDRESS OF BUFFER, IF DYNAMIC 62500000 * BUFFERING SPECIFIED, AFTER 62550000 * COMPLETION OF READ FOR UPDATE 62600000 * (READ KU) */ 62650000 * 2 IOBINDCT CHAR(1), /* INDICATORS */ 63000000 * 3 IOBDEQCP BIT(1), /* DEQUEUE CHANNEL PROGRAM FROM 63200000 * QUEUE */ 63300000 * 3 IOBUNSCH BIT(1), /* UNSCHEDULED QUEUE */ 63400000 * 3 IOBOVPTR BIT(1), /* IF 0, DECBAREA + 6 POINTS TO 63500000 * OVERFLOW RECORD DATA. 63800000 * IF 1, DCBMSWA POINTS TO 63900000 * OVERFLOW RECORD KEY FOLLOWED 64000000 * BY DATA. */ 64100000 * 3 IOBKEYAD BIT(1), /* IF 0, DECBKEY POINTS TO 64200000 * OVERFLOW RECORD KEY. 64400000 * IF 1, DCBMSWA + 8 POINTS TO 64500000 * OVERFLOW RECORD KEY. */ 64700000 * 3 IOBRSV27 BIT(1), /* RESERVED */ 64800000 * 3 IOBRSV28 BIT(1), /* RESERVED */ 64900000 * 3 IOBRSV29 BIT(1), /* RESERVED */ 65000000 * 3 IOBCHNNL BIT(1), /* IF 0, NORMAL CHANNEL END HAS 65100000 * OCCURRED. 65300000 * IF 1, ABNORMAL CHANNEL END 65400000 * HAS OCCURRED. */ 65500000 * 2 IOBUNSQR CHAR(1), /* REASON FOR UNSCHEDULED QUEUE */ 65800000 * 3 IOBCPBSY BIT(1), /* CHANNEL PROGRAM CP1 OR CP2 66000000 * BUSY */ 66050000 * 3 IOBNTAV1 BIT(1), /* NO CP4, CP5 OR CP6 AVAILABLE */ 66100000 * 3 IOBNTAV2 BIT(1), /* NO CP7 AVAILABLE */ 66200000 * 3 IOBKNWR BIT(1), /* WRITE KN IS IN EFFECT 66300000 * (UNSCHEDULED IOB IS FOR 66400000 * WRITE KN) */ 66500000 * 3 IOBKNRWR BIT(1), /* WRITE KN IS IN EFFECT 66600000 * (UNSCHEDULED IOB IS FOR 66700000 * READ OR WRITE KN) */ 66800000 * 3 IOBRSV30 BIT(1), /* RESERVED */ 66900000 * 3 IOBRSV31 BIT(1), /* RESERVED */ 67000000 * 3 IOBRSV32 BIT(1), /* RESERVED */ 67100000 * 2 IOBAPP CHAR(1), /* APPENDAGE CODE */ 67300000 * 2 IOBASYN CHAR(1), /* ASYNCHRONOUS ROUTINE CODE */ 67600000 * 2 IOBFCHAD PTR(31), /* FORWARD CHAIN ADDRESS */ 68000000 * 3 IOBCOUNT CHAR(1), /* WRITE CHECK COUNTER */ 68100000 * 3 IOBFCHNB PTR(24), /* FORWARD CHAIN ADDRESS */ 68200000 * 2 IOBBCHAD PTR(31); /* BACKWARD CHAIN ADDRESS */ 68400000 * 68500000 * /* **************************************** */ 68550000 * /* BDAM EXTENSION *** 40 BYTES + */ 68560000 * /* CHANNEL PROGRAM */ 68570000 * /* **************************************** */ 68580000 * 68600000 * DECLARE 1 IOBORG09 68700000 *%IF IKEPLS='2' %THEN 68750000 * %GOTO IOBA19; 68760000 * BASED(ADDR(IOBEXTEN)+8) BDY(WORD), 68800000 *%GOTO IOBA20; 68850000 *%IOBA19 : ; 68860000 * DEF(IOBEXTEN) POS(9) BDY(WORD), 68870000 *%IOBA20 : ; 68880000 * 2 IOBDBYTR FIXED(15), /* NUMBER OF UNUSED BYTES 68900000 * REMAINING ON THE TRACK */ 69000000 * 2 IOBDIOBS FIXED(15), /* OVERALL SIZE OF THE IOB */ 69100000 * 2 IOBDPLAD PTR(31), /* ADDRESS OF THE NEXT IOB IN 69200000 * THE POOL OF IOB'S */ 69300000 * 3 IOBDAYLI CHAR(1), /* ALL BITS SET TO ZERO INDICATE 69400000 * THE AVAILABILITY OF THIS IOB */ 69500000 * 3 IOBDPLB PTR(24), /* ADDRESS OF THE NEXT IOB IN 69700000 * THE POOL OF IOB'S */ 69750000 * 2 IOBDTYPE CHAR(1), /* THE TYPE OF REQUEST AND 70100000 * SPECIFIED OPTIONS */ 70200000 * 3 IOBVERFY BIT(1), /* VERIFY */ 70400000 * 3 IOBOVFLO BIT(1), /* OVERFLOW */ 70500000 * 3 IOBEXTSC BIT(1), /* EXTENDED SEARCH */ 70600000 * 3 IOBFDBCK BIT(1), /* FEEDBACK */ 70700000 * 3 IOBACTAD BIT(1), /* ACTUAL ADDRESSING */ 70800000 * 3 IOBDYNBF BIT(1), /* DYNAMIC BUFFERING */ 70900000 * 3 IOBRDEXC BIT(1), /* READ EXCLUSIVE */ 71000000 * 3 IOBRELBL BIT(1), /* RELATIVE BLOCK ADDRESSING */ 71100000 * 2 IOBDTYP2 CHAR(1), /* SECOND BYTE OF OPTIONS AND 71300000 * REQUESTS */ 71400000 * 3 IOBSKEY BIT(1), /* KEY ADDRESS CODED AS 'S' */ 71600000 * 3 IOBSBLKL BIT(1), /* BLOCK LENGTH CODED AS 'S' */ 71700000 * 3 IOBSUFFX BIT(2), /* IF BITS 2 AND 3 ARE ONE, RU 71800000 * IS SUFFIXED TO THE TYPE, 71850000 * INDICATING THAT THE FEEDBACK 71900000 * ADDRESS IN DECNXADR CAN BE 71950000 * THE ADDRESS OF EITHER THE 72000000 * NEXT DATA RECORD OR THE NEXT 72050000 * CAPACITY RECORD, WHICHEVER 72100000 * OCCURS FIRST. 72150000 * IF BIT 2 IS ZERO AND BIT 3 IS 72160000 * ONE, R IS SUFFIXED TO THE 72170000 * TYPE, INDICATING THAT THE 72180000 * FEEDBACK ADDRESS IN DECNXADR 72190000 * IS THE ADDRESS OF THE NEXT 72192000 * DATA RECORD. */ 72194000 * 3 IOBRQUST BIT(1), /* IF 1, READ REQUEST. 72200000 * IF 0, WRITE REQUEST. */ 72300000 * 3 IOBTYPE BIT(1), /* IF 1, KEY TYPE. 72400000 * IF 0, ID TYPE. */ 72500000 * 3 IOBADDTY BIT(1), /* ADD TYPE */ 72600000 * 3 IOBRELEX BIT(1), /* RELEX MACRO ISSUED */ 72700000 * 2 IOBDSTAT CHAR(2), /* STATUS OF THE I/O REQUEST */ 72900000 * 3 IOBSTAT1 CHAR(1), /* FLAG BYTE */ 73100000 * 4 IOBABNRM BIT(1), /* ABNORMAL COMPLETION */ 73300000 * 4 IOBNEWVL BIT(1), /* ON EXTENDED SEARCH, THE NEXT 73400000 * EXTENT IS ON A NEW VOLUME. 73500000 * THE ASI ROUTINE MUST ISSUE THE 73600000 * EXCP MACRO. THE END-OF-EXTENT 73700000 * APPENDAGE CANNOT. */ 73800000 * 4 IOBSYNCH BIT(1), /* MODULE WAS ENTERED VIA 74000000 * SYNCH MDC037*/ 74050000 * 4 IOBPASS2 BIT(1), /* ON EXTENDED SEARCH, INDICATES 74100000 * TO THE RELATIVE BLOCK 74200000 * CONVERSION ROUTINE THAT THE 74250000 * SECOND PASS OF A TWO-PASS 74300000 * CONVERSION ROUTINE HAS 74400000 * COMPLETED */ 74500000 * 4 IOBENQUE BIT(1), /* FOR EXCLUSIVE CONTROL 74600000 * REQUEST, INDICATES THAT A 74650000 * RECORD HAS BEEN ENQUEUED */ 74700000 * 4 IOBBUFF BIT(1), /* A BUFFER HAS BEEN ASSIGNED 74800000 * TO THIS IOB */ 74850000 * 4 IOBADDVU BIT(1), /* IOB BEING USED TO ADD A 74900000 * VARIABLE (V) OR UNDEFINED (U) 74950000 * TYPE RECORD TO THE DATA SET */ 75000000 * 4 IOBSIORT BIT(1), /* INDICATES TO THE DYNAMIC 75100000 * BUFFERING ROUTINE THAT IT 75200000 * WAS ENTERED FROM, AND IS TO 75300000 * RETURN TO, THE START I/O 75400000 * APPENDAGE MODULE */ 75500000 * 3 IOBSTAT2 CHAR(1), /* ERROR CODE FOR ABNORMAL 75700000 * COMPLETION USED AS POST CODE 75800000 * IN ECB */ 75900000 * 2 IOBDCPND PTR(31), /* ADDRESS OF LOCATION WHERE 76000000 * CHANNEL END PROGRAM SHOULD 76100000 * END */ 76200000 * 2 IOBDBYTN FIXED(15), /* NUMBER OF BYTES NEEDED ON A 76300000 * TRACK TO WRITE A NEW BLOCK */ 76400000 * 2 IOBRSV34 CHAR(2), /* RESERVED */ 76500000 * 2 IOBDQPTR PTR(31), /* ADDRESS OF IOB FOR NEXT I/O 76600000 * OPERATION TO BE EXECUTED */ 76700000 * 2 IOBRSV35 CHAR(8) BDY(WORD), /* RESERVED */ 76800000 * 2 IOBDNCRF CHAR(8) BDY(WORD), /* COUNT FIELD FOR NEW BLOCK */ 77000000 * 2 IOBCHNPR CHAR(0) BDY(WORD); /* CHANNEL PROGRAM USED TO 77050000 * TRANSFER DATA AS REQUESTED BY 77060000 * THE READ OR WRITE MACRO 77070000 * INSTRUCTION STARTS HERE */ 77080000 * 77100000 * /* **************************************** */ 77150000 * /* VSAM EXTENSION *** 24 BYTES */ 77200000 * /* **************************************** */ 77300000 * 77350000 * DECLARE 1 IOBORG10 77400000 *%IF IKEPLS='2' %THEN 77410000 * %GOTO IOBA21; 77420000 * BASED(ADDR(IOBEXTEN)+8) BDY(WORD), 77450000 *%GOTO IOBA22; 77460000 *%IOBA21 : ; 77470000 * DEF(IOBEXTEN) POS(9) BDY(WORD), 77480000 *%IOBA22 : ; 77490000 * 2 IOBSEEK2 CHAR(8) BDY(WORD), /* SEEK FIELD 2 ICB435*/ 77500000 * 3 IOBSK2M CHAR(1), /* EXTENT NUMBER ICB435*/ 77550000 * 3 IOBSK2BB CHAR(2), /* BIN NUMBER ICB435*/ 77600000 * 3 IOBSK2CC CHAR(2), /* CYLINDER NUMBER ICB435*/ 77650000 * 3 IOBSK2HH CHAR(2), /* HEAD NUMBER ICB435*/ 77700000 * 3 IOBSK2R CHAR(1), /* RECORD NUMBER ICB435*/ 77750000 * 2 IOBBUFC PTR(31), /* ADDRESS OF ASSOCIATED BUFFER 77800000 * CONTROL BLOCK ICB435*/ 77850000 * 2 IOBREADA PTR(31), /* ADDRESS OF FIRST READ CHANNEL 77900000 * PROGRAM SEGMENT THAT HAS NOT 77950000 * BEEN PROCESSED ICB435*/ 78000000 * 2 IOBNEXTA PTR(31), /* ADDRESS OF NEXT ACTIVE IOB 78050000 * ICB435*/ 78100000 * 2 IOBRDCHP PTR(31); /* ADDRESS OF READ CHANNEL 78150000 * PROGRAM ICB435*/ 78200000 * 78250000 * /* **************************************** */ 78300000 * /* VTAM EXTENSION (OS/VS1 ONLY) */ 78350000 * /* *** 24 BYTES */ 78400000 * /* **************************************** */ 78450000 * 78500000 * DECLARE 1 IOBORG11 78550000 *%IF IKEPLS='2' %THEN 78600000 * %GOTO IOBA23; 78650000 * BASED(ADDR(IOBEXTEN)) BDY(WORD), 78700000 *%GOTO IOBA24; 78750000 *%IOBA23 : ; 78800000 * DEF(IOBEXTEN) BDY(WORD), 78850000 *%IOBA24 : ; 78900000 * 2 IOBERCT PTR(31), /* SAME AS IOBERCTA BELOW MDC001*/ 78950000 * 3 IOBUCBXV PTR(8), /* UCB INDEX MDC050*/ 78960000 * 4 IOBRTYPE BIT(8), /* RECORD TYPE FOR OBR MDC002*/ 79000000 * 3 IOBERCTA PTR(24), /* POINTER TO COUNTERS FOR SIO 79050000 * AND TEMPORARY ERRORS MDC003*/ 79100000 * 2 IOBNAME PTR(31), /* SAME AS IOBNAMEA BELOW MDC004*/ 79150000 * 3 IOBNAMSZ BIT(8), /* SIZE OF TERMINAL NAME MDC005*/ 79200000 * 3 IOBNAMEA PTR(24), /* POINTER TO TERMINAL NAME 79250000 * MDC006*/ 79300000 * 2 IOBMDREC PTR(31), /* POINTER TO RECORD BEING 79350000 * PASSED TO MISCELLANEOUS DATA 79400000 * RECORDER MDC007*/ 79450000 * 2 IOBRCD PTR(31), /* POINTER TO QUEUE OF OBR 79500000 * RECORDS PASSED FROM 3705 79550000 * MDC008*/ 79600000 * 2 IOBSENSV BIT(8), /* SENSE BYTE SAVE AREA MDC009*/ 79650000 * 2 IOBCSWSV CHAR(7); /* SAVE AREA FOR LAST 7 BYTES OF 79700000 * CSW MDC010*/ 79750000 * 80550000 * /* **************************************** */ 81350000 * /* 3540 EXTENSION *** 4 BYTES @Z30OP9A*/ 82150000 * /* **************************************** */ 83750000 * 84550000 * DECLARE 1 IOBORG13 85350000 *%IF IKEPLS='2' %THEN 86150000 * %GOTO IOBA27; 86950000 * BASED(ADDR(IOBEXTEN)) BDY(WORD), /* @Z30OP9A*/ 87750000 *%GOTO IOBA28; 88550000 *%IOBA27 : ; 89350000 * DEF(IOBEXTEN) BDY(WORD), /* @Z30OP9A*/ 90150000 *%IOBA28 : ; 90950000 * 2 IOBSKADR CHAR(4) BDY(WORD), /* 3540 SEEK ADDRESS 91750000 * (MDC300) @Z30OP9A*/ 92550000 * 3 IOBSKRV PTR(8), /* RESERVED (MDC301) @Z30OP9A*/ 93350000 * 3 IOBSKTT PTR(8), /* TRACK NUMBER 94150000 * (MDC302) @Z30OP9A*/ 94950000 * 3 IOBSK0 PTR(8), /* MUST BE ZERO 95750000 * (MDC303) @Z30OP9A*/ 96550000 * 3 IOBSKSS PTR(8); /* SECTOR NUMBER 97350000 * (MDC304) @Z30OP9A*/ 98150000