TITLE 'BLSCOPEN -- IPCS DAS OPEN EXECUTOR *00001000 ' 00002000 * /* CHANGE ACTIVITY 00003000 * THIS MODULE IS WRITTEN FOR @G57LPSR 00004000 BLSCOPEN CSECT , 0002 00005000 @MAINENT DS 0H 0002 00006000 USING *,@15 0002 00007000 B @PROLOG 0002 00008000 DC AL1(16) 0002 00009000 DC C'BLSCOPEN 78.062' 0002 00010000 DROP @15 00011000 @PROLOG STM @14,@12,12(@13) 0002 00012000 BALR @12,0 0002 00013000 @PSTART DS 0H 0002 00014000 USING @PSTART,@12 0002 00015000 L @00,@SIZDATD 0002 00016000 BLSCGETS R,LV=(0) 00017000 LR @11,@01 0002 00018000 USING @DATD,@11 0002 00019000 ST @13,@SA00001+4 0002 00020000 LM @00,@01,20(@13) 0002 00021000 ST @11,8(,@13) 0002 00022000 LR @13,@11 0002 00023000 * CBPTR=GPR01P; /* GET ADDRESSABILITY TO THE DMCB*/ 00024000 LR CBPTR,GPR01P 0030 00025000 * RFY 0031 00026000 * GPR01P UNRSTD; 0031 00027000 * MODNAME=LMODNMC; /* MARK AUTOMATIC AREA */ 00028000 MVC MODNAME(8),@CC00682 0032 00029000 * SUBCODE=F0C; /* INIT THE SUBROUTINE RETURN 0033 00030000 * CODE */ 00031000 SLR @10,@10 0033 00032000 ST @10,SUBCODE 0033 00033000 * DMCBOPTS=LHEX0C; /* OPEN DOESNT USE THE OPTIONS SO 00034000 * ZERO THEM OUT */ 00035000 MVI DMCBOPTS(CBPTR),X'00' 0034 00036000 * DCBPTR=ADDR(DMCBDCB); /* MAP THE DCB IN THE DMCB FOR 0035 00037000 * QSAM */ 00038000 * 0035 00039000 LA DCBPTR,DMCBDCB(,CBPTR) 0035 00040000 * /*****************************************************************/ 00041000 * /* */ 00042000 * /* IF THE DMCB IS ALREADY OPEN THEN RETURN A CODE OF EIGHT */ 00043000 * /* */ 00044000 * /*****************************************************************/ 00045000 * 0036 00046000 * IF DMCBOPN^=LHEX0C THEN /* TEST DMCB ISNT CLOSED */ 00047000 CLI DMCBOPN(CBPTR),X'00' 0036 00048000 BE @RF00036 0036 00049000 * DO; /* IF DMCB ISNT CLOSED */ 00050000 * DMCBRTC=ERROR; 0038 00051000 MVC DMCBRTC(4,CBPTR),@CF00044 0038 00052000 * END; /* IF DMCB ISNT CLOSED */ 00053000 * ELSE 0040 00054000 * DO; /* DATA SET NOT OPEN */ 00055000 B @RC00036 0040 00056000 @RF00036 DS 0H 0041 00057000 * DMCBCPC=F0C; /* CLEAR ABEND COMPLETION CODE */ 00058000 SLR @10,@10 0041 00059000 ST @10,DMCBCPC(,CBPTR) 0041 00060000 EJECT 00061000 * IF DMCBVSF=ON THEN /* IS VSAM BIT SET */ 00062000 TM DMCBVSF(CBPTR),B'00000001' 0042 00063000 BNO @RF00042 0042 00064000 * DO; /* VSAM OPEN */ 00065000 * 0043 00066000 * /*********************************************************/ 00067000 * /* */ 00068000 * /* VSAM OPEN */ 00069000 * /* */ 00070000 * /*********************************************************/ 00071000 * 0044 00072000 * IF DMCBACCM=F1C| /* TEST FOR HIGH CONTENTION 0044 00073000 * PROTOCOL REQUEST */ 00074000 * DMCBACCM=F4C THEN 0044 00075000 CLI DMCBACCM(CBPTR),1 0044 00076000 BE @RT00044 0044 00077000 CLI DMCBACCM(CBPTR),4 0044 00078000 BNE @RF00044 0044 00079000 @RT00044 DS 0H 0045 00080000 * DO; /* HIGH CONTENTION PROTOCOL 0045 00081000 * REQUEST */ 00082000 * CALL BLSCVALT(DMCB);/* OPEN ENQUEUE VALIDITY CHECK */ 00083000 ST CBPTR,@AL00001 0046 00084000 L @15,@CV00632 0046 00085000 LA @01,@AL00001 0046 00086000 BALR @14,@15 0046 00087000 * RFY 0047 00088000 * GPR15F RSTD; 0047 00089000 * DMCBRTC=GPR15F; /* SAVE RETURN CODE */ 00090000 ST GPR15F,DMCBRTC(,CBPTR) 0048 00091000 * RFY 0049 00092000 * GPR15F UNRSTD; 0049 00093000 * IF DMCBRTC^=F0C THEN/* TEST FOR VALIDITY CHECK FAILED*/ 00094000 L @10,DMCBRTC(,CBPTR) 0050 00095000 LTR @10,@10 0050 00096000 BZ @RF00050 0050 00097000 * DO; /* ABEND(F131C) DUMP USER */ 00098000 * RESPECIFY 0052 00099000 * (GPR01F) RESTRICTED; 0052 00100000 * GPR01F=(F131C)&'00000FFF'X;/* COMP CODE IN BITS 00101000 * 20-31 */ 00102000 LA GPR01F,131 0053 00103000 * GPR01F=GPR01F|'80000000'X;/* DUMP/STEP/DUMPOPTS 00104000 * FLAG */ 00105000 O GPR01F,@CF00674 0054 00106000 * SVC(13); /* ISSUE ABEND SVC */ 00107000 SVC 13 0055 00108000 * RESPECIFY 0056 00109000 * (GPR01F) UNRESTRICTED; 0056 00110000 * END; /* ABEND(F131C) DUMP USER OPEN 0057 00111000 * ENQUEUE VALIDITY CHK FAILED */ 00112000 * ELSE 0058 00113000 * DO; /* VALIDITY CHECK OK,ISSUE 0058 00114000 * ENQUEUE */ 00115000 B @RC00050 0058 00116000 @RF00050 DS 0H 0059 00117000 * IF DMCBOUT=ON THEN/* TEST OPEN FOR OUTPUT */ 00118000 TM DMCBOUT(CBPTR),B'10000000' 0059 00119000 BNO @RF00059 0059 00120000 * QTYPE=QEXCC; /* ENQUEUE EXCLUSIVE */ 00121000 MVI QTYPE,C'E' 0060 00122000 * ELSE 0061 00123000 * QTYPE=QSHRC; /* ENQUEUE SHARE */ 00124000 B @RC00059 0061 00125000 @RF00059 MVI QTYPE,C'S' 0061 00126000 * CALL BLSDENQ0(ZZ2,QNAME,DMCBDSN,LENGTH(DMCBDSN), 00127000 * QTYPE); /* ISSUE ENQUEUE TIMER WAIT LOOP */ 00128000 @RC00059 L @10,DMCBTVP(,CBPTR) 0062 00129000 ST @10,@AL00001 0062 00130000 LA @10,@CC00653 0062 00131000 ST @10,@AL00001+4 0062 00132000 LA @10,DMCBDSN(,CBPTR) 0062 00133000 ST @10,@AL00001+8 0062 00134000 LA @10,@CF00119 0062 00135000 ST @10,@AL00001+12 0062 00136000 LA @10,QTYPE 0062 00137000 ST @10,@AL00001+16 0062 00138000 L @15,@CV00638 0062 00139000 LA @01,@AL00001 0062 00140000 BALR @14,@15 0062 00141000 * RFY 0063 00142000 * GPR15F RSTD; 0063 00143000 * DMCBRTC=GPR15F; /* SAVE RETURN CODE */ 00144000 ST GPR15F,DMCBRTC(,CBPTR) 0064 00145000 * RFY 0065 00146000 * GPR15F UNRSTD; 0065 00147000 * END; /* VALIDITY CHECK OK,ISSUE 0066 00148000 * ENQUEUE */ 00149000 * END; /* HIGH CONTENTION PROTOCOL 0067 00150000 * REQUEST */ 00151000 @RC00050 DS 0H 0068 00152000 * IF DMCBRTC=F0C THEN /* TEST OK SO FAR (NO ENQUEUE 0068 00153000 * ATTENTION) */ 00154000 @RF00044 L @10,DMCBRTC(,CBPTR) 0068 00155000 LTR @10,@10 0068 00156000 BNZ @RF00068 0068 00157000 * DO; /* VSAM OK SO FAR, PROCEED */ 00158000 * IF DMCBOUT=ON THEN /* IS REQUEST OPEN FOR OUTPUT */ 00159000 TM DMCBOUT(CBPTR),B'10000000' 0070 00160000 BNO @RF00070 0070 00161000 * DO; /* OPEN FOR OUTPUT */ 00162000 * ACBIN=ON; /* PERMIT GET */ 00163000 * ACBOUT=ON; /* PERMIT PUT */ 00164000 OI ACBIN+492(CBPTR),B'00000110' 0073 00165000 * DMCBSIN=ON; /* INPUT ALWAYS ALLOWED FOR VSAM */ 00166000 * DMCBSOUT=ON; /* INDICATE OPEN FOR OUTPUT */ 00167000 OI DMCBSIN(CBPTR),B'11000000' 0075 00168000 * END; /* OPEN FOR OUTPUT */ 00169000 * ELSE 0077 00170000 * DO; /* OPEN FOR INPUT */ 00171000 B @RC00070 0077 00172000 @RF00070 DS 0H 0078 00173000 * ACBIN=ON; /* PERMIT GET */ 00174000 * ACBOUT=OFF; /* FORCE PUT OFF */ 00175000 OI ACBIN+492(CBPTR),B'00000100' 0079 00176000 NI ACBOUT+492(CBPTR),B'11111101' 0079 00177000 * DMCBSIN=ON; /* INPUT ALWAYS ALLOWED FOR VSAM */ 00178000 * DMCBSOUT=OFF; /* FORCE OUTPUT MARK OFF */ 00179000 OI DMCBSIN(CBPTR),B'10000000' 0081 00180000 NI DMCBSOUT(CBPTR),B'10111111' 0081 00181000 * END; /* OPEN FOR INPUT */ 00182000 * 0082 00183000 * /*****************************************************/ 00184000 * /* */ 00185000 * /* PERFORM THE ACTUAL OPEN */ 00186000 * /* */ 00187000 * /*****************************************************/ 00188000 * 0083 00189000 * WAITFLAG=OFF; /* DATA SET AVAILABLE FLAG */ 00190000 @RC00070 NI WAITFLAG,B'01111111' 0083 00191000 * DO UNTIL WAITFLAG=ON;/* LOOP UNTIL DATA SET IS 0084 00192000 * AVAILABLE */ 00193000 @DL00084 DS 0H 0085 00194000 * RFY 0085 00195000 * GPR02P RSTD; 0085 00196000 * GPR02P=ADDR(DMCBACB);/* ADDRESS ACB WITHIN DMCB */ 00197000 LA GPR02P,DMCBACB(,CBPTR) 0086 00198000 * OPENLIST=OPENIN; /* FOR VSAM THE OPEN OPTIONS DONT 00199000 * MATTER */ 00200000 L @10,OPENIN 0087 00201000 ST @10,OPENLIST 0087 00202000 * GEN REFS(GPR02P) SETS(GPR01P,GPR00F,GPR15F) 0088 00203000 * (OPEN ((GPR02P)),MF=(E,OPENLIST)); 0088 00204000 OPEN ((GPR02P)),MF=(E,OPENLIST) 00205000 * RFY 0089 00206000 * GPR02P UNRSTD; 0089 00207000 * RFY 0090 00208000 * GPR15F RSTD; 0090 00209000 * DMCBSUBC=GPR15F; /* SAVE OPEN RETURN CODE */ 00210000 ST GPR15F,DMCBSUBC(,CBPTR) 0091 00211000 * RFY 0092 00212000 * GPR15F UNRSTD; 0092 00213000 * IF DMCBSUBC=ERROR&/* TEST FOR DATA SET NOT 0093 00214000 * AVAILABLE */ 00215000 * ACBERFLG=F168C THEN 0093 00216000 L @10,DMCBSUBC(,CBPTR) 0093 00217000 CL @10,@CF00044 0093 00218000 BNE @RF00093 0093 00219000 CLI ACBERFLG+492(CBPTR),168 0093 00220000 BNE @RF00093 0093 00221000 * DO; /* DATA SET NOT AVAILABLE */ 00222000 * CALL BLSDWAIT(DMCB);/* WAIT AWHILE */ 00223000 ST CBPTR,@AL00001 0095 00224000 L @15,@CV00637 0095 00225000 LA @01,@AL00001 0095 00226000 BALR @14,@15 0095 00227000 * IF DMCBRTC=F4C THEN/* TEST FOR ATTENTION ISSUED*/ 00228000 CLC DMCBRTC(4,CBPTR),@CF00037 0096 00229000 BNE @RF00096 0096 00230000 * WAITFLAG=ON;/* WAIT NO LONGER - ATTENTION WAS 00231000 * ISSUED */ 00232000 OI WAITFLAG,B'10000000' 0097 00233000 * END; /* DATA SET NOT AVAILABLE */ 00234000 * ELSE 0099 00235000 * WAITFLAG=ON; 0099 00236000 B @RC00093 0099 00237000 @RF00093 OI WAITFLAG,B'10000000' 0099 00238000 * END; /* LOOP UNTIL DATA SET IS 0100 00239000 * AVAILABLE */ 00240000 @RC00093 DS 0H 0100 00241000 @DE00084 TM WAITFLAG,B'10000000' 0100 00242000 BNO @DL00084 0100 00243000 * IF DMCBSUBC=F4C& /* TEST FOR WARNING FROM VSAM 0101 00244000 * OPEN */ 00245000 * DMCBOUT=ON THEN /* AND OPENING FOR UPDATE */ 00246000 CLC DMCBSUBC(4,CBPTR),@CF00037 0101 00247000 BNE @RF00101 0101 00248000 TM DMCBOUT(CBPTR),B'10000000' 0101 00249000 BNO @RF00101 0101 00250000 * DO; /* VSAM OPEN ISSUED WARNING - 0102 00251000 * ISSUE MESSAGES AND CLOSE */ 00252000 * DMCBRTC=ERROR; /* SET THE DAS RETURN CODE */ 00253000 MVC DMCBRTC(4,CBPTR),@CF00044 0103 00254000 * DMCBMODN=MODNAME;/* ERROR MODULE FOR MESSAGE */ 00255000 MVC DMCBMODN(8,CBPTR),MODNAME 0104 00256000 * DMCBACBE=ACBERFLG;/* PASS ERROR REASON TO DMCB */ 00257000 SLR @10,@10 0105 00258000 IC @10,ACBERFLG+492(,CBPTR) 0105 00259000 ST @10,DMCBACBE(,CBPTR) 0105 00260000 * CALL BLSCANLE(DMCB);/* ISSUE VSAMFAIL MESSAGES 0106 00261000 * FOR OPEN */ 00262000 ST CBPTR,@AL00001 0106 00263000 L @15,@CV00635 0106 00264000 LA @01,@AL00001 0106 00265000 BALR @14,@15 0106 00266000 * DMCBRQST=DMCBCLR;/* SETUP FOR CLOSE REQUEST */ 00267000 MVI DMCBRQST(CBPTR),X'02' 0107 00268000 * RFY 0108 00269000 * GPR01P RSTD; 0108 00270000 * GPR01P=CBPTR; /* PASS THE DMCB POINTER */ 00271000 LR GPR01P,CBPTR 0109 00272000 * CALL BLSCCLSE; /* CLOSE THE DATA SET */ 00273000 L @15,@CV00634 0110 00274000 BALR @14,@15 0110 00275000 * RFY 0111 00276000 * GPR01P UNRSTD; 0111 00277000 * RFY 0112 00278000 * GPR15F RSTD; 0112 00279000 * DMCBSUBC=GPR15F;/* SAVE CLOSE RETURN CODE */ 00280000 ST GPR15F,DMCBSUBC(,CBPTR) 0113 00281000 * RFY 0114 00282000 * GPR15F UNRSTD; 0114 00283000 * IF DMCBSUBC=F4C THEN/* TEST FOR VSAM CLOSE ERROR */ 00284000 L @10,DMCBSUBC(,CBPTR) 0115 00285000 CL @10,@CF00037 0115 00286000 BNE @RF00115 0115 00287000 * DO; /* VSAM CLOSE ERROR - ISSUE 0116 00288000 * MESSAGES AND ABEND */ 00289000 * DMCBRTC=ERROR;/* SET THE DAS RETURN CODE */ 00290000 MVC DMCBRTC(4,CBPTR),@CF00044 0117 00291000 * DMCBACBE=ACBERFLG;/* PASS ERROR REASON TO 0118 00292000 * DMCB */ 00293000 SLR @10,@10 0118 00294000 IC @10,ACBERFLG+492(,CBPTR) 0118 00295000 ST @10,DMCBACBE(,CBPTR) 0118 00296000 * CALL BLSCANLE(DMCB);/* ISSUE VSAMFAIL 0119 00297000 * MESSAGES FOR CLOSE */ 00298000 ST CBPTR,@AL00001 0119 00299000 L @15,@CV00635 0119 00300000 LA @01,@AL00001 0119 00301000 BALR @14,@15 0119 00302000 * DO; /* BLSDMSG (ZZ2,NOMSG,DMCBMSG,0) 00303000 * ROUTE(TERM) */ 00304000 * CALL BLSDMSG0(ZZ2,NOMSG,DMCBMSG,0,'00010000'B 00305000 * ,0); /* BUILD MESSAGE */ 00306000 MVC @AL00001+4(20),@AL00121 0121 00307000 L @10,DMCBTVP(,CBPTR) 0121 00308000 ST @10,@AL00001 0121 00309000 LA @10,DMCBMSG(,CBPTR) 0121 00310000 ST @10,@AL00001+8 0121 00311000 L @15,@CV00636 0121 00312000 LA @01,@AL00001 0121 00313000 BALR @14,@15 0121 00314000 * END; /* BLSDMSG (ZZ2,NOMSG,DMCBMSG,0) 00315000 * ROUTE(TERM) ROUTE MESSAGES TO 00316000 * TERMINAL */ 00317000 * DO; /* ABEND(F140C) DUMP USER */ 00318000 * RESPECIFY 0124 00319000 * (GPR01F) RESTRICTED; 0124 00320000 * GPR01F=(F140C)&'00000FFF'X;/* COMP CODE IN 00321000 * BITS 20-31 */ 00322000 LA GPR01F,140 0125 00323000 * GPR01F=GPR01F|'80000000'X;/* 0126 00324000 * DUMP/STEP/DUMPOPTS FLAG */ 00325000 O GPR01F,@CF00674 0126 00326000 * SVC(13); /* ISSUE ABEND SVC */ 00327000 SVC 13 0127 00328000 * RESPECIFY 0128 00329000 * (GPR01F) UNRESTRICTED; 0128 00330000 * END; /* ABEND(F140C) DUMP USER */ 00331000 * END; /* VSAM CLOSE ERROR - ISSUE 0130 00332000 * MESSAGES AND ABEND */ 00333000 * DMCBRQST=DMCBOPR;/* RESTORE OPEN REQUEST */ 00334000 @RF00115 MVI DMCBRQST(CBPTR),X'01' 0131 00335000 * DMCBOPN=LHEX0C; /* INDICATE DMCB IS NOT OPEN */ 00336000 MVI DMCBOPN(CBPTR),X'00' 0132 00337000 * DMCBRTC=ERROR|LBIT0C;/* OPEN FAILED. TELL 0133 00338000 * BLSCRQST DON'T CALL BLSCANLE */ 00339000 MVC DMCBRTC(4,CBPTR),@CF00708 0133 00340000 * END; /* VSAM OPEN ISSUED WARNING - 0134 00341000 * ISSUE MESSAGES AND CLOSE */ 00342000 * IF DMCBSUBC>=ERROR THEN/* TEST RETURN CODE FROM VSAM 00343000 * OPEN */ 00344000 @RF00101 LA @10,8 0135 00345000 CL @10,DMCBSUBC(,CBPTR) 0135 00346000 BH @RF00135 0135 00347000 * DO; /* VSAM OPEN ERROR */ 00348000 * DMCBRTC=ERROR; /* OPEN JUST PLAIN FAILED */ 00349000 ST @10,DMCBRTC(,CBPTR) 0137 00350000 * DMCBACBE=ACBERFLG;/* PASS ERROR REASON TO DMCB */ 00351000 SLR @10,@10 0138 00352000 IC @10,ACBERFLG+492(,CBPTR) 0138 00353000 ST @10,DMCBACBE(,CBPTR) 0138 00354000 * DMCBOPN=LHEX0C; /* INDICATE DMCB IS NOT OPEN */ 00355000 MVI DMCBOPN(CBPTR),X'00' 0139 00356000 * END; /* VSAM OPEN ERROR */ 00357000 * END; /* VSAM OK SO FAR, PROCEED */ 00358000 EJECT 00359000 * END; /* VSAM OPEN */ 00360000 * ELSE 0143 00361000 * DO; /* QSAM OPEN */ 00362000 * 0143 00363000 B @RC00042 0143 00364000 @RF00042 DS 0H 0144 00365000 * /*********************************************************/ 00366000 * /* */ 00367000 * /* QSAM OPEN */ 00368000 * /* */ 00369000 * /*********************************************************/ 00370000 * 0144 00371000 * IF DMCBOUT=ON /* OPEN FOR OUTPUT */ 00372000 * THEN 0144 00373000 TM DMCBOUT(CBPTR),B'10000000' 0144 00374000 BNO @RF00144 0144 00375000 * DO; /* QSAM OPEN FOR OUTPUT */ 00376000 * OPENLIST=OPENOUT; /* OPEN IS FOR OUTPUT */ 00377000 L @10,OPENOUT 0146 00378000 ST @10,OPENLIST 0146 00379000 * DMCBSOUT=ON; 0147 00380000 OI DMCBSOUT(CBPTR),B'01000000' 0147 00381000 * END; /* QSAM OPEN FOR OUTPUT */ 00382000 * ELSE 0149 00383000 * DO; /* QSAM OPEN FOR INPUT */ 00384000 B @RC00144 0149 00385000 @RF00144 DS 0H 0150 00386000 * OPENLIST=OPENIN; /* OPEN IS FOR INPUT */ 00387000 L @10,OPENIN 0150 00388000 ST @10,OPENLIST 0150 00389000 * DMCBSIN=ON; 0151 00390000 OI DMCBSIN(CBPTR),B'10000000' 0151 00391000 * END; /* QSAM OPEN FOR INPUT */ 00392000 * 0152 00393000 * /*********************************************************/ 00394000 * /* */ 00395000 * /* QSAM OPEN MAY ABEND SO SET A ESTAE EXIT TO COVER THE */ 00396000 * /* POSSIBILITY */ 00397000 * /* */ 00398000 * /*********************************************************/ 00399000 * 0153 00400000 * DMCBRET=ADDR(RETRY); /* INDICATE RETRY ADDRESS */ 00401000 @RC00144 LA @10,RETRY 0153 00402000 ST @10,DMCBRET(,CBPTR) 0153 00403000 * DMCBARC=SEVERE; /* SET THE RETURN CODE SHOULD THE 00404000 * OPEN REQUEST ABEND */ 00405000 MVC DMCBARC(4,CBPTR),@CF00325 0154 00406000 * ESTAEPRM=ESTAELST; 0155 00407000 MVC ESTAEPRM(16),ESTAELST 0155 00408000 * RFY 0156 00409000 * (GPR02P, 0156 00410000 * GPR03P, 0156 00411000 * GPR04P) RSTD; 0156 00412000 * GPR02P=ADDR(ESTAEPRM); /* ADDRESS ESTAE PARAMETER LIST */ 00413000 LA GPR02P,ESTAEPRM 0157 00414000 * GPR03P=ADDR(BLSCRECV); /* ADDRESS ESTAE EXIT */ 00415000 L GPR03P,@CV00633 0158 00416000 * GPR04P=CBPTR; /* PARM TO ESTAE EXIT IS DMCB */ 00417000 LR GPR04P,CBPTR 0159 00418000 * GEN(ESTAE (GPR03P),PARAM=(GPR04P),MF=(E,(GPR02P))) 0160 00419000 * REFS(GPR02P,GPR03P,GPR04P); 0160 00420000 ESTAE (GPR03P),PARAM=(GPR04P),MF=(E,(GPR02P)) 00421000 * RFY 0161 00422000 * (GPR02P, 0161 00423000 * GPR03P, 0161 00424000 * GPR04P) UNRSTD; 0161 00425000 * 0161 00426000 * /*********************************************************/ 00427000 * /* */ 00428000 * /* DO THE QSAM OPEN. IF ANY ERRORS OCCUR THEY WILL BE */ 00429000 * /* TRAPPED BY THE ESTAE EXIT */ 00430000 * /* */ 00431000 * /*********************************************************/ 00432000 * 0162 00433000 * RFY 0162 00434000 * GPR02P RSTD; 0162 00435000 * GPR02P=ADDR(DMCBDCB); /* ADDRESS THE DCB IN THE DMCB */ 00436000 LA GPR02P,DMCBDCB(,CBPTR) 0163 00437000 * GEN(OPEN ((GPR02P)),MF=(E,OPENLIST)) 0164 00438000 * REFS(GPR02P,OPENLIST); 0164 00439000 OPEN ((GPR02P)),MF=(E,OPENLIST) 00440000 * RFY 0165 00441000 * GPR02P UNRSTD; 0165 00442000 *RETRY: 0166 00443000 * IF DMCBRTC^=F0C THEN /* DID OPEN FAIL */ 00444000 RETRY L @10,DMCBRTC(,CBPTR) 0166 00445000 LTR @10,@10 0166 00446000 BZ @RF00166 0166 00447000 * DO; /* OPEN ABENDED */ 00448000 * DMCBOPN=LHEX0C; /* FLAG DMCB AS NOT OPEN */ 00449000 MVI DMCBOPN(CBPTR),X'00' 0168 00450000 * END; /* OPEN ABENDED */ 00451000 * ELSE 0170 00452000 * IF DCBOFOPN^=ON THEN /* IS THE DCB OPEN ? */ 00453000 B @RC00166 0170 00454000 @RF00166 TM DCBOFOPN+40(DCBPTR),B'00010000' 0170 00455000 BO @RF00170 0170 00456000 * DO; /* DCB NOT OPEN */ 00457000 * DMCBRTC=ERROR; /* OPEN FAILED, DCB IS IN 0172 00458000 * PRE-OPEN CONDITION */ 00459000 MVC DMCBRTC(4,CBPTR),@CF00044 0172 00460000 * DMCBOPN=LHEX0C; /* FLAG DMCB AS NOT OPEN */ 00461000 MVI DMCBOPN(CBPTR),X'00' 0173 00462000 * END; /* DCB NOT OPEN */ 00463000 * 0174 00464000 * /*********************************************************/ 00465000 * /* */ 00466000 * /* CANCEL THE ESTAE EXIT */ 00467000 * /* */ 00468000 * /*********************************************************/ 00469000 * 0175 00470000 * ESTAEPRM=ESTAELST; 0175 00471000 @RF00170 DS 0H 0175 00472000 @RC00166 MVC ESTAEPRM(16),ESTAELST 0175 00473000 * RFY 0176 00474000 * GPR02P RSTD; 0176 00475000 * GPR02P=ADDR(ESTAEPRM); /* ADDRESS ESTAE CANCEL PARM LIST*/ 00476000 LA GPR02P,ESTAEPRM 0177 00477000 * GEN REFS(GPR02P)(ESTAE 0,MF=(E,(GPR02P))); 0178 00478000 ESTAE 0,MF=(E,(GPR02P)) 00479000 * RFY 0179 00480000 * GPR02P UNRSTD; 0179 00481000 * END; /* QSAM OPEN */ 00482000 * END; /* DATA SET NOT OPEN */ 00483000 @RC00042 DS 0H 0182 00484000 * IF DMCBRTC^=F0C THEN /* TEST FOR ERROR */ 00485000 @RC00036 L @10,DMCBRTC(,CBPTR) 0182 00486000 LTR @10,@10 0182 00487000 BZ @RF00182 0182 00488000 * DMCBMODN=MODNAME; /* ERROR MODULE FOR MESSAGE */ 00489000 MVC DMCBMODN(8,CBPTR),MODNAME 0183 00490000 * RETURN CODE(DMCBRTC); 0184 00491000 @RF00182 L @10,DMCBRTC(,CBPTR) 0184 00492000 L @13,4(,@13) 0184 00493000 L @00,@SIZDATD 0184 00494000 LR @01,@11 0184 00495000 BLSCFRES R,LV=(0),A=(1) 00496000 LR @15,@10 0184 00497000 L @14,12(,@13) 0184 00498000 LM @00,@12,20(@13) 0184 00499000 BR @14 0184 00500000 EJECT 00501000 * 0185 00502000 * /*****************************************************************/ 00503000 * /* */ 00504000 * /* END OF EXECUTABLE PROCEDURE STATEMENTS */ 00505000 * /* */ 00506000 * /*****************************************************************/ 00507000 * 0185 00508000 * DECLARE /* GENERAL PURPOSE REGISTERS */ 00509000 * GPR00F FIXED(31) REG(0), 0185 00510000 * GPR01F FIXED(31) REG(1), 0185 00511000 * GPR15F FIXED(31) REG(15), 0185 00512000 * GPR01P PTR(31) REG(1), 0185 00513000 * GPR02P PTR(31) REG(2), 0185 00514000 * GPR03P PTR(31) REG(3), 0185 00515000 * GPR04P PTR(31) REG(4); 0185 00516000 * DECLARE /* COMMON VARIABLES */ 00517000 * I256C CHAR(256) BASED, 0186 00518000 * I031F FIXED(31) BASED, 0186 00519000 * I031P PTR(31) BASED, 0186 00520000 * I015F FIXED(15) BASED, 0186 00521000 * I015P PTR(15) BASED, 0186 00522000 * I008P PTR(8) BASED, 0186 00523000 * I001C CHAR(1) BASED; 0186 00524000 * DCL 0187 00525000 * 1 DASPATCH LOCAL BDY(DWORD), /* PATCH AREA */ 00526000 * 2 DASPATA(DASPATLN) PTR INIT((DASPATLN)0); 0187 00527000 * END BLSCOPEN 0188 00528000 * 0188 00529000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 00530000 */*%INCLUDE SYSLIB (IFGACB ) */ 00531000 */*%INCLUDE SYSLIB (IHADCBDF) */ 00532000 */*%INCLUDE SYSLIB (IHADCB ) */ 00533000 * 0188 00534000 * ; 0188 00535000 @DATA DS 0H 00536000 DS 0F 00537000 @AL00121 DC A(@CF00672) LIST WITH 5 ARGUMENT(S) 00538000 DS F 00539000 DC A(@CF00631) 00540000 DC A(@CB00692) 00541000 DC A(@CF00631) 00542000 @DATD DSECT 00543000 DS 0F 00544000 @SA00001 DS 18F 00545000 @AL00001 DS 6A 00546000 BLSCOPEN CSECT 00547000 DS 0F 00548000 @CF00631 DC F'0' 00549000 @CF00037 DC F'4' 00550000 @CF00044 DC F'8' 00551000 @CF00325 DC F'12' 00552000 @CF00119 DC F'44' 00553000 @CF00708 DC F'-2147483640' 00554000 @CF00672 DC F'-1' 00555000 @CF00674 DC XL4'80000000' 00556000 @DATD DSECT 00557000 DS 0D 00558000 OPENLIST DS F 00559000 DS CL4 00560000 ESTAEPRM DS CL16 00561000 QTYPE DS CL1 00562000 WAITFLAG DS BL1 00563000 DS CL2 00564000 MODSTAT DS CL12 00565000 ORG MODSTAT 00566000 MODNAME DS CL8 00567000 SUBCODE DS FL4 00568000 ORG MODSTAT+12 00569000 BLSCOPEN CSECT 00570000 DS 0F 00571000 @SIZDATD DC AL1(0) 00572000 DC AL3(@ENDDATD-@DATD) 00573000 @CV00632 DC V(BLSCVALT) 00574000 @CV00633 DC V(BLSCRECV) 00575000 @CV00634 DC V(BLSCCLSE) 00576000 @CV00635 DC V(BLSCANLE) 00577000 @CV00636 DC V(BLSDMSG0) 00578000 @CV00637 DC V(BLSDWAIT) 00579000 @CV00638 DC V(BLSDENQ0) 00580000 DS 0D 00581000 @CC00653 DC C'SYSBLSDS' 00582000 @CC00682 DC C'BLSCOPEN' 00583000 @CB00692 DC B'00010000' 00584000 DS CL7 00585000 DASPATCH DS CL80 00586000 ORG DASPATCH 00587000 DASPATA DC 20A(0) 00588000 ORG DASPATCH+80 00589000 BLSCOPEN CSECT 00590000 ESTAELST ESTAE 0,MF=L 00591000 OPENIN OPEN (,(INPUT)),MF=L 00592000 OPENOUT OPEN (,(OUTPUT)),MF=L 00593000 @DATD DSECT 00594000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00595000 @ENDDATD EQU * 00596000 BLSCOPEN CSECT 00597000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00598000 @01 EQU 01 00599000 @02 EQU 02 00600000 @03 EQU 03 00601000 @04 EQU 04 00602000 @05 EQU 05 00603000 @06 EQU 06 00604000 @07 EQU 07 00605000 @08 EQU 08 00606000 @09 EQU 09 00607000 @10 EQU 10 00608000 @11 EQU 11 00609000 @12 EQU 12 00610000 @13 EQU 13 00611000 @14 EQU 14 00612000 @15 EQU 15 00613000 DCBPTR EQU @06 00614000 CBPTR EQU @05 00615000 GPR01P EQU @01 00616000 GPR15F EQU @15 00617000 GPR01F EQU @01 00618000 GPR02P EQU @02 00619000 GPR00F EQU @00 00620000 GPR03P EQU @03 00621000 GPR04P EQU @04 00622000 DMCB EQU 0 00623000 DMCBTVP EQU DMCB+8 00624000 DMCBRTC EQU DMCB+12 00625000 DMCBFTY EQU DMCB+20 00626000 DMCBVSF EQU DMCBFTY 00627000 DMCBOPN EQU DMCB+21 00628000 DMCBSIN EQU DMCBOPN 00629000 DMCBSOUT EQU DMCBOPN 00630000 DMCBRQST EQU DMCB+22 00631000 DMCBRMOD EQU DMCB+23 00632000 DMCBOUT EQU DMCBRMOD 00633000 DMCBOPTS EQU DMCB+24 00634000 DMCBGKY EQU DMCBOPTS 00635000 DMCBMFLG EQU DMCB+28 00636000 DMCBACCM EQU DMCB+30 00637000 DMCBBUFP EQU DMCB+32 00638000 DMCBKEYP EQU DMCB+44 00639000 DMCBMSG EQU DMCB+52 00640000 DMCBFRE EQU DMCB+88 00641000 DMCBEOB EQU DMCB+92 00642000 DMCBRET EQU DMCB+112 00643000 DMCBCPC EQU DMCB+116 00644000 DMCBARC EQU DMCB+120 00645000 DMCBACBE EQU DMCB+124 00646000 DMCBDSN EQU DMCB+284 00647000 DMCBSPEC EQU DMCB+380 00648000 DMCBSUBC EQU DMCB+404 00649000 DMCBAMS EQU DMCB+416 00650000 DMCBAUDT EQU DMCB+568 00651000 DMCBLSCP EQU DMCBAUDT+16 00652000 DMCBMODN EQU DMCB+632 00653000 IFGACB EQU 0 00654000 ACBCOMN EQU IFGACB 00655000 ACBLENG EQU ACBCOMN+2 00656000 ACBLENG2 EQU ACBLENG 00657000 ACBAMBL EQU ACBCOMN+4 00658000 ACBJWA EQU ACBAMBL 00659000 ACBMACRF EQU ACBCOMN+12 00660000 ACBMACR1 EQU ACBMACRF 00661000 ACBADR EQU ACBMACR1 00662000 ACBCNV EQU ACBMACR1 00663000 ACBIN EQU ACBMACR1 00664000 ACBOUT EQU ACBMACR1 00665000 ACBMACR2 EQU ACBMACRF+1 00666000 ACBBUFPL EQU ACBCOMN+20 00667000 ACBMACR3 EQU ACBBUFPL 00668000 ACBRECFM EQU ACBCOMN+24 00669000 ACBCCTYP EQU ACBCOMN+25 00670000 ACBOPT EQU ACBCOMN+26 00671000 ACBDSORG EQU ACBOPT 00672000 ACBCROPS EQU ACBDSORG 00673000 ACBDVIND EQU ACBDSORG 00674000 ACBEXLST EQU ACBCOMN+36 00675000 ACBDDNM EQU ACBCOMN+40 00676000 ACBAMETH EQU ACBDDNM+3 00677000 ACBOFLGS EQU ACBCOMN+48 00678000 ACBEXFG EQU ACBOFLGS 00679000 ACBIOSFG EQU ACBOFLGS 00680000 ACBERFLG EQU ACBCOMN+49 00681000 ACBINFLG EQU ACBCOMN+50 00682000 ACBVVIC EQU ACBINFLG 00683000 ACBUJFCB EQU ACBCOMN+52 00684000 ACBBLKSZ EQU ACBCOMN+60 00685000 IHADCB EQU 0 00686000 IHADCS00 EQU 0 00687000 DCBFDAD EQU IHADCS00+5 00688000 IHADCS01 EQU 0 00689000 DCBDVTBL EQU IHADCS01 00690000 IHADCS02 EQU 0 00691000 IHADCS04 EQU 0 00692000 DCBPRBYT EQU IHADCS04+3 00693000 IHADCS11 EQU 0 00694000 DCBRELB EQU IHADCS11 00695000 DCBREL EQU DCBRELB+1 00696000 DCBBUFCB EQU IHADCS11+4 00697000 DCBDSORG EQU IHADCS11+10 00698000 DCBDSRG1 EQU DCBDSORG 00699000 DCBDSRG2 EQU DCBDSORG+1 00700000 DCBIOBAD EQU IHADCS11+12 00701000 DCBODEB EQU DCBIOBAD 00702000 DCBLNP EQU DCBODEB 00703000 DCBQSLM EQU DCBLNP 00704000 DCBIOBAA EQU DCBODEB+1 00705000 IHADCS50 EQU 0 00706000 DCBSVCXL EQU IHADCS50 00707000 DCBEODAD EQU IHADCS50+4 00708000 DCBBFALN EQU DCBEODAD 00709000 DCBHIARC EQU DCBBFALN 00710000 DCBBFTEK EQU DCBHIARC 00711000 DCBBFT EQU DCBBFTEK 00712000 DCBEXLST EQU IHADCS50+8 00713000 DCBRECFM EQU DCBEXLST 00714000 DCBRECLA EQU DCBRECFM 00715000 IHADCS24 EQU 0 00716000 DCBOFLGS EQU IHADCS24+8 00717000 DCBOFLWR EQU DCBOFLGS 00718000 DCBOFOPN EQU DCBOFLGS 00719000 DCBIFLG EQU IHADCS24+9 00720000 DCBIBPCT EQU DCBIFLG 00721000 DCBMACR EQU IHADCS24+10 00722000 DCBMACR1 EQU DCBMACR 00723000 DCBMRFE EQU DCBMACR1 00724000 DCBMRGET EQU DCBMRFE 00725000 DCBMRAPG EQU DCBMACR1 00726000 DCBMRRD EQU DCBMRAPG 00727000 DCBMRCI EQU DCBMACR1 00728000 DCBMRMVG EQU DCBMRCI 00729000 DCBMRLCG EQU DCBMACR1 00730000 DCBMRABC EQU DCBMACR1 00731000 DCBMRPT1 EQU DCBMRABC 00732000 DCBMRSBG EQU DCBMRPT1 00733000 DCBMRCRL EQU DCBMACR1 00734000 DCBMRCHK EQU DCBMRCRL 00735000 DCBMRRDX EQU DCBMRCHK 00736000 DCBMRDMG EQU DCBMACR1 00737000 DCBMACR2 EQU DCBMACR+1 00738000 DCBMRPUT EQU DCBMACR2 00739000 DCBMRWRT EQU DCBMACR2 00740000 DCBMRMVP EQU DCBMACR2 00741000 DCBMR5WD EQU DCBMACR2 00742000 DCBMRLDM EQU DCBMR5WD 00743000 DCBMRLCP EQU DCBMRLDM 00744000 DCBMR4WD EQU DCBMACR2 00745000 DCBMRPT2 EQU DCBMR4WD 00746000 DCBMRTMD EQU DCBMRPT2 00747000 DCBMR3WD EQU DCBMACR2 00748000 DCBMRCTL EQU DCBMR3WD 00749000 DCBMRSTK EQU DCBMRCTL 00750000 DCBMR1WD EQU DCBMACR2 00751000 DCBMRSWA EQU DCBMR1WD 00752000 DCBMRDMD EQU DCBMRSWA 00753000 IHADCS25 EQU 0 00754000 DCBMACRF EQU IHADCS25+2 00755000 DCBMACF1 EQU DCBMACRF 00756000 DCBMFFE EQU DCBMACF1 00757000 DCBMFGET EQU DCBMFFE 00758000 DCBMFAPG EQU DCBMACF1 00759000 DCBMFRD EQU DCBMFAPG 00760000 DCBMFCI EQU DCBMACF1 00761000 DCBMFMVG EQU DCBMFCI 00762000 DCBMFLCG EQU DCBMACF1 00763000 DCBMFABC EQU DCBMACF1 00764000 DCBMFPT1 EQU DCBMFABC 00765000 DCBMFSBG EQU DCBMFPT1 00766000 DCBMFCRL EQU DCBMACF1 00767000 DCBMFCHK EQU DCBMFCRL 00768000 DCBMFDMG EQU DCBMACF1 00769000 DCBMACF2 EQU DCBMACRF+1 00770000 DCBMFPUT EQU DCBMACF2 00771000 DCBMFWRT EQU DCBMACF2 00772000 DCBMFMVP EQU DCBMACF2 00773000 DCBMF5WD EQU DCBMACF2 00774000 DCBMFLDM EQU DCBMF5WD 00775000 DCBMFLCP EQU DCBMFLDM 00776000 DCBMF4WD EQU DCBMACF2 00777000 DCBMFPT2 EQU DCBMF4WD 00778000 DCBMFTMD EQU DCBMFPT2 00779000 DCBMF3WD EQU DCBMACF2 00780000 DCBMFCTL EQU DCBMF3WD 00781000 DCBMFSTK EQU DCBMFCTL 00782000 DCBMF1WD EQU DCBMACF2 00783000 DCBMFSWA EQU DCBMF1WD 00784000 DCBMFDMD EQU DCBMFSWA 00785000 DCBDEBAD EQU IHADCS25+4 00786000 DCBIFLGS EQU DCBDEBAD 00787000 DCBIFPCT EQU DCBIFLGS 00788000 IHADCS27 EQU 0 00789000 DCBGET EQU IHADCS27 00790000 DCBPUT EQU DCBGET 00791000 DCBGETA EQU DCBPUT+1 00792000 IHADCS36 EQU 0 00793000 DCBGERR EQU IHADCS36 00794000 DCBPERR EQU DCBGERR 00795000 DCBCHECK EQU DCBPERR 00796000 DCBOPTCD EQU DCBCHECK 00797000 DCBOPTH EQU DCBOPTCD 00798000 DCBOPTO EQU DCBOPTH 00799000 DCBOPTZ EQU DCBOPTCD 00800000 DCBGERRA EQU DCBCHECK+1 00801000 DCBPERRA EQU DCBGERRA 00802000 DCBSYNAD EQU IHADCS36+4 00803000 DCBCIND1 EQU IHADCS36+8 00804000 DCBCIND2 EQU IHADCS36+9 00805000 DCBIOBA EQU IHADCS36+16 00806000 DCBCICB EQU DCBIOBA 00807000 IHADCS52 EQU 0 00808000 DCBDIRCT EQU IHADCS52 00809000 DCBQSWS EQU DCBDIRCT 00810000 DCBUSASI EQU DCBQSWS 00811000 DCBQADFS EQU DCBUSASI 00812000 DCBBUFOF EQU DCBDIRCT+1 00813000 IHADCS37 EQU 0 00814000 DCBFLAG1 EQU IHADCS37 00815000 IHADCS40 EQU 0 00816000 DCBEOBAD EQU IHADCS40 00817000 DCBCCCW EQU IHADCS40+4 00818000 DCBRECAD EQU DCBCCCW 00819000 DCBRECBT EQU DCBRECAD 00820000 DCBRCREL EQU DCBRECBT 00821000 DCBCNTRL EQU IHADCS40+12 00822000 DCBEROPT EQU DCBCNTRL 00823000 ZZ2 EQU 0 00824000 DMCBRQC EQU 0 00825000 I001C EQU 0 00826000 I008P EQU 0 00827000 I015F EQU 0 00828000 I015P EQU 0 00829000 I031F EQU 0 00830000 I031P EQU 0 00831000 I256C EQU 0 00832000 DMCBVSM EQU DMCBAMS 00833000 DMCBACB EQU DMCBVSM+76 00834000 DMCBQSM EQU DMCBAMS 00835000 DMCBDCB EQU DMCBQSM 00836000 AGO .@UNREFD START UNREFERENCED COMPONENTS 00837000 DMCBRES7 EQU DMCBQSM+96 00838000 DMCBRPL EQU DMCBVSM 00839000 DCBEOB EQU IHADCS40+20 00840000 DCBPRECL EQU IHADCS40+18 00841000 @NM00041 EQU IHADCS40+16 00842000 DCBCNTRA EQU DCBCNTRL+1 00843000 @NM00040 EQU DCBEROPT 00844000 DCBERABE EQU DCBEROPT 00845000 DCBERSKP EQU DCBEROPT 00846000 DCBERACC EQU DCBEROPT 00847000 DCBLRECL EQU IHADCS40+10 00848000 @NM00039 EQU IHADCS40+9 00849000 @NM00038 EQU IHADCS40+8 00850000 DCBRECA EQU DCBRECAD+1 00851000 @NM00037 EQU DCBRECBT 00852000 DCBRCFGT EQU DCBRCREL 00853000 DCBRCTRU EQU DCBRCREL 00854000 DCBLCCW EQU DCBEOBAD 00855000 @NM00036 EQU DCBFLAG1 00856000 DCBSTFLS EQU DCBFLAG1 00857000 DCBSTQCK EQU DCBFLAG1 00858000 DCBDIRCQ EQU DCBBUFOF 00859000 DCBQSTRU EQU DCBUSASI 00860000 @NM00035 EQU DCBUSASI 00861000 DCBQADF3 EQU DCBQADFS 00862000 DCBQADF2 EQU DCBQADFS 00863000 DCBQADF1 EQU DCBQADFS 00864000 DCBBLBP EQU DCBUSASI 00865000 @NM00034 EQU DCBUSASI 00866000 DCBCICBA EQU DCBCICB+1 00867000 @NM00033 EQU DCBCICB 00868000 DCBOFFSW EQU IHADCS36+15 00869000 DCBOFFSR EQU IHADCS36+14 00870000 DCBWCPL EQU IHADCS36+13 00871000 DCBWCPO EQU IHADCS36+12 00872000 DCBBLKSI EQU IHADCS36+10 00873000 DCBCNQSM EQU DCBCIND2 00874000 DCBCNFEO EQU DCBCIND2 00875000 DCBCNCHS EQU DCBCIND2 00876000 DCBCNBFP EQU DCBCIND2 00877000 DCBCNIOE EQU DCBCIND2 00878000 DCBCNCLO EQU DCBCIND2 00879000 DCBCNWRO EQU DCBCIND2 00880000 DCBCNSTO EQU DCBCIND2 00881000 DCBCNEXB EQU DCBCIND1 00882000 @NM00032 EQU DCBCIND1 00883000 DCBCNBRM EQU DCBCIND1 00884000 @NM00031 EQU DCBCIND1 00885000 DCBCNEVA EQU DCBCIND1 00886000 DCBCNEVB EQU DCBCIND1 00887000 DCBCNSRD EQU DCBCIND1 00888000 DCBCNTOV EQU DCBCIND1 00889000 DCBSYNA EQU DCBSYNAD+1 00890000 DCBIOBL EQU DCBSYNAD 00891000 DCBCHCKA EQU DCBPERRA 00892000 DCBOPTJ EQU DCBOPTCD 00893000 DCBOPTT EQU DCBOPTCD 00894000 DCBSRCHD EQU DCBOPTZ 00895000 DCBOPTQ EQU DCBOPTCD 00896000 DCBBCKPT EQU DCBOPTO 00897000 DCBOPTC EQU DCBOPTCD 00898000 DCBOPTU EQU DCBOPTCD 00899000 DCBOPTW EQU DCBOPTCD 00900000 DCBPUTA EQU DCBGETA 00901000 @NM00030 EQU DCBPUT 00902000 DCBDEBA EQU DCBDEBAD+1 00903000 @NM00029 EQU DCBIFLGS 00904000 DCBIFIOE EQU DCBIFLGS 00905000 DCBCH12 EQU DCBIFPCT 00906000 DCBCH9 EQU DCBIFPCT 00907000 DCBIFEC EQU DCBIFLGS 00908000 DCBMFSTI EQU DCBMFDMD 00909000 DCBMFAWR EQU DCBMFSTK 00910000 DCBMFUIP EQU DCBMFTMD 00911000 DCBMFIDW EQU DCBMFLCP 00912000 DCBMFWRK EQU DCBMFMVP 00913000 DCBMFRDQ EQU DCBMFWRT 00914000 DCBMFGTQ EQU DCBMFPUT 00915000 DCBMFSTL EQU DCBMACF2 00916000 DCBMFCK EQU DCBMFDMG 00917000 DCBMFRDX EQU DCBMFCHK 00918000 DCBMFDBF EQU DCBMFSBG 00919000 DCBMFRDI EQU DCBMFLCG 00920000 DCBMFRDK EQU DCBMFMVG 00921000 DCBMFWRQ EQU DCBMFRD 00922000 DCBMFPTQ EQU DCBMFGET 00923000 DCBMFECP EQU DCBMACF1 00924000 DCBTIOT EQU IHADCS25 00925000 DCBMRSTI EQU DCBMRDMD 00926000 DCBMRAWR EQU DCBMRSTK 00927000 DCBMRUIP EQU DCBMRTMD 00928000 DCBMRIDW EQU DCBMRLCP 00929000 DCBMRWRK EQU DCBMRMVP 00930000 DCBMRRDQ EQU DCBMRWRT 00931000 DCBMRGTQ EQU DCBMRPUT 00932000 DCBMRSTL EQU DCBMACR2 00933000 DCBMRCK EQU DCBMRDMG 00934000 DCBPGFXA EQU DCBMRRDX 00935000 DCBMRDBF EQU DCBMRSBG 00936000 DCBMRRDI EQU DCBMRLCG 00937000 DCBMRRDK EQU DCBMRMVG 00938000 DCBMRWRQ EQU DCBMRRD 00939000 DCBMRPTQ EQU DCBMRGET 00940000 DCBMRECP EQU DCBMACR1 00941000 @NM00028 EQU DCBIFLG 00942000 DCBIBIOE EQU DCBIFLG 00943000 DCBICH12 EQU DCBIBPCT 00944000 DCBICH9 EQU DCBIBPCT 00945000 DCBIBEC EQU DCBIFLG 00946000 DCBOFIOF EQU DCBOFLGS 00947000 DCBOFUEX EQU DCBOFLGS 00948000 DCBOFTM EQU DCBOFLGS 00949000 DCBOFPPC EQU DCBOFLGS 00950000 DCBOFEOV EQU DCBOFLGS 00951000 DCBOFLRB EQU DCBOFLGS 00952000 DCBOFIOD EQU DCBOFLWR 00953000 DCBDDNAM EQU IHADCS24 00954000 DCBEXLSA EQU DCBEXLST+1 00955000 DCBRECKL EQU DCBRECFM 00956000 DCBRECCC EQU DCBRECFM 00957000 DCBRECSB EQU DCBRECFM 00958000 DCBRECBR EQU DCBRECFM 00959000 DCBRECTO EQU DCBRECLA 00960000 DCBRECL EQU DCBRECLA 00961000 DCBEODA EQU DCBEODAD+1 00962000 DCBBFA EQU DCBBFTEK 00963000 DCBH0 EQU DCBBFTEK 00964000 DCBBFTKD EQU DCBBFTEK 00965000 DCBBFTE EQU DCBBFT 00966000 DCBBFTKR EQU DCBBFT 00967000 DCBBFTS EQU DCBBFT 00968000 DCBH1 EQU DCBBFTEK 00969000 DCBSVCXA EQU DCBSVCXL+1 00970000 @NM00027 EQU DCBSVCXL 00971000 DCBODEBA EQU DCBIOBAA 00972000 @NM00026 EQU DCBQSLM 00973000 DCBUPDBT EQU DCBQSLM 00974000 DCBUPDCM EQU DCBQSLM 00975000 DCB1DVDS EQU DCBQSLM 00976000 @NM00025 EQU DCBDSRG2 00977000 DCBDSGTR EQU DCBDSRG2 00978000 DCBACBM EQU DCBDSRG2 00979000 @NM00024 EQU DCBDSRG2 00980000 DCBDSGTQ EQU DCBDSRG2 00981000 DCBDSGTX EQU DCBDSRG2 00982000 DCBDSGGS EQU DCBDSRG2 00983000 DCBDSGU EQU DCBDSRG1 00984000 DCBDSGPO EQU DCBDSRG1 00985000 @NM00023 EQU DCBDSRG1 00986000 @NM00022 EQU DCBDSRG1 00987000 DCBDSGCX EQU DCBDSRG1 00988000 DCBDSGDA EQU DCBDSRG1 00989000 DCBDSGPS EQU DCBDSRG1 00990000 DCBDSGIS EQU DCBDSRG1 00991000 DCBBUFL EQU IHADCS11+8 00992000 DCBBUFCA EQU DCBBUFCB+1 00993000 DCBBUFNO EQU DCBBUFCB 00994000 DCBDEVT EQU DCBREL 00995000 DCBKEYLE EQU DCBRELB 00996000 DCBTRCID EQU DCBPRBYT 00997000 @NM00021 EQU DCBPRBYT 00998000 DCBPRTOV EQU IHADCS04+2 00999000 @NM00020 EQU IHADCS04+1 01000000 DCBPRTSP EQU IHADCS04 01001000 @NM00019 EQU IHADCS02+19 01002000 DCBDEN EQU IHADCS02+18 01003000 @NM00018 EQU IHADCS02+17 01004000 DCBTRTCH EQU IHADCS02+16 01005000 DCBBLKCT EQU IHADCS02+12 01006000 @NM00017 EQU IHADCS02 01007000 DCBTRBAL EQU IHADCS01+6 01008000 @NM00016 EQU IHADCS01+5 01009000 @NM00015 EQU IHADCS01+4 01010000 DCBDVTBA EQU DCBDVTBL+1 01011000 @NM00014 EQU DCBDVTBL 01012000 DCBKEYCN EQU IHADCS00+4 01013000 DCBRELAD EQU IHADCS00 01014000 @NM00013 EQU IHADCB 01015000 ACBAPID EQU ACBCOMN+72 01016000 ACBCBMWA EQU ACBCOMN+68 01017000 ACBUAPTR EQU ACBCOMN+64 01018000 ACBLRECL EQU ACBCOMN+62 01019000 ACBMSGLN EQU ACBBLKSZ 01020000 ACBBUFSP EQU ACBCOMN+56 01021000 @NM00012 EQU ACBUJFCB+1 01022000 ACBOPTN EQU ACBUJFCB 01023000 @NM00011 EQU ACBINFLG+1 01024000 ACBBYPSS EQU ACBINFLG 01025000 ACBSDS EQU ACBVVIC 01026000 ACBUCRA EQU ACBINFLG 01027000 ACBSCRA EQU ACBINFLG 01028000 ACBCAT EQU ACBINFLG 01029000 ACBIJRQE EQU ACBINFLG 01030000 ACBJEPS EQU ACBINFLG 01031000 @NM00010 EQU ACBINFLG 01032000 ACBBUSY EQU ACBIOSFG 01033000 ACBLOCK EQU ACBEXFG 01034000 @NM00009 EQU ACBOFLGS 01035000 ACBDSERR EQU ACBOFLGS 01036000 ACBOPEN EQU ACBOFLGS 01037000 ACBEOV EQU ACBOFLGS 01038000 @NM00008 EQU ACBOFLGS 01039000 ACBDEB EQU ACBDDNM+5 01040000 ACBERFL EQU ACBDDNM+4 01041000 ACBAM EQU ACBAMETH 01042000 ACBINFL EQU ACBDDNM+2 01043000 ACBTIOT EQU ACBDDNM 01044000 ACBUEL EQU ACBEXLST 01045000 ACBPASSW EQU ACBCOMN+32 01046000 ACBMSGAR EQU ACBCOMN+28 01047000 @NM00007 EQU ACBDSORG+1 01048000 ACBDORGA EQU ACBDSORG+1 01049000 @NM00006 EQU ACBDSORG 01050000 ACBOPTJ EQU ACBDVIND 01051000 ACBCRNRE EQU ACBCROPS 01052000 ACBCRNCK EQU ACBCROPS 01053000 ACBASA EQU ACBCCTYP 01054000 @NM00005 EQU ACBCCTYP 01055000 ACBTRCID EQU ACBCCTYP 01056000 @NM00004 EQU ACBRECFM 01057000 ACBRECAF EQU ACBRECFM 01058000 ACBJBUF EQU ACBBUFPL+2 01059000 ACBMACR4 EQU ACBBUFPL+1 01060000 @NM00003 EQU ACBMACR3 01061000 ACBNCFX EQU ACBMACR3 01062000 ACBSIS EQU ACBMACR3 01063000 ACBDFR EQU ACBMACR3 01064000 ACBICI EQU ACBMACR3 01065000 ACBGSR EQU ACBMACR3 01066000 ACBLSR EQU ACBMACR3 01067000 @NM00002 EQU ACBMACR3 01068000 ACBBUFNI EQU ACBCOMN+18 01069000 ACBBUFND EQU ACBCOMN+16 01070000 ACBSTRNO EQU ACBCOMN+15 01071000 ACBBSTNO EQU ACBCOMN+14 01072000 ACBAIX EQU ACBMACR2 01073000 ACBDSN EQU ACBMACR2 01074000 ACBRST EQU ACBMACR2 01075000 ACBLOGON EQU ACBMACR2 01076000 ACBSKP EQU ACBMACR2 01077000 @NM00001 EQU ACBMACR2 01078000 ACBUBF EQU ACBMACR1 01079000 ACBDIR EQU ACBMACR1 01080000 ACBSEQ EQU ACBMACR1 01081000 ACBBLK EQU ACBCNV 01082000 ACBADD EQU ACBADR 01083000 ACBKEY EQU ACBMACR1 01084000 ACBINRTN EQU ACBCOMN+8 01085000 ACBIBCT EQU ACBJWA 01086000 ACBLEN2 EQU ACBLENG2 01087000 ACBSTYP EQU ACBCOMN+1 01088000 ACBID EQU ACBCOMN 01089000 DMCBWRK EQU DMCB+648 01090000 DMCBRES8 EQU DMCB+640 01091000 DMCBCARY EQU DMCBAUDT+20 01092000 DMCBCLC EQU DMCBAUDT+12 01093000 DMCBOPC EQU DMCBAUDT+8 01094000 DMCBFRC EQU DMCBAUDT+4 01095000 DMCBALC EQU DMCBAUDT 01096000 DMCBFR EQU DMCB+412 01097000 DMCBRES6 EQU DMCB+410 01098000 DMCBIRSC EQU DMCB+408 01099000 DMCBDRBP EQU DMCB+400 01100000 DMCBRSZM EQU DMCB+398 01101000 DMCBRSZA EQU DMCB+396 01102000 DMCBCISZ EQU DMCB+394 01103000 DMCBDCBL EQU DMCB+392 01104000 DMCBDCLR EQU DMCB+390 01105000 DMCBDCFM EQU DMCB+389 01106000 DMCBRES5 EQU DMCB+388 01107000 DMCBLBRT EQU DMCB+386 01108000 DMCBLBSQ EQU DMCB+384 01109000 DMCBLBPS EQU DMCB+383 01110000 DMCBLBTY EQU DMCB+382 01111000 DMCBRES4 EQU DMCB+381 01112000 DMCBSPRS EQU DMCBSPEC 01113000 DMCBSPRN EQU DMCBSPEC 01114000 DMCBSPCT EQU DMCBSPEC 01115000 DMCBSPRL EQU DMCBSPEC 01116000 DMCBSPSE EQU DMCB+376 01117000 DMCBSPPR EQU DMCB+372 01118000 DMCBSPTY EQU DMCB+369 01119000 DMCBODIS EQU DMCB+368 01120000 DMCBDISP EQU DMCB+367 01121000 DMCBSTAT EQU DMCB+366 01122000 DMCBRES3 EQU DMCB+364 01123000 DMCBMEMB EQU DMCB+356 01124000 DMCBMODL EQU DMCB+348 01125000 DMCBRES9 EQU DMCB+340 01126000 DMCBPID EQU DMCB+332 01127000 DMCBTYPE EQU DMCB+328 01128000 DMCBUNIT EQU DMCB+276 01129000 DMCBDSOR EQU DMCB+274 01130000 DMCBVOL EQU DMCB+268 01131000 DMCBDDNM EQU DMCB+260 01132000 DMCBSYNM EQU DMCB+132 01133000 DMCBRPLF EQU DMCB+128 01134000 DMCBDCBE EQU DMCBACBE 01135000 DMCBSTL EQU DMCB+96 01136000 DMCBRES2 EQU DMCB+85 01137000 DMCBSPID EQU DMCB+84 01138000 DMCBRESC EQU DMCB+80 01139000 DMCBZZ1P EQU DMCB+76 01140000 DMCBMSGS EQU DMCB+72 01141000 DMCBMSG0 EQU DMCB+68 01142000 DMCBRI EQU DMCB+64 01143000 DMCBRRL EQU DMCB+60 01144000 DMCBRBA EQU DMCB+56 01145000 DMCBKEYL EQU DMCB+48 01146000 DMCBKPC EQU DMCBKEYP 01147000 DMCBORL EQU DMCB+40 01148000 DMCBBLEN EQU DMCB+36 01149000 DMCBBFPC EQU DMCBBUFP 01150000 DMCBRES1 EQU DMCB+31 01151000 DMCBREJ EQU DMCB+29 01152000 DMCBRESB EQU DMCBMFLG 01153000 DMCBFMOD EQU DMCBMFLG 01154000 DMCBLOPT EQU DMCB+27 01155000 DMCBLRM EQU DMCB+26 01156000 DMCBLRQ EQU DMCB+25 01157000 DMCBOPRS EQU DMCBOPTS 01158000 DMCBLRD EQU DMCBOPTS 01159000 DMCBBWD EQU DMCBOPTS 01160000 DMCBUPD EQU DMCBOPTS 01161000 DMCBAPX EQU DMCBOPTS 01162000 DMCBRNO EQU DMCBGKY 01163000 DMCBKYD EQU DMCBOPTS 01164000 DMCBRMRS EQU DMCBRMOD 01165000 DMCBRM5 EQU DMCBRMOD 01166000 DMCBRM6 EQU DMCBRMOD 01167000 DMCBTMP EQU DMCBOUT 01168000 DMCBRESA EQU DMCBOPN 01169000 DMCBKSF EQU DMCBFTY 01170000 DMCBFTRS EQU DMCBFTY 01171000 DMCBSHF EQU DMCBFTY 01172000 DMCBIRL EQU DMCB+16 01173000 DMCBNEXT EQU DMCB+4 01174000 DMCBID EQU DMCB 01175000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 01176000 @RF00096 EQU @RC00093 01177000 @RF00068 EQU @RC00042 01178000 @RF00135 EQU @RC00042 01179000 @ENDDATA EQU * 01180000 END BLSCOPEN,(C'PLS1931',0701,78062) 01181000