TITLE 'IEDNSL, 3705 START/STOP I/O MODULE *00001000 ' 00002000 IEDNSL CSECT , 0001 00003000 @PROLOG DS 0H 0002 00004000 USING *,RBASE,RBASE2 /* ESTABISH ADDRESSABILITY */ 00005000 DC A(0) /* IEDNSL QCB POINTER */ 00006000 DC A(0) /* IEDNSL QCB CHAIN POINTER */ 00007000 DC AL1(6) /* IEDNSL VTO */ 00008000 DC AL3(*-1) /* IEDNSL STCB POINTER */ 00009000 LR RBASE,RQCB /* SET UP THE BASE ADDRESS */ 00010000 LA RBASE2,X'FFF'(RBASE) SETUP SECOND BASE-ONE 00011000 LA RBASE2,1(RBASE2) ADDRESSABILITY FOR 2ND HALF 00012000 IEDNSL IEDHJN AFTERHJN,HJN MODULE IDENTIFICATION MACRO 00013000 * IF RPARM->PRFPRI=PRIACTIV THEN /* IF THIS THE REQUESTED BUFFER 00014000 * FROM IEDQGA THEN */ 00015000 CLI PRFPRI(RPARM),X'E4' 0433 00016000 BNE @RF00433 0433 00017000 * CALL RESUME; /* DETERMINE WHERE TO BEGIN AGAIN*/ 00018000 BAL @14,RESUME 0434 00019000 * ELSE /* NO, NOT BUFFER FROM GA */ 00020000 * IF RPARM->PRFPRI=PRIOPCTL THEN/* IF THIS IS AN INTIAL REQUEST 00021000 * FROM OPERATOR CONTROL THEN */ 00022000 B @RC00433 0435 00023000 @RF00433 CLI PRFPRI(RPARM),X'DC' 0435 00024000 BNE @RF00435 0435 00025000 * CALL INITIAL; /* PROCESS THE REQUEST */ 00026000 BAL @14,INITIAL 0436 00027000 * ELSE /* NO, NOT INITIAL ENTRY */ 00028000 * IF RPARM->PRFPRI=PRIPRIME THEN/* IS THIS PRIME RECEIVE 0437 00029000 * REQUEST */ 00030000 B @RC00435 0437 00031000 @RF00435 CLI PRFPRI(RPARM),X'DD' 0437 00032000 BNE @RF00437 0437 00033000 * CALL PRIMEGP; /* YES, GO AHEAD AND PRIME */ 00034000 BAL @14,PRIMEGP 0438 00035000 * ELSE /* NOT PRIME RECEIVE REQUEST */ 00036000 * CALL PRIMESND; /* THEN IT IS PRIME SEND */ 00037000 B @RC00437 0439 00038000 @RF00437 BAL @14,PRIMESND 0439 00039000 * CALL DSPDISP; /* REQUEST FROM OFFTP,E - VF */ 00040000 @RC00437 DS 0H 0440 00041000 @RC00435 DS 0H 0440 00042000 @RC00433 LA @15,DSPDISP(,RDISP) 0440 00043000 BALR @14,@15 0440 00044000 * 0441 00045000 * /*****************************************************************/ 00046000 * /* */ 00047000 * /* THIS SUBROUTINE DECIDES WHERE TO RESUME PROCESSING FOR THE */ 00048000 * /* FUNCTION THAT REQUESTED A BUFFER BY POSTING AN ERB TO IEDQGA. */ 00049000 * /* */ 00050000 * /*****************************************************************/ 00051000 * 0441 00052000 *RESUME: 0441 00053000 * PROC OPTIONS(RETREG,SAVE(14)); 0441 00054000 @EL00001 DS 0H 0441 00055000 @EF00001 DS 0H 0441 00056000 @ER00001 BR @14 0441 00057000 RESUME ST @14,@SA00002 0441 00058000 * RNSLBFR=RPARM-((ADDR(NSLERB)-ADDR(IEDNSLD)));/* BACK TO BEGINNING 00059000 * OF BFR */ 00060000 LR @10,RPARM 0442 00061000 SL @10,@CF01821 0442 00062000 LR RNSLBFR,@10 0442 00063000 * IF NSLREQTY=NSLSTPTR|NSLREQTY=NSLSTPTR+NSLSTMSG THEN/* STOPTERM 00064000 * REQ? */ 00065000 CLI NSLREQTY(IEDNSLP),X'04' 0443 00066000 BE @RT00443 0443 00067000 CLI NSLREQTY(IEDNSLP),12 0443 00068000 BNE @RF00443 0443 00069000 @RT00443 DS 0H 0444 00070000 * CALL STOPTERM; /* YES FINISH THE REQ NOW */ 00071000 BAL @14,STOPTERM 0444 00072000 * ELSE /* DETERMINE WHICH FUNCTION THE 00073000 * BUFFER IS FOR */ 00074000 * DO; /* FIND WHICH FUNCTION */ 00075000 B @RC00443 0445 00076000 @RF00443 DS 0H 0446 00077000 * IF NSLREQTY=NSLSTRGP THEN /* IS STARTGP REQUEST? */ 00078000 CLI NSLREQTY(IEDNSLP),X'05' 0446 00079000 BNE @RF00446 0446 00080000 * CALL STARTGP; /* YES, FINISH THE REQUEST */ 00081000 BAL @14,STARTGP 0447 00082000 * ELSE /* REQUEST MUST BE STOPLINE */ 00083000 * CALL STOPLINE; /* FINISH THE STOPLINE REQ */ 00084000 B @RC00446 0448 00085000 @RF00446 BAL @14,STOPLINE 0448 00086000 * END; /* FOUND REUESTED FUNCTION */ 00087000 * END RESUME; /* READY TO RESUME PROCESSING */ 00088000 @EL00002 DS 0H 0450 00089000 @EF00002 DS 0H 0450 00090000 @ER00002 L @14,@SA00002 0450 00091000 BR @14 0450 00092000 * 0451 00093000 * /*****************************************************************/ 00094000 * /* */ 00095000 * /* THIS SUBROUTINE DETERMINES THE TYPE OF INPUT AND WHICH */ 00096000 * /* FUNCTION SUBROUTINE SHOULD GET CONTROL */ 00097000 * /* */ 00098000 * /*****************************************************************/ 00099000 * 0451 00100000 *INITIAL: 0451 00101000 * PROC OPTIONS(RETREG,SAVE(14)); 0451 00102000 INITIAL ST @14,@SA00003 0451 00103000 * RNSLBFR=RPARM; /* EST. ADDRESSABILTY */ 00104000 LR RNSLBFR,RPARM 0452 00105000 * IF NSLREQTY=NSLSTRTR THEN /* IS IT START TERMREQUEST? */ 00106000 CLI NSLREQTY(IEDNSLP),X'03' 0453 00107000 BNE @RF00453 0453 00108000 * CALL STARTTRM; /* YES, PROCESS START TERM 0454 00109000 * REQUEST */ 00110000 BAL @14,STARTTRM 0454 00111000 * ELSE /* NO, DETERMINE REQUEST */ 00112000 * DO; 0455 00113000 B @RC00453 0455 00114000 @RF00453 DS 0H 0456 00115000 * IF NSLREQTY=NSLSTPTR|NSLREQTY=NSLSTPTR+NSLSTMSG THEN/* IS 0456 00116000 * STOPTERM OR STOPTERM IN MIDDLE 00117000 * MESSAGE THEN */ 00118000 CLI NSLREQTY(IEDNSLP),X'04' 0456 00119000 BE @RT00456 0456 00120000 CLI NSLREQTY(IEDNSLP),12 0456 00121000 BNE @RF00456 0456 00122000 @RT00456 DS 0H 0457 00123000 * CALL STOPTERM; /* PROCESS THE STOP TERM REQ */ 00124000 BAL @14,STOPTERM 0457 00125000 * ELSE /* NO, DETERMINE REQUEST */ 00126000 * DO; 0458 00127000 B @RC00456 0458 00128000 @RF00456 DS 0H 0459 00129000 * IF NSLREQTY=NSLSTRTL THEN/* IS IT A START LINE REQ? */ 00130000 CLI NSLREQTY(IEDNSLP),X'01' 0459 00131000 BNE @RF00459 0459 00132000 * CALL STARTLNE; /* YES, PROCESS START LINE */ 00133000 BAL @14,STARTLNE 0460 00134000 * ELSE /* NO, DETERMINE REQUEST */ 00135000 * DO; 0461 00136000 B @RC00459 0461 00137000 @RF00459 DS 0H 0462 00138000 * IF NSLREQTY=NSLSTOPL|NSLREQTY=NSLSTPLI|NSLREQTY= 0462 00139000 * NSLCLOSN THEN /* STOPLINE,C OR CLOSEDOWN OR */ 00140000 CLI NSLREQTY(IEDNSLP),X'02' 0462 00141000 BE @RT00462 0462 00142000 CLI NSLREQTY(IEDNSLP),X'09' 0462 00143000 BE @RT00462 0462 00144000 CLI NSLREQTY(IEDNSLP),X'0B' 0462 00145000 BNE @RF00462 0462 00146000 @RT00462 DS 0H 0463 00147000 * CALL STOPLINE; /* STOPLINE, I THEN PROCESS LET 00148000 * STOPLINE SUBROUTINE WORK WITH 00149000 * BOTH REQUEST */ 00150000 BAL @14,STOPLINE 0463 00151000 * ELSE /* NO, */ 00152000 * DO; 0464 00153000 B @RC00462 0464 00154000 @RF00462 DS 0H 0465 00155000 * IF NSLREQTY=NSLSTRGP THEN/* START GENERAL POLL? */ 00156000 CLI NSLREQTY(IEDNSLP),X'05' 0465 00157000 BNE @RF00465 0465 00158000 * CALL STARTGP; /* YES, PROCESS STRT GP REQ */ 00159000 BAL @14,STARTGP 0466 00160000 * ELSE /* NO, */ 00161000 * DO; 0467 00162000 B @RC00465 0467 00163000 @RF00465 DS 0H 0468 00164000 * IF NSLREQTY=NSLSTPGP THEN/* STOP GENERAL 0468 00165000 * POLL? */ 00166000 CLI NSLREQTY(IEDNSLP),X'06' 0468 00167000 BNE @RF00468 0468 00168000 * CALL STOPGP;/* YES, PROCESS STP GP REQ */ 00169000 BAL @14,STOPGP 0469 00170000 * ELSE /* IT IS START LU REQUEST */ 00171000 * CALL STARTLU;/* SO, PROCESS IT */ 00172000 B @RC00468 0470 00173000 @RF00468 BAL @14,STARTLU 0470 00174000 * END; /* COMPLETED STOP GP */ 00175000 * END; /* COMPLETED STARTGP */ 00176000 * END; /* COMPLETED STOPLINE C */ 00177000 * END; /* COMPLETED STOPTERM */ 00178000 * END; /* COMPLETED START TERM */ 00179000 * END INITIAL; /* COMPLETED INITIAL REQUESTS */ 00180000 @EL00003 DS 0H 0476 00181000 @EF00003 DS 0H 0476 00182000 @ER00003 L @14,@SA00003 0476 00183000 BR @14 0476 00184000 * 0477 00185000 * /*****************************************************************/ 00186000 * /* */ 00187000 * /* THIS SUBROUTINE PROCESS THE START TERMINAL REQUEST FROM */ 00188000 * /* OPERATOR CONTROL.THE DEVICE IS CHECKED FOR TSO SESSION BEFORE */ 00189000 * /* CONTINUING . IF THE REQUIREMENT IS MET, THE DEVICE IS MARK */ 00190000 * /* ACTIVE AND I/O IS INITIATED BY PRIMING OR A RELEASE. */ 00191000 * /* */ 00192000 * /*****************************************************************/ 00193000 * 0477 00194000 *STARTTRM: 0477 00195000 * PROC OPTIONS(RETREG,SAVE(14)); 0477 00196000 STARTTRM ST @14,@SA00004 0477 00197000 * RFY 0478 00198000 * RENTRY RSTD; 0478 00199000 * RTRM=NSLTTEPT-LENGTH(IEDNTRM); /* TRM ENTRY, BCKUP TO PREFIX 0479 00200000 * @ZM46791*/ 00201000 L RTRM,NSLTTEPT(,IEDNSLP) 0479 00202000 SL RTRM,@CF01178 0479 00203000 * CALL CHKTSO; /* FIND OUT IF IN TSO SESSION*/ 00204000 BAL @14,CHKTSO 0480 00205000 * IF RENTRY=AVTFZERO THEN /* GOOD RETURN? */ 00206000 C RENTRY,AVTFZERO(,IEDQAPTR) 0481 00207000 BNE @RF00481 0481 00208000 * DO; /* YES */ 00209000 * RTRM=NSLTTEPT-LENGTH(IEDNTRM);/* SET TRM BASE @YM06076*/ 00210000 L RTRM,NSLTTEPT(,IEDNSLP) 0483 00211000 SL RTRM,@CF01178 0483 00212000 * NSLCTTRM=RTRM; /* SET CURRENT TTE @YM06076*/ 00213000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 0484 00214000 * TRMRSACT=ON; /* MARK ACTIVE */ 00215000 LA @03,TRMRSACT(,RTRM) 0485 00216000 LR @07,@03 0485 00217000 LA @14,3 0485 00218000 NR @07,@14 0485 00219000 LCR @07,@07 0485 00220000 ALR @03,@07 0485 00221000 L @14,0(,@03) 0485 00222000 @GL00005 LR @10,@14 0485 00223000 O @10,@CB02247+3(@07) 0485 00224000 CS @14,@10,0(@03) 0485 00225000 BNE @GL00005 0485 00226000 * IF NSLBUFFR^=AVTFZERO THEN /* RELEASE BUFFER ATTACHED */ 00227000 L @14,NSLBUFFR-1(,IEDNSLP) 0486 00228000 LA @14,0(,@14) 0486 00229000 C @14,AVTFZERO(,IEDQAPTR) 0486 00230000 BE @RF00486 0486 00231000 * DO; /* YES */ 00232000 * RPARM=NSLBUFFR; /* POST RELEASE REQUEST NOW */ 00233000 LR RPARM,@14 0488 00234000 * NSLBUFFR=''B; /* CLEAR TO INTERFACE WITH 0489 00235000 * FREEBUF IF NECESSARY */ 00236000 SLR @14,@14 0489 00237000 STCM @14,7,NSLBUFFR(IEDNSLP) 0489 00238000 * CALL POSTELEM; /* POST TO IEDQAS */ 00239000 BAL @14,POSTELEM 0490 00240000 * END; /* FINISHED WITH RELEASE BUF */ 00241000 * ELSE /* OK TO PRIME */ 00242000 * IF TRMGPACT^=ON THEN 0492 00243000 B @RC00486 0492 00244000 @RF00486 TM TRMGPACT(RTRM),B'00001000' 0492 00245000 BO @RF00492 0492 00246000 * DO; /* GENERAL POLL NOT ACTIVE 0493 00247000 * @OY19202*/ 00248000 * CALL PRIMER; /* PRIME TO GET I/O STARTED */ 00249000 BAL @14,PRIMER 0494 00250000 * END; /* @OY19202*/ 00251000 * ELSE 0496 00252000 * ; /* GENERAL POLL IS ACTIVE 0496 00253000 * @OY19202*/ 00254000 * 0496 00255000 @RF00492 DS 0H 0497 00256000 * /*************************************************************/ 00257000 * /* */ 00258000 * /* TRMRSACT ON BUT NO PRIMING @OY19202*/ 00259000 * /* */ 00260000 * /*************************************************************/ 00261000 * 0497 00262000 * CALL POSTOPCB; /* WAKEUP OPERATOR CONTROL */ 00263000 @RC00486 BAL @14,POSTOPCB 0497 00264000 * END; /* OK PERFORMED THE START */ 00265000 * ELSE 0499 00266000 * ; /* TSO REJECT */ 00267000 @RF00481 DS 0H 0500 00268000 * RFY 0500 00269000 * RENTRY UNRSTD; 0500 00270000 * END STARTTRM; 0501 00271000 @EL00004 DS 0H 0501 00272000 @EF00004 DS 0H 0501 00273000 @ER00004 L @14,@SA00004 0501 00274000 BR @14 0501 00275000 * 0502 00276000 * /*****************************************************************/ 00277000 * /* */ 00278000 * /* THIS SUBROUTINE PROCESSES THE STOP TERMINAL REQUEST FROM */ 00279000 * /* OPERATOR CONTROL TO STOP I/O BY MARKING THE DEVICE INACTIVE */ 00280000 * /* AND SENDING A RESET OR SETTING A LCBOCNI IN THE PLCB. */ 00281000 * /* */ 00282000 * /*****************************************************************/ 00283000 * 0502 00284000 *STOPTERM: 0502 00285000 * PROC OPTIONS(RETREG,SAVE(14)); 0502 00286000 STOPTERM ST @14,@SA00005 0502 00287000 * RFY 0503 00288000 * RENTRY RSTD; 0503 00289000 * RTRM=NSLTTEPT-LENGTH(IEDNTRM); /* TRM ENTRY ADDR, BCKUP TO 0504 00290000 * PREFIX @ZM46791*/ 00291000 L RTRM,NSLTTEPT(,IEDNSLP) 0504 00292000 SL RTRM,@CF01178 0504 00293000 * CALL CHKTSO; /* FIND OUT IF IN TSO SESSION*/ 00294000 BAL @14,CHKTSO 0505 00295000 * IF RENTRY=AVTFZERO THEN /* GOOD RETURN? */ 00296000 C RENTRY,AVTFZERO(,IEDQAPTR) 0506 00297000 BNE @RF00506 0506 00298000 * DO; /* YES */ 00299000 * IF NSLNGPST=ON THEN /* RESUME? */ 00300000 TM NSLNGPST(IEDNSLP),B'10000000' 0508 00301000 BNO @RF00508 0508 00302000 * DO; /* YES */ 00303000 * RTRM=NSLCTTRM; /* GET CURRENT ENTRY */ 00304000 L RTRM,NSLCTTRM-1(,IEDNSLP) 0510 00305000 LA RTRM,0(,RTRM) 0510 00306000 * NSLNGPST=OFF; /* RESET THE RESUME FLAG */ 00307000 NI NSLNGPST(IEDNSLP),B'01111111' 0511 00308000 * END; /* RE-INITIALIZED THE PTRS */ 00309000 * ELSE /* INITIAL ENTRY */ 00310000 * DO; /* INITIALIZE THE PTRS */ 00311000 B @RC00508 0513 00312000 @RF00508 DS 0H 0514 00313000 * RTRM=NSLTTEPT-LENGTH(IEDNTRM);/* SET TRM BASE @YM06076*/ 00314000 L RTRM,NSLTTEPT(,IEDNSLP) 0514 00315000 SL RTRM,@CF01178 0514 00316000 * NSLCTTRM=RTRM; /* SET CURRENT TTE @YM06076*/ 00317000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 0515 00318000 * NSLPLCBR=OFF; /* RESET PLCB SWITCH */ 00319000 NI NSLPLCBR(IEDNSLP),B'01111111' 0516 00320000 * END; /* DONE WITH INITIALIZATION */ 00321000 * IF NSLBUFFR^=AVTFZERO THEN /* BUFFER ATTACHED? */ 00322000 @RC00508 L @14,NSLBUFFR-1(,IEDNSLP) 0518 00323000 LA @14,0(,@14) 0518 00324000 C @14,AVTFZERO(,IEDQAPTR) 0518 00325000 BE @RF00518 0518 00326000 * DO; /* YES */ 00327000 * TRMRSACT=OFF; /* MARK INACTIVE */ 00328000 LA @03,TRMRSACT(,RTRM) 0520 00329000 LR @07,@03 0520 00330000 LA @14,3 0520 00331000 NR @07,@14 0520 00332000 LCR @07,@07 0520 00333000 ALR @03,@07 0520 00334000 L @14,0(,@03) 0520 00335000 @GL00006 LR @10,@14 0520 00336000 N @10,@CB02252+3(@07) 0520 00337000 CS @14,@10,0(@03) 0520 00338000 BNE @GL00006 0520 00339000 * CALL STPTERM; /* STOP I/0 IF POSSIBLE */ 00340000 BAL @14,STPTERM 0521 00341000 * END; /* PERFORMED THE STOPTERM */ 00342000 * ELSE /* NO BUFFER */ 00343000 * DO; /* REQUEST A BUFFER */ 00344000 B @RC00518 0523 00345000 @RF00518 DS 0H 0524 00346000 * CALL GETBUF; /* BUILD THE ERB */ 00347000 BAL @14,GETBUF 0524 00348000 * NSLNGPST=ON; /* SET RESUME FLAG */ 00349000 OI NSLNGPST(IEDNSLP),B'10000000' 0525 00350000 * END; /* READY TO EXIT */ 00351000 * IF NSLNGPST=OFF THEN /* EXIT FOR GOOD */ 00352000 @RC00518 TM NSLNGPST(IEDNSLP),B'10000000' 0527 00353000 BNZ @RF00527 0527 00354000 * DO; /* NO */ 00355000 * IF NSLBUFFR^=AVTFZERO THEN/* BUFFER ATTACHED? */ 00356000 L @14,NSLBUFFR-1(,IEDNSLP) 0529 00357000 LA @14,0(,@14) 0529 00358000 C @14,AVTFZERO(,IEDQAPTR) 0529 00359000 BE @RF00529 0529 00360000 * CALL FREEBUF; /* YES, FREE ATTACHED BUF 1ST */ 00361000 BAL @14,FREEBUF 0530 00362000 * ELSE 0531 00363000 * ; /* NO BUFFERS TO FRE */ 00364000 @RF00529 DS 0H 0532 00365000 * IF NSLPLCBR=ON THEN /* PLCB WILL RETURN? */ 00366000 TM NSLPLCBR(IEDNSLP),B'10000000' 0532 00367000 BNO @RF00532 0532 00368000 * CALL FREEBUF; /* FREE THIS BUFFER */ 00369000 BAL @14,FREEBUF 0533 00370000 * ELSE /* MUST REDRIVE OPCTL WITH BU */ 00371000 * CALL POSTOPCB; /* FER TO PUT OUT THE MSG */ 00372000 B @RC00532 0534 00373000 @RF00532 BAL @14,POSTOPCB 0534 00374000 * END; /* EXIT FOR GOOD */ 00375000 * ELSE 0536 00376000 * ; /* EXIT TEMPORARILY */ 00377000 @RF00527 DS 0H 0537 00378000 * END; /* PROCESSED THE STOPTERM 0537 00379000 * NORMALLY */ 00380000 * ELSE 0538 00381000 * ; /* TSO SESSION REJECT REQUEST */ 00382000 @RF00506 DS 0H 0539 00383000 * RFY 0539 00384000 * RENTRY UNRSTD; 0539 00385000 * END STOPTERM; /* READ OR INVITE OR CONTACT 0540 00386000 * OUTSTANDING? */ 00387000 @EL00005 DS 0H 0540 00388000 @EF00005 DS 0H 0540 00389000 @ER00005 L @14,@SA00005 0540 00390000 BR @14 0540 00391000 * 0541 00392000 * /*****************************************************************/ 00393000 * /* */ 00394000 * /* THIS SUBROUTINE DETERMINES HOW TO STOP I/O BASED ON THE TYPE */ 00395000 * /* OF REQUEST AND WHETHER A PLCB IS ASSIGNED OR NOT. */ 00396000 * /* */ 00397000 * /*****************************************************************/ 00398000 * 0541 00399000 *STPTERM: 0541 00400000 * PROC OPTIONS(RETREG,SAVE); 0541 00401000 STPTERM STM @14,@12,@SA00006 0541 00402000 * RFY 0542 00403000 * (IEDQQPTR, 0542 00404000 * RQCB) RSTD; 0542 00405000 * RQCB=TRMDESTQ; /* GET THE QCB ADDRESS */ 00406000 SLR RQCB,RQCB 0543 00407000 ICM RQCB,7,TRMDESTQ(RTRM) 0543 00408000 * IF NSLREQTY=NSLSTOPL|NSLREQTY=NSLSTPLI|NSLREQTY=NSLCLOSN THEN/* 00409000 * FLUSH CLOSEDOWN @YM08540 00410000 * STOPLINE,C OR STOPLINE,I? */ 00411000 CLI NSLREQTY(IEDNSLP),X'02' 0544 00412000 BE @RT00544 0544 00413000 CLI NSLREQTY(IEDNSLP),X'09' 0544 00414000 BE @RT00544 0544 00415000 CLI NSLREQTY(IEDNSLP),X'0B' 0544 00416000 BNE @RF00544 0544 00417000 @RT00544 DS 0H 0545 00418000 * TRMSPACT=OFF; /* INDICATE SUPERIOR RESOURCE IS 00419000 * INACTIVE */ 00420000 NI TRMSPACT(RTRM),B'11101111' 0545 00421000 * ELSE 0546 00422000 * ; /* NOT STOPLINE REQUEST */ 00423000 @RF00544 DS 0H 0547 00424000 * IF NSLREQTY^=NSLSTOPL&NSLREQTY^=NSLSTPLI&NSLREQTY^=NSLCLOSN THEN 00425000 CLI NSLREQTY(IEDNSLP),X'02' 0547 00426000 BE @RF00547 0547 00427000 CLI NSLREQTY(IEDNSLP),X'09' 0547 00428000 BE @RF00547 0547 00429000 CLI NSLREQTY(IEDNSLP),X'0B' 0547 00430000 BE @RF00547 0547 00431000 * /* STOPTERM THEN SET OCNI 0548 00432000 * @YM08540*/ 00433000 * DO; /* YES, SET ALL FLAGS */ 00434000 * TRMOCNI=ON; /* STOP IN PROGRESS */ 00435000 OI TRMOCNI(RTRM),B'00100000' 0549 00436000 * NSLPLCBR=ON; /* PLCB WILL RETURN TO OPCTL */ 00437000 OI NSLPLCBR(IEDNSLP),B'10000000' 0550 00438000 * END; /* DONE */ 00439000 * ELSE 0552 00440000 * ; /* STOPLINE FALL THRU */ 00441000 @RF00547 DS 0H 0553 00442000 * IF QCBPLCBN=ON THEN /* IS PLCB ASSIGNED? */ 00443000 LR @10,IEDQQPTR 0553 00444000 AL @10,@CF02259 0553 00445000 TM QCBPLCBN-4(@10),B'10000000' 0553 00446000 BNO @RF00553 0553 00447000 * CALL MARKPLCB; /* SET STOP IN PLCB */ 00448000 BAL @14,MARKPLCB 0554 00449000 * ELSE /* NO PLCB IS ASSIGNED */ 00450000 * CALL STPNPLCB; /* TRY TO STOP W/O PLCB ASSGN */ 00451000 B @RC00553 0555 00452000 @RF00553 BAL @14,STPNPLCB 0555 00453000 * RFY 0556 00454000 * (IEDQQPTR, 0556 00455000 * RQCB) UNRSTD; 0556 00456000 * END STPTERM; /* FINISHED STOP I/O IF REQ */ 00457000 @EL00006 DS 0H 0557 00458000 @EF00006 DS 0H 0557 00459000 @ER00006 LM @14,@12,@SA00006 0557 00460000 BR @14 0557 00461000 * 0558 00462000 * /*****************************************************************/ 00463000 * /* */ 00464000 * /* WHEN A PLCB IS ASSIGNED, THE STOPPING OF I/O IS INITIATED FOR */ 00465000 * /* A RESOURCE BY SETTING LCBOCNI. */ 00466000 * /* */ 00467000 * /*****************************************************************/ 00468000 * 0558 00469000 *MARKPLCB: 0558 00470000 * PROC OPTIONS(RETREG,SAVE(14)); 0558 00471000 MARKPLCB ST @14,@SA00007 0558 00472000 * RFY 0559 00473000 * (IEDQLPTR, 0559 00474000 * RLCB, 0559 00475000 * IEDQQPTR, 0559 00476000 * RQCB) RSTD; 0559 00477000 * RLCB=QCBPLCBA; /* GET THE PLCB ADDRESS */ 00478000 LR @10,IEDQQPTR 0560 00479000 AL @10,@CF02259 0560 00480000 L RLCB,QCBPLCBA-5(,@10) 0560 00481000 LA RLCB,0(,RLCB) 0560 00482000 * IF NSLREQTY^=NSLSTOPL&NSLREQTY^=NSLSTPLI&NSLREQTY^=NSLCLOSN THEN 00483000 CLI NSLREQTY(IEDNSLP),X'02' 0561 00484000 BE @RF00561 0561 00485000 CLI NSLREQTY(IEDNSLP),X'09' 0561 00486000 BE @RF00561 0561 00487000 CLI NSLREQTY(IEDNSLP),X'0B' 0561 00488000 BE @RF00561 0561 00489000 * /* STOPTERM THEN GO AHEAD */ 00490000 * DO; /* AND @YM08540*/ 00491000 * LCBOCNI=ON; /* SET STOP IN PROGRESS IN THE 0563 00492000 * PLCB */ 00493000 OI LCBOCNI(IEDQLPTR),B'00100000' 0563 00494000 * NSLPLCBR=ON; /* INDICATE PLCB WILL RETURN TO 00495000 * OPERATOR CONTROL */ 00496000 OI NSLPLCBR(IEDNSLP),B'10000000' 0564 00497000 * END; /* ALL NECESSAY FLAGS ARE SET */ 00498000 * ELSE 0566 00499000 * ; /* STOPLINE THEN FALL THRU */ 00500000 @RF00561 DS 0H 0567 00501000 * IF NSLREQTY=NSLSTPLI THEN /* STOPLINE,I */ 00502000 CLI NSLREQTY(IEDNSLP),X'09' 0567 00503000 BNE @RF00567 0567 00504000 * DO; /* YES @YM08441*/ 00505000 * TRMASNXI=ON; /* RESET IN PROGRESS @YM08441*/ 00506000 * TRMSTMM=ON; /* STOP MID MSG @YM08441*/ 00507000 OI TRMASNXI(RTRM),B'00110000' 0570 00508000 * IF SCBLCK1N=ON|SCBMSGLN=ON THEN 0571 00509000 L @10,IEDQSPTR-1(,IEDQLPTR) 0571 00510000 LA @10,0(,@10) 0571 00511000 TM SCBLCK1N(@10),B'00101000' 0571 00512000 BZ @RF00571 0571 00513000 * DO; /* YES, RESET SCB INDICATORS */ 00514000 * SCBLCK1N=OFF; /* RESET SCB LOCK INDICATOR */ 00515000 * SCBMSGLN=OFF; /* RESET SCB LOCK INDICATOR */ 00516000 NI SCBLCK1N(@10),B'11010111' 0574 00517000 * IF(LCBLOCKR=ON|LCBLOCKI=ON)&LCBBDFLG=OFF THEN/* LOCK MODE 00518000 * AND IEDQBD HAS FINISHED 0575 00519000 * PROCESSING THIS PLCB @YM06447*/ 00520000 TM LCBLOCKR(IEDQLPTR),B'00110000' 0575 00521000 BZ @RF00575 0575 00522000 TM LCBBDFLG(IEDQLPTR),B'10000000' 0575 00523000 BNZ @RF00575 0575 00524000 * DO; /* YES @YM06447*/ 00525000 * QCBLKRLN=AVTEZERO; /* CLEAR THE RECORD NUMBER */ 00526000 MVI QCBLKRLN(IEDQQPTR),X'00' 0577 00527000 * RFY 0578 00528000 * RENTRY RSTD; 0578 00529000 * RENTRY=RLCB; /* SET PLCB ADDRESS @YM06447*/ 00530000 LR RENTRY,RLCB 0579 00531000 * CALL POSTR; /* POST PLCB @YM06447*/ 00532000 BAL @14,POSTR 0580 00533000 * RFY 0581 00534000 * RENTRY UNRSTD; 0581 00535000 * END; /* @YM06447*/ 00536000 * ELSE 0583 00537000 * ; /* NOT LOCK AND IEDQBD HAS NOT 0583 00538000 * FINISHED WITH THE PLCB */ 00539000 @RF00575 DS 0H 0584 00540000 * LCBINSRC=''B; /* CLEAR PLCB LOCK INDICATORS */ 00541000 SLR @10,@10 0584 00542000 STCM @10,7,LCBINSRC(IEDQLPTR) 0584 00543000 * END; /* RESET ALL LOCK INDICATORS */ 00544000 * ELSE 0586 00545000 * ; /* NOT IN LOCK MODE */ 00546000 @RF00571 DS 0H 0587 00547000 * CALL SENDRSET; /* SEND RESET IF NEEDED */ 00548000 BAL @14,SENDRSET 0587 00549000 * END; /* FINISHED WITH STOPLINE,I */ 00550000 * ELSE /* CHECK FOR STOP TERM,M */ 00551000 * IF NSLREQTY=NSLSTPTR+NSLSTMSG THEN/* STOPTERM,M? */ 00552000 B @RC00567 0589 00553000 @RF00567 CLI NSLREQTY(IEDNSLP),12 0589 00554000 BNE @RF00589 0589 00555000 * DO; /* @YM08441*/ 00556000 * TRMSTMM=ON; /* STOP MID MSG @YM08441*/ 00557000 OI TRMSTMM(RTRM),B'00100000' 0591 00558000 * CALL SENDRSET; /* SEND RESET IF NEEDED */ 00559000 BAL @14,SENDRSET 0592 00560000 * END; /* @YM08441*/ 00561000 * ELSE 0594 00562000 * ; /* NOT STOPTERM,M-- DON'T SEND 0594 00563000 * RESET */ 00564000 @RF00589 DS 0H 0595 00565000 * RFY 0595 00566000 * (IEDQLPTR, 0595 00567000 * RLCB, 0595 00568000 * IEDQQPTR, 0595 00569000 * RQCB) UNRSTD; 0595 00570000 * END MARKPLCB; /* STOP THE TERM WITH PLCB */ 00571000 @EL00007 DS 0H 0596 00572000 @EF00007 DS 0H 0596 00573000 @ER00007 L @14,@SA00007 0596 00574000 BR @14 0596 00575000 * 0597 00576000 * /*****************************************************************/ 00577000 * /* */ 00578000 * /* THIS SUBROUTINE DETERMINES IF A RESET IS NECESSARY TO STOP */ 00579000 * /* I/O. */ 00580000 * /* */ 00581000 * /*****************************************************************/ 00582000 * 0597 00583000 *STPNPLCB: 0597 00584000 * PROC OPTIONS(RETREG,SAVE(14)); 0597 00585000 STPNPLCB ST @14,@SA00008 0597 00586000 * IF TRMINOUT=ON|TRMRDOUT=ON|(TRMCONT=ON&TRMSESSN=OFF) THEN/* READ 00587000 * OR INVITE OR CONTACT 0598 00588000 * OUTSTANDING? @YM08442*/ 00589000 TM TRMINOUT(RTRM),B'00000011' 0598 00590000 BNZ @RT00598 0598 00591000 TM TRMCONT(RTRM),B'10000000' 0598 00592000 BNO @RF00598 0598 00593000 TM TRMSESSN(RTRM),B'01000000' 0598 00594000 BNZ @RF00598 0598 00595000 @RT00598 DS 0H 0599 00596000 * DO; /* @YM08441*/ 00597000 * IF NSLREQTY=NSLSTPLI THEN /* STOPLINE I @YM08441*/ 00598000 CLI NSLREQTY(IEDNSLP),X'09' 0600 00599000 BNE @RF00600 0600 00600000 * DO; /* YES @YM08441*/ 00601000 * TRMASNXI=ON; /* RESET IN PROGRESS @YM08441*/ 00602000 * TRMSTMM=ON; /* STOP MID MSG @YM08441*/ 00603000 OI TRMASNXI(RTRM),B'00110000' 0603 00604000 * END; /* @YM08441*/ 00605000 * ELSE /* NOT STOPLINE I @YM08441*/ 00606000 * IF NSLREQTY=NSLSTPTR+NSLSTMSG THEN/* STOPTRM MID MSG 0605 00607000 * @YM08441*/ 00608000 B @RC00600 0605 00609000 @RF00600 CLI NSLREQTY(IEDNSLP),12 0605 00610000 BNE @RF00605 0605 00611000 * TRMSTMM=ON; /* STOP MID MSG @YM08441*/ 00612000 OI TRMSTMM(RTRM),B'00100000' 0606 00613000 * CALL SENDRSET; /* MUST BUILD RESET AND SEND TO 00614000 * 3705 */ 00615000 @RF00605 DS 0H 0607 00616000 @RC00600 BAL @14,SENDRSET 0607 00617000 * END; /* @YM08441*/ 00618000 * ELSE /* RESOURCE NOT DOING ANYTHING */ 00619000 * DO; /* YES */ 00620000 B @RC00598 0609 00621000 @RF00598 DS 0H 0610 00622000 * IF NSLREQTY^=NSLSTPLI&NSLREQTY^=NSLSTOPL&NSLREQTY^=NSLCLOSN 00623000 * THEN /* STOPTERM @YM08540*/ 00624000 CLI NSLREQTY(IEDNSLP),X'09' 0610 00625000 BE @RF00610 0610 00626000 CLI NSLREQTY(IEDNSLP),X'02' 0610 00627000 BE @RF00610 0610 00628000 CLI NSLREQTY(IEDNSLP),X'0B' 0610 00629000 BE @RF00610 0610 00630000 * DO; /* RESET ALL THE FLAGS */ 00631000 * NSLPLCBR=OFF; /* RESET SO BUFFER */ 00632000 NI NSLPLCBR(IEDNSLP),B'01111111' 0612 00633000 * TRMOCNI=OFF; /* DO NOT REQ PLCB TO RETURN TO 00634000 * OPERATOR CONTROL */ 00635000 NI TRMOCNI(RTRM),B'11011111' 0613 00636000 * END; /* RESET HAS BEEN DONE */ 00637000 * ELSE 0615 00638000 * ; /* STOPLINE DON'T RESET */ 00639000 @RF00610 DS 0H 0616 00640000 * END; /* DONE WITH DO NOTHING RES */ 00641000 * END STPNPLCB; /* STOP WITHOUT PLCB */ 00642000 @EL00008 DS 0H 0617 00643000 @EF00008 DS 0H 0617 00644000 @ER00008 L @14,@SA00008 0617 00645000 BR @14 0617 00646000 * 0618 00647000 * /*****************************************************************/ 00648000 * /* */ 00649000 * /* THIS ROUTINE MAKES SURE THAT THE CORRECT RESET IS BUILT BEFORE*/ 00650000 * /* POSTING. */ 00651000 * /* */ 00652000 * /*****************************************************************/ 00653000 * 0618 00654000 *SENDRSET: 0618 00655000 * PROC OPTIONS(RETREG,SAVE(14)); 0618 00656000 SENDRSET ST @14,@SA00009 0618 00657000 * RFY 0619 00658000 * (RPRF, 0619 00659000 * IEDQPPTR) RSTD; 0619 00660000 * NSLPLCBR=ON; /* SET SWITCH IN BFR THAT A PLCB 00661000 * WILL RETURN TO OPCNTL */ 00662000 OI NSLPLCBR(IEDNSLP),B'10000000' 0620 00663000 * RPRF=NSLBUFFR; /* EST. ADDRESSABILITY */ 00664000 L RPRF,NSLBUFFR-1(,IEDNSLP) 0621 00665000 LA RPRF,0(,RPRF) 0621 00666000 * NSLBUFFR=''B; /* CLEAR THE ERB CHAIN */ 00667000 SLR @10,@10 0622 00668000 STCM @10,7,NSLBUFFR(IEDNSLP) 0622 00669000 * CALL BUILD; /* READY TO BUILD THE RESET */ 00670000 BAL @14,BUILD 0623 00671000 * IF NSLREQTY=NSLSTPLI THEN /* STOPLINE,I? */ 00672000 CLI NSLREQTY(IEDNSLP),X'09' 0624 00673000 BNE @RF00624 0624 00674000 * DO; /* YES,CHANGE THE MODIFIER */ 00675000 * RFY 0626 00676000 * IEDPIU0 BASED(ADDR(PRFPIUO)+OFFSET); 0626 00677000 * RFY 0627 00678000 * IEDBDU BASED(ADDR(PIU0RU)); 0627 00679000 * BDUMODIF=CD0CRI; /* CHANGE MODIFIER TO A RESET 0628 00680000 * IMMEDIATE */ 00681000 LA @10,PRFPIUO(,IEDQPPTR) 0628 00682000 MVI BDUMODIF+15(@10),X'44' 0628 00683000 * TRMERLCK=OFF; /* RESET ERROR LOCK @YM06108*/ 00684000 NI TRMERLCK(RTRM),B'11111011' 0629 00685000 * END; /* MADE ALL CHANGES FOR STPLI */ 00686000 * ELSE /* LEAVE THE BDU AS IS */ 00687000 * DO; /* CHK FOR STOPLINE,C AND CU */ 00688000 B @RC00624 0631 00689000 @RF00624 DS 0H 0632 00690000 * IF NSLREQTY=NSLSTOPL&TRMTYPE=TRMCLUST THEN/* STOPLINE,C AND 00691000 * CU THEN */ 00692000 CLI NSLREQTY(IEDNSLP),X'02' 0632 00693000 BNE @RF00632 0632 00694000 CLI TRMTYPE(RTRM),X'40' 0632 00695000 BNE @RF00632 0632 00696000 * BDUMODIF=CD0CREOC; /* CHANGE MODIFIER TO RESET AT 0633 00697000 * THE END OF COMMAND */ 00698000 LA @10,PRFPIUO(,IEDQPPTR) 0633 00699000 MVI BDUMODIF+15(@10),X'60' 0633 00700000 * ELSE 0634 00701000 * ; /* OTHERWISE LEAVE BDU AS IS */ 00702000 @RF00632 DS 0H 0635 00703000 * END; /* MADE REQ MODIFIER CHANGES */ 00704000 * RPARM=RPRF; /* SETUP TO POST */ 00705000 @RC00624 LR RPARM,RPRF 0636 00706000 * RFY 0637 00707000 * (RPRF, 0637 00708000 * IEDQPPTR) UNRSTD; 0637 00709000 * CALL POSTELEM; /* POST RESET TO BE SENT TO 3705 */ 00710000 BAL @14,POSTELEM 0638 00711000 * END SENDRSET; /* BUILT AND SENT THE RESET */ 00712000 @EL00009 DS 0H 0639 00713000 @EF00009 DS 0H 0639 00714000 @ER00009 L @14,@SA00009 0639 00715000 BR @14 0639 00716000 * 0640 00717000 * /*****************************************************************/ 00718000 * /* */ 00719000 * /* THIS SUBROUTINE BUILD THE DEFAULT RESET---- THE RESET */ 00720000 * /* CONDITIONAL----. */ 00721000 * /* */ 00722000 * /*****************************************************************/ 00723000 * 0640 00724000 *BUILD: 0640 00725000 * PROC OPTIONS(RETREG,NOSAVE); 0640 00726000 BUILD DS 0H 0641 00727000 * RFY 0641 00728000 * (IEDQPPTR, 0641 00729000 * RPRF, 0641 00730000 * RRETURN) RSTD; 0641 00731000 * PRFPIUO=OFFSET; /* SET UP TO PIU */ 00732000 MVI PRFPIUO(IEDQPPTR),X'01' 0642 00733000 * PRFTIC=INVLDTIC; /* SET INVALID TIC @YM04642*/ 00734000 MVC PRFTIC(4,IEDQPPTR),@CB01344 0643 00735000 * PRFQCBA=SAVTSAO; /* SETUP QCB ADDRESS */ 00736000 L @15,AVTSAVTP(,IEDQAPTR) 0644 00737000 MVC PRFQCBA(3,IEDQPPTR),SAVTSAO+1(@15) 0644 00738000 * PRFPRI=PRIOUTBD; /* SETUP THE PRIORITY */ 00739000 MVI PRFPRI(IEDQPPTR),X'E4' 0645 00740000 * IEDPF2=''B; /* CLEAR PREFIX TO SET THE 0646 00741000 * INDICATOR TO DEBLOCK TO 0646 00742000 * CONVERT TTCIN TO NAT */ 00743000 LR @10,IEDQPPTR 0646 00744000 SL @10,@CF00044 0646 00745000 XC IEDPF2(8,@10),IEDPF2(@10) 0646 00746000 * PRF2TNTI=ON; /* SET THE INDICATOR */ 00747000 OI PRF2TNTI(@10),B'10000000' 0647 00748000 * RFY 0648 00749000 * IEDPIU0 BASED(ADDR(PRFPIUO)+OFFSET); 0648 00750000 * PIU0PAD=PIU0PAD0; /* PAD */ 00751000 LA @10,PRFPIUO(,IEDQPPTR) 0649 00752000 LA @07,1 0649 00753000 ALR @07,@10 0649 00754000 MVI PIU0PAD(@07),X'00' 0649 00755000 * RFY 0650 00756000 * IEDTH BASED(ADDR(PIU0TH)); 0650 00757000 * TTHBYTE0=TTH0BYT0; /* INDICATE BEGIN SEGMENT 0651 00758000 * INDICATE END SEGMENT */ 00759000 MVI TTHBYTE0(@07),X'0C' 0651 00760000 * TTHBYTE1=TTH0BYT1; /* CLEAR */ 00761000 MVI TTHBYTE1(@07),X'00' 0652 00762000 * TTHDAF=NSLTTCIN; /* DESTINATION TERM INDEX */ 00763000 MVC TTHDAF(2,@07),NSLTTCIN(IEDNSLP) 0653 00764000 * TTHOAF=SAVTTCPU; /* TCAM PU INDEX */ 00765000 MVC TTHOAF(2,@07),SAVTTCPU(@15) 0654 00766000 * TTHTAG=TTHTAG0; /* INDICATE RESET COMMAND SHOULD 00767000 * NOT RETURN TO ME */ 00768000 SLR @15,@15 0655 00769000 STCM @15,3,TTHTAG(@07) 0655 00770000 * TTHDCF=LENGTH(IEDPIU0)-LENGTH(IEDTH)+LENGTH(IEDBDU);/* SETUP DATA 00771000 * COUNT */ 00772000 MVC TTHDCF(2,@07),@CH01241 0656 00773000 * RFY 0657 00774000 * IEDRH BASED(ADDR(PIU0RH)); 0657 00775000 * PIU0RH=TRHFID0; /* DEFAULT FID0 COMMAND */ 00776000 MVC PIU0RH(3,@07),@CB01778 0658 00777000 * RFY 0659 00778000 * IEDBDU BASED(ADDR(PIU0RU)); 0659 00779000 * IEDBDU=''B; /* CLEAR RU PORTION */ 00780000 AL @10,@CF00102 0660 00781000 XC IEDBDU(6,@10),IEDBDU(@10) 0660 00782000 * BDUCMND=CD0CTRL; /* CONTROL COMMAND */ 00783000 MVI BDUCMND(@10),X'08' 0661 00784000 * BDUMODIF=CD0CRC; /* RESET CONDITIONAL */ 00785000 MVI BDUMODIF(@10),X'50' 0662 00786000 * RFY 0663 00787000 * (IEDQPPTR, 0663 00788000 * RPRF, 0663 00789000 * RRETURN) UNRSTD; 0663 00790000 * END BUILD; /* BUILT THE RESET */ 00791000 @EL00010 DS 0H 0664 00792000 @EF00010 DS 0H 0664 00793000 @ER00010 BR @14 0664 00794000 * 0665 00795000 * /*****************************************************************/ 00796000 * /* */ 00797000 * /* THIS SUBROUTINE PROCESSES THE START LINE REQUESTS. THE */ 00798000 * /* STARTLNE SUBROUTINE DETERMINES WHICH TERMINALS ON THE LINE ARE*/ 00799000 * /* TO BE PRIMED EITHER BY THE TERMINAL'S GEN'D STATUS OR MESSAGES*/ 00800000 * /* ON THE QUE. */ 00801000 * /* */ 00802000 * /*****************************************************************/ 00803000 * 0665 00804000 *STARTLNE: 0665 00805000 * PROC OPTIONS(RETREG,SAVE(14)); 0665 00806000 STARTLNE ST @14,@SA00011 0665 00807000 * RTRM=NSLTTEPT; /* GET RESOURCE ADDRESS PASSED BY 00808000 * THE REQUESTOR */ 00809000 L RTRM,NSLTTEPT(,IEDNSLP) 0666 00810000 * RTRM=RTRM-LENGTH(IEDNTRM); /* BACKUP TO PREFIX */ 00811000 SL RTRM,@CF01178 0667 00812000 * IF TRMSUBST^=AVTFZERO THEN /* IS THERE A SUBSTRUCTURE? */ 00813000 LH @10,TRMSUBST(,RTRM) 0668 00814000 N @10,@CF02262 0668 00815000 C @10,AVTFZERO(,IEDQAPTR) 0668 00816000 BE @RF00668 0668 00817000 * DO; /* YES, COMPLETE THE START 0669 00818000 * PROCESSING */ 00819000 * NSLTTCIN=TRMSUBST; /* SET UP THE FIRST TNT INDEX OF 00820000 * TERMINAL TO BE STARTED */ 00821000 STH @10,NSLTTCIN(,IEDNSLP) 0670 00822000 * RPARM=NSLTTCIN; /* SETUP THE PARAMETER */ 00823000 LR RPARM,@10 0671 00824000 * CALL GETTRM; /* CALL SUBROUTINE TO OBTAIN 0672 00825000 * TERMINAL ENTRY ADDRESS */ 00826000 BAL @14,GETTRM 0672 00827000 * DO UNTIL(TRMTYPE=TRMNSDLC); /* LOOP UNTIL REACH LINE ENTRY 0673 00828000 * AGAIN */ 00829000 @DL00673 DS 0H 0674 00830000 * TRMSPACT=ON; /* SET SUPERIOR RES ACTIVE */ 00831000 OI TRMSPACT(RTRM),B'00010000' 0674 00832000 * NSLCTTRM=RTRM; /* SETUP CURRENT TRM ENTRY */ 00833000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 0675 00834000 * IF TRMTYPE=TRMCLUST THEN /* IS THIS GENERAL POLL CLUSTER */ 00835000 CLI TRMTYPE(RTRM),X'40' 0676 00836000 BNE @RF00676 0676 00837000 * DO; /* YES,CHECK FOR SUBENTRIES */ 00838000 * IF TRMSUBST^=AVTFZERO THEN/* SUBSTRUCTURE EXIST? */ 00839000 LH @10,TRMSUBST(,RTRM) 0678 00840000 N @10,@CF02262 0678 00841000 C @10,AVTFZERO(,IEDQAPTR) 0678 00842000 BE @RF00678 0678 00843000 * DO; /* PROCESS ALL GP TERMS UNDER THE 00844000 * CLUSTER */ 00845000 * CALL STRGPTRM; /* YES, START TRMS UNDER THE 0680 00846000 * CLUSTER */ 00847000 BAL @14,STRGPTRM 0680 00848000 * CALL PRIMER; /* PRIME GP CLUSTER */ 00849000 BAL @14,PRIMER 0681 00850000 * END; /* PROCESSED THE GP CLUSTER AND 00851000 * ITS TERMINALS */ 00852000 * ELSE 0683 00853000 * ; /* NO SUBSTRUCTURE */ 00854000 @RF00678 DS 0H 0684 00855000 * END; /* COMPLETED FOR CLUSTER */ 00856000 * ELSE /* NOT A CLUSTER */ 00857000 * CALL PRIMER; /* REQUEST BRINGUP IF POSSBLE */ 00858000 B @RC00676 0685 00859000 @RF00676 BAL @14,PRIMER 0685 00860000 * NSLTTCIN=TRMCOHRT; /* GET NEXT ADJACENT STRTURE */ 00861000 @RC00676 LH @10,TRMCOHRT(,RTRM) 0686 00862000 N @10,@CF02262 0686 00863000 STH @10,NSLTTCIN(,IEDNSLP) 0686 00864000 * RPARM=NSLTTCIN; /* SET UP PARAMETR FOR TNTCDE */ 00865000 LR RPARM,@10 0687 00866000 * CALL GETTRM; /* GET NEXT TRM ENTRY ADDRESS */ 00867000 BAL @14,GETTRM 0688 00868000 * END; /* END OF LOOP */ 00869000 @DE00673 CLI TRMTYPE(RTRM),X'20' 0689 00870000 BNE @DL00673 0689 00871000 * END; /* COMPLETE ALL POSSIBLE STRT */ 00872000 * ELSE 0691 00873000 * ; /* NO SUBSTRUCTURES */ 00874000 @RF00668 DS 0H 0692 00875000 * IF TRMDIAL=ON THEN /* ONLY FOR DIAL */ 00876000 TM TRMDIAL(RTRM),B'00001000' 0692 00877000 BNO @RF00692 0692 00878000 * DO; /* PRIME ALL DIAL IF REQUIRED */ 00879000 * LINETTE1=NSLTTEPT; /* SETUP INPUT LINE ADDRESS */ 00880000 L @10,NSLTTEPT(,IEDNSLP) 0694 00881000 STCM @10,7,LINETTE1 0694 00882000 * LINETTE1=LINETTE1-LENGTH(IEDNTRM);/* BACKUP TO PREFIX */ 00883000 SL @10,@CF01178 0695 00884000 STCM @10,7,LINETTE1 0695 00885000 * SAVETNT=TRMCOHTG; /* GET NEXT LINE TTCIN TO IN 0696 00886000 * ORDER TO OBTAIN RVT PTR */ 00887000 LH @10,TRMCOHTG(,RTRM) 0696 00888000 N @10,@CF02262 0696 00889000 STH @10,SAVETNT 0696 00890000 * RPARM=TRMCOHTG; /* SETUP PARAMETER */ 00891000 LR RPARM,@10 0697 00892000 * CALL GETTRM; /* GET TERM ENTRY */ 00893000 BAL @14,GETTRM 0698 00894000 * DO UNTIL(RTRM=LINETTE1); /* FIND TTCIN OF THIS LINE */ 00895000 @DL00699 DS 0H 0700 00896000 * IF TRMTYPE=TRMGRP THEN /* GROUP */ 00897000 CLI TRMTYPE(RTRM),X'00' 0700 00898000 BNE @RF00700 0700 00899000 * DO; /* YES */ 00900000 * RPARM=TRMSUBST; /* GET FIRST LINE */ 00901000 LH @10,TRMSUBST(,RTRM) 0702 00902000 N @10,@CF02262 0702 00903000 LR RPARM,@10 0702 00904000 * SAVETNT=TRMSUBST; /* SAVE TNT INDEX */ 00905000 STH @10,SAVETNT 0703 00906000 * CALL GETTRM; /* GET THE TERMINAL ENTRY */ 00907000 BAL @14,GETTRM 0704 00908000 * END; /* GOT A VALID TNT INDEX */ 00909000 * ELSE /* GET THE NEXT TTCIN */ 00910000 * DO; /* GET TTCIN AND TRM ENTRY */ 00911000 B @RC00700 0706 00912000 @RF00700 DS 0H 0707 00913000 * SAVETNT=TRMCOHTG; /* GET THE ADJACENT ENTRY */ 00914000 LH @10,TRMCOHTG(,RTRM) 0707 00915000 N @10,@CF02262 0707 00916000 STH @10,SAVETNT 0707 00917000 * RPARM=TRMCOHTG; /* SETUP PARAMETER TO IEDQTNT */ 00918000 LR RPARM,@10 0708 00919000 * CALL GETTRM; /* GET THE TERM ENTRY ADDR */ 00920000 BAL @14,GETTRM 0709 00921000 * END; /* FIND FOR NON-GROUP ENTRY */ 00922000 * END; /* END OF DO UNTIL */ 00923000 @RC00700 DS 0H 0711 00924000 @DE00699 L @10,LINETTE1-1 0711 00925000 LA @10,0(,@10) 0711 00926000 CR RTRM,@10 0711 00927000 BNE @DL00699 0711 00928000 * SAVEDLGB=LINETTE1->TRMDESTQ->QCBLGBAD;/* SAVE LGB ADDR 0712 00929000 * @YM06925*/ 00930000 SLR @03,@03 0712 00931000 ICM @03,7,TRMDESTQ(@10) 0712 00932000 MVC SAVEDLGB(3),QCBLGBAD(@03) 0712 00933000 * RPARM=SAVETNT; /* SETUP PARAMETER TO IAP04 */ 00934000 LH RPARM,SAVETNT 0713 00935000 N RPARM,@CF02262 0713 00936000 * CALL IEDIAP04; /* GET THE NAT ADDRESS */ 00937000 L @10,AVTSAVTP(,IEDQAPTR) 0714 00938000 L @15,SAVTTNTX(,@10) 0714 00939000 BALR @14,@15 0714 00940000 * RFY 0715 00941000 * (RVTPTR, 0715 00942000 * REND, 0715 00943000 * IEDQRVTP, 0715 00944000 * IEDQSATP, 0715 00945000 * IEDQNATP, 0715 00946000 * RENTRY) RSTD; 0715 00947000 * RVTPTR=RENTRY; /* SETUP NETWORK ADDRESS */ 00948000 LR RVTPTR,RENTRY 0716 00949000 * SHIFTLEN=((LENGTH(IEDNATD)*SHFTBITS)-SAVTSUBL);/* GET NO TO 00950000 * SHIFT */ 00951000 L @14,AVTSAVTP(,IEDQAPTR) 0717 00952000 LA @10,16 0717 00953000 SLR @07,@07 0717 00954000 IC @07,SAVTSUBL(,@14) 0717 00955000 SLR @10,@07 0717 00956000 STH @10,SHIFTLEN 0717 00957000 * SRL(RVTPTR,SHIFTLEN); /* SHIFT OUT THE ELEMENT ADDR */ 00958000 SRL RVTPTR,0(@10) 0718 00959000 * RVTPTR=((RVTPTR-ONE)*LENGTH(IEDSATD))+SAVTSAT;/* PT TO THE 0719 00960000 * RVT FOR THIS LINE */ 00961000 LR @10,RVTPTR 0719 00962000 BCTR @10,0 0719 00963000 SLA @10,3 0719 00964000 AL @10,SAVTSAT(,@14) 0719 00965000 LR RVTPTR,@10 0719 00966000 * RVTPTR=RVTPTR->SATRNRVT; /* GET THE RVT TABLE ADDR THAT 0720 00967000 * CONTAINS THIS LINE */ 00968000 L RVTPTR,SATRNRVT(,RVTPTR) 0720 00969000 * REND=RVTPTR+((RVTPTR->RVTNUM)*LENGTH(RVTINDEX));/* PT TO END */ 00970000 LH REND,RVTNUM(,RVTPTR) 0721 00971000 ALR REND,REND 0721 00972000 ALR REND,RVTPTR 0721 00973000 * RVTPTR=RVTPTR+LENGTH(RVTINDEX);/* POINT PASSED THE NCP TNT */ 00974000 AL RVTPTR,@CF00064 0722 00975000 * DO WHILE(RVTPTR^=REND&EXITTIME=OFF);/* LOOP UNTIL END OF THE 00976000 * TABLE IS REACHED OR EXIT FLAG 00977000 * ON */ 00978000 B @DE00723 0723 00979000 @DL00723 DS 0H 0724 00980000 * RPARM=RVTPTR->RVTINDEX; /* GET THE NEXT TNT INDEX */ 00981000 LH RPARM,RVTINDEX(,RVTPTR) 0724 00982000 * IF RPARM^=AVTFZERO THEN /* EMPTY SLOT IN RVT? */ 00983000 C RPARM,AVTFZERO(,IEDQAPTR) 0725 00984000 BE @RF00725 0725 00985000 * DO; /* NO, CONTINUE */ 00986000 * CALL GETTRM; /* GET TRM ENTRY ADDRESS */ 00987000 BAL @14,GETTRM 0727 00988000 * IF TRMDIAL=ON&TRMTYPE^=TRMCTERM&TRMTYPE^=TRMNSDLC& 0728 00989000 * TRMDESTQ->QCBLGBAD=SAVEDLGB THEN/* DIAL, NOT CTERM 00990000 * , NOT A LINE, AND LGB MATCHES */ 00991000 TM TRMDIAL(RTRM),B'00001000' 0728 00992000 BNO @RF00728 0728 00993000 CLI TRMTYPE(RTRM),X'48' 0728 00994000 BE @RF00728 0728 00995000 CLI TRMTYPE(RTRM),X'20' 0728 00996000 BE @RF00728 0728 00997000 SLR @14,@14 0728 00998000 ICM @14,7,TRMDESTQ(RTRM) 0728 00999000 CLC QCBLGBAD(3,@14),SAVEDLGB 0728 01000000 BNE @RF00728 0728 01001000 * DO; /* VALID ENTRY CONTINUE */ 01002000 * IF TRMSPACT=OFF THEN/* HAS BEEN PRIMED @YM04673*/ 01003000 TM TRMSPACT(RTRM),B'00010000' 0730 01004000 BNZ @RF00730 0730 01005000 * DO; /* NO THEN @YM04673*/ 01006000 * TRMSPACT=ON; /* SET SUPERIOR RESOURCE ACT */ 01007000 OI TRMSPACT(RTRM),B'00010000' 0732 01008000 * IF(TRMHELDN=OFF&TRMDESTQ->QCBSTPRI^=QCBCALLN) 01009000 * THEN /* NOT HELD AND NOT CALLIN */ 01010000 TM TRMHELDN(RTRM),B'00000100' 0733 01011000 BNZ @RF00733 0733 01012000 CLI QCBSTPRI(@14),X'50' 0733 01013000 BE @RF00733 0733 01014000 * DO; /* VERIFY WHAT TYPE OF PRIMNG */ 01015000 * RFY 0735 01016000 * (RPQCBPTR, 0735 01017000 * RWORKREG, 0735 01018000 * IEDQPPTR, 0735 01019000 * IEDQQPTR, 0735 01020000 * RQCB) RSTD; 0735 01021000 * RQCB=TRMDESTQ;/* GET THE QCB ADDRESS */ 01022000 LR RQCB,@14 0736 01023000 * IF QCBREUS=ON|QCBNREUS=ON|QCBCORE=ON THEN 01024000 TM QCBREUS(IEDQQPTR),B'01110000' 0737 01025000 BZ @RF00737 0737 01026000 * DO; /* MIXED OR TSO ONLY QUES? */ 01027000 * IF QCBSTPRI=QCBCLK THEN/* CLOCK 0739 01028000 * SPECIFIED? */ 01029000 CLI QCBSTPRI(IEDQQPTR),X'80' 0739 01030000 BNE @RF00739 0739 01031000 * CALL DELAYQUE;/* PUT ON TIMEDELAY */ 01032000 BAL @14,DELAYQUE 0740 01033000 * ELSE /* NON-CLOCK */ 01034000 * DO; /* FIND OUT IF THERE IS DATA */ 01035000 B @RC00739 0741 01036000 @RF00739 DS 0H 0742 01037000 * RPQCBPTR=IEDQQPTR+LENGTH(IEDQQCB)- 01038000 * LENGTH(IEDQPQCB);/* GET THE 0742 01039000 * FIRST PRIORITY QCB ADDRESS */ 01040000 LR RPQCBPTR,IEDQQPTR 0742 01041000 SL RPQCBPTR,@CF02234 0742 01042000 * RFY 0743 01043000 * IEDQPQCB BASED(RPQCBPTR);/* EST. 01044000 * ADDRERSSABILITY */ 01045000 * DO UNTIL(QCBFFEFO^=AVTFZERO|QCBPRIPQ= 01046000 * AVTEZERO);/* LOOP UNTIL MSG 01047000 * ON QUE OR REACHED THE END OF 01048000 * QUEUES */ 01049000 @DL00744 DS 0H 0745 01050000 * RPQCBPTR=RPQCBPTR+LENGTH(IEDQPQCB); 01051000 AL RPQCBPTR,@CF01560 0745 01052000 * /* POINT TO NEXT QUEUE */ 01053000 * END;/* LOOP UNTIL CONDITION IS T */ 01054000 @DE00744 SLR @14,@14 0746 01055000 ICM @14,7,QCBFFEFO(RPQCBPTR) 0746 01056000 C @14,AVTFZERO(,IEDQAPTR) 0746 01057000 BNE @DC00744 0746 01058000 CLI QCBPRIPQ(RPQCBPTR),X'00' 0746 01059000 BNE @DL00744 0746 01060000 @DC00744 DS 0H 0747 01061000 * IF QCBFFEFO^=AVTFZERO THEN/* IS 0747 01062000 * THERE A MSG? */ 01063000 SLR @14,@14 0747 01064000 ICM @14,7,QCBFFEFO(RPQCBPTR) 0747 01065000 C @14,AVTFZERO(,IEDQAPTR) 0747 01066000 BE @RF00747 0747 01067000 * CALL REQSEND;/* READY TO SEND */ 01068000 BAL @14,REQSEND 0748 01069000 * ELSE/* NO DATA TO SEND */ 01070000 * DO;/* FIND OUT IF TIMER IS REQ */ 01071000 B @RC00747 0749 01072000 @RF00747 DS 0H 0750 01073000 * IF QCBSTPRI=QCBCNTVL THEN/* 0750 01074000 * INTERVAL SPECIFIED? */ 01075000 CLI QCBSTPRI(IEDQQPTR),X'70' 0750 01076000 BNE @RF00750 0750 01077000 * CALL DELAYQUE;/* PUT ON 0751 01078000 * TIMEDELAY */ 01079000 BAL @14,DELAYQUE 0751 01080000 * ELSE 0752 01081000 * ;/* NO DO NOTHING */ 01082000 @RF00750 DS 0H 0753 01083000 * END;/* FINISHED WITH NO MESSAGES */ 01084000 * END;/* FINISHED PROCESSING SEND 0754 01085000 * OPERATION REQUEST */ 01086000 * END; /* NO TSO ONLY */ 01087000 * ELSE 0756 01088000 * ; /* TSO ONLY */ 01089000 @RF00737 DS 0H 0757 01090000 * RFY 0757 01091000 * (RPQCBPTR, 0757 01092000 * RWORKREG, 0757 01093000 * IEDQPPTR, 0757 01094000 * IEDQQPTR, 0757 01095000 * RQCB) UNRSTD; 0757 01096000 @RC00737 DS 0H 0758 01097000 * END; /* VERFIED TYPE OF PRIMING */ 01098000 * END; /* FIRST TIME PRIMED @YM04673*/ 01099000 * ELSE /* HAS BEEN PRIMED @YM04673*/ 01100000 * EXITTIME=ON; /* GETOUT OF THE LOOP@YM04673 */ 01101000 B @RC00730 0760 01102000 @RF00730 OI EXITTIME,B'00100000' 0760 01103000 * END; /* COMPLETED NECESSARY PRIMNG */ 01104000 * ELSE /* DIDN'T PASS ALL OR SNA */ 01105000 * DO; /* DETERMINE WHICH */ 01106000 B @RC00728 0762 01107000 @RF00728 DS 0H 0763 01108000 * IF TRMTYPE=TRMSDLC THEN/* SNA LINE? */ 01109000 CLI TRMTYPE(RTRM),X'21' 0763 01110000 BNE @RF00763 0763 01111000 * EXITTIME=ON; /* SET THE EXIT SWITCH */ 01112000 OI EXITTIME,B'00100000' 0764 01113000 * ELSE 0765 01114000 * ; /* CONTINUE LOOP */ 01115000 @RF00763 DS 0H 0766 01116000 * END; /* FOUND OUT WHICH */ 01117000 * END; /* COMPLETED ALL PROCESSING FOR 01118000 * NON-ZERO TNT INDEX */ 01119000 * ELSE 0768 01120000 * ; /* ZERO TNT INDEX FALL THRU */ 01121000 @RF00725 DS 0H 0769 01122000 * RVTPTR=RVTPTR+LENGTH(RVTINDEX);/* BUMP TO THE NEXT */ 01123000 @RC00725 AL RVTPTR,@CF00064 0769 01124000 * END; /* END OF DO WHILE */ 01125000 @DE00723 CR RVTPTR,REND 0770 01126000 BE @DC00723 0770 01127000 TM EXITTIME,B'00100000' 0770 01128000 BZ @DL00723 0770 01129000 @DC00723 DS 0H 0771 01130000 * EXITTIME=OFF; /* RESET SWITCH FOR NEXT TIME */ 01131000 NI EXITTIME,B'11011111' 0771 01132000 * RFY 0772 01133000 * (RVTPTR, 0772 01134000 * REND, 0772 01135000 * IEDQRVTP, 0772 01136000 * IEDQSATP, 0772 01137000 * IEDQNATP, 0772 01138000 * RENTRY) UNRSTD; 0772 01139000 * END; /* PERFORMED PRIMING FOR DIAL */ 01140000 * ELSE 0774 01141000 * ; /* NON-DIAL FALL THROUGH */ 01142000 @RF00692 DS 0H 0775 01143000 * CALL POSTOPCB; /* POST BUFFER BACK TO OPCOB */ 01144000 BAL @14,POSTOPCB 0775 01145000 * END STARTLNE; /* END OF SUBROUTINE */ 01146000 @EL00011 DS 0H 0776 01147000 @EF00011 DS 0H 0776 01148000 @ER00011 L @14,@SA00011 0776 01149000 BR @14 0776 01150000 * 0777 01151000 * /*****************************************************************/ 01152000 * /* */ 01153000 * /* TO GET TERMINAL ADDRESS BY CALLING THE TNTCODE. */ 01154000 * /* */ 01155000 * /*****************************************************************/ 01156000 * 0777 01157000 *GETTRM: 0777 01158000 * PROC OPTIONS(RETREG,SAVE(14)); 0777 01159000 GETTRM ST @14,@SA00012 0777 01160000 * CALL IEDQTNT; /* CALL TO GET TRM ENTRY @ */ 01161000 L @15,AVTRNMPT(,IEDQAPTR) 0778 01162000 BALR @14,@15 0778 01163000 * RTRM=RPARM-LENGTH(IEDNTRM); /* EST. ADDRESSABILTY */ 01164000 LR RTRM,RPARM 0779 01165000 SL RTRM,@CF01178 0779 01166000 * END GETTRM; /* GET A TRM ENTRY ADDRESS */ 01167000 @EL00012 DS 0H 0780 01168000 @EF00012 DS 0H 0780 01169000 @ER00012 L @14,@SA00012 0780 01170000 BR @14 0780 01171000 * 0781 01172000 * /*****************************************************************/ 01173000 * /* */ 01174000 * /* TO START ALL TERMINALS UNDER A CLUSTER WHEN A STARTLINE */ 01175000 * /* REGUEST IS POSTED TO IEDNSL. */ 01176000 * /* */ 01177000 * /*****************************************************************/ 01178000 * 0781 01179000 *STRGPTRM: 0781 01180000 * PROC OPTIONS(RETREG,SAVE(14)); 0781 01181000 STRGPTRM ST @14,@SA00013 0781 01182000 * SAVCUPTR=RTRM; /* SAVE CU TRM ENTRY ADDRESS */ 01183000 ST RTRM,SAVCUPTR 0782 01184000 * IF TRMRSACT=ON THEN /* GEN'D ACTIVE? @YM04643*/ 01185000 TM TRMRSACT(RTRM),B'10000000' 0783 01186000 BNO @RF00783 0783 01187000 * TRMGPACT=ON; /* SET GP ACTIVE @YM04643*/ 01188000 LA @15,TRMGPACT(,RTRM) 0784 01189000 LR @14,@15 0784 01190000 LA @10,3 0784 01191000 NR @14,@10 0784 01192000 LCR @14,@14 0784 01193000 ALR @15,@14 0784 01194000 L @10,0(,@15) 0784 01195000 @GL00024 LR @03,@10 0784 01196000 O @03,@CB02264+3(@14) 0784 01197000 CS @10,@03,0(@15) 0784 01198000 BNE @GL00024 0784 01199000 * ELSE 0785 01200000 * ; /* NOT ACTIVE @YM04643*/ 01201000 @RF00783 DS 0H 0786 01202000 * TRMSPACT=ON; /* SET SUPERIOR RESOURCE ACTIVE 01203000 * @YM04630*/ 01204000 OI TRMSPACT(RTRM),B'00010000' 0786 01205000 * RPARM=TRMSUBST; /* GET FIRST SUBSTRUCTURE */ 01206000 LH @10,TRMSUBST(,RTRM) 0787 01207000 N @10,@CF02262 0787 01208000 LR RPARM,@10 0787 01209000 * NSLTTCIN=TRMSUBST; /* SETUP CURRENT TNTINDEX */ 01210000 STH @10,NSLTTCIN(,IEDNSLP) 0788 01211000 * CALL GETTRM; /* GET TRM ENTRY ADDRESS */ 01212000 BAL @14,GETTRM 0789 01213000 * NSLCTTRM=RTRM; /* SETUP CURRENT TRM ENTRY @ */ 01214000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 0790 01215000 * DO UNTIL(TRMTYPE=TRMCLUST); /* LOOP UNTIL REACH THE CLUST 0791 01216000 * AGAIN */ 01217000 @DL00791 DS 0H 0792 01218000 * TRMSPACT=ON; /* SET SUPERIOR RESOURCE ACTIVE 01219000 * @YM04630*/ 01220000 OI TRMSPACT(RTRM),B'00010000' 0792 01221000 * IF SAVCUPTR->TRMRSACT=ON THEN /* IF GNERAL POLL CLUSTER ACTIVE */ 01222000 L @10,SAVCUPTR 0793 01223000 TM TRMRSACT(@10),B'10000000' 0793 01224000 BNO @RF00793 0793 01225000 * TRMGPACT=ON; /* YES, SET GP ACTIVE IN SUB */ 01226000 LA @15,TRMGPACT(,RTRM) 0794 01227000 LR @14,@15 0794 01228000 LA @10,3 0794 01229000 NR @14,@10 0794 01230000 LCR @14,@14 0794 01231000 ALR @15,@14 0794 01232000 L @10,0(,@15) 0794 01233000 @GL00025 LR @03,@10 0794 01234000 O @03,@CB02264+3(@14) 0794 01235000 CS @10,@03,0(@15) 0794 01236000 BNE @GL00025 0794 01237000 * ELSE 0795 01238000 * ; /* NO IT IS INACTIVE */ 01239000 @RF00793 DS 0H 0796 01240000 * CALL PRIMER; /* REQUEST BRINGUP IF POSSBLE */ 01241000 BAL @14,PRIMER 0796 01242000 * RPARM=TRMCOHRT; /* GET NEXT TNT INDEX */ 01243000 LH @10,TRMCOHRT(,RTRM) 0797 01244000 N @10,@CF02262 0797 01245000 LR RPARM,@10 0797 01246000 * NSLTTCIN=TRMCOHRT; /* EST. CURRENT TNT INDEX */ 01247000 STH @10,NSLTTCIN(,IEDNSLP) 0798 01248000 * CALL GETTRM; /* GET TRM ENTRY ADDRESS */ 01249000 BAL @14,GETTRM 0799 01250000 * NSLCTTRM=RTRM; /* SETUP CURRENT TRM ENTRY @ */ 01251000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 0800 01252000 * END; /* COMPLETED PRIMMING FOR 0801 01253000 * TERMINALS UNDER A CLUSTER */ 01254000 @DE00791 CLI TRMTYPE(RTRM),X'40' 0801 01255000 BNE @DL00791 0801 01256000 * END STRGPTRM; /* END START GP TERMS */ 01257000 @EL00013 DS 0H 0802 01258000 @EF00013 DS 0H 0802 01259000 @ER00013 L @14,@SA00013 0802 01260000 BR @14 0802 01261000 * 0803 01262000 * /*****************************************************************/ 01263000 * /* */ 01264000 * /* PRIME SUBROUTINE DETERMINES BASED ON THE TYPE OF */ 01265000 * /* RESOURCE,MESSAGES ON THE QUEUE CLOCK OR INTERVAL SPECIFIED, */ 01266000 * /* SUPERIOR RESOURCE ACTIVE AND THE RESOURCE GEN'D ACTIVE TO */ 01267000 * /* REQUEST A SEND OR RECEIVE ON BEHALF OF THE RESOURCE. */ 01268000 * /* */ 01269000 * /*****************************************************************/ 01270000 * 0803 01271000 *PRIMER: 0803 01272000 * PROC OPTIONS(RETREG,SAVE(14)); 0803 01273000 PRIMER ST @14,@SA00014 0803 01274000 * RFY 0804 01275000 * (RWORKREG, 0804 01276000 * IEDQQPTR) RSTD; /* RESTRICT REGS @YM04696*/ 01277000 * IEDQQPTR=TRMDESTQ; /* SET QCB BASE @YM04696*/ 01278000 SLR IEDQQPTR,IEDQQPTR 0805 01279000 ICM IEDQQPTR,7,TRMDESTQ(RTRM) 0805 01280000 * IF TRMSNA=OFF THEN /* IS IT PRE-SNA? */ 01281000 TM TRMSNA(RTRM),B'00000010' 0806 01282000 BNZ @RF00806 0806 01283000 * DO; /* YES, PRIME ONLY PRE-SNA */ 01284000 * IF TRMSPACT=ON THEN /* SUPERIOR RESOURCE ACTIVE? */ 01285000 TM TRMSPACT(RTRM),B'00010000' 0808 01286000 BNO @RF00808 0808 01287000 * DO; /* YES, THEN CONTINUE TO PRME */ 01288000 * IF TRMTYPE^=TRMCLUST&TRMTYPE^=TRMCTERM THEN/* GP CU OR 0810 01289000 * CTERM NO @YM04672*/ 01290000 CLI TRMTYPE(RTRM),X'40' 0810 01291000 BE @RF00810 0810 01292000 CLI TRMTYPE(RTRM),X'48' 0810 01293000 BE @RF00810 0810 01294000 * DO; /* NO CHECK FOR DATA TO SEND */ 01295000 * IF QCBREUS=ON|QCBNREUS=ON|QCBCORE=ON THEN 0812 01296000 TM QCBREUS(IEDQQPTR),B'01110000' 0812 01297000 BZ @RF00812 0812 01298000 * DO; /* MIXED OR TCAM QUES */ 01299000 * RFY 0814 01300000 * RPQCBPTR RSTD; 0814 01301000 * RPQCBPTR=IEDQQPTR+LENGTH(IEDQQCB)-LENGTH(IEDQPQCB); 01302000 LR RPQCBPTR,IEDQQPTR 0815 01303000 SL RPQCBPTR,@CF02234 0815 01304000 * /* GET THE FIRST PRIORITY QCB 0816 01305000 * ADDRESS */ 01306000 * RFY 0816 01307000 * IEDQPQCB BASED(RPQCBPTR);/* EST. ADDRESSABILTY */ 01308000 * DO UNTIL(QCBFFEFO^=AVTFZERO|QCBPRIPQ=AVTEZERO);/* 01309000 * LOOP UNTIL MSG IS FOUND OR END 01310000 * OF THE QUE HAS BEEN REACHED */ 01311000 @DL00817 DS 0H 0818 01312000 * RPQCBPTR=RPQCBPTR+LENGTH(IEDQPQCB);/* POINT TO 01313000 * NEXT QUEUE */ 01314000 AL RPQCBPTR,@CF01560 0818 01315000 * END; /* COMPLETED THE SCAN FOR MSG */ 01316000 @DE00817 SLR @06,@06 0819 01317000 ICM @06,7,QCBFFEFO(RPQCBPTR) 0819 01318000 C @06,AVTFZERO(,IEDQAPTR) 0819 01319000 BNE @DC00817 0819 01320000 CLI QCBPRIPQ(RPQCBPTR),X'00' 0819 01321000 BNE @DL00817 0819 01322000 @DC00817 DS 0H 0820 01323000 * IF QCBFFEFO^=AVTFZERO THEN/* DATA FOUND? */ 01324000 SLR @06,@06 0820 01325000 ICM @06,7,QCBFFEFO(RPQCBPTR) 0820 01326000 C @06,AVTFZERO(,IEDQAPTR) 0820 01327000 BE @RF00820 0820 01328000 * DO; /* YES MAKE CLOCK CHKS DON'T SEND 01329000 * IF CLOCK */ 01330000 * IF QCBSTPRI=QCBCLK THEN/* IS IT CLOCK */ 01331000 CLI QCBSTPRI(IEDQQPTR),X'80' 0822 01332000 BNE @RF00822 0822 01333000 * CALL TIMEDLAY;/* YES, CHECK FOR TIME DELAY */ 01334000 BAL @14,TIMEDLAY 0823 01335000 * ELSE /* FALL THROUGH TRY PRIME RCV */ 01336000 * CALL REQSEND;/* OK TO REQUEST A SEND */ 01337000 B @RC00822 0824 01338000 @RF00822 BAL @14,REQSEND 0824 01339000 * END; /* COMPLETED SEND PRIMIMG */ 01340000 * ELSE /* VERIFY IF DIAL */ 01341000 * CALL DIALCHKS;/* DETERMINE IF A DIAL TRM */ 01342000 B @RC00820 0826 01343000 @RF00820 BAL @14,DIALCHKS 0826 01344000 * END; /* DID SCAN BECAUSE OF NON- TSO 01345000 * ONLY QUEUES AND GENRAL */ 01346000 * ELSE 0828 01347000 * ; /* POLL CLUSTER DON'T SCAN 0828 01348000 * PRIORITY QUEUES */ 01349000 @RF00812 DS 0H 0829 01350000 * END; /* PRIMED NON-GEN. POLL TERM */ 01351000 * ELSE 0830 01352000 * ; /* GP CU OR CTERM @YM04672 01353000 * FALL THROUGH TO PRIME */ 01354000 @RF00810 DS 0H 0831 01355000 * END; /* COMPLETED SEND PRIMING BECAUSE 01356000 * S. RES. WAS ACT */ 01357000 * ELSE /* SUPERIOR RES IS INACTIVE */ 01358000 * INTEXIT=ON; /* READY TO EXIT SET INDICATR */ 01359000 B @RC00808 0832 01360000 @RF00808 OI INTEXIT,B'10000000' 0832 01361000 * RFY 0833 01362000 * RPQCBPTR UNRSTD; 0833 01363000 @RC00808 DS 0H 0834 01364000 * RFY 0834 01365000 * RENTRY RSTD; 0834 01366000 * IF INTEXIT=OFF THEN /* EXECUTE ONLY IF IT IS NOT */ 01367000 TM INTEXIT,B'10000000' 0835 01368000 BNZ @RF00835 0835 01369000 * DO; /* TIME TO EXIT */ 01370000 * IF QCBPLCBN=OFF THEN /* IF PLCB IS NOT ASSIGNED */ 01371000 LR @14,IEDQQPTR 0837 01372000 SL @14,@CF00044 0837 01373000 TM QCBPLCBN(@14),B'10000000' 0837 01374000 BNZ @RF00837 0837 01375000 * IF QCBRCVRQ=OFF THEN /* HAS A PLCB BEEN REQUESTED */ 01376000 TM QCBRCVRQ(@14),B'00010000' 0838 01377000 BNZ @RF00838 0838 01378000 * IF(TRMTYPE=TRMCLUST&TRMGPACT=ON)|(TRMGPACT=OFF&TRMRSACT 01379000 * =ON) THEN /* CLUSTER ENTRY AND GPACTIVE OR 01380000 * @YM08386 01381000 * IS THIS RESOURCE ACTIVE? */ 01382000 CLI TRMTYPE(RTRM),X'40' 0839 01383000 BNE @GL00028 0839 01384000 TM TRMGPACT(RTRM),B'00001000' 0839 01385000 BO @RT00839 0839 01386000 @GL00028 TM TRMRSACT(RTRM),B'10000000' 0839 01387000 BNO @RF00839 0839 01388000 TM TRMGPACT(RTRM),B'00001000' 0839 01389000 BNZ @RF00839 0839 01390000 @RT00839 DS 0H 0840 01391000 * DO; /* GO AHEAD INITIATE PRIMING */ 01392000 * QCBRCVRQ=ON; /* REQUEST A PLCB */ 01393000 LR @14,IEDQQPTR 0841 01394000 AL @14,@CF02259 0841 01395000 OI QCBRCVRQ-4(@14),B'00010000' 0841 01396000 * RPARM=RQCB; /* SET PARAMETER */ 01397000 LR RPARM,RQCB 0842 01398000 * CALL IEDIAP; /* GET A PLCB */ 01399000 L @06,AVTSAVTP(,IEDQAPTR) 0843 01400000 L @15,SAVTPREQ(,@06) 0843 01401000 BALR @14,@15 0843 01402000 * IF RENTRY^=AVTFZERO THEN/* RECEIVED A PLCB */ 01403000 C RENTRY,AVTFZERO(,IEDQAPTR) 0844 01404000 BE @RF00844 0844 01405000 * CALL POSTR; /* POST PLCB TO ITSELF */ 01406000 BAL @14,POSTR 0845 01407000 * ELSE 0846 01408000 * ; /* NO QUEUED REQUEST */ 01409000 @RF00844 DS 0H 0847 01410000 * END; /* COMPLETED NECESSARY PRIMNG */ 01411000 * ELSE 0848 01412000 * ; /* RESOURCE DOESN'T REQ PLCB */ 01413000 @RF00839 DS 0H 0849 01414000 * ELSE 0849 01415000 * ; /* PLCB HAD BEEN REQUESTED */ 01416000 @RF00838 DS 0H 0850 01417000 * ELSE 0850 01418000 * ; /* PLCB WAS ASSIGNED GET OUT */ 01419000 @RF00837 DS 0H 0851 01420000 * IF TRMGPACT=ON&TRMTYPE^=TRMCLUST THEN/* GEN POLL @YM08386*/ 01421000 TM TRMGPACT(RTRM),B'00001000' 0851 01422000 BNO @RF00851 0851 01423000 CLI TRMTYPE(RTRM),X'40' 0851 01424000 BE @RF00851 0851 01425000 * TRMINPTP=ON; /* INDICATE INPUT PENDING */ 01426000 OI TRMINPTP(RTRM),B'01000000' 0852 01427000 * ELSE 0853 01428000 * ; /* DON'T SET GPCU OR SPEC POLL 0853 01429000 * @YM08386*/ 01430000 @RF00851 DS 0H 0854 01431000 * RFY 0854 01432000 * RENTRY UNRSTD; 0854 01433000 * END; /* FINISHED RECEIVE PRIMING */ 01434000 * END; /* BSC/START/STOP */ 01435000 * ELSE /* NOT BSC/START/STOP RES. */ 01436000 * IF TRMSESRQ=OFF THEN /* SNA DEVICES @XM05749*/ 01437000 B @RC00806 0857 01438000 @RF00806 TM TRMSESRQ(RTRM),B'00001000' 0857 01439000 BNZ @RF00857 0857 01440000 * CALL SNAPRIME; /* PRIME SNA LU'S @YM08047*/ 01441000 BAL @14,SNAPRIME 0858 01442000 * ELSE 0859 01443000 * ; /* COMPLETED PRIMING FOR SNA 0859 01444000 * @XM05749*/ 01445000 @RF00857 DS 0H 0860 01446000 * RFY 0860 01447000 * (RWORKREG, 0860 01448000 * IEDQQPTR) UNRSTD; /* RELEASE REGS @YM04696*/ 01449000 @RC00806 DS 0H 0861 01450000 * INTEXIT=OFF; /* REST INTERNALSUBRTNE FLAG */ 01451000 NI INTEXIT,B'01111111' 0861 01452000 * END PRIMER; /* END OF PRIME SUBROUTINE */ 01453000 @EL00014 DS 0H 0862 01454000 @EF00014 DS 0H 0862 01455000 @ER00014 L @14,@SA00014 0862 01456000 BR @14 0862 01457000 * 0863 01458000 * /*****************************************************************/ 01459000 * /* */ 01460000 * /* THIS ROUTINE CHECKS TO SEE IF ANY MESSAGES ARE QUEUED. OUTPUT-*/ 01461000 * /* QCBFFEFO=0 IF NO MSGS ON QUEUE, AND QCBFFEFO^=0 IF ANY MSGS */ 01462000 * /* ARE ON QUEUE. */ 01463000 * /* */ 01464000 * /*****************************************************************/ 01465000 * 0863 01466000 *DATASEND: 0863 01467000 * PROC OPTIONS(NOSAVE,NOSAVEAREA); 0863 01468000 DATASEND DS 0H 0864 01469000 * RFY 0864 01470000 * (RPQCBPTR, 0864 01471000 * IEDQPPTR, 0864 01472000 * IEDQQPTR, 0864 01473000 * RQCB) RSTD; 0864 01474000 * RPQCBPTR=IEDQQPTR+LENGTH(IEDQQCB)-LENGTH(IEDQPQCB);/* GET THE 0865 01475000 * FIRST PRIORITY QCB ADDRESS */ 01476000 LR RPQCBPTR,IEDQQPTR 0865 01477000 SL RPQCBPTR,@CF02234 0865 01478000 * RFY 0866 01479000 * IEDQPQCB BASED(RPQCBPTR); /* EST. ADDRERSSABILITY */ 01480000 * DO UNTIL(QCBFFEFO^=AVTFZERO|QCBPRIPQ=AVTEZERO);/* LOOP UNTIL MSG 01481000 * ON QUE OR REACHED THE END OF 01482000 * QUEUES */ 01483000 @DL00867 DS 0H 0868 01484000 * RPQCBPTR=RPQCBPTR+LENGTH(IEDQPQCB);/* POINT TO NEXT QUEUE */ 01485000 AL RPQCBPTR,@CF01560 0868 01486000 * END; /* LOOP UNTIL CONDITION IS T */ 01487000 @DE00867 SLR @10,@10 0869 01488000 ICM @10,7,QCBFFEFO(RPQCBPTR) 0869 01489000 C @10,AVTFZERO(,IEDQAPTR) 0869 01490000 BNE @DC00867 0869 01491000 CLI QCBPRIPQ(RPQCBPTR),X'00' 0869 01492000 BNE @DL00867 0869 01493000 @DC00867 DS 0H 0870 01494000 * RFY 0870 01495000 * (RPQCBPTR, 0870 01496000 * IEDQPPTR, 0870 01497000 * IEDQQPTR, 0870 01498000 * RQCB) UNRSTD; 0870 01499000 * END DATASEND; /* FOR SENDING DATA */ 01500000 @EL00015 DS 0H 0871 01501000 @EF00015 DS 0H 0871 01502000 @ER00015 BR @14 0871 01503000 * 0872 01504000 * /*****************************************************************/ 01505000 * /* */ 01506000 * /* THIS ROUTINE DOES PRIMING, IF REQUIRED, FOR SNA LOGICAL UNITS.*/ 01507000 * /* @YM08047*/ 01508000 * /* */ 01509000 * /*****************************************************************/ 01510000 * 0872 01511000 * RFY 0872 01512000 * (RPQCBPTR, 0872 01513000 * IEDQPPTR, 0872 01514000 * IEDQQPTR, 0872 01515000 * RQCB) RSTD; /* @YM08480*/ 01516000 * RFY 0873 01517000 * IEDQPQCB BASED(RPQCBPTR); /* @YM08047*/ 01518000 *SNAPRIME: 0874 01519000 * PROC OPTIONS(RETREG,SAVE(14)); /* @YM08047*/ 01520000 SNAPRIME ST @14,@SA00016 0874 01521000 * IF TRMAUTO=ON THEN /* AUTO BIND @YM08047*/ 01522000 TM TRMAUTO(RTRM),B'10000000' 0875 01523000 BNO @RF00875 0875 01524000 * DO; /* YES @YM08047*/ 01525000 * IF QCBSTPRI=QCBCLK THEN /* WAS CLOCK SPECIFIED @ZM46761*/ 01526000 CLI QCBSTPRI(IEDQQPTR),X'80' 0877 01527000 BNE @RF00877 0877 01528000 * CALL DELAYQUE; /* YES, CLOCK OVERRIDES AUT BIND 01529000 * @ZM46761*/ 01530000 BAL @14,DELAYQUE 0878 01531000 * ELSE /* AUTO BIND AND NO CLOCK 0879 01532000 * @ZM46761*/ 01533000 * DO; /* PRIME AUTO BIND LU @ZM46761*/ 01534000 B @RC00877 0879 01535000 @RF00877 DS 0H 0880 01536000 * IF QCBCORE=ON|QCBREUS=ON|QCBNREUS=ON THEN/* TSO ONLY Q 0880 01537000 * @YM08047*/ 01538000 TM QCBCORE(IEDQQPTR),B'01110000' 0880 01539000 BZ @RF00880 0880 01540000 * DO; /* NO @YM08047*/ 01541000 * CALL DATASEND; /* CHECK FOR MSG ON Q @YM08047*/ 01542000 BAL @14,DATASEND 0882 01543000 * IF QCBFFEFO^=0 THEN /* MSG ON Q @YM08047*/ 01544000 ICM @10,7,QCBFFEFO(RPQCBPTR) 0883 01545000 BZ @RF00883 0883 01546000 * QCBSNDRQ=ON; /* YES, REQUEST SEND SCHED TO BE 01547000 * PUT IN QCB @YM08047*/ 01548000 LR @10,IEDQQPTR 0884 01549000 AL @10,@CF02259 0884 01550000 OI QCBSNDRQ-4(@10),B'00100000' 0884 01551000 * END; /* @YM08047*/ 01552000 @RF00883 DS 0H 0886 01553000 */* @YM08047*/ 01554000 * 0886 01555000 * TRMSESRQ=ON; /* INDICATE SESSION HAS BEEN 0886 01556000 * REQUESTED @YM08047*/ 01557000 @RF00880 LA @03,TRMSESRQ(,RTRM) 0886 01558000 LR @15,@03 0886 01559000 LA @10,3 0886 01560000 NR @15,@10 0886 01561000 LCR @15,@15 0886 01562000 ALR @03,@15 0886 01563000 L @10,0(,@03) 0886 01564000 @GL00032 LR @04,@10 0886 01565000 O @04,@CB02264+3(@15) 0886 01566000 CS @10,@04,0(@03) 0886 01567000 BNE @GL00032 0886 01568000 * CALL POSTQCB; /* POST QCB TO LUS TO START 0887 01569000 * SESSION @YM08047*/ 01570000 BAL @14,POSTQCB 0887 01571000 * END; /* @YM08047*/ 01572000 * END; /* @YM08047*/ 01573000 * ELSE /* NOT AUTO BIND @YM08047*/ 01574000 * DO; /* @YM08047*/ 01575000 B @RC00875 0890 01576000 @RF00875 DS 0H 0891 01577000 * IF TRMLUIT=ON THEN /* ONLY LU ALLOWED TO START 0891 01578000 * SESSION @YM08047*/ 01579000 TM TRMLUIT(RTRM),B'01000000' 0891 01580000 BNO @RF00891 0891 01581000 * DO; /* YES @YM08047*/ 01582000 * IF QCBCORE=ON|QCBREUS=ON|QCBNREUS=ON THEN/* TSO ONLY Q 0893 01583000 * @YM08047*/ 01584000 TM QCBCORE(IEDQQPTR),B'01110000' 0893 01585000 BZ @RF00893 0893 01586000 * DO; /* NO @YM08047*/ 01587000 * CALL DATASEND; /* CHECK FOR MSG ON Q @YM08047*/ 01588000 BAL @14,DATASEND 0895 01589000 * IF QCBFFEFO^=0 THEN /* MSG ON Q @YM08047*/ 01590000 ICM @10,7,QCBFFEFO(RPQCBPTR) 0896 01591000 BZ @RF00896 0896 01592000 * QCBSNDRQ=ON; /* INDICATE SEND SCHED IS TO BE 01593000 * PUT IN STCB CHAIN WHEN PLCB IS 01594000 * ASSIGNED @YM08047*/ 01595000 LR @10,IEDQQPTR 0897 01596000 AL @10,@CF02259 0897 01597000 OI QCBSNDRQ-4(@10),B'00100000' 0897 01598000 * END; /* @YM08047*/ 01599000 * END; /* @YM08047*/ 01600000 * ELSE /* NOT LU INIT ONLY @YM08047*/ 01601000 * DO; /* @YM08047*/ 01602000 B @RC00891 0900 01603000 @RF00891 DS 0H 0901 01604000 * IF QCBCORE=ON|QCBREUS=ON|QCBNREUS=ON THEN/* TSO ONLY Q 0901 01605000 * @YM08047*/ 01606000 TM QCBCORE(IEDQQPTR),B'01110000' 0901 01607000 BZ @RF00901 0901 01608000 * DO; /* NO @YM08047*/ 01609000 * CALL DATASEND; /* CHECK FOR MSG ON Q @YM08047*/ 01610000 BAL @14,DATASEND 0903 01611000 * IF QCBFFEFO^=0&QCBSTPRI^=QCBCLK THEN/* DATA ON Q AND 01612000 * LU NOT CLOCK @XM05734*/ 01613000 ICM @10,7,QCBFFEFO(RPQCBPTR) 0904 01614000 BZ @RF00904 0904 01615000 CLI QCBSTPRI(IEDQQPTR),X'80' 0904 01616000 BE @RF00904 0904 01617000 * CALL REQSEND; /* YES, REQUEST SEND OPERATION 0905 01618000 * @YM08047*/ 01619000 BAL @14,REQSEND 0905 01620000 * ELSE /* NO MSG ON Q @YM08047*/ 01621000 * IF QCBSTPRI>=QCBCNTVL THEN/* CLOCK OR CINTVAL 0906 01622000 * @YM08047*/ 01623000 B @RC00904 0906 01624000 @RF00904 CLI QCBSTPRI(IEDQQPTR),X'70' 0906 01625000 BL @RF00906 0906 01626000 * CALL DELAYQUE; /* YES, PUT QCB ON TIME DELAY 0907 01627000 * @YM08047*/ 01628000 BAL @14,DELAYQUE 0907 01629000 * END; /* @YM08047*/ 01630000 * END; /* @YM08047*/ 01631000 * END; /* @YM08047*/ 01632000 * END SNAPRIME; /* @YM08047*/ 01633000 @EL00016 DS 0H 0911 01634000 @EF00016 DS 0H 0911 01635000 @ER00016 L @14,@SA00016 0911 01636000 BR @14 0911 01637000 * RFY 0912 01638000 * (RPQCBPTR, 0912 01639000 * IEDQQPTR, 0912 01640000 * IEDQPPTR, 0912 01641000 * RQCB) UNRSTD; /* @YM08047*/ 01642000 * 0913 01643000 * /*****************************************************************/ 01644000 * /* */ 01645000 * /* TO DETERMINE IF QCB IS ON TIME DELAY OR IF QCB NEEDS TO BE. */ 01646000 * /* THE TIME IS ADJUSTED BASED ON THE INTERVAL SPECIFIED,FOR */ 01647000 * /* EXAMPLE, IF TIME IS GREATER THAN 12 HOURS THEN THE TIME SHOULD*/ 01648000 * /* BE ADJUSTED. */ 01649000 * /* */ 01650000 * /*****************************************************************/ 01651000 * 0913 01652000 *TIMEDLAY: 0913 01653000 * PROC OPTIONS(RETREG,SAVE(14)); 0913 01654000 TIMEDLAY ST @14,@SA00017 0913 01655000 * RFY 0914 01656000 * (IEDQQPTR, 0914 01657000 * RQCB, 0914 01658000 * RWORKREG, 0914 01659000 * RTIMENOW) RSTD; 0914 01660000 * INTEXIT=ON; /* SET EXIT FLAG TO GET OUT AS 0915 01661000 * SOON AS POSSIBLE */ 01662000 OI INTEXIT,B'10000000' 0915 01663000 * IF QCBDELAY=OFF /* QCB ON TIME DELAY @OY14058*/ 01664000 * &(QCBSTPRI=QCBCLK /* AND CLOCK OR @OY14058*/ 01665000 * |(QCBSTPRI=QCBCNTVL&QCBINTVL>ZERO)) THEN/* CNTVL>0 @OY14058*/ 01666000 TM QCBDELAY(IEDQQPTR),B'00000010' 0916 01667000 BNZ @RF00916 0916 01668000 CLI QCBSTPRI(IEDQQPTR),X'80' 0916 01669000 BE @RT00916 0916 01670000 CLI QCBSTPRI(IEDQQPTR),X'70' 0916 01671000 BNE @RF00916 0916 01672000 CLC QCBINTVL(2,IEDQQPTR),@CH00621 0916 01673000 BNH @RF00916 0916 01674000 @RT00916 DS 0H 0917 01675000 * DO; /* NO, PUT QCB ON TIME DELAY */ 01676000 * RWORKREG=QCBINTVL; /* PICK UP INTERVAL TO BE USED TO 01677000 * CALCULATE TIME */ 01678000 LH RWORKREG,QCBINTVL(,IEDQQPTR) 0918 01679000 N RWORKREG,@CF02262 0918 01680000 * IF QCBSTPRI=QCBCLK THEN /* IF CLOCK IS SPECIFIED THEN */ 01681000 CLI QCBSTPRI(IEDQQPTR),X'80' 0919 01682000 BNE @RF00919 0919 01683000 * DO; /* ADJUST THE TIME IF NEEDED */ 01684000 * RWORKREG=RWORKREG*DOUBLE;/* DOUBLE THE TIME */ 01685000 ALR RWORKREG,RWORKREG 0921 01686000 * GEN(TIME BIN); 0922 01687000 TIME BIN 01688000 * RTIMENOW=RZERO/HUNDRED; /* SETUP TIME NOW */ 01689000 LR @05,RZERO 0923 01690000 SLR @04,@04 0923 01691000 D @04,@CF02044 0923 01692000 LR RTIMENOW,@05 0923 01693000 * IF RTIMENOW>=RWORKREG THEN/* IS TIME NOW GREATER THAN 0924 01694000 * CALLUP TIME */ 01695000 CR RTIMENOW,RWORKREG 0924 01696000 BL @RF00924 0924 01697000 * RWORKREG=RWORKREG+TWNTY4HR;/* ADD 1 DAY TO CALLUP TIME */ 01698000 AL RWORKREG,@CF02042 0925 01699000 * RWORKREG=RWORKREG-RTIMENOW;/* GET INTERVAL */ 01700000 @RF00924 SLR RWORKREG,RTIMENOW 0926 01701000 * END; /* ADJUST TIMER FOR CLOCK */ 01702000 * ELSE 0928 01703000 * ; /* INTERVAL SPECIFIED */ 01704000 @RF00919 DS 0H 0929 01705000 * IF RWORKREG>SECPR12H THEN /* IS INTERVAL >=4320 SECS? */ 01706000 L @06,@CF02040 0929 01707000 CR RWORKREG,@06 0929 01708000 BNH @RF00929 0929 01709000 * DO; /* YES, ADJUST THE TIME TO FIT IN 01710000 * A 12 HR PERIOD */ 01711000 * RWORKREG=RWORKREG-SECPR12H;/* ADJUST TO USE TIMER POP 0931 01712000 * BASED ON AN INTERVAL */ 01713000 SLR RWORKREG,@06 0931 01714000 * QCBTIME=ON; /* INDICATE CLOCK SPECIFIED 0932 01715000 * GREATER THAN 12 HOURS */ 01716000 OI QCBTIME(IEDQQPTR),B'00000001' 0932 01717000 * END; /* END OF CLOCK SPECIFIED GREATER 01718000 * THAN 12 HOURS */ 01719000 * ELSE 0934 01720000 * ; /* DO NOT CHANGE INTERVAL FOR 0934 01721000 * CLOCK SPECIFIED < = 12 HRS */ 01722000 @RF00929 DS 0H 0935 01723000 * QCBEOLDT=RWORKREG; /* STORE DELAY TIME */ 01724000 STH RWORKREG,QCBEOLDT(,IEDQQPTR) 0935 01725000 * QCBLKRLN=QCBLKRLN&&QCBLKRLN;/* INDICATE QCB OFFSET */ 01726000 XC QCBLKRLN(1,IEDQQPTR),QCBLKRLN(IEDQQPTR) 0936 01727000 * IF QCBSTCHN=ADDR(QCBSTVTO) THEN/* IS SEND SCHEDULER IN THE 0937 01728000 * QCB? */ 01729000 LA @06,QCBSTVTO(,IEDQQPTR) 0937 01730000 L @15,QCBSTCHN-1(,IEDQQPTR) 0937 01731000 LA @15,0(,@15) 0937 01732000 CR @06,@15 0937 01733000 BNE @RF00937 0937 01734000 * QCBSTCHN=QCBSLINK; /* REMOVE SEND SCHEDULER */ 01735000 MVC QCBSTCHN(3,IEDQQPTR),QCBSLINK(IEDQQPTR) 0938 01736000 * ELSE 0939 01737000 * ; /* SEND SCHEDULER WASN'T IN */ 01738000 @RF00937 DS 0H 0940 01739000 * QCBELCHN=RQCB; /* SET QCB ADDRESS @YM08084*/ 01740000 STCM RQCB,7,QCBELCHN(IEDQQPTR) 0940 01741000 * QCBPRI=PRIEDISP; /* SET POST PRIORITY @YM08084*/ 01742000 MVI QCBPRI(IEDQQPTR),X'E0' 0941 01743000 * RPARM=RQCB; /* SET PARAMETER TO HG */ 01744000 LR RPARM,RQCB 0942 01745000 * CALL IEDQHG; /* PUT QCB ON TIME DELAY */ 01746000 L @15,AVTHG01(,IEDQAPTR) 0943 01747000 BALR @14,@15 0943 01748000 * END; /* END OF PROCESSING FOR QCB NOT 01749000 * ON TIME DELAY */ 01750000 * ELSE 0945 01751000 * ; /* QCB ALREADY ON TIME DELAY */ 01752000 @RF00916 DS 0H 0946 01753000 * RFY 0946 01754000 * (IEDQQPTR, 0946 01755000 * RQCB, 0946 01756000 * RWORKREG, 0946 01757000 * RTIMENOW) UNRSTD; 0946 01758000 * END TIMEDLAY; /* COMPLETED TIMER SEARCH */ 01759000 @EL00017 DS 0H 0947 01760000 @EF00017 DS 0H 0947 01761000 @ER00017 L @14,@SA00017 0947 01762000 BR @14 0947 01763000 * 0948 01764000 * /*****************************************************************/ 01765000 * /* */ 01766000 * /* THIS SUBROUTINE DETERMINES THE TYPE OF DIAL TERMINAL AND BASED*/ 01767000 * /* ON HOW THE RESOURCE IS DEFINED PRIMES THE DEVICE IF POSSIBLE. */ 01768000 * /* */ 01769000 * /*****************************************************************/ 01770000 * 0948 01771000 *DIALCHKS: 0948 01772000 * PROC OPTIONS(RETREG,SAVE(14)); 0948 01773000 DIALCHKS ST @14,@SA00018 0948 01774000 * RFY 0949 01775000 * (RQCB, 0949 01776000 * IEDQQPTR) RSTD; 0949 01777000 * IF TRMDIAL=ON THEN /* DIAL TERMINAL? */ 01778000 TM TRMDIAL(RTRM),B'00001000' 0950 01779000 BNO @RF00950 0950 01780000 * DO; /* YES, CHK FOR INVTL-CLK */ 01781000 * IF QCBSTPRI>=QCBCNTVL THEN /* IS CLK OR INTVL SPECIFIED? */ 01782000 CLI QCBSTPRI(IEDQQPTR),X'70' 0952 01783000 BL @RF00952 0952 01784000 * CALL TIMEDLAY; /* DIAL AND INTVL-CLK SPEC. */ 01785000 BAL @14,TIMEDLAY 0953 01786000 * ELSE /* NO CLK OR INTVL CHK CTERM */ 01787000 * DO; /* PROCESS NON-CLK-INTVL */ 01788000 B @RC00952 0954 01789000 @RF00952 DS 0H 0955 01790000 * IF TRMTYPE^=TRMCTERM THEN/* DIAL NO CLK-INTVL-NO CTERM */ 01791000 CLI TRMTYPE(RTRM),X'48' 0955 01792000 BE @RF00955 0955 01793000 * INTEXIT=ON; /* SET EXIT FLAG TO GET OUT AS 0956 01794000 * SOON AS POSSIBLE */ 01795000 OI INTEXIT,B'10000000' 0956 01796000 * ELSE 0957 01797000 * ; /* CTERM ENTRY DO NOTHING NOW */ 01798000 @RF00955 DS 0H 0958 01799000 * END; /* COMPLETED NON CLK-INVTL */ 01800000 * END; /* END OF DIAL PRIMING */ 01801000 * ELSE 0960 01802000 * ; /* NON-DIAL FALL THROUGH AND 0960 01803000 * PRIMED */ 01804000 @RF00950 DS 0H 0961 01805000 * RFY 0961 01806000 * (IEDQQPTR, 0961 01807000 * RQCB) UNRSTD; 0961 01808000 * END DIALCHKS; /* COMPLETED PRIMING FOR DIAL */ 01809000 @EL00018 DS 0H 0962 01810000 @EF00018 DS 0H 0962 01811000 @ER00018 L @14,@SA00018 0962 01812000 BR @14 0962 01813000 * 0963 01814000 * /*****************************************************************/ 01815000 * /* */ 01816000 * /* THIS SUBROUTINE VERIFIES IF A QCB IS ON TIME DELAY OR IF IT */ 01817000 * /* NEEDS TO BE. IF THE QCB IS NOT ON TIME DELAY, THEN THE TIME ON*/ 01818000 * /* THE QUE IS DETERMINED BY THE CLOCK OR INTERVAL SPECIFIED AND */ 01819000 * /* THE TIME OF DAY. */ 01820000 * /* */ 01821000 * /*****************************************************************/ 01822000 * 0963 01823000 *DELAYQUE: 0963 01824000 * PROC OPTIONS(RETREG,SAVE); /* TIME DELAY PROC @YM05626*/ 01825000 DELAYQUE STM @14,@12,@SA00019 0963 01826000 * RFY 0964 01827000 * (IEDQQPTR, 0964 01828000 * RQCB, 0964 01829000 * RWORKREG, 0964 01830000 * RTIMENOW) RSTD; /* @OY14058*/ 01831000 * IF QCBDELAY=OFF /* QCB ON TIME DELAY @OY14058*/ 01832000 * &(QCBSTPRI=QCBCLK /* AND CLOCK OR @OY14058*/ 01833000 * |(QCBSTPRI=QCBCNTVL&QCBINTVL>ZERO)) THEN/* CNTVL>0 @OY14058*/ 01834000 TM QCBDELAY(IEDQQPTR),B'00000010' 0965 01835000 BNZ @RF00965 0965 01836000 CLI QCBSTPRI(IEDQQPTR),X'80' 0965 01837000 BE @RT00965 0965 01838000 CLI QCBSTPRI(IEDQQPTR),X'70' 0965 01839000 BNE @RF00965 0965 01840000 CLC QCBINTVL(2,IEDQQPTR),@CH00621 0965 01841000 BNH @RF00965 0965 01842000 @RT00965 DS 0H 0966 01843000 * DO; /* NO, PUT QCB ON TIME DELAY */ 01844000 * RWORKREG=QCBINTVL; /* PICK UP INTERVAL TO BE USED TO 01845000 * CALCULATE TIME */ 01846000 LH RWORKREG,QCBINTVL(,IEDQQPTR) 0967 01847000 N RWORKREG,@CF02262 0967 01848000 * IF QCBSTPRI=QCBCLK THEN /* IF CLOCK IS SPECIFIED THEN */ 01849000 CLI QCBSTPRI(IEDQQPTR),X'80' 0968 01850000 BNE @RF00968 0968 01851000 * DO; /* ADJUST THE TIME IF NEEDED */ 01852000 * RWORKREG=RWORKREG*DOUBLE;/* DOUBLE THE TIME */ 01853000 ALR RWORKREG,RWORKREG 0970 01854000 * GEN( TIME BIN); 0971 01855000 TIME BIN 01856000 * RTIMENOW=RZERO/HUNDRED; /* SETUP TIME NOW */ 01857000 LR @05,RZERO 0972 01858000 SLR @04,@04 0972 01859000 D @04,@CF02044 0972 01860000 LR RTIMENOW,@05 0972 01861000 * IF RTIMENOW>=RWORKREG THEN/* IS TIME NOW GREATER THAN 0973 01862000 * CALLUP TIME */ 01863000 CR RTIMENOW,RWORKREG 0973 01864000 BL @RF00973 0973 01865000 * RWORKREG=RWORKREG+TWNTY4HR;/* ADD 1 DAY TO CALLUP TIME */ 01866000 AL RWORKREG,@CF02042 0974 01867000 * RWORKREG=RWORKREG-RTIMENOW;/* GET THE INTERVAL */ 01868000 @RF00973 SLR RWORKREG,RTIMENOW 0975 01869000 * END; /* ADJUST TIMER FOR CLOCK */ 01870000 * ELSE 0977 01871000 * ; /* INTERVAL SPECIFIED */ 01872000 @RF00968 DS 0H 0978 01873000 * IF RWORKREG>=SECPR12H THEN /* IS INTERVAL >=4320 SECS? */ 01874000 L @06,@CF02040 0978 01875000 CR RWORKREG,@06 0978 01876000 BL @RF00978 0978 01877000 * DO; /* YES, ADJUST THE TIME TO FIT IN 01878000 * A 12 HR PERIOD */ 01879000 * RWORKREG=RWORKREG-SECPR12H;/* ADJUST TO USE TIMER POP 0980 01880000 * BASED ON AN INTERVAL */ 01881000 SLR RWORKREG,@06 0980 01882000 * QCBTIME=ON; /* INDICATE CLOCK SPECIFIED 0981 01883000 * GREATER THAN 12 HOURS */ 01884000 OI QCBTIME(IEDQQPTR),B'00000001' 0981 01885000 * END; /* END OF CLOCK SPECIFIED GREATER 01886000 * THAN 12 HOURS */ 01887000 * ELSE 0983 01888000 * ; /* DO NOT CHANGE INTERVAL FOR 0983 01889000 * CLOCK SPECIFIED < = 12 HRS */ 01890000 @RF00978 DS 0H 0984 01891000 * QCBEOLDT=RWORKREG; /* STORE DELAY TIME */ 01892000 STH RWORKREG,QCBEOLDT(,IEDQQPTR) 0984 01893000 * QCBLKRLN=QCBLKRLN&&QCBLKRLN;/* INDICATE QCB OFFSET */ 01894000 XC QCBLKRLN(1,IEDQQPTR),QCBLKRLN(IEDQQPTR) 0985 01895000 * IF QCBSTCHN=ADDR(QCBSTVTO) THEN/* IS SEND SCHEDULER IN THE 0986 01896000 * QCB? */ 01897000 LA @06,QCBSTVTO(,IEDQQPTR) 0986 01898000 L @15,QCBSTCHN-1(,IEDQQPTR) 0986 01899000 LA @15,0(,@15) 0986 01900000 CR @06,@15 0986 01901000 BNE @RF00986 0986 01902000 * QCBSTCHN=QCBSLINK; /* REMOVE SEND SCHEDULER */ 01903000 MVC QCBSTCHN(3,IEDQQPTR),QCBSLINK(IEDQQPTR) 0987 01904000 * ELSE 0988 01905000 * ; /* SEND SCHEDULER WASN'T IN */ 01906000 @RF00986 DS 0H 0989 01907000 * QCBELCHN=RQCB; /* SET ELEMENT AS ITSELF @YM08081*/ 01908000 STCM RQCB,7,QCBELCHN(IEDQQPTR) 0989 01909000 * QCBPRI=PRIEDISP; /* SET POST PRIORITY @YM08084*/ 01910000 MVI QCBPRI(IEDQQPTR),X'E0' 0990 01911000 * RPARM=RQCB; /* SET PARAMETER TO HG */ 01912000 LR RPARM,RQCB 0991 01913000 * CALL IEDQHG; /* PUT QCB ON TIME DELAY */ 01914000 L @15,AVTHG01(,IEDQAPTR) 0992 01915000 BALR @14,@15 0992 01916000 * END; /* END OF PROCESSING FOR QCB NOT 01917000 * ON TIME DELAY */ 01918000 * ELSE 0994 01919000 * ; /* QCB ALREADY ON TIME DELAY */ 01920000 @RF00965 DS 0H 0995 01921000 * RFY 0995 01922000 * (IEDQQPTR, 0995 01923000 * RQCB, 0995 01924000 * RWORKREG, 0995 01925000 * RTIMENOW) UNRSTD; 0995 01926000 * END DELAYQUE; /* COMPLETED TIMER SEARCH */ 01927000 @EL00019 DS 0H 0996 01928000 @EF00019 DS 0H 0996 01929000 @ER00019 LM @14,@12,@SA00019 0996 01930000 BR @14 0996 01931000 * 0997 01932000 * /*****************************************************************/ 01933000 * /* */ 01934000 * /* POST ANY ELEMENT. */ 01935000 * /* */ 01936000 * /*****************************************************************/ 01937000 * 0997 01938000 *POSTELEM: 0997 01939000 * PROC OPTIONS(RETREG,SAVE(3,7,14)); 0997 01940000 POSTELEM ST @14,@SA00020 0997 01941000 ST @03,@SA00020+4 0997 01942000 ST @07,@SA00020+8 0997 01943000 * CALL DSPPOSTR; /* POST ONE ELEMENT */ 01944000 LA @15,DSPPOSTR(,RDISP) 0998 01945000 BALR @14,@15 0998 01946000 * END POSTELEM; /* POSTED ONE ELEMENT */ 01947000 @EL00020 DS 0H 0999 01948000 @EF00020 DS 0H 0999 01949000 @ER00020 L @14,@SA00020 0999 01950000 L @03,@SA00020+4 0999 01951000 L @07,@SA00020+8 0999 01952000 BR @14 0999 01953000 * 1000 01954000 * /*****************************************************************/ 01955000 * /* */ 01956000 * /* POST QCB TO REQUEST A SESSION TO BE STARTED FOR THIS LU */ 01957000 * /* */ 01958000 * /*****************************************************************/ 01959000 * 1000 01960000 *POSTQCB: 1000 01961000 * PROC OPTIONS(RETREG,SAVE(3,7,14)); 1000 01962000 POSTQCB ST @14,@SA00021 1000 01963000 ST @03,@SA00021+4 1000 01964000 ST @07,@SA00021+8 1000 01965000 * RFY 1001 01966000 * (RQCB, 1001 01967000 * IEDQQPTR) RSTD; 1001 01968000 * IF QCBDELAY=ON THEN /* QCB ON TIME DELAY Q @YM08081*/ 01969000 TM QCBDELAY(IEDQQPTR),B'00000010' 1002 01970000 BNO @RF01002 1002 01971000 * DO; /* YES @YM08081*/ 01972000 * RPARM=RQCB; /* QCB ADDRESS @YM08081*/ 01973000 LR RPARM,RQCB 1004 01974000 * CALL IEDQHG02; /* REMOVE QCB FROM TIME DELAY Q 01975000 * @YM08081*/ 01976000 L @15,AVTHG02(,IEDQAPTR) 1005 01977000 BALR @14,@15 1005 01978000 * QCBSLINK=QCBSTCHN; /* RESTORE LINK POINTER @YM08084*/ 01979000 MVC QCBSLINK(3,IEDQQPTR),QCBSTCHN(IEDQQPTR) 1006 01980000 * QCBSTCHN=ADDR(QCBSTVTO); /* PUT SEND SCHED BACK IN QCB 1007 01981000 * @YM08081*/ 01982000 LA @10,QCBSTVTO(,IEDQQPTR) 1007 01983000 STCM @10,7,QCBSTCHN(IEDQQPTR) 1007 01984000 * END; /* @YM08081*/ 01985000 * QCBELCHN=ADDR(SAVTLUSQ); /* SET UP LUS QCB ADDR */ 01986000 @RF01002 L @10,AVTSAVTP(,IEDQAPTR) 1009 01987000 LA @10,SAVTLUSQ(,@10) 1009 01988000 STCM @10,7,QCBELCHN(IEDQQPTR) 1009 01989000 * QCBPRI=PRILUSQB; /* SETUP PRIORITY FOR POST */ 01990000 MVI QCBPRI(IEDQQPTR),X'E2' 1010 01991000 * RPARM=RQCB; /* SETUP THE ELEMENT TO POST */ 01992000 LR RPARM,RQCB 1011 01993000 * CALL DSPPOSTR; /* POST ONE ELEMENT AND RETRN */ 01994000 LA @15,DSPPOSTR(,RDISP) 1012 01995000 BALR @14,@15 1012 01996000 * RFY 1013 01997000 * (RQCB, 1013 01998000 * IEDQQPTR) UNRSTD; 1013 01999000 * END POSTQCB; /* END POST QCB TO LUS */ 02000000 @EL00021 DS 0H 1014 02001000 @EF00021 DS 0H 1014 02002000 @ER00021 L @14,@SA00021 1014 02003000 L @03,@SA00021+4 1014 02004000 L @07,@SA00021+8 1014 02005000 BR @14 1014 02006000 * 1015 02007000 * /*****************************************************************/ 02008000 * /* */ 02009000 * /* POST BUFFER BACK TO OPERATOR CONTROL TO INDICATE REQUEST */ 02010000 * /* SERVICED */ 02011000 * /* */ 02012000 * /*****************************************************************/ 02013000 * 1015 02014000 *POSTOPCB: 1015 02015000 * PROC OPTIONS(RETREG,SAVE(3,7,14)); 1015 02016000 POSTOPCB ST @14,@SA00022 1015 02017000 ST @03,@SA00022+4 1015 02018000 ST @07,@SA00022+8 1015 02019000 * RNSLBFR->OPREPRI=NSLPRIBK; /* EST. THE CALLER'S PRI */ 02020000 MVC OPREPRI(1,RNSLBFR),NSLPRIBK(IEDNSLP) 1016 02021000 * RNSLBFR->OPREFLG1=NSLFLGBK; /* EST. THE CALLER'S FLAG */ 02022000 MVC OPREFLG1(1,RNSLBFR),NSLFLGBK(IEDNSLP) 1017 02023000 * RNSLBFR->OPREQCB=ADDR(AVTOPCOB);/* OPCTL QCB */ 02024000 LA @10,AVTOPCOB(,IEDQAPTR) 1018 02025000 STCM @10,7,OPREQCB(RNSLBFR) 1018 02026000 * RPARM=RNSLBFR; /* SETUP TO POST @YM03733*/ 02027000 LR RPARM,RNSLBFR 1019 02028000 * CALL DSPPOSTR; /* POST ONE ELEMENT AND RETRN */ 02029000 LA @15,DSPPOSTR(,RDISP) 1020 02030000 BALR @14,@15 1020 02031000 * END POSTOPCB; /* END POST BFR TO OPCTL */ 02032000 @EL00022 DS 0H 1021 02033000 @EF00022 DS 0H 1021 02034000 @ER00022 L @14,@SA00022 1021 02035000 L @03,@SA00022+4 1021 02036000 L @07,@SA00022+8 1021 02037000 BR @14 1021 02038000 * 1022 02039000 * /*****************************************************************/ 02040000 * /* */ 02041000 * /* POST PLCB TO ITSELF */ 02042000 * /* */ 02043000 * /*****************************************************************/ 02044000 * 1022 02045000 *POSTR: 1022 02046000 * PROC OPTIONS(RETREG,SAVE(3,7,14)); 1022 02047000 POSTR ST @14,@SA00023 1022 02048000 ST @03,@SA00023+4 1022 02049000 ST @07,@SA00023+8 1022 02050000 * RFY 1023 02051000 * RENTRY RSTD; 1023 02052000 * RPARM=RENTRY; /* EST. ADDRESSABILTITY */ 02053000 LR RPARM,RENTRY 1024 02054000 * RPARM->LCBPRI=PRILNFRE; /* SETUP THE PRIORITY TO POST THE 02055000 * PLCB TO ITSELF */ 02056000 MVI LCBPRI(RPARM),X'E0' 1025 02057000 * RPARM->LCBQCBA=RPARM; /* SETUP QCB TO POST PLCB */ 02058000 STCM RPARM,7,LCBQCBA(RPARM) 1026 02059000 * CALL DSPPOSTR; /* POST ONE ELEMENT AND RETRN */ 02060000 LA @15,DSPPOSTR(,RDISP) 1027 02061000 BALR @14,@15 1027 02062000 * RFY 1028 02063000 * RENTRY UNRSTD; 1028 02064000 * END POSTR; /* POSTING PLCB TO ITSELF */ 02065000 @EL00023 DS 0H 1029 02066000 @EF00023 DS 0H 1029 02067000 @ER00023 L @14,@SA00023 1029 02068000 L @03,@SA00023+4 1029 02069000 L @07,@SA00023+8 1029 02070000 BR @14 1029 02071000 * 1030 02072000 * /*****************************************************************/ 02073000 * /* */ 02074000 * /* THIS SUBROUTINE BUILD AN ERB TO POST TO IEDQGA TO REQUEST A */ 02075000 * /* BUFFER TO BUILD A RESET TO STOP I/O. */ 02076000 * /* */ 02077000 * /*****************************************************************/ 02078000 * 1030 02079000 *GETBUF: 1030 02080000 * PROC OPTIONS(RETREG,SAVE(14)); 1030 02081000 GETBUF ST @14,@SA00024 1030 02082000 * NSLERB=NSLERB&&NSLERB; /* CLEAR ERB FIELDS */ 02083000 XC NSLERB(14,IEDNSLP),NSLERB(IEDNSLP) 1031 02084000 * NSLMPPI=ON; /* INDICATE TO POST THE ERB BACK 02085000 * HERE, QCB @ AND PRI IS ALREADY 02086000 * SET */ 02087000 OI NSLMPPI(IEDNSLP),B'00000010' 1032 02088000 * NSLUNCNT=ONEBUFFR; /* REUESTING ONE BUFFER */ 02089000 MVC NSLUNCNT(2,IEDNSLP),@CH02037 1033 02090000 * NSLERQCB=ADDR(AVTBFREB); /* GET IEDQGA QCB ADDRESS */ 02091000 LA @10,AVTBFREB(,IEDQAPTR) 1034 02092000 ST @10,NSLERQCB(,IEDNSLP) 1034 02093000 * NSLERBPR=PRIACTIV; /* SETUP THE PRIORITY */ 02094000 MVI NSLERBPR(IEDNSLP),X'E4' 1035 02095000 * RPARM=ADDR(NSLERB); /* SETUP ADDRESS OF ELEMENT TO BE 02096000 * POSTED */ 02097000 LA RPARM,NSLERB(,IEDNSLP) 1036 02098000 * CALL POSTELEM; /* POST THE ERB */ 02099000 BAL @14,POSTELEM 1037 02100000 * END GETBUF; /* POSTED THE REQUEST CON'T */ 02101000 @EL00024 DS 0H 1038 02102000 @EF00024 DS 0H 1038 02103000 @ER00024 L @14,@SA00024 1038 02104000 BR @14 1038 02105000 * 1039 02106000 * /*****************************************************************/ 02107000 * /* */ 02108000 * /* THIS SUBROUTINE FREES BUFFERS WHEN A REQUEST HAS BEEN */ 02109000 * /* FULFILLED. BOTH THE BUFFER IN THE ERB CHAIN OR THE REQUEST */ 02110000 * /* BUFFER CAN BE FREED. A BUFFER IS FREED ONE AT A TIME. */ 02111000 * /* */ 02112000 * /*****************************************************************/ 02113000 * 1039 02114000 *FREEBUF: 1039 02115000 * PROC OPTIONS(RETREG,SAVE(14)); 1039 02116000 FREEBUF ST @14,@SA00025 1039 02117000 * IF NSLBUFFR^=AVTFZERO THEN /* BUFFER ADDRESS IN ERB CHN */ 02118000 L @10,NSLBUFFR-1(,IEDNSLP) 1040 02119000 LA @10,0(,@10) 1040 02120000 C @10,AVTFZERO(,IEDQAPTR) 1040 02121000 BE @RF01040 1040 02122000 * DO; /* YES */ 02123000 * RPARM=NSLBUFFR; /* SETUP THE BFR TO BE FREED */ 02124000 LR RPARM,@10 1042 02125000 * NSLBUFFR=''B; /* CLEAR TO KEEP FROM FREEING THE 02126000 * SAME BUFFER TWICE */ 02127000 SLR @10,@10 1043 02128000 STCM @10,7,NSLBUFFR(IEDNSLP) 1043 02129000 * END; /* FREE THE EXTRA BUFFER FRST */ 02130000 * ELSE /* GET THE ADDR OF REQ BFR */ 02131000 * RPARM=RNSLBFR; /* EST. INTERFACE PARAMETER */ 02132000 B @RC01040 1045 02133000 @RF01040 LR RPARM,RNSLBFR 1045 02134000 * RPARM->OPREQCB=ADDR(AVTBFRTB); /* GET IEDQGB QCB ADDRESS */ 02135000 @RC01040 LA @10,AVTBFRTB(,IEDQAPTR) 1046 02136000 STCM @10,7,OPREQCB(RPARM) 1046 02137000 * RPARM->OPREPRI=PRIBFRTB; /* SETUP THE PRIORITY */ 02138000 MVI OPREPRI(RPARM),X'E0' 1047 02139000 * RPARM->OPRETIC=INVLDTIC; /* INDICATE ONLY BUFFER BEING 1048 02140000 * FREED */ 02141000 MVC OPRETIC(4,RPARM),@CF01344 1048 02142000 * RPARM->OPREFLG1=ONE; /* INDICATE ONE UNIT BUFFER */ 02143000 MVI OPREFLG1(RPARM),X'01' 1049 02144000 * CALL POSTELEM; /* POST THE REQUEST AND RETRN */ 02145000 BAL @14,POSTELEM 1050 02146000 * END FREEBUF; /* FINISH THE REQ FREE BFR */ 02147000 @EL00025 DS 0H 1051 02148000 @EF00025 DS 0H 1051 02149000 @ER00025 L @14,@SA00025 1051 02150000 BR @14 1051 02151000 * 1052 02152000 * /*****************************************************************/ 02153000 * /* */ 02154000 * /* BRANCH TO LCBSCAN TO REQUEST A SEND OPERATION TO BE STARTED */ 02155000 * /* */ 02156000 * /*****************************************************************/ 02157000 * 1052 02158000 *REQSEND: 1052 02159000 * PROC OPTIONS(RETREG,NOSAVE,NOSAVEAREA);/* @YM07746*/ 02160000 REQSEND DS 0H 1053 02161000 * STM(RZERO,RENTRY,SAVE3); /* SAVE REGS IN AVTSAVE3 @YM07746*/ 02162000 STM RZERO,RENTRY,SAVE3(IEDQAPTR) 1053 02163000 * CALL LCBSCAN; /* REQUEST A SEND OPERATION */ 02164000 L @10,AVTSEND(,IEDQAPTR) 1054 02165000 BCTR @10,0 1054 02166000 BCTR @10,0 1054 02167000 LH @15,SSCHINDX(,@10) 1054 02168000 ALR @15,@10 1054 02169000 BALR @14,@15 1054 02170000 * LM(RZERO,RENTRY,SAVE3); /* RESTORE REGS @YM07746*/ 02171000 LM RZERO,RENTRY,SAVE3(IEDQAPTR) 1055 02172000 * END REQSEND; /* TO BE STARTED FOR THIS RES. */ 02173000 @EL00026 DS 0H 1056 02174000 @EF00026 DS 0H 1056 02175000 @ER00026 BR @14 1056 02176000 * 1057 02177000 * /*****************************************************************/ 02178000 * /* */ 02179000 * /* THIS SUBROUTINE PROCESSES A STOPLINE REQUEST FROM OPERATOR */ 02180000 * /* CONTROL TO QUIESE ALL RESOURCES ATTACHED TO A 3705 LINE. */ 02181000 * /* */ 02182000 * /*****************************************************************/ 02183000 * 1057 02184000 *STOPLINE: 1057 02185000 * PROC OPTIONS(RETREG,SAVE(14)); 1057 02186000 STOPLINE ST @14,@SA00027 1057 02187000 * IF NSLNGPSL=ON THEN /* BUFFER RETURNING FOR STOP LINE 02188000 * REQUEST */ 02189000 TM NSLNGPSL(IEDNSLP),B'00100000' 1058 02190000 BNO @RF01058 1058 02191000 * DO; /* RE-INITIALIZE THE TRM @ */ 02192000 * RTRM=NSLTTEPT; /* GET LINE PTR @YM09060*/ 02193000 L RTRM,NSLTTEPT(,IEDNSLP) 1060 02194000 * RTRM=RTRM-LENGTH(IEDNTRM); /* BACKUP TO PREFIX @YM09060*/ 02195000 SL RTRM,@CF01178 1061 02196000 * CALL GETNCP; /* GET NCP PTR @YM09060*/ 02197000 BAL @14,GETNCP 1062 02198000 * NCPPTR=RTRM; /* SAVE NCP PTR @YM09060*/ 02199000 STCM RTRM,7,NCPPTR 1063 02200000 * RTRM=NSLCTTRM; /* GET THE CURRENT TRM ENTRY */ 02201000 L RTRM,NSLCTTRM-1(,IEDNSLP) 1064 02202000 LA RTRM,0(,RTRM) 1064 02203000 * NSLNGPSL=OFF; /* RESET BUFFER RETUN SWITCH */ 02204000 NI NSLNGPSL(IEDNSLP),B'11011111' 1065 02205000 * END; /* RE-INITIALIZATION -- DONE */ 02206000 * ELSE /* INITIAL ENTRY */ 02207000 * DO; /* YES,FALL THROUGH */ 02208000 B @RC01058 1067 02209000 @RF01058 DS 0H 1068 02210000 * RTRM=NSLTTEPT; /* SET UP INPUT LINE ADDR */ 02211000 L RTRM,NSLTTEPT(,IEDNSLP) 1068 02212000 * RTRM=RTRM-LENGTH(IEDNTRM); /* BACKUP TO PREFIX */ 02213000 SL RTRM,@CF01178 1069 02214000 * LINEPTR=RTRM; /* SAVE LINE PTR @YM09060*/ 02215000 STCM RTRM,7,LINEPTR 1070 02216000 * CALL GETNCP; /* GET NCP PTR @YM09060*/ 02217000 BAL @14,GETNCP 1071 02218000 * NCPPTR=RTRM; /* SAVE NCP PTR @YM09060*/ 02219000 STCM RTRM,7,NCPPTR 1072 02220000 * RTRM=LINEPTR; /* RESTORE LINE PTR @YM09060*/ 02221000 L RTRM,LINEPTR-1 1073 02222000 LA RTRM,0(,RTRM) 1073 02223000 * CALL VERIFY; /* SET THE BIT REPRESENTS STOP */ 02224000 BAL @14,VERIFY 1074 02225000 * IF TRMSUBST^=AVTFZERO THEN /* ANY SUBSTRUCURES */ 02226000 LH @10,TRMSUBST(,RTRM) 1075 02227000 N @10,@CF02262 1075 02228000 C @10,AVTFZERO(,IEDQAPTR) 1075 02229000 BE @RF01075 1075 02230000 * DO; /* PERFORM THE INITIAL BRNGUP */ 02231000 * IF TRMDIAL=ON&TRMUTERM^=ZERO&TRMSUBST^=TRMUTERM THEN/* 1077 02232000 * DIAL AND LOGICAL TERM 1077 02233000 * CONNECTED? @YM08530*/ 02234000 TM TRMDIAL(RTRM),B'00001000' 1077 02235000 BNO @RF01077 1077 02236000 LH @10,TRMUTERM(,RTRM) 1077 02237000 N @10,@CF02262 1077 02238000 LTR @10,@10 1077 02239000 BZ @RF01077 1077 02240000 CLC TRMSUBST(2,RTRM),TRMUTERM(RTRM) 1077 02241000 BE @RF01077 1077 02242000 * DO; /* YES @YM05733*/ 02243000 * NSLTTCIN=TRMUTERM; /* KILL THE CTERM 1ST @YM05733*/ 02244000 LH @10,TRMUTERM(,RTRM) 1079 02245000 N @10,@CF02262 1079 02246000 STH @10,NSLTTCIN(,IEDNSLP) 1079 02247000 * NSLDRDRV=ON; /* SIGNAL TO STOP THE LOGICAL 1080 02248000 * TERMINAL NEXT @YM05733*/ 02249000 OI NSLDRDRV(IEDNSLP),B'00001000' 1080 02250000 * END; /* READY TO STOP CTERM@YM05733 */ 02251000 * ELSE /* OTHERWISE @YM05733*/ 02252000 * NSLTTCIN=TRMSUBST; /* SAVE CURRENT TNT INDEX */ 02253000 B @RC01077 1082 02254000 @RF01077 LH @10,TRMSUBST(,RTRM) 1082 02255000 N @10,@CF02262 1082 02256000 STH @10,NSLTTCIN(,IEDNSLP) 1082 02257000 * RPARM=NSLTTCIN; /* SETUP INTERFACE TO GETTRM */ 02258000 @RC01077 LH RPARM,NSLTTCIN(,IEDNSLP) 1083 02259000 N RPARM,@CF02262 1083 02260000 * CALL GETTRM; /* GET TERMINAL ENTRY ADDRESS */ 02261000 BAL @14,GETTRM 1084 02262000 * NSLCTTRM=RTRM; /* SAVE TERMINAL ADDRESS */ 02263000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 1085 02264000 * END; /* COMPLETED INITIALIZATION */ 02265000 * ELSE /* NO SUBSTRUCURES */ 02266000 * EXITFLAG=ON; /* SET EXIT INDICATORS */ 02267000 B @RC01075 1087 02268000 @RF01075 OI EXITFLAG,B'00010000' 1087 02269000 * END; /* FINISHED INITIAL BRINGUP */ 02270000 @RC01075 DS 0H 1089 02271000 * IF NSLSDIAL=ON THEN /* DIAL RESUME ? */ 02272000 @RC01058 TM NSLSDIAL(IEDNSLP),B'00010000' 1089 02273000 BNO @RF01089 1089 02274000 * DO; /* YES PROCESS REDRIVE */ 02275000 * CALL STOPDIAL; /* PICKUP THE LAST DIAL RES */ 02276000 BAL @14,STOPDIAL 1091 02277000 * IF NSLSDIAL=ON THEN /* DIAL REDRIVE? @YM05736*/ 02278000 TM NSLSDIAL(IEDNSLP),B'00010000' 1092 02279000 BNO @RF01092 1092 02280000 * DO; /* YES @YM05736*/ 02281000 * CALL GETBUF; /* GET A BUFFER @YM05736*/ 02282000 BAL @14,GETBUF 1094 02283000 * NSLNGPSL=ON; /* STOPLINE AND DIAL @YM05736*/ 02284000 OI NSLNGPSL(IEDNSLP),B'00100000' 1095 02285000 * END; /* SETUP TO REDRIVE @YM05736*/ 02286000 * ELSE /* NOT DIAL DO NO MORE */ 02287000 * DO; /* READY TO EXIT DETERMINE HOW */ 02288000 B @RC01092 1097 02289000 @RF01092 DS 0H 1098 02290000 * IF NSLBUFFR^=AVTFZERO THEN/* BUFFER IN THE ERB CHAIN? */ 02291000 L @10,NSLBUFFR-1(,IEDNSLP) 1098 02292000 LA @10,0(,@10) 1098 02293000 C @10,AVTFZERO(,IEDQAPTR) 1098 02294000 BE @RF01098 1098 02295000 * CALL FREEBUF; /* YES FREE IT */ 02296000 BAL @14,FREEBUF 1099 02297000 * ELSE 1100 02298000 * ; /* FALL THROUGH NO EXTRA BUFS */ 02299000 @RF01098 DS 0H 1101 02300000 * IF NSLPLCBR=ON THEN /* WILL A PLCB RETURN TO OPCTL */ 02301000 TM NSLPLCBR(IEDNSLP),B'10000000' 1101 02302000 BNO @RF01101 1101 02303000 * CALL FREEBUF; /* YES FREE THE INPUT BUFFER */ 02304000 BAL @14,FREEBUF 1102 02305000 * ELSE /* NO PLCB TO RETURN SO POST */ 02306000 * CALL POSTOPCB; /* THIS BUFFER TO LET OPCTL KNOW 02307000 * ALL IS DONE */ 02308000 B @RC01101 1103 02309000 @RF01101 BAL @14,POSTOPCB 1103 02310000 * END; /* FREED BUFFERS IF NECESSARY SO 02311000 * EXIT */ 02312000 * END; /* DONE WITH ALL STOPS */ 02313000 * ELSE /* NO DIAL RESUME OK TO */ 02314000 * DO; /* LOOP THROUGH THE HEIRARCHY */ 02315000 B @RC01089 1106 02316000 @RF01089 DS 0H 1107 02317000 * DO WHILE(NSLBUFFR^=AVTFZERO&EXITFLAG=OFF); 1107 02318000 B @DE01107 1107 02319000 @DL01107 DS 0H 1108 02320000 * IF TRMTYPE=TRMCTERM|TRMDIAL=OFF THEN/* CTERM OR 1108 02321000 * N.DIA@YM06016 */ 02322000 CLI TRMTYPE(RTRM),X'48' 1108 02323000 BE @RT01108 1108 02324000 TM TRMDIAL(RTRM),B'00001000' 1108 02325000 BNZ @RF01108 1108 02326000 @RT01108 DS 0H 1109 02327000 * TRMSPACT=OFF; /* RESET ACTIVE SUPERIOR RESOU */ 02328000 NI TRMSPACT(RTRM),B'11101111' 1109 02329000 * ELSE 1110 02330000 * ; /* DIAL NONCTERM @YM06016*/ 02331000 @RF01108 DS 0H 1111 02332000 * IF NSLGPTSP=ON THEN /* STOPPING A GENERAL POLL TRM */ 02333000 TM NSLGPTSP(IEDNSLP),B'01000000' 1111 02334000 BNO @RF01111 1111 02335000 * DO; /* YES */ 02336000 * NSLGPTSP=OFF; /* RESET THE RESUME FLAG */ 02337000 NI NSLGPTSP(IEDNSLP),B'10111111' 1113 02338000 * CALL STPLNEGP; /* STOP IF POSSIBLE */ 02339000 BAL @14,STPLNEGP 1114 02340000 * END; /* READY TO REDRIVE */ 02341000 * ELSE /* FIRST TIME THROUGH */ 02342000 * IF TRMTYPE=TRMCLUST THEN/* CONTROL UNIT */ 02343000 B @RC01111 1116 02344000 @RF01111 CLI TRMTYPE(RTRM),X'40' 1116 02345000 BNE @RF01116 1116 02346000 * DO; /* YES, FIRST STOP THE CU */ 02347000 * IF TRMGPACT=ON THEN /* GENERAL POLLING? @YM05730*/ 02348000 TM TRMGPACT(RTRM),B'00001000' 1118 02349000 BNO @RF01118 1118 02350000 * DO; /* YES @YM05730*/ 02351000 * TRMGPACT=OFF; /* INDICATE NO G.P. @YM05730*/ 02352000 LA @15,TRMGPACT(,RTRM) 1120 02353000 LR @14,@15 1120 02354000 LA @10,3 1120 02355000 NR @14,@10 1120 02356000 LCR @14,@14 1120 02357000 ALR @15,@14 1120 02358000 L @10,0(,@15) 1120 02359000 @GL00043 LR @03,@10 1120 02360000 N @03,@CB02272+3(@14) 1120 02361000 CS @10,@03,0(@15) 1120 02362000 BNE @GL00043 1120 02363000 * IF NSLREQTY=NSLSTOPL&/* STOPLINE,C @YM09060*/ 02364000 * (AVTQUCKN=OFF&NCPPTR->TRMNCPCL=OFF) THEN 1121 02365000 CLI NSLREQTY(IEDNSLP),X'02' 1121 02366000 BNE @RF01121 1121 02367000 TM AVTQUCKN(IEDQAPTR),B'00000010' 1121 02368000 BNZ @RF01121 1121 02369000 L @10,NCPPTR-1 1121 02370000 TM TRMNCPCL(@10),B'01000000' 1121 02371000 BNZ @RF01121 1121 02372000 * DO; /* YES @YM08526*/ 02373000 * CALL CHKTSO;/* CHECK FOR TSO @YM08526*/ 02374000 BAL @14,CHKTSO 1123 02375000 * IF RENTRY=AVTFZERO THEN/* NOT IN TSO SESSION 02376000 * @YM08526*/ 02377000 C RENTRY,AVTFZERO(,IEDQAPTR) 1124 02378000 BNE @RF01124 1124 02379000 * CALL STPTERM;/* STOPGP POLLING */ 02380000 BAL @14,STPTERM 1125 02381000 * ELSE 1126 02382000 * ; /* DON'T SEND RESET @YM08526*/ 02383000 @RF01124 DS 0H 1127 02384000 * END; /* ALL OTHER STOPLINE @YM08526*/ 02385000 * ELSE /* OK TRY TO SEND REST@YM08526 */ 02386000 * CALL STPTERM; /* STOPGP POLLING @YM08526*/ 02387000 B @RC01121 1128 02388000 @RF01121 BAL @14,STPTERM 1128 02389000 * END; /* STOPPED THE CU @YM05730*/ 02390000 * ELSE 1130 02391000 * ; /* NOT G.P. DO NOTHING TO THE 1130 02392000 * CONTROL UNIT @YM05730*/ 02393000 @RF01118 DS 0H 1131 02394000 * IF TRMSUBST^=AVTFZERO THEN/* SUBSTRUCTURES? */ 02395000 @RC01118 LH @10,TRMSUBST(,RTRM) 1131 02396000 N @10,@CF02262 1131 02397000 C @10,AVTFZERO(,IEDQAPTR) 1131 02398000 BE @RF01131 1131 02399000 * DO; /* YES, STOP THE HEADS */ 02400000 * NSLTTCIN=TRMSUBST;/* SAVE FIRST TNT INDEX */ 02401000 STH @10,NSLTTCIN(,IEDNSLP) 1133 02402000 * RPARM=TRMSUBST; /* GET THE FIRST SUBSTRUCURES */ 02403000 LR RPARM,@10 1134 02404000 * CALL GETTRM; /* GET THE TERMINAL ENTRY ADDR */ 02405000 BAL @14,GETTRM 1135 02406000 * NSLCTTRM=RTRM; /* ADJUST THE CURRENT RES PTR */ 02407000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 1136 02408000 * CALL STPLNEGP; /* STOP THE HEADS NOW */ 02409000 BAL @14,STPLNEGP 1137 02410000 * END; /* NO SUBSTRUCURES */ 02411000 * ELSE 1139 02412000 * ; /* STOPPED MULTIPLE STRUCTURE */ 02413000 @RF01131 DS 0H 1140 02414000 * END; /* WITH HIGHEST FIRST */ 02415000 * ELSE /* STOP SINGLE STRUCTURE */ 02416000 * DO; /* CHECK IF POSSIBLE @YM08526*/ 02417000 B @RC01116 1141 02418000 @RF01116 DS 0H 1142 02419000 * IF NSLREQTY=NSLSTOPL&/* STOPLINE,C @YM09060*/ 02420000 * (AVTQUCKN=OFF&NCPPTR->TRMNCPCL=OFF) THEN 1142 02421000 CLI NSLREQTY(IEDNSLP),X'02' 1142 02422000 BNE @RF01142 1142 02423000 TM AVTQUCKN(IEDQAPTR),B'00000010' 1142 02424000 BNZ @RF01142 1142 02425000 L @10,NCPPTR-1 1142 02426000 TM TRMNCPCL(@10),B'01000000' 1142 02427000 BNZ @RF01142 1142 02428000 * DO; /* YES @YM08526*/ 02429000 * CALL CHKTSO; /* TSO SESSION? @YM08526*/ 02430000 BAL @14,CHKTSO 1144 02431000 * IF RENTRY=AVTFZERO THEN/* NOT IN TSO SESSION 1145 02432000 * @YM08526*/ 02433000 C RENTRY,AVTFZERO(,IEDQAPTR) 1145 02434000 BNE @RF01145 1145 02435000 * CALL STPTERM; /* TRY TO STOP THIS ONE */ 02436000 BAL @14,STPTERM 1146 02437000 * ELSE 1147 02438000 * ; /* TSO SESSION @YM08526*/ 02439000 @RF01145 DS 0H 1148 02440000 * END; /* @YM08526*/ 02441000 * ELSE /* ALL OTHER STOPLINE @YM08526*/ 02442000 * CALL STPTERM; /* TRY TO STOP THIS ONE */ 02443000 B @RC01142 1149 02444000 @RF01142 BAL @14,STPTERM 1149 02445000 * END; /* STOPPED THE SINGLE @YM08526*/ 02446000 @RC01142 DS 0H 1151 02447000 * IF NSLGPTSP=OFF THEN /* REDRIVE FOR GP SET?@YM05730 */ 02448000 @RC01116 DS 0H 1151 02449000 @RC01111 TM NSLGPTSP(IEDNSLP),B'01000000' 1151 02450000 BNZ @RF01151 1151 02451000 * DO; /* NO @YM05730*/ 02452000 * RPARM=NSLTTEPT; /* SETUP THE LINE ADDR@YM06453 */ 02453000 L RPARM,NSLTTEPT(,IEDNSLP) 1153 02454000 * RPARM=RPARM-LENGTH(IEDNTRM);/* BACKUP TO THE 1154 02455000 * PREFX@YM06453 */ 02456000 SL RPARM,@CF01178 1154 02457000 * IF NSLDRDRV=ON& /* DIAL REDRIVE AND @YM06453*/ 02458000 * RPARM->TRMSUBST^=RPARM->TRMUTERM THEN/* LOGICAL TRM 02459000 * CONNECTED @YM06453*/ 02460000 TM NSLDRDRV(IEDNSLP),B'00001000' 1155 02461000 BNO @RF01155 1155 02462000 CLC TRMSUBST(2,RPARM),TRMUTERM(RPARM) 1155 02463000 BE @RF01155 1155 02464000 * DO; /* YES @YM05733*/ 02465000 * NSLDRDRV=OFF; /* RESET REDRIVE SWTCH@YM05733 */ 02466000 NI NSLDRDRV(IEDNSLP),B'11110111' 1157 02467000 * NSLTTCIN=RPARM->TRMSUBST;/* STOP THE LOGICAL 1158 02468000 * CONNECTION NOW BY INDICATING 02469000 * @YM05733*/ 02470000 LH @10,TRMSUBST(,RPARM) 1158 02471000 N @10,@CF02262 1158 02472000 STH @10,NSLTTCIN(,IEDNSLP) 1158 02473000 * END; /* THE CURRENT TNT IND@YM05733 */ 02474000 * ELSE /* OTHERWISE @YM05733*/ 02475000 * NSLTTCIN=TRMCOHRT; /* SAVE THIS TNT INDEX */ 02476000 B @RC01155 1160 02477000 @RF01155 LH @10,TRMCOHRT(,RTRM) 1160 02478000 N @10,@CF02262 1160 02479000 STH @10,NSLTTCIN(,IEDNSLP) 1160 02480000 * RPARM=NSLTTCIN; /* SETUP INTERFACE TO GETTERM */ 02481000 @RC01155 LH RPARM,NSLTTCIN(,IEDNSLP) 1161 02482000 N RPARM,@CF02262 1161 02483000 * CALL GETTRM; /* GET TERMINAL ENTRY ADDRESS */ 02484000 BAL @14,GETTRM 1162 02485000 * NSLCTTRM=RTRM; /* SAVE CURRENT TRM ENTRY ADDR */ 02486000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 1163 02487000 * IF TRMTYPE=TRMNSDLC THEN/* BYSNC-START-STOP LINE? */ 02488000 CLI TRMTYPE(RTRM),X'20' 1164 02489000 BNE @RF01164 1164 02490000 * EXITFLAG=ON; /* SET EXIT INDICATORS */ 02491000 OI EXITFLAG,B'00010000' 1165 02492000 * ELSE 1166 02493000 * ; /* CONTINUE THE LOOP */ 02494000 @RF01164 DS 0H 1167 02495000 * END; /* OK'D TO BUMP TO NXT@YM05733 */ 02496000 * ELSE 1168 02497000 * ; /* LOOP @YM05733*/ 02498000 @RF01151 DS 0H 1169 02499000 * END; /* END OF DO WHILE */ 02500000 @DE01107 L @10,NSLBUFFR-1(,IEDNSLP) 1169 02501000 LA @10,0(,@10) 1169 02502000 C @10,AVTFZERO(,IEDQAPTR) 1169 02503000 BE @DC01107 1169 02504000 TM EXITFLAG,B'00010000' 1169 02505000 BZ @DL01107 1169 02506000 @DC01107 DS 0H 1170 02507000 * IF EXITFLAG=OFF THEN /* IS TIME TO EXIT? */ 02508000 TM EXITFLAG,B'00010000' 1170 02509000 BNZ @RF01170 1170 02510000 * DO; /* TEMP EXIT TO GET A BUFFER */ 02511000 * CALL GETBUF; /* REQUEST A BUFFER */ 02512000 BAL @14,GETBUF 1172 02513000 * NSLNGPSL=ON; /* SET BUFFER RESUME FLAG */ 02514000 OI NSLNGPSL(IEDNSLP),B'00100000' 1173 02515000 * END; /* EXIT FOR NOW */ 02516000 * ELSE /* EXIT FOR GOOD */ 02517000 * DO; /* EXIT PROPERLY */ 02518000 B @RC01170 1175 02519000 @RF01170 DS 0H 1176 02520000 * EXITFLAG=OFF; /* RESET FLAG */ 02521000 NI EXITFLAG,B'11101111' 1176 02522000 * IF TRMDIAL=ON THEN /* DIAL? */ 02523000 TM TRMDIAL(RTRM),B'00001000' 1177 02524000 BNO @RF01177 1177 02525000 * DO; /* YES, THEN SCAN RVT */ 02526000 * CALL STOPDIAL; /* STOP ANY DIAL TERM COMINGUP */ 02527000 BAL @14,STOPDIAL 1179 02528000 * IF NSLSDIAL=ON THEN /* DIAL REDRIVE? */ 02529000 TM NSLSDIAL(IEDNSLP),B'00010000' 1180 02530000 BNO @RF01180 1180 02531000 * DO; /* YES */ 02532000 * CALL GETBUF; /* REQUEST A BUFFER */ 02533000 BAL @14,GETBUF 1182 02534000 * NSLNGPSL=ON; /* SET STOPLINE REDRIVE SWITCH */ 02535000 OI NSLNGPSL(IEDNSLP),B'00100000' 1183 02536000 * END; /* GET OUT TEMPORARILY */ 02537000 * ELSE /* READY TO GET OUT FOR GOOD */ 02538000 * DO; /* READY TO EXIT DETERMINE HOW */ 02539000 B @RC01180 1185 02540000 @RF01180 DS 0H 1186 02541000 * IF NSLBUFFR^=AVTFZERO THEN/* BUFFER IN THE ERB 1186 02542000 * CHAIN? */ 02543000 L @10,NSLBUFFR-1(,IEDNSLP) 1186 02544000 LA @10,0(,@10) 1186 02545000 C @10,AVTFZERO(,IEDQAPTR) 1186 02546000 BE @RF01186 1186 02547000 * CALL FREEBUF; /* YES FREE IT */ 02548000 BAL @14,FREEBUF 1187 02549000 * ELSE 1188 02550000 * ; /* FALL THROUGH NO EXTRA BUFS */ 02551000 @RF01186 DS 0H 1189 02552000 * IF NSLPLCBR=ON THEN/* WILL A PLCB RETURN TO OPCTL*/ 02553000 TM NSLPLCBR(IEDNSLP),B'10000000' 1189 02554000 BNO @RF01189 1189 02555000 * CALL FREEBUF; /* YES FREE THE INPUT BUFFER */ 02556000 BAL @14,FREEBUF 1190 02557000 * ELSE /* NO PLCB TO RETURN SO POST */ 02558000 * CALL POSTOPCB;/* THIS BUFFER TO LET OPCTL KNOW 02559000 * ALL IS DONE */ 02560000 B @RC01189 1191 02561000 @RF01189 BAL @14,POSTOPCB 1191 02562000 * END; /* FREED BUFFERS IF NECESSARY SO 02563000 * EXIT */ 02564000 * END; /* DONE WITH DIAL */ 02565000 * ELSE /* NOT DIAL DO NO MORE */ 02566000 * DO; /* READY TO EXIT DETERMINE HOW */ 02567000 B @RC01177 1194 02568000 @RF01177 DS 0H 1195 02569000 * IF NSLBUFFR^=AVTFZERO THEN/* BUFFER IN THE ERB CHAIN?*/ 02570000 L @10,NSLBUFFR-1(,IEDNSLP) 1195 02571000 LA @10,0(,@10) 1195 02572000 C @10,AVTFZERO(,IEDQAPTR) 1195 02573000 BE @RF01195 1195 02574000 * CALL FREEBUF; /* YES FREE IT */ 02575000 BAL @14,FREEBUF 1196 02576000 * ELSE 1197 02577000 * ; /* FALL THROUGH NO EXTRA BUFS */ 02578000 @RF01195 DS 0H 1198 02579000 * IF NSLPLCBR=ON THEN /* WILL A PLCB RETURN TO OPCTL */ 02580000 TM NSLPLCBR(IEDNSLP),B'10000000' 1198 02581000 BNO @RF01198 1198 02582000 * CALL FREEBUF; /* YES FREE THE INPUT BUFFER */ 02583000 BAL @14,FREEBUF 1199 02584000 * ELSE /* NO PLCB TO RETURN SO POST */ 02585000 * CALL POSTOPCB; /* THIS BUFFER TO LET OPCTL KNOW 02586000 * ALL IS DONE */ 02587000 B @RC01198 1200 02588000 @RF01198 BAL @14,POSTOPCB 1200 02589000 * END; /* FREED BUFFERS IF NECESSARY SO 02590000 * EXIT */ 02591000 * END; /* END OF NORMAL SCAN */ 02592000 * END; /* GET OUT NOW */ 02593000 * END STOPLINE; /* QUIESCE IF REUIRED */ 02594000 @EL00027 DS 0H 1204 02595000 @EF00027 DS 0H 1204 02596000 @ER00027 L @14,@SA00027 1204 02597000 BR @14 1204 02598000 * 1205 02599000 * /*****************************************************************/ 02600000 * /* */ 02601000 * /* IF ALL THE LINES EXCEPT ONE IN ONE GROUP HAS BEEN DEACTIVAT */ 02602000 * /* THEN THE RVT IS SEARCHED FOR DIAL TERMINALS WITH CONTACT */ 02603000 * /* OUTSTANDING AND OR ON THE TIME DELAY QUE THEN A RESET IS SENT */ 02604000 * /* FOR CONTACT OUTSTANDING AND A REQUEST FOR REMOVAL FROM TIME */ 02605000 * /* DELAY QUE IS SENT IF NEEDED. */ 02606000 * /* */ 02607000 * /*****************************************************************/ 02608000 * 1205 02609000 *STOPDIAL: 1205 02610000 * PROC OPTIONS(RETREG,SAVE(14)); 1205 02611000 STOPDIAL ST @14,@SA00028 1205 02612000 * IF NSLSDIAL=OFF THEN /* NOT REDRIVE, NORMAL SCAN */ 02613000 TM NSLSDIAL(IEDNSLP),B'00010000' 1206 02614000 BNZ @RF01206 1206 02615000 * DO; /* YES, FALL THROUGH */ 02616000 * STOPLNCT=AVTEZERO; /* INITIALIZE THE COUNTER */ 02617000 MVI STOPLNCT,X'00' 1208 02618000 * CALL GETNCP; /* GET NCP TTE @YM05736*/ 02619000 BAL @14,GETNCP 1209 02620000 * SAVENCP1=RTRM; /* SAVE THIS LINE'S NCP @YM05736*/ 02621000 STCM RTRM,7,SAVENCP1 1210 02622000 * RTRM=NSLTTEPT; /* RESTORE LINE TTE @YM05736*/ 02623000 L RTRM,NSLTTEPT(,IEDNSLP) 1211 02624000 * RTRM=RTRM-LENGTH(IEDNTRM); /* BACKUP TO PREFIX */ 02625000 SL RTRM,@CF01178 1212 02626000 * LINETTE2=RTRM; /* FOR COMPARISON INPUT LINE */ 02627000 STCM RTRM,7,LINETTE2 1213 02628000 * SAVETNT1=TRMCOHTG; /* GET NEXT LINE TTCIN TO IN 1214 02629000 * ORDER TO OBTAIN RVT PTR */ 02630000 LH @10,TRMCOHTG(,RTRM) 1214 02631000 N @10,@CF02262 1214 02632000 STH @10,SAVETNT1 1214 02633000 * RPARM=TRMCOHTG; /* SETUP PARAMETER */ 02634000 LR RPARM,@10 1215 02635000 * CALL GETTRM; /* GET TERM ENTRY */ 02636000 BAL @14,GETTRM 1216 02637000 * DO UNTIL RTRM=LINETTE2; /* SEARCH UNTIL BACK TO BEGNG */ 02638000 @DL01217 DS 0H 1218 02639000 * IF TRMTYPE=TRMGRP THEN /* GROUP */ 02640000 CLI TRMTYPE(RTRM),X'00' 1218 02641000 BNE @RF01218 1218 02642000 * DO; /* YES */ 02643000 * RPARM=TRMSUBST; /* GET FIRST LINE */ 02644000 LH @10,TRMSUBST(,RTRM) 1220 02645000 N @10,@CF02262 1220 02646000 LR RPARM,@10 1220 02647000 * SAVETNT1=TRMSUBST; /* SAVE TNT INDEX */ 02648000 STH @10,SAVETNT1 1221 02649000 * END; /* GOT A VALID TNT INDEX */ 02650000 * ELSE /* VALID TTCIN */ 02651000 * DO; /* CHECK EVERYBODY STATUS */ 02652000 B @RC01218 1223 02653000 @RF01218 DS 0H 1224 02654000 * RPARM=TRMCOHTG; /* GET NEXT LINE IF POSSIBLE */ 02655000 LH RPARM,TRMCOHTG(,RTRM) 1224 02656000 N RPARM,@CF02262 1224 02657000 * SAVETNT1=RPARM; /* SAVE TO OBTAIN THE NAT */ 02658000 STH RPARM,SAVETNT1 1225 02659000 * END; /* GOT VALID TNT INDEX */ 02660000 * CALL GETTRM; /* GET TRM ENTRY */ 02661000 @RC01218 BAL @14,GETTRM 1227 02662000 * SAVETTE=RTRM; /* SAVE THIS TTE @YM05736*/ 02663000 STCM RTRM,7,SAVETTE 1228 02664000 * IF TRMCOHRT^=ZERO&TRMTYPE^=TRMGRP THEN/* UP AND NOT GROUP 02665000 * @OY20601*/ 02666000 LH @10,TRMCOHRT(,RTRM) 1229 02667000 N @10,@CF02262 1229 02668000 LTR @10,@10 1229 02669000 BZ @RF01229 1229 02670000 CLI TRMTYPE(RTRM),X'00' 1229 02671000 BE @RF01229 1229 02672000 * DO; /* YES @YM09049*/ 02673000 * CALL GETNCP; /* GET THIS LINE'S TTE @YM05736*/ 02674000 BAL @14,GETNCP 1231 02675000 * SAVENCP2=RTRM; /* SAVE THIS LINE'S NCP @YM05736*/ 02676000 STCM RTRM,7,SAVENCP2 1232 02677000 * RTRM=SAVETTE; /* RESTORE TTE @YM05736*/ 02678000 L RTRM,SAVETTE-1 1233 02679000 LA RTRM,0(,RTRM) 1233 02680000 * IF(SAVENCP1=SAVENCP2)&(TRMRSACT=ON&TRMTYPE^=TRMGRP)&RTRM 02681000 * ^=LINETTE2 THEN /* @YM08480 02682000 * LINE ACTIVE AND CONNECTED TO 02683000 * SAME GROUP @YM05736*/ 02684000 CLC SAVENCP1(3),SAVENCP2 1234 02685000 BNE @RF01234 1234 02686000 TM TRMRSACT(RTRM),B'10000000' 1234 02687000 BNO @RF01234 1234 02688000 CLI TRMTYPE(RTRM),X'00' 1234 02689000 BE @RF01234 1234 02690000 L @10,LINETTE2-1 1234 02691000 LA @10,0(,@10) 1234 02692000 CR RTRM,@10 1234 02693000 BE @RF01234 1234 02694000 * STOPLNCT=STOPLNCT+ONE;/* ONE SHOULD BE ACTIVE */ 02695000 IC @10,STOPLNCT 1235 02696000 LA @10,1(,@10) 1235 02697000 STC @10,STOPLNCT 1235 02698000 * ELSE 1236 02699000 * ; /* DON'T INCREMENT */ 02700000 @RF01234 DS 0H 1237 02701000 * END; /* CHECKED FOR SAME @YM09049*/ 02702000 * ELSE 1238 02703000 * ; /* NCP OTHERWISE INACTYM09049 */ 02704000 @RF01229 DS 0H 1239 02705000 * END; /* END OF DO UNTIL */ 02706000 @DE01217 L @10,LINETTE2-1 1239 02707000 LA @10,0(,@10) 1239 02708000 CR RTRM,@10 1239 02709000 BNE @DL01217 1239 02710000 * IF STOPLNCT=ZERO THEN /* YES,OK STOP DIAL IF REQ'RD */ 02711000 CLI STOPLNCT,0 1240 02712000 BNE @RF01240 1240 02713000 * DO; /* GO AHEAD AND DEPRIME */ 02714000 * LGBSAVED=LINETTE2->TRMDESTQ->QCBLGBAD;/* SAVE LGB ADDR 1242 02715000 * @YM06925*/ 02716000 SLR @03,@03 1242 02717000 ICM @03,7,TRMDESTQ(@10) 1242 02718000 MVC LGBSAVED(3),QCBLGBAD(@03) 1242 02719000 * RPARM=SAVETNT1; /* SETUP PARAMETER TO IAP04 */ 02720000 LH RPARM,SAVETNT1 1243 02721000 N RPARM,@CF02262 1243 02722000 * CALL IEDIAP04; /* GET THE NAT ADDRESS */ 02723000 L @10,AVTSAVTP(,IEDQAPTR) 1244 02724000 L @15,SAVTTNTX(,@10) 1244 02725000 BALR @14,@15 1244 02726000 * CALL RVTSCAN; /* SCAN THE RVT */ 02727000 BAL @14,RVTSCAN 1245 02728000 * END; /* PERFORMED PRIMING FOR DIAL */ 02729000 * ELSE 1247 02730000 * ; /* MORE THAN ONE LINE UP */ 02731000 @RF01240 DS 0H 1248 02732000 * END; /* DONE WITH NORMAL PATH */ 02733000 * ELSE /* DIAL REDRIVE */ 02734000 * CALL RVTSCAN; /* STOP THE DIAL TERMINAL */ 02735000 B @RC01206 1249 02736000 @RF01206 BAL @14,RVTSCAN 1249 02737000 * END STOPDIAL; /* STOP ANY DIAL IF NECESSARY */ 02738000 @EL00028 DS 0H 1250 02739000 @EF00028 DS 0H 1250 02740000 @ER00028 L @14,@SA00028 1250 02741000 BR @14 1250 02742000 * 1251 02743000 * /*****************************************************************/ 02744000 * /* */ 02745000 * /* THIS SUBROUTINE VERIFIES THE NUMBER OF PLCBS TO RETURN TO */ 02746000 * /* OPERTOR CONTROL WHEN STOPPING A BYSNC/START/STOP LINE BY */ 02747000 * /* SETTING TRMOCNI AND OR LCBOCNI WITHOUT GIVING UP CONTROL. */ 02748000 * /* */ 02749000 * /*****************************************************************/ 02750000 * 1251 02751000 *VERIFY: 1251 02752000 * PROC OPTIONS(RETREG,SAVE(14)); 1251 02753000 VERIFY ST @14,@SA00029 1251 02754000 * RFY 1252 02755000 * (RQCB, 1252 02756000 * IEDQQPTR) RSTD; 1252 02757000 * IF TRMSUBST^=AVTFZERO THEN /* ANY SUBSTRUCTURES? */ 02758000 LH @10,TRMSUBST(,RTRM) 1253 02759000 N @10,@CF02262 1253 02760000 C @10,AVTFZERO(,IEDQAPTR) 1253 02761000 BE @RF01253 1253 02762000 * DO; /* YES */ 02763000 * IF TRMDIAL=ON&TRMSUBST^=TRMUTERM THEN/* DIAL AND LOGICAL 1255 02764000 * CONNECTED @YM06453*/ 02765000 TM TRMDIAL(RTRM),B'00001000' 1255 02766000 BNO @RF01255 1255 02767000 CLC TRMSUBST(2,RTRM),TRMUTERM(RTRM) 1255 02768000 BE @RF01255 1255 02769000 * SAVEUTRM=TRMUTERM; /* SAVE CTERM TTCIN @YM06453*/ 02770000 LH @10,TRMUTERM(,RTRM) 1256 02771000 N @10,@CF02262 1256 02772000 STH @10,SAVEUTRM 1256 02773000 * ELSE 1257 02774000 * ; /* FALL THROUGH @YM06453*/ 02775000 @RF01255 DS 0H 1258 02776000 * RPARM=TRMSUBST; /* GET THE SUB TNT INDEX */ 02777000 LH RPARM,TRMSUBST(,RTRM) 1258 02778000 N RPARM,@CF02262 1258 02779000 * CALL GETTRM; /* GET TERMINAL ENTRY ADDRESS */ 02780000 BAL @14,GETTRM 1259 02781000 * IF TRMDIAL=ON&SAVEUTRM^=AVTFZERO THEN/* DIAL AND LOGICAL 1260 02782000 * CONNECTED @YM06453*/ 02783000 TM TRMDIAL(RTRM),B'00001000' 1260 02784000 BNO @RF01260 1260 02785000 LH @10,SAVEUTRM 1260 02786000 N @10,@CF02262 1260 02787000 C @10,AVTFZERO(,IEDQAPTR) 1260 02788000 BE @RF01260 1260 02789000 * DO; /* YES @YM06453*/ 02790000 * SAVLOGCL=RTRM; /* SAVE THE CURRENT TRM ENTRY 1262 02791000 * @YM06453*/ 02792000 STCM RTRM,7,SAVLOGCL 1262 02793000 * RPARM=SAVEUTRM; /* GET CTERM TTCIN @YM06453*/ 02794000 LR RPARM,@10 1263 02795000 * CALL GETTRM; /* GET THE TRM ENTRY ADDR 1264 02796000 * @YM06453*/ 02797000 BAL @14,GETTRM 1264 02798000 * RQCB=TRMDESTQ; /* GET THE QCB ADDR @YM06453*/ 02799000 SLR RQCB,RQCB 1265 02800000 ICM RQCB,7,TRMDESTQ(RTRM) 1265 02801000 * IF QCBPLCBN=ON THEN /* PLCB ASSIGNED? @YM06453*/ 02802000 LR @10,IEDQQPTR 1266 02803000 AL @10,@CF02259 1266 02804000 TM QCBPLCBN-4(@10),B'10000000' 1266 02805000 BNO @RF01266 1266 02806000 * DO; /* YES @YM06453*/ 02807000 * IF NSLREQTY=NSLCLOSN THEN/* FLUSH CLOSE? @YM06966*/ 02808000 CLI NSLREQTY(IEDNSLP),X'0B' 1268 02809000 BNE @RF01268 1268 02810000 * TRMCLOSN=ON; /* YES SET FLUSH STOP INDICATOR 02811000 * @YM06966*/ 02812000 LA @03,TRMCLOSN(,RTRM) 1269 02813000 LR @15,@03 1269 02814000 LA @10,3 1269 02815000 NR @15,@10 1269 02816000 LCR @15,@15 1269 02817000 ALR @03,@15 1269 02818000 L @10,0(,@03) 1269 02819000 @GL00056 LR @06,@10 1269 02820000 O @06,@CB02277+3(@15) 1269 02821000 CS @10,@06,0(@03) 1269 02822000 BNE @GL00056 1269 02823000 * ELSE /* STOPLINE OR QUICK CLOSE 1270 02824000 * @YM06966*/ 02825000 * DO; /* FALL THROUGH @YM06966*/ 02826000 B @RC01268 1270 02827000 @RF01268 DS 0H 1271 02828000 * TRMOCNI=ON; /* SET OCNI @YM06453*/ 02829000 OI TRMOCNI(RTRM),B'00100000' 1271 02830000 * QCBPLCBA->LCBOCNI=ON;/* FORCE RETURN PLCB TO 1272 02831000 * OPCTL @YM06453*/ 02832000 LR @10,IEDQQPTR 1272 02833000 AL @10,@CF02259 1272 02834000 L @10,QCBPLCBA-5(,@10) 1272 02835000 OI LCBOCNI(@10),B'00100000' 1272 02836000 * END; /* SET ALL BITS FOR EITHER TYPE 02837000 * OF STOP @YM06966*/ 02838000 * NSLPLCBR=ON; /* INDICATE PLCB WILL RETURN 1274 02839000 * @YM06453*/ 02840000 @RC01268 OI NSLPLCBR(IEDNSLP),B'10000000' 1274 02841000 * END; /* DONE @YM06453*/ 02842000 * ELSE /* NO PLCB ASSIGNED @YM06453*/ 02843000 * DO; /* YES @YM06453*/ 02844000 B @RC01266 1276 02845000 @RF01266 DS 0H 1277 02846000 * IF TRMINOUT=ON|TRMRDOUT=ON|(TRMCONT=ON&TRMSESSN=OFF) 02847000 * THEN 1277 02848000 * 1277 02849000 TM TRMINOUT(RTRM),B'00000011' 1277 02850000 BNZ @RT01277 1277 02851000 TM TRMCONT(RTRM),B'10000000' 1277 02852000 BNO @RF01277 1277 02853000 TM TRMSESSN(RTRM),B'01000000' 1277 02854000 BNZ @RF01277 1277 02855000 @RT01277 DS 0H 1278 02856000 */* INVITE OR READ OR CONTACT OUTSTANDING @YM06453 */ 02857000 * 1278 02858000 * DO; /* YES @YM06453*/ 02859000 * IF NSLREQTY=NSLCLOSN THEN/* FLUSH CLOSE? @YM06966*/ 02860000 CLI NSLREQTY(IEDNSLP),X'0B' 1279 02861000 BNE @RF01279 1279 02862000 * TRMCLOSN=ON; /* SET FLUSH STOP INDICATOR 1280 02863000 * @YM06966*/ 02864000 LA @03,TRMCLOSN(,RTRM) 1280 02865000 LR @15,@03 1280 02866000 LA @10,3 1280 02867000 NR @15,@10 1280 02868000 LCR @15,@15 1280 02869000 ALR @03,@15 1280 02870000 L @10,0(,@03) 1280 02871000 @GL00058 LR @06,@10 1280 02872000 O @06,@CB02277+3(@15) 1280 02873000 CS @10,@06,0(@03) 1280 02874000 BNE @GL00058 1280 02875000 * ELSE /* REGULAR STOPLINE OR QUICK 1281 02876000 * CLOSE @YM06966*/ 02877000 * TRMOCNI=ON; /* SET OCNI @YM06453*/ 02878000 B @RC01279 1281 02879000 @RF01279 OI TRMOCNI(RTRM),B'00100000' 1281 02880000 * NSLPLCBR=ON; /* INDICATE PLCB WILL RETURN 1282 02881000 * @YM06453*/ 02882000 @RC01279 OI NSLPLCBR(IEDNSLP),B'10000000' 1282 02883000 * END; /* SET ALL FLAGS FOR NO PLCB 1283 02884000 * ASSIGNED @YM06453*/ 02885000 * ELSE 1284 02886000 * ; /* NOT DOING ANYTHING @YM06453*/ 02887000 @RF01277 DS 0H 1285 02888000 * END; /* DONE @YM06453*/ 02889000 * SAVEUTRM=''B; /* CLEAR @YM06453*/ 02890000 @RC01266 SLR @10,@10 1286 02891000 STH @10,SAVEUTRM 1286 02892000 * RTRM=SAVLOGCL; /* RESTORE TERMINAL ENTRY 1287 02893000 * @YM06453*/ 02894000 L RTRM,SAVLOGCL-1 1287 02895000 LA RTRM,0(,RTRM) 1287 02896000 * SAVLOGCL=''B; /* CLEAR @YM06453*/ 02897000 STCM @10,7,SAVLOGCL 1288 02898000 * END; /* CTERM PLCB SHOULD RETURN IF 1289 02899000 * NECCESSARY @YM06453*/ 02900000 * ELSE 1290 02901000 * ; /* NORMAL CASES FALL THROUGH 1290 02902000 * @YM06453*/ 02903000 @RF01260 DS 0H 1291 02904000 * DO UNTIL(TRMTYPE=TRMNSDLC); /* DO UNTIL LINE IS REACHED AG */ 02905000 @DL01291 DS 0H 1292 02906000 * RQCB=TRMDESTQ; /* GET THE QCB ADDRESS */ 02907000 SLR RQCB,RQCB 1292 02908000 ICM RQCB,7,TRMDESTQ(RTRM) 1292 02909000 * IF QCBPLCBN=ON THEN /* PLCB ASSIGNED? */ 02910000 LR @10,IEDQQPTR 1293 02911000 AL @10,@CF02259 1293 02912000 TM QCBPLCBN-4(@10),B'10000000' 1293 02913000 BNO @RF01293 1293 02914000 * DO; /* YES */ 02915000 * IF NSLREQTY=NSLCLOSN THEN/* FLUSH CLOSE? @YM06966*/ 02916000 CLI NSLREQTY(IEDNSLP),X'0B' 1295 02917000 BNE @RF01295 1295 02918000 * TRMCLOSN=ON; /* SET FLUSH STOP INDICATOR 1296 02919000 * @YM06966*/ 02920000 LA @03,TRMCLOSN(,RTRM) 1296 02921000 LR @15,@03 1296 02922000 LA @10,3 1296 02923000 NR @15,@10 1296 02924000 LCR @15,@15 1296 02925000 ALR @03,@15 1296 02926000 L @10,0(,@03) 1296 02927000 @GL00059 LR @06,@10 1296 02928000 O @06,@CB02277+3(@15) 1296 02929000 CS @10,@06,0(@03) 1296 02930000 BNE @GL00059 1296 02931000 * ELSE /* STOPLINE OR QUICK CLOSE 1297 02932000 * @YM06966*/ 02933000 * DO; /* FALL THRU */ 02934000 B @RC01295 1297 02935000 @RF01295 DS 0H 1298 02936000 * TRMOCNI=ON; /* PLCB WILL RETURN TO OPCTL */ 02937000 OI TRMOCNI(RTRM),B'00100000' 1298 02938000 * QCBPLCBA->LCBOCNI=ON;/* FORCE RETURN TO OPCTL */ 02939000 LR @10,IEDQQPTR 1299 02940000 AL @10,@CF02259 1299 02941000 L @10,QCBPLCBA-5(,@10) 1299 02942000 OI LCBOCNI(@10),B'00100000' 1299 02943000 * END; /* VERIFIED THIS PLCB WILL RETURN*/ 02944000 * NSLPLCBR=ON; /* INDICATE PLCB WILL RTN */ 02945000 @RC01295 OI NSLPLCBR(IEDNSLP),B'10000000' 1301 02946000 * END; /* SET ALL BITS FOR WHATEVER TYPE 02947000 * IT IS @YM06966*/ 02948000 * ELSE /* NO PLCB ASSIGNED */ 02949000 * DO; /* DO */ 02950000 B @RC01293 1303 02951000 @RF01293 DS 0H 1304 02952000 * IF TRMINOUT=ON|TRMRDOUT=ON|(TRMCONT=ON&TRMSESSN=OFF) THEN 02953000 TM TRMINOUT(RTRM),B'00000011' 1304 02954000 BNZ @RT01304 1304 02955000 TM TRMCONT(RTRM),B'10000000' 1304 02956000 BNO @RF01304 1304 02957000 TM TRMSESSN(RTRM),B'01000000' 1304 02958000 BNZ @RF01304 1304 02959000 @RT01304 DS 0H 1305 02960000 * /* INVITE OR READ OR CONTACT 1305 02961000 * OUTSTANDING @YM05736*/ 02962000 * DO; /* YES */ 02963000 * IF NSLREQTY=NSLCLOSN THEN/* FLUSH CLOSE ? @YM06966*/ 02964000 CLI NSLREQTY(IEDNSLP),X'0B' 1306 02965000 BNE @RF01306 1306 02966000 * TRMCLOSN=ON; /* SET FLUSH STOP INDICATOR */ 02967000 LA @03,TRMCLOSN(,RTRM) 1307 02968000 LR @15,@03 1307 02969000 LA @10,3 1307 02970000 NR @15,@10 1307 02971000 LCR @15,@15 1307 02972000 ALR @03,@15 1307 02973000 L @10,0(,@03) 1307 02974000 @GL00061 LR @06,@10 1307 02975000 O @06,@CB02277+3(@15) 1307 02976000 CS @10,@06,0(@03) 1307 02977000 BNE @GL00061 1307 02978000 * ELSE /* REGULAR STOPLINE OR QUICK 1308 02979000 * CLOSE @YM06966*/ 02980000 * TRMOCNI=ON; /* PLCB WILL RETURN TO OPCTL */ 02981000 B @RC01306 1308 02982000 @RF01306 OI TRMOCNI(RTRM),B'00100000' 1308 02983000 * NSLPLCBR=ON; /* INDICATE PLCB WILL RETURN */ 02984000 @RC01306 OI NSLPLCBR(IEDNSLP),B'10000000' 1309 02985000 * END; /* VERIFIED A PLCB WILL RETURN */ 02986000 * ELSE /* GET PLCB FOR GEN POLL IF IN 1311 02987000 * SESSION @YM07649*/ 02988000 * DO; 1311 02989000 B @RC01304 1311 02990000 @RF01304 DS 0H 1312 02991000 * RQCB=TRMDESTQ; /* GET QCB @YM07649*/ 02992000 SLR RQCB,RQCB 1312 02993000 ICM RQCB,7,TRMDESTQ(RTRM) 1312 02994000 * IF QCBPLCBN=OFF&QCBRCVRQ=OFF THEN/* PLCB NOT 1313 02995000 * ASSIGNED OR REQUESTED */ 02996000 LR @10,IEDQQPTR 1313 02997000 SL @10,@CF00044 1313 02998000 TM QCBPLCBN(@10),B'10010000' 1313 02999000 BNZ @RF01313 1313 03000000 * IF TRMINPTP=ON&TRMSESSN=ON THEN/* DO WE NEED TO 03001000 * BREAK THE NCP SESSION @OZ29191*/ 03002000 TM TRMINPTP(RTRM),B'01000000' 1314 03003000 BNO @RF01314 1314 03004000 TM TRMSESSN(RTRM),B'01000000' 1314 03005000 BNO @RF01314 1314 03006000 * DO; 1315 03007000 * TRMINPTP=OFF;/* SET INPUT PENDING OFF, TO 1316 03008000 * PREVENT FURTHER USE OF THE 1316 03009000 * PLCB @OZ29191*/ 03010000 NI TRMINPTP(RTRM),B'10111111' 1316 03011000 * QCBRCVRQ=ON;/* REQUEST A PLCB @YM07649*/ 03012000 OI QCBRCVRQ(@10),B'00010000' 1317 03013000 * RPARM=RQCB; /* SET PARAMETER @YM07649*/ 03014000 LR RPARM,RQCB 1318 03015000 * CALL IEDIAP;/* GET A PLCB @YM07649*/ 03016000 L @10,AVTSAVTP(,IEDQAPTR) 1319 03017000 L @15,SAVTPREQ(,@10) 1319 03018000 BALR @14,@15 1319 03019000 * RFY 1320 03020000 * RENTRY RSTD; 1320 03021000 * IF RENTRY^=AVTEZERO THEN/* DID WE GET A PLCB 03022000 * ? @YM07649*/ 03023000 LTR RENTRY,RENTRY 1321 03024000 BZ @RF01321 1321 03025000 * DO; 1322 03026000 * IF NSLREQTY=NSLCLOSN THEN/* FLUSH CLOSE ? 03027000 * @YM07649*/ 03028000 CLI NSLREQTY(IEDNSLP),X'0B' 1323 03029000 BNE @RF01323 1323 03030000 * TRMCLOSN=ON;/* SET FLUSH STOP INDICATOR 03031000 * @YM07649*/ 03032000 LA @06,TRMCLOSN(,RTRM) 1324 03033000 LR @03,@06 1324 03034000 LA @14,3 1324 03035000 NR @03,@14 1324 03036000 LCR @03,@03 1324 03037000 ALR @06,@03 1324 03038000 L @14,0(,@06) 1324 03039000 @GL00063 LR @10,@14 1324 03040000 O @10,@CB02277+3(@03) 1324 03041000 CS @14,@10,0(@06) 1324 03042000 BNE @GL00063 1324 03043000 * ELSE /* STOPLINE OR QUICK CLOSE 1325 03044000 * @YM07649*/ 03045000 * DO; 1325 03046000 B @RC01323 1325 03047000 @RF01323 DS 0H 1326 03048000 * TRMOCNI=ON; 1326 03049000 OI TRMOCNI(RTRM),B'00100000' 1326 03050000 * QCBPLCBA->LCBOCNI=ON;/* FORCE RETURN 03051000 * TO OP CONTROL @YM07649*/ 03052000 LR @14,IEDQQPTR 1327 03053000 AL @14,@CF02259 1327 03054000 L @14,QCBPLCBA-5(,@14) 1327 03055000 OI LCBOCNI(@14),B'00100000' 1327 03056000 * END; 1328 03057000 * NSLPLCBR=ON;/* INDICATE PLCB WILL RETURN 03058000 * @YM07649*/ 03059000 @RC01323 OI NSLPLCBR(IEDNSLP),B'10000000' 1329 03060000 * CALL POSTR;/* POST PLCB TO ITSELF, 1330 03061000 * CAUSING IEDNKA TO SEND A 1330 03062000 * DISCONNECT @OZ29191*/ 03063000 BAL @14,POSTR 1330 03064000 * RFY 1331 03065000 * RENTRY UNRSTD; 1331 03066000 * END; 1332 03067000 * END; 1333 03068000 @RF01321 DS 0H 1334 03069000 * END; 1334 03070000 @RF01314 DS 0H 1334 03071000 @RF01313 DS 0H 1335 03072000 * END; /* ALL THAT IS NEEDED WAS DONE */ 03073000 @RC01304 DS 0H 1336 03074000 * IF TRMTYPE=TRMCLUST&CLUSTFLG=OFF THEN/* CLUSTER AND 1ST 1336 03075000 * TIME */ 03076000 @RC01293 CLI TRMTYPE(RTRM),X'40' 1336 03077000 BNE @RF01336 1336 03078000 TM CLUSTFLG,B'00001000' 1336 03079000 BNZ @RF01336 1336 03080000 * DO; /* THROUGH THEN DO */ 03081000 * CLUSTFLG=ON; /* SET NOT THE FIRST TIME FLAG */ 03082000 OI CLUSTFLG,B'00001000' 1338 03083000 * IF TRMSUBST^=AVTFZERO THEN/* SUBSTRUCTURES? */ 03084000 LH @10,TRMSUBST(,RTRM) 1339 03085000 N @10,@CF02262 1339 03086000 C @10,AVTFZERO(,IEDQAPTR) 1339 03087000 BE @RF01339 1339 03088000 * RPARM=TRMSUBST; /* GET THE TNT INDEX */ 03089000 LR RPARM,@10 1340 03090000 * ELSE /* NO SUBSTRUCURES */ 03091000 * DO; /* UNDER THE CLUSTER */ 03092000 B @RC01339 1341 03093000 @RF01339 DS 0H 1342 03094000 * CLUSTFLG=OFF; /* RESET 1ST TIME FLAG */ 03095000 NI CLUSTFLG,B'11110111' 1342 03096000 * RPARM=TRMCOHRT; /* GET THE ADJACENT STRUCTURE */ 03097000 LH RPARM,TRMCOHRT(,RTRM) 1343 03098000 N RPARM,@CF02262 1343 03099000 * END; /* REACH EVERY POSSIBLE RESOUR */ 03100000 * END; /* DONE WITH THIS CLUSTER */ 03101000 * ELSE /* NOT A CLUSTER OR THE FLAG IS 03102000 * SET */ 03103000 * DO; /* YES */ 03104000 B @RC01336 1346 03105000 @RF01336 DS 0H 1347 03106000 * IF TRMTYPE=TRMCLUST THEN/* CLUSTER? */ 03107000 CLI TRMTYPE(RTRM),X'40' 1347 03108000 BNE @RF01347 1347 03109000 * CLUSTFLG=OFF; /* TIME TO RESET FLAG */ 03110000 NI CLUSTFLG,B'11110111' 1348 03111000 * ELSE 1349 03112000 * ; /* FALL THROUGH */ 03113000 @RF01347 DS 0H 1350 03114000 * RPARM=TRMCOHRT; /* GET NEXT RESOURCE */ 03115000 LH RPARM,TRMCOHRT(,RTRM) 1350 03116000 N RPARM,@CF02262 1350 03117000 * END; /* TO GET THROUGH THE LOOP */ 03118000 * CALL GETTRM; /* GET THE TERMINAL ADDRESS */ 03119000 @RC01336 BAL @14,GETTRM 1352 03120000 * IF TRMTYPE=TRMCLUST&CLUSTFLG=ON THEN/* SAME CLUSTER REACHED 03121000 * TWICED?@YM05730 */ 03122000 CLI TRMTYPE(RTRM),X'40' 1353 03123000 BNE @RF01353 1353 03124000 TM CLUSTFLG,B'00001000' 1353 03125000 BNO @RF01353 1353 03126000 * DO; /* YES @YM05730*/ 03127000 * RPARM=TRMCOHRT; /* GET NEXT TERMINAL @YM05730*/ 03128000 LH RPARM,TRMCOHRT(,RTRM) 1355 03129000 N RPARM,@CF02262 1355 03130000 * CLUSTFLG=OFF; /* SET FLAG OFF @YM07727*/ 03131000 NI CLUSTFLG,B'11110111' 1356 03132000 * CALL GETTRM; /* GET TERMINAL ADDRESS @YM05730*/ 03133000 BAL @14,GETTRM 1357 03134000 * END; /* SKIP SETTING OCNI TWICE 1358 03135000 * @YM05730*/ 03136000 * ELSE 1359 03137000 * ; /* GO AHEAD AND SET OCNI IF OK 1359 03138000 * @YM05730*/ 03139000 @RF01353 DS 0H 1360 03140000 * END; /* END OF DO UNTIL */ 03141000 @DE01291 CLI TRMTYPE(RTRM),X'20' 1360 03142000 BNE @DL01291 1360 03143000 * END; /* FINI WITH SUBSTRUCTURES */ 03144000 * ELSE 1362 03145000 * ; /* NO SUBS RETURN */ 03146000 @RF01253 DS 0H 1363 03147000 * RFY 1363 03148000 * (RQCB, 1363 03149000 * IEDQQPTR) UNRSTD; 1363 03150000 * END VERIFY; /* VERIFIED ALL PLCBS RETURNING 03151000 * TO OPERATOR CONTROL */ 03152000 @EL00029 DS 0H 1364 03153000 @EF00029 DS 0H 1364 03154000 @ER00029 L @14,@SA00029 1364 03155000 BR @14 1364 03156000 * 1365 03157000 * /*****************************************************************/ 03158000 * /* */ 03159000 * /* THIS SUBROUTINE DOES THE ACTUAL SCAN AND INITIATES THE RESET */ 03160000 * /* AND REMOVAL REQUEST. */ 03161000 * /* */ 03162000 * /*****************************************************************/ 03163000 * 1365 03164000 *RVTSCAN: 1365 03165000 * PROC OPTIONS(RETREG,SAVE(14)); 1365 03166000 RVTSCAN ST @14,@SA00030 1365 03167000 * RFY 1366 03168000 * (RVTPTR, 1366 03169000 * REND, 1366 03170000 * IEDQRVTP, 1366 03171000 * IEDQSATP, 1366 03172000 * IEDQNATP, 1366 03173000 * RENTRY) RSTD; 1366 03174000 * IF NSLSDIAL=ON THEN /* DIAL REDRIVE? */ 03175000 TM NSLSDIAL(IEDNSLP),B'00010000' 1367 03176000 BNO @RF01367 1367 03177000 * DO; /* YES, REINTIALIZE PTRS */ 03178000 * LGBSAVED=NSLSAVE; /* RESTORE LGB ADDR @YM05736*/ 03179000 MVC LGBSAVED(3),NSLSAVE(IEDNSLP) 1369 03180000 * RNSLBFR=RNSLBFR-LENGTH(IEDNNSLD);/* BACKUP TO THE PREFIX */ 03181000 LA @14,8 1370 03182000 SLR RNSLBFR,@14 1370 03183000 * RVTPTR=RNSLBFR->NSLSAVE1; /* RESTORE THE RVT PTR */ 03184000 L RVTPTR,NSLSAVE1(,RNSLBFR) 1371 03185000 * REND=RNSLBFR->NSLSAVE2; /* RESTORE THE END OF RVT PTR */ 03186000 L REND,NSLSAVE2(,RNSLBFR) 1372 03187000 * RNSLBFR=RNSLBFR+LENGTH(IEDNNSLD);/* ADJUST THE PTR TO REG 1373 03188000 * BASE */ 03189000 ALR RNSLBFR,@14 1373 03190000 * END; /* REINITIALIZATION COMPLETE */ 03191000 * ELSE /* NORMAL PATH */ 03192000 * DO; /* SETUP NETWORK ADDR AND RVT */ 03193000 B @RC01367 1375 03194000 @RF01367 DS 0H 1376 03195000 * RVTPTR=RENTRY; /* SETUP NETWORK ADDRESS */ 03196000 LR RVTPTR,RENTRY 1376 03197000 * SHIFTLEN=((LENGTH(IEDNATD)*SHFTBITS)-SAVTSUBL);/* GET NO TO 03198000 * SHIFT */ 03199000 L @14,AVTSAVTP(,IEDQAPTR) 1377 03200000 LA @10,16 1377 03201000 SLR @07,@07 1377 03202000 IC @07,SAVTSUBL(,@14) 1377 03203000 SLR @10,@07 1377 03204000 STH @10,SHIFTLEN 1377 03205000 * SRL(RVTPTR,SHIFTLEN); /* SHIFT OUT THE ELEMENT ADDR */ 03206000 SRL RVTPTR,0(@10) 1378 03207000 * RVTPTR=((RVTPTR-ONE)*LENGTH(IEDSATD))+SAVTSAT;/* PT TO THE 1379 03208000 * RVT FOR THIS LINE */ 03209000 LR @10,RVTPTR 1379 03210000 BCTR @10,0 1379 03211000 SLA @10,3 1379 03212000 AL @10,SAVTSAT(,@14) 1379 03213000 LR RVTPTR,@10 1379 03214000 * RVTPTR=RVTPTR->SATRNRVT; /* GET THE RVT TABLE ADDR THAT 1380 03215000 * CONTAINS THIS LINE */ 03216000 L RVTPTR,SATRNRVT(,RVTPTR) 1380 03217000 * REND=RVTPTR+((RVTPTR->RVTNUM)*LENGTH(RVTINDEX));/* PT TO END */ 03218000 LH REND,RVTNUM(,RVTPTR) 1381 03219000 ALR REND,REND 1381 03220000 ALR REND,RVTPTR 1381 03221000 * RVTPTR=RVTPTR+LENGTH(RVTINDEX);/* POINT TO NCP TNT INDEX */ 03222000 AL RVTPTR,@CF00064 1382 03223000 * END; /* INITIALIZATION COMPLETED */ 03224000 * DO UNTIL(RPARM^=AVTFZERO&RVTEXIT=ON);/* FIND 1ST TNT INDEX THAT 03225000 * CAN BE USED @YM05736*/ 03226000 @RC01367 DS 0H 1384 03227000 @DL01384 DS 0H 1385 03228000 * RPARM=RVTPTR->RVTINDEX; /* GET TNT INDEX @YM05736*/ 03229000 LH RPARM,RVTINDEX(,RVTPTR) 1385 03230000 * IF RPARM^=AVTFZERO THEN /* TNT INDEX SET CURRENT TNT 1386 03231000 * INDEX @YM05736*/ 03232000 C RPARM,AVTFZERO(,IEDQAPTR) 1386 03233000 BE @RF01386 1386 03234000 * DO; /* YES @YM05736*/ 03235000 * RVTEXIT=ON; /* FOUND ONE @YM05736*/ 03236000 OI RVTEXIT,B'00000100' 1388 03237000 * NSLTTCIN=RPARM; /* SAVE TNT INDEX @YM05736*/ 03238000 STH RPARM,NSLTTCIN(,IEDNSLP) 1389 03239000 * END; /* READY TO LEAVE LOO@YM05736 */ 03240000 * ELSE /* EMPTY SLOT @YM05736*/ 03241000 * DO; /* YES @YM05736*/ 03242000 B @RC01386 1391 03243000 @RF01386 DS 0H 1392 03244000 * IF REND=RVTPTR THEN /* REACHED THE END @YM05736*/ 03245000 CR REND,RVTPTR 1392 03246000 BNE @RF01392 1392 03247000 * RVTEXIT=ON; /* SET EXIT SWITCH @YM05736*/ 03248000 OI RVTEXIT,B'00000100' 1393 03249000 * ELSE 1394 03250000 * ; /* CONTINUE TO LOOP @YM05736*/ 03251000 @RF01392 DS 0H 1395 03252000 * END; /* BUMPED TO NEXT @YM05736*/ 03253000 * RVTPTR=RVTPTR+LENGTH(RVTINDEX);/* PICK UP NEXT ENTRY @OY18822*/ 03254000 @RC01386 AL RVTPTR,@CF00064 1396 03255000 * END; /* DONE @YM05736*/ 03256000 @DE01384 C RPARM,AVTFZERO(,IEDQAPTR) 1397 03257000 BE @DL01384 1397 03258000 TM RVTEXIT,B'00000100' 1397 03259000 BNO @DL01384 1397 03260000 * DO WHILE(RVTPTR^=REND&EXITTIME=OFF&NSLBUFFR^=AVTFZERO);/* LOOP 1398 03261000 * UNTIL END OF THE TABLE IS 1398 03262000 * REACHED OR EXIT FLAG ON */ 03263000 B @DE01398 1398 03264000 @DL01398 DS 0H 1399 03265000 * IF NSLSDIAL=ON THEN /* DIAL REDRIVE */ 03266000 TM NSLSDIAL(IEDNSLP),B'00010000' 1399 03267000 BNO @RF01399 1399 03268000 * DO; /* YES, DON'T GET NEXT TNT I */ 03269000 * NSLSDIAL=OFF; /* TURN OFF REDRIVE SWITCH */ 03270000 NI NSLSDIAL(IEDNSLP),B'11101111' 1401 03271000 * RPARM=NSLTTCIN; /* USE THE TNT CURRENTLY WORK- 1402 03272000 * ING WITH BEFORE TEMP. EXIT */ 03273000 LH RPARM,NSLTTCIN(,IEDNSLP) 1402 03274000 N RPARM,@CF02262 1402 03275000 * END; /* DONE */ 03276000 * ELSE /* ADJUST TO NEXT TNT INDEX */ 03277000 * RPARM=RVTPTR->RVTINDEX; /* GET THE NEXT TNT INDEX */ 03278000 B @RC01399 1404 03279000 @RF01399 LH RPARM,RVTINDEX(,RVTPTR) 1404 03280000 * IF RPARM^=AVTFZERO THEN /* EMPTY SLOT IN RVT? */ 03281000 @RC01399 C RPARM,AVTFZERO(,IEDQAPTR) 1405 03282000 BE @RF01405 1405 03283000 * DO; /* NO, CONTINUE */ 03284000 * NSLTTCIN=RPARM; /* INDICATE CURRENT TNT INDEX */ 03285000 STH RPARM,NSLTTCIN(,IEDNSLP) 1407 03286000 * CALL GETTRM; /* GET TRM ENTRY ADDRESS */ 03287000 BAL @14,GETTRM 1408 03288000 * NSLCTTRM=RTRM; /* SETUP CURRENT TRM PTR */ 03289000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 1409 03290000 * IF TRMDIAL=ON&TRMTYPE^=TRMCTERM&TRMTYPE^=TRMNSDLC&TRMDESTQ-> 03291000 * QCBLGBAD=LGBSAVED THEN/* DIAL, NOT CTERM , NOT A LINE 03292000 * AND LGB MATCHES */ 03293000 TM TRMDIAL(RTRM),B'00001000' 1410 03294000 BNO @RF01410 1410 03295000 CLI TRMTYPE(RTRM),X'48' 1410 03296000 BE @RF01410 1410 03297000 CLI TRMTYPE(RTRM),X'20' 1410 03298000 BE @RF01410 1410 03299000 SLR @14,@14 1410 03300000 ICM @14,7,TRMDESTQ(RTRM) 1410 03301000 CLC QCBLGBAD(3,@14),LGBSAVED 1410 03302000 BNE @RF01410 1410 03303000 * DO; /* VALID ENTRY CONTINUE */ 03304000 * TRMSPACT=OFF; /* SET SUPERIOR RESOURCE ACT */ 03305000 NI TRMSPACT(RTRM),B'11101111' 1412 03306000 * IF NSLREQTY=NSLSTOPL& /* STOPLINE,C @YM09060*/ 03307000 * (AVTQUCKN=OFF&NCPPTR->TRMNCPCL=OFF) THEN 1413 03308000 CLI NSLREQTY(IEDNSLP),X'02' 1413 03309000 BNE @RF01413 1413 03310000 TM AVTQUCKN(IEDQAPTR),B'00000010' 1413 03311000 BNZ @RF01413 1413 03312000 L @14,NCPPTR-1 1413 03313000 TM TRMNCPCL(@14),B'01000000' 1413 03314000 BNZ @RF01413 1413 03315000 * DO; /* YES @YM08526*/ 03316000 * CALL CHKTSO; /* TSO SESSION? @YM08526*/ 03317000 BAL @14,CHKTSO 1415 03318000 * IF RENTRY=AVTFZERO THEN/* NOT IN TSO 1416 03319000 * SESSION@YM08526 */ 03320000 C RENTRY,AVTFZERO(,IEDQAPTR) 1416 03321000 BNE @RF01416 1416 03322000 * CALL STPTERM; /* STOP IF NECESSARY */ 03323000 BAL @14,STPTERM 1417 03324000 * ELSE 1418 03325000 * ; /* TSO SESSION @YM08526*/ 03326000 @RF01416 DS 0H 1419 03327000 * END; /* @YM08526*/ 03328000 * ELSE /* ALL OTHER STOPLINE@YM08526 */ 03329000 * CALL STPTERM; /* TRY TO STOP IT @YM08526*/ 03330000 B @RC01413 1420 03331000 @RF01413 BAL @14,STPTERM 1420 03332000 * IF TRMDESTQ->QCBDELAY=ON THEN/* ON TIME DELAY? @YM05736*/ 03333000 @RC01413 SLR @14,@14 1421 03334000 ICM @14,7,TRMDESTQ(RTRM) 1421 03335000 TM QCBDELAY(@14),B'00000010' 1421 03336000 BNO @RF01421 1421 03337000 * DO; /* YES, REQUEST REMOVAL */ 03338000 * RPARM=TRMDESTQ; /* GET QCB ADDRESS */ 03339000 LR RPARM,@14 1423 03340000 * CALL IEDQHG02; /* REQUEST REMOVAL */ 03341000 L @15,AVTHG02(,IEDQAPTR) 1424 03342000 BALR @14,@15 1424 03343000 * TRMDESTQ->QCBSLINK=TRMDESTQ->QCBSTCHN;/* RESET LINK 03344000 * FIELD @YM08480*/ 03345000 SLR @14,@14 1425 03346000 ICM @14,7,TRMDESTQ(RTRM) 1425 03347000 MVC QCBSLINK(3,@14),QCBSTCHN(@14) 1425 03348000 * TRMDESTQ->QCBSTCHN=ADDR(TRMDESTQ->QCBSTVTO);/* 1426 03349000 * SETUP STCB POINTER @YM08480*/ 03350000 LA @10,QCBSTVTO(,@14) 1426 03351000 STCM @10,7,QCBSTCHN(@14) 1426 03352000 * END; /* DEPRIMED THE RESOURCE */ 03353000 * ELSE 1428 03354000 * ; /* NOT ON THE QUE DO NOTHING */ 03355000 @RF01421 DS 0H 1429 03356000 * END; /* COMPLETED NECESSARY PRIMNG */ 03357000 * ELSE /* DIDN'T PASS ALL OR SNA */ 03358000 * DO; /* DETERMINE WHICH */ 03359000 B @RC01410 1430 03360000 @RF01410 DS 0H 1431 03361000 * IF TRMTYPE=TRMSDLC THEN/* SNA LINE? */ 03362000 CLI TRMTYPE(RTRM),X'21' 1431 03363000 BNE @RF01431 1431 03364000 * EXITTIME=ON; /* SET THE EXIT SWITCH */ 03365000 OI EXITTIME,B'00100000' 1432 03366000 * ELSE 1433 03367000 * ; /* CONTINUE LOOP */ 03368000 @RF01431 DS 0H 1434 03369000 * END; /* FOUND OUT WHICH */ 03370000 * END; /* COMPLETED ALL PROCESSING FOR 03371000 * NON-ZERO TNT INDEX */ 03372000 * ELSE 1436 03373000 * ; /* ZERO TNT INDEX FALL THRU */ 03374000 @RF01405 DS 0H 1437 03375000 * RVTPTR=RVTPTR+LENGTH(RVTINDEX);/* BUMP TO THE NEXT */ 03376000 @RC01405 AL RVTPTR,@CF00064 1437 03377000 * END; /* END OF DO WHILE */ 03378000 @DE01398 CR RVTPTR,REND 1438 03379000 BE @DC01398 1438 03380000 TM EXITTIME,B'00100000' 1438 03381000 BNZ @DC01398 1438 03382000 L @14,NSLBUFFR-1(,IEDNSLP) 1438 03383000 LA @14,0(,@14) 1438 03384000 C @14,AVTFZERO(,IEDQAPTR) 1438 03385000 BNE @DL01398 1438 03386000 @DC01398 DS 0H 1439 03387000 * IF EXITTIME=OFF&RVTPTR^=REND THEN/* NOT THROUGH YET @YM05736*/ 03388000 TM EXITTIME,B'00100000' 1439 03389000 BNZ @RF01439 1439 03390000 CR RVTPTR,REND 1439 03391000 BE @RF01439 1439 03392000 * DO; /* YES */ 03393000 * NSLSDIAL=ON; /* SET REDRIVE NEEDED */ 03394000 OI NSLSDIAL(IEDNSLP),B'00010000' 1441 03395000 * NSLSAVE=LGBSAVED; /* SAVE ACROSS POST @YM05736*/ 03396000 MVC NSLSAVE(3,IEDNSLP),LGBSAVED 1442 03397000 * RNSLBFR=RNSLBFR-LENGTH(IEDNNSLD);/* BACKUP TO PREFIX */ 03398000 LA @14,8 1443 03399000 SLR RNSLBFR,@14 1443 03400000 * RNSLBFR->NSLSAVE1=RVTPTR; /* SAVE THE RVT PTR */ 03401000 ST RVTPTR,NSLSAVE1(,RNSLBFR) 1444 03402000 * RNSLBFR->NSLSAVE2=REND; /* SAVE THE END OF RVT PTR */ 03403000 ST REND,NSLSAVE2(,RNSLBFR) 1445 03404000 * RNSLBFR=RNSLBFR+LENGTH(IEDNNSLD);/* ADJUST TO BASE STRUCTURE */ 03405000 ALR RNSLBFR,@14 1446 03406000 * END; /* DONE READY TO EXIT TEMP */ 03407000 * ELSE /* READY TO EXIT FOR GOOD */ 03408000 * EXITTIME=OFF; /* RESET SWITCH FOR NEXT TIME */ 03409000 B @RC01439 1448 03410000 @RF01439 NI EXITTIME,B'11011111' 1448 03411000 * RFY 1449 03412000 * (RVTPTR, 1449 03413000 * REND, 1449 03414000 * IEDQRVTP, 1449 03415000 * IEDQSATP, 1449 03416000 * IEDQNATP, 1449 03417000 * RENTRY) UNRSTD; 1449 03418000 * END RVTSCAN; 1450 03419000 @EL00030 DS 0H 1450 03420000 @EF00030 DS 0H 1450 03421000 @ER00030 L @14,@SA00030 1450 03422000 BR @14 1450 03423000 * 1451 03424000 * /*****************************************************************/ 03425000 * /* */ 03426000 * /* THIS SUBROUTINE INITIATES A REQUEST FOR A BUFFER OR A REQUEST */ 03427000 * /* TO STOP I/0. */ 03428000 * /* */ 03429000 * /*****************************************************************/ 03430000 * 1451 03431000 *STPLNEGP: 1451 03432000 * PROC OPTIONS(RETREG,SAVE(14)); 1451 03433000 STPLNEGP ST @14,@SA00031 1451 03434000 * DO WHILE(NSLBUFFR^=AVTFZERO&TRMTYPE^=TRMCLUST); 1452 03435000 B @DE01452 1452 03436000 @DL01452 DS 0H 1453 03437000 * IF TRMGPACT=ON THEN /* GENERAL POLLING? @YM05730*/ 03438000 TM TRMGPACT(RTRM),B'00001000' 1453 03439000 BNO @RF01453 1453 03440000 * TRMGPACT=OFF; /* NO GP @YM05730*/ 03441000 LA @15,TRMGPACT(,RTRM) 1454 03442000 LR @14,@15 1454 03443000 LA @10,3 1454 03444000 NR @14,@10 1454 03445000 LCR @14,@14 1454 03446000 ALR @15,@14 1454 03447000 L @10,0(,@15) 1454 03448000 @GL00075 LR @03,@10 1454 03449000 N @03,@CB02272+3(@14) 1454 03450000 CS @10,@03,0(@15) 1454 03451000 BNE @GL00075 1454 03452000 * ELSE 1455 03453000 * ; /* FALL THROUGH @YM05730*/ 03454000 @RF01453 DS 0H 1456 03455000 * IF NSLREQTY=NSLSTOPL& /* STOPLINE,C @YM09060*/ 03456000 * (AVTQUCKN=OFF&NCPPTR->TRMNCPCL=OFF) THEN 1456 03457000 CLI NSLREQTY(IEDNSLP),X'02' 1456 03458000 BNE @RF01456 1456 03459000 TM AVTQUCKN(IEDQAPTR),B'00000010' 1456 03460000 BNZ @RF01456 1456 03461000 L @10,NCPPTR-1 1456 03462000 TM TRMNCPCL(@10),B'01000000' 1456 03463000 BNZ @RF01456 1456 03464000 * DO; /* YES @YM08526*/ 03465000 * CALL CHKTSO; /* TSO SESSION? @YM08526*/ 03466000 BAL @14,CHKTSO 1458 03467000 * IF RENTRY=AVTFZERO THEN /* NOT IN TSO SESSION@YM08526 */ 03468000 C RENTRY,AVTFZERO(,IEDQAPTR) 1459 03469000 BNE @RF01459 1459 03470000 * CALL STPTERM; /* STOP I/O IF POSSIBLE */ 03471000 BAL @14,STPTERM 1460 03472000 * ELSE 1461 03473000 * ; /* DO NOTHING @YM08526*/ 03474000 @RF01459 DS 0H 1462 03475000 * END; /* @YM08526*/ 03476000 * ELSE /* ALL OTHER STOPLINE@YM08526 */ 03477000 * CALL STPTERM; /* TRY TO STOP IT @YM08526*/ 03478000 B @RC01456 1463 03479000 @RF01456 BAL @14,STPTERM 1463 03480000 * NSLTTCIN=TRMCOHRT; /* GET THE TNT INDEX */ 03481000 @RC01456 LH @10,TRMCOHRT(,RTRM) 1464 03482000 N @10,@CF02262 1464 03483000 STH @10,NSLTTCIN(,IEDNSLP) 1464 03484000 * RPARM=NSLTTCIN; /* SETUP INTERFACE TO GETTRM */ 03485000 LR RPARM,@10 1465 03486000 * CALL GETTRM; /* GET TRM ENTRY ADDRESS */ 03487000 BAL @14,GETTRM 1466 03488000 * NSLCTTRM=RTRM; /* SETUP CURRENT TRM ENTRY */ 03489000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 1467 03490000 * END; /* END THE DO WHILE */ 03491000 @DE01452 L @10,NSLBUFFR-1(,IEDNSLP) 1468 03492000 LA @10,0(,@10) 1468 03493000 C @10,AVTFZERO(,IEDQAPTR) 1468 03494000 BE @DC01452 1468 03495000 CLI TRMTYPE(RTRM),X'40' 1468 03496000 BNE @DL01452 1468 03497000 @DC01452 DS 0H 1469 03498000 * IF TRMTYPE^=TRMCLUST THEN /* EXIT BECAUSE A BUF IS REQ */ 03499000 CLI TRMTYPE(RTRM),X'40' 1469 03500000 BE @RF01469 1469 03501000 * NSLGPTSP=ON; /* YES, SET REDRIVE */ 03502000 OI NSLGPTSP(IEDNSLP),B'01000000' 1470 03503000 * ELSE 1471 03504000 * ; /* FINISHED NOW */ 03505000 @RF01469 DS 0H 1472 03506000 * END STPLNEGP; /* DONE WITH GP */ 03507000 @EL00031 DS 0H 1472 03508000 @EF00031 DS 0H 1472 03509000 @ER00031 L @14,@SA00031 1472 03510000 BR @14 1472 03511000 *GETNCP: 1473 03512000 * PROC OPTIONS(RETREG,SAVE(14)); /* GET NCP TTE @YM06090*/ 03513000 GETNCP ST @14,@SA00032 1473 03514000 * DO UNTIL TRMTYPE=TRMLNCP; /* LOOP UNTIL REACH NCP @YM05736*/ 03515000 @DL01474 DS 0H 1475 03516000 * RPARM=TRMCOHRT; /* GET NEXT LINE TNT INDEX 1475 03517000 * @YM05736*/ 03518000 LH RPARM,TRMCOHRT(,RTRM) 1475 03519000 N RPARM,@CF02262 1475 03520000 * CALL GETTRM; /* GET TRM ENTRY @YM05736*/ 03521000 BAL @14,GETTRM 1476 03522000 * END; /* END OF DO UNTIL @YM05736*/ 03523000 @DE01474 CLI TRMTYPE(RTRM),X'0F' 1477 03524000 BNE @DL01474 1477 03525000 * END GETNCP; /* GOT NCP TTE @YM05736*/ 03526000 @EL00032 DS 0H 1478 03527000 @EF00032 DS 0H 1478 03528000 @ER00032 L @14,@SA00032 1478 03529000 BR @14 1478 03530000 * 1479 03531000 * /*****************************************************************/ 03532000 * /* */ 03533000 * /* THIS SUBROUTINE HANDLES THE STARTGP REQUEST BY STOPPING ALL */ 03534000 * /* THE TERMINALS UNDER THE CONTROL UNIT THAT ARE IN SPECIFIC MODE*/ 03535000 * /* AND EVENTUALLY INITIATING GENERAL POLL OPERATION. */ 03536000 * /* */ 03537000 * /*****************************************************************/ 03538000 * 1479 03539000 *STARTGP: 1479 03540000 * PROC OPTIONS(RETREG,SAVE(14)); 1479 03541000 STARTGP ST @14,@SA00033 1479 03542000 * RFY 1480 03543000 * (RQCB, 1480 03544000 * IEDQQPTR) RSTD; 1480 03545000 * IF NSLGPTSP=ON THEN /* BUFFER BEEN REQUESTED? */ 03546000 TM NSLGPTSP(IEDNSLP),B'01000000' 1481 03547000 BNO @RF01481 1481 03548000 * DO; /* YES, INITIALIZE THE PTRS AS 1482 03549000 * BEFORE THE EXIT FOR BFR */ 03550000 * RTRM=NSLCTTRM; /* GET THE CURRENT TRM ADDR */ 03551000 L RTRM,NSLCTTRM-1(,IEDNSLP) 1483 03552000 LA RTRM,0(,RTRM) 1483 03553000 * NSLGPTSP=OFF; /* RESET STARTGP RESUME 1484 03554000 * PROCESSING SWITCH */ 03555000 NI NSLGPTSP(IEDNSLP),B'10111111' 1484 03556000 * END; /* COMPLETED INITIALIZATION */ 03557000 * ELSE /* FIRST TIME PROCESSING */ 03558000 * DO; /* PERFORM FIRST TIME PROCSS */ 03559000 B @RC01481 1486 03560000 @RF01481 DS 0H 1487 03561000 * RTRM=NSLTTEPT; /* GET THE TERMINAL ENTRY @ */ 03562000 L RTRM,NSLTTEPT(,IEDNSLP) 1487 03563000 * RTRM=RTRM-LENGTH(IEDNTRM); /* BACKUP TO PREFIX */ 03564000 SL RTRM,@CF01178 1488 03565000 * TRMGPACT=ON; /* SET GENERAL POLL ACTIVE */ 03566000 * TRMRSACT=ON; /* INDICATE CONTROL UNIT IS 1490 03567000 * ACTIVE */ 03568000 LA @03,TRMGPACT(,RTRM) 1490 03569000 LR @15,@03 1490 03570000 LA @10,3 1490 03571000 NR @15,@10 1490 03572000 LCR @15,@15 1490 03573000 ALR @03,@15 1490 03574000 L @10,0(,@03) 1490 03575000 @GL00079 LR @06,@10 1490 03576000 O @06,@CB02282+3(@15) 1490 03577000 CS @10,@06,0(@03) 1490 03578000 BNE @GL00079 1490 03579000 * PLCBRCTR=AVTEZERO; /* INTIALIZE THE COUNT */ 03580000 MVI PLCBRCTR,X'00' 1491 03581000 * RPARM=TRMSUBST; /* GET THE 1ST SUBSTRUCTURE */ 03582000 LH RPARM,TRMSUBST(,RTRM) 1492 03583000 N RPARM,@CF02262 1492 03584000 * CALL GETTRM; /* GET THE TRM ENTRY ADDRESS */ 03585000 BAL @14,GETTRM 1493 03586000 * DO UNTIL(TRMTYPE=TRMCLUST); /* DO ONLY IF IT IS NOT C.U. */ 03587000 @DL01494 DS 0H 1495 03588000 * RQCB=TRMDESTQ; /* GET THE QCB ADDRESS */ 03589000 SLR RQCB,RQCB 1495 03590000 ICM RQCB,7,TRMDESTQ(RTRM) 1495 03591000 * IF QCBPLCBN=ON THEN /* IS A PLCB ASSIGNED? */ 03592000 LR @10,IEDQQPTR 1496 03593000 SL @10,@CF00044 1496 03594000 TM QCBPLCBN(@10),B'10000000' 1496 03595000 BNO @RF01496 1496 03596000 * DO; /* YES, SET OCNI IN PLCB */ 03597000 * QCBPLCBA->LCBOCNI=ON; /* SET OCNI TO PREVENT ANY 1498 03598000 * FURTHER ACTION */ 03599000 L @10,QCBPLCBA-1(,@10) 1498 03600000 OI LCBOCNI(@10),B'00100000' 1498 03601000 * TRMOCNI=ON; /* SET TRMOCNI ALSO IN CASE THE 03602000 * PLCB IS FREED */ 03603000 OI TRMOCNI(RTRM),B'00100000' 1499 03604000 * PLCBRCTR=PLCBRCTR+ONE;/* INDICATE 1 MORE PLCB WILL 1500 03605000 * RETURN TO OPERATOR CONTROL */ 03606000 IC @10,PLCBRCTR 1500 03607000 LA @10,1(,@10) 1500 03608000 STC @10,PLCBRCTR 1500 03609000 * END; /* FINISHED IF A PLCB IS ASSG */ 03610000 * ELSE /* NO PLCB CHK FOR CURR ACT. */ 03611000 * DO; /* PERFORMED IF NO PLCB ASSGN */ 03612000 B @RC01496 1502 03613000 @RF01496 DS 0H 1503 03614000 * IF TRMINOUT=ON|TRMRDOUT=ON THEN/* INVITE OR READ 1503 03615000 * OUTSTANDING */ 03616000 TM TRMINOUT(RTRM),B'00000011' 1503 03617000 BZ @RF01503 1503 03618000 * DO; /* YES PREVENT ANY FURTHER 1504 03619000 * SPECIFIC POLL ACTION */ 03620000 * TRMOCNI=ON; /* SET OCNI TO PREVENT ACTION */ 03621000 OI TRMOCNI(RTRM),B'00100000' 1505 03622000 * PLCBRCTR=PLCBRCTR+ONE;/* INDICATE 1 MORE TO RETURN */ 03623000 IC @10,PLCBRCTR 1506 03624000 LA @10,1(,@10) 1506 03625000 STC @10,PLCBRCTR 1506 03626000 * END; /* FINISHED IF RD OR INV OUT */ 03627000 * ELSE 1508 03628000 * ; /* DON'T SET OCNI DOING ZERO */ 03629000 @RF01503 DS 0H 1509 03630000 * END; /* FINISHED IF NO PLCB ASSIGN */ 03631000 * TRMGPACT=ON; /* SET GP ACTIVE TO PREVENT ANY 03632000 * FURTHER SPECIFIC POLL ACTION */ 03633000 @RC01496 LA @03,TRMGPACT(,RTRM) 1510 03634000 LR @15,@03 1510 03635000 LA @10,3 1510 03636000 NR @15,@10 1510 03637000 LCR @15,@15 1510 03638000 ALR @03,@15 1510 03639000 L @10,0(,@03) 1510 03640000 @GL00080 LR @06,@10 1510 03641000 O @06,@CB02264+3(@15) 1510 03642000 CS @10,@06,0(@03) 1510 03643000 BNE @GL00080 1510 03644000 * RPARM=TRMCOHRT; /* GET THE ADJACENT STRUCTURE */ 03645000 LH RPARM,TRMCOHRT(,RTRM) 1511 03646000 N RPARM,@CF02262 1511 03647000 * CALL GETTRM; /* GET TRM ENTRY ADDRESS */ 03648000 BAL @14,GETTRM 1512 03649000 * END; /* FINISHED DO LOOP */ 03650000 @DE01494 CLI TRMTYPE(RTRM),X'40' 1513 03651000 BNE @DL01494 1513 03652000 * TRMGPCNT=PLCBRCTR; /* INDICATE THE NUMBER OF PLCB TO 03653000 * RETURN TO OP CONTROL */ 03654000 MVC TRMGPCNT(1,RTRM),PLCBRCTR 1514 03655000 * IF TRMGPCNT^=AVTEZERO THEN /* ANY PLCBS RETURNNG TO OPCB */ 03656000 CLI TRMGPCNT(RTRM),X'00' 1515 03657000 BE @RF01515 1515 03658000 * NSLPLCBR=ON; /* SET PLCB SWTCH INDICATOR */ 03659000 OI NSLPLCBR(IEDNSLP),B'10000000' 1516 03660000 * ELSE /* INITIALIZE PLCB RETURN */ 03661000 * NSLPLCBR=OFF; /* SWITCH INDICATING NO RETRN */ 03662000 B @RC01515 1517 03663000 @RF01515 NI NSLPLCBR(IEDNSLP),B'01111111' 1517 03664000 * RFY 1518 03665000 * (IEDQQPTR, 1518 03666000 * RQCB) UNRSTD; 1518 03667000 @RC01515 DS 0H 1519 03668000 * NSLTTCIN=TRMSUBST; /* GET FIRST SUBSTRUCTURE */ 03669000 LH @10,TRMSUBST(,RTRM) 1519 03670000 N @10,@CF02262 1519 03671000 STH @10,NSLTTCIN(,IEDNSLP) 1519 03672000 * RPARM=NSLTTCIN; /* SETUP INTERFACE TO GET 1520 03673000 * TERMINAL ENTRY ADDRESS */ 03674000 LR RPARM,@10 1520 03675000 * CALL GETTRM; /* GET TERMINAL ENTRY ADDR */ 03676000 BAL @14,GETTRM 1521 03677000 * NSLCTTRM=RTRM; /* EST. CURRENT TRM ENTRY IN THE 03678000 * BUFFER */ 03679000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 1522 03680000 * END; /* FINISHED FIRST TIME 1523 03681000 * INITIALIZATION */ 03682000 * CALL STPGPTRM; /* STOP SPECIFIC TERMINAL IF ANY */ 03683000 @RC01481 BAL @14,STPGPTRM 1524 03684000 * IF NSLGPTSP=OFF THEN /* DID THE PREVIOUS SUBROUTNE 1525 03685000 * NEED A BUFFER */ 03686000 TM NSLGPTSP(IEDNSLP),B'01000000' 1525 03687000 BNZ @RF01525 1525 03688000 * DO; /* NO CHECK FOR BFR IN CHAIN */ 03689000 * IF NSLBUFFR^=AVTFZERO THEN /* ANY BUFFERS IN ERB CHAIN */ 03690000 L @10,NSLBUFFR-1(,IEDNSLP) 1527 03691000 LA @10,0(,@10) 1527 03692000 C @10,AVTFZERO(,IEDQAPTR) 1527 03693000 BE @RF01527 1527 03694000 * CALL FREEBUF; /* FREE THE EXTRA BUFFER */ 03695000 BAL @14,FREEBUF 1528 03696000 * ELSE 1529 03697000 * ; /* NO EXTRA BUFFER CONTINUE */ 03698000 @RF01527 DS 0H 1530 03699000 * IF NSLPLCBR=ON THEN /* WILL A PLCB RETURN TO OPCB */ 03700000 TM NSLPLCBR(IEDNSLP),B'10000000' 1530 03701000 BNO @RF01530 1530 03702000 * CALL FREEBUF; /* YES FREE THE NSL REQ BUFFR */ 03703000 BAL @14,FREEBUF 1531 03704000 * ELSE /* NO PLCB TO WAKE UP OPCNTRL */ 03705000 * CALL POSTOPCB; /* POST REQ BFR TO DO THAT */ 03706000 B @RC01530 1532 03707000 @RF01530 BAL @14,POSTOPCB 1532 03708000 * END; /* READY TO EXIT FOR GOOD */ 03709000 * ELSE 1534 03710000 * ; /* DO NOTHING UNTIL THE BFR 1534 03711000 * RETURNS */ 03712000 @RF01525 DS 0H 1535 03713000 * END STARTGP; /* FINISHED STARTGP REQUEST */ 03714000 @EL00033 DS 0H 1535 03715000 @EF00033 DS 0H 1535 03716000 @ER00033 L @14,@SA00033 1535 03717000 BR @14 1535 03718000 * 1536 03719000 * /*****************************************************************/ 03720000 * /* */ 03721000 * /* THIS ROUTINE ISSUES THE ACTUAL REQUEST TO STOP I/O. */ 03722000 * /* */ 03723000 * /*****************************************************************/ 03724000 * 1536 03725000 *STPGPTRM: 1536 03726000 * PROC OPTIONS(RETREG,SAVE(14)); 1536 03727000 STPGPTRM ST @14,@SA00034 1536 03728000 * RFY 1537 03729000 * (RPRF, 1537 03730000 * IEDQPPTR, 1537 03731000 * IEDQQPTR, 1537 03732000 * RQCB) RSTD; 1537 03733000 * EXTEXIT=OFF; /* INTIALIZE THE EXIT SWITCH */ 03734000 NI EXTEXIT,B'10111111' 1538 03735000 * DO WHILE(NSLBUFFR^=AVTFZERO&EXTEXIT=OFF); 1539 03736000 B @DE01539 1539 03737000 @DL01539 DS 0H 1540 03738000 * RQCB=TRMDESTQ; /* GET THE QCB ADDRESS */ 03739000 SLR RQCB,RQCB 1540 03740000 ICM RQCB,7,TRMDESTQ(RTRM) 1540 03741000 * IF QCBPLCBN=OFF&(TRMINOUT=ON|TRMRDOUT=ON) THEN/* IF PLCB IS NOT 03742000 * ASSIGNED AND EITHER A READ OR 03743000 * INVITE IS OUTSTANDING THEN */ 03744000 LR @10,IEDQQPTR 1541 03745000 AL @10,@CF02259 1541 03746000 TM QCBPLCBN-4(@10),B'10000000' 1541 03747000 BNZ @RF01541 1541 03748000 TM TRMINOUT(RTRM),B'00000011' 1541 03749000 BZ @RF01541 1541 03750000 * DO; /* SEND THE RESET */ 03751000 * RPRF=NSLBUFFR; /* GET THE BFR ADDR FROM ERB 1543 03752000 * CHAIN */ 03753000 L RPRF,NSLBUFFR-1(,IEDNSLP) 1543 03754000 LA RPRF,0(,RPRF) 1543 03755000 * NSLBUFFR=''B; /* CLEAR ERB CHAIN BFR */ 03756000 SLR @10,@10 1544 03757000 STCM @10,7,NSLBUFFR(IEDNSLP) 1544 03758000 * CALL BUILD; /* BUILD THE RESET */ 03759000 BAL @14,BUILD 1545 03760000 * RPARM=RPRF; /* SETUP REG1 TO POST@YM03734 */ 03761000 LR RPARM,RPRF 1546 03762000 * CALL POSTELEM; /* PUT ON QUE @YM03734*/ 03763000 BAL @14,POSTELEM 1547 03764000 * END; /* FINISHED WITH NO PLCB NO READ 03765000 * OR INVITE OUTSTND AND */ 03766000 * ELSE 1549 03767000 * ; /* PLCB IS ASSIGNED DO NOTHNG */ 03768000 @RF01541 DS 0H 1550 03769000 * NSLTTCIN=TRMCOHRT; /* GET ADJACENT SUBSTRUCTURE */ 03770000 LH @10,TRMCOHRT(,RTRM) 1550 03771000 N @10,@CF02262 1550 03772000 STH @10,NSLTTCIN(,IEDNSLP) 1550 03773000 * RPARM=NSLTTCIN; /* SET INTERFACE TO GET TRM @ */ 03774000 LR RPARM,@10 1551 03775000 * CALL GETTRM; /* GET TRM ENTRY ADDRESS */ 03776000 BAL @14,GETTRM 1552 03777000 * NSLCTTRM=RTRM; /* EST. TRM ENTRY IN NSLBFR */ 03778000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 1553 03779000 * IF TRMTYPE=TRMCLUST THEN /* LOOP TO THE CLUSTER? */ 03780000 CLI TRMTYPE(RTRM),X'40' 1554 03781000 BNE @RF01554 1554 03782000 * EXTEXIT=ON; /* SET EXIT SWITCH TO GET OUT */ 03783000 OI EXTEXIT,B'01000000' 1555 03784000 * ELSE 1556 03785000 * ; /* NOT CLUSTER CONTINUE LOOP */ 03786000 @RF01554 DS 0H 1557 03787000 * END; /* END OF DO UNTIL LOOP FOR 1557 03788000 * CLUSTER */ 03789000 @DE01539 L @10,NSLBUFFR-1(,IEDNSLP) 1557 03790000 LA @10,0(,@10) 1557 03791000 C @10,AVTFZERO(,IEDQAPTR) 1557 03792000 BE @DC01539 1557 03793000 TM EXTEXIT,B'01000000' 1557 03794000 BZ @DL01539 1557 03795000 @DC01539 DS 0H 1558 03796000 * IF EXTEXIT=OFF THEN /* DETERMINE IF IT IS TIME TO 1558 03797000 * EXIT */ 03798000 TM EXTEXIT,B'01000000' 1558 03799000 BNZ @RF01558 1558 03800000 * DO; /* NO, REQUEST A BUFFER */ 03801000 * CALL GETBUF; /* NO A BUFFER IS NEEDED */ 03802000 BAL @14,GETBUF 1560 03803000 * NSLGPTSP=ON; /* SET GP TERM BUFFER RETURN */ 03804000 OI NSLGPTSP(IEDNSLP),B'01000000' 1561 03805000 * END; /* NOW READY TO EXIT FOR BFR */ 03806000 * ELSE 1563 03807000 * ; /* READY TO EXIT */ 03808000 @RF01558 DS 0H 1564 03809000 * RFY 1564 03810000 * (IEDQPPTR, 1564 03811000 * RPRF, 1564 03812000 * IEDQQPTR, 1564 03813000 * RQCB) UNRSTD; 1564 03814000 * END STPGPTRM; /* STOP ALL SUBSTRUCTURES UNDER 03815000 * THE CONTROL UNIT */ 03816000 @EL00034 DS 0H 1565 03817000 @EF00034 DS 0H 1565 03818000 @ER00034 L @14,@SA00034 1565 03819000 BR @14 1565 03820000 * 1566 03821000 * /*****************************************************************/ 03822000 * /* */ 03823000 * /* THIS SUBROUTINE INITIATES THE STOPPING OF GENERAL POLL AND ALL*/ 03824000 * /* THE TERMINALS UNDER THE CONTROL UNIT ARE BROUGHT UP AGAIN TO */ 03825000 * /* RUN IN SPECIFIC MODE TO COMPLETE THE REQUEST. */ 03826000 * /* */ 03827000 * /*****************************************************************/ 03828000 * 1566 03829000 *STOPGP: 1566 03830000 * PROC OPTIONS(RETREG,SAVE(14)); 1566 03831000 STOPGP ST @14,@SA00035 1566 03832000 * RFY 1567 03833000 * (IEDQQPTR, 1567 03834000 * RQCB, 1567 03835000 * RLCB, 1567 03836000 * IEDQLPTR) RSTD; 1567 03837000 * RTRM=NSLTTEPT; /* GET THE TERMINAL ENTRY @ */ 03838000 L RTRM,NSLTTEPT(,IEDNSLP) 1568 03839000 * RTRM=RTRM-LENGTH(IEDNTRM); /* BACKUP TO PREFIX */ 03840000 SL RTRM,@CF01178 1569 03841000 * TRMOCNI=ON; /* STP IN PROGRESS */ 03842000 OI TRMOCNI(RTRM),B'00100000' 1570 03843000 * TRMRSACT=OFF; /* DEACTIVATE THE CU */ 03844000 LA @05,TRMRSACT(,RTRM) 1571 03845000 LR @03,@05 1571 03846000 LA @10,3 1571 03847000 NR @03,@10 1571 03848000 LCR @03,@03 1571 03849000 ALR @05,@03 1571 03850000 L @10,0(,@05) 1571 03851000 @GL00083 LR @06,@10 1571 03852000 N @06,@CB02252+3(@03) 1571 03853000 CS @10,@06,0(@05) 1571 03854000 BNE @GL00083 1571 03855000 * RQCB=TRMDESTQ; /* GET THE QCB ADRESS */ 03856000 SLR RQCB,RQCB 1572 03857000 ICM RQCB,7,TRMDESTQ(RTRM) 1572 03858000 * IF QCBPLCBN=ON THEN /* PLCB ASSIGNED */ 03859000 LR @10,IEDQQPTR 1573 03860000 SL @10,@CF00044 1573 03861000 TM QCBPLCBN(@10),B'10000000' 1573 03862000 BNO @RF01573 1573 03863000 * DO; /* YES JUST SET OCNI */ 03864000 * RLCB=QCBPLCBA; /* GET LCB ADDRESS */ 03865000 L RLCB,QCBPLCBA-1(,@10) 1575 03866000 LA RLCB,0(,RLCB) 1575 03867000 * LCBOCNI=ON; /* STP IN PROGRESS */ 03868000 OI LCBOCNI(IEDQLPTR),B'00100000' 1576 03869000 * CALL FREEBUF; /* PLCB WILL RETURN TO OP CONTROL 03870000 * SO FREE NSL BFR */ 03871000 BAL @14,FREEBUF 1577 03872000 * END; /* PROCESSEDTHE CU WITH PLCB */ 03873000 * ELSE /* NO PLCB IS ASSIGNED */ 03874000 * DO; /* BUILD RESET IN NSL REQ BFR */ 03875000 B @RC01573 1579 03876000 @RF01573 DS 0H 1580 03877000 * IF TRMINOUT=ON THEN /* IF INVITE PERPET. @XM05720*/ 03878000 TM TRMINOUT(RTRM),B'00000001' 1580 03879000 BNO @RF01580 1580 03880000 * DO; /* OUTSTANDING THEN @XM05720*/ 03881000 * SAVCUTNT=NSLTTCIN; /* SAVE THE TTCIN BEFORE THE 1582 03882000 * CLEARING OF THE BUFFER 1582 03883000 * @YM04642*/ 03884000 LH @10,NSLTTCIN(,IEDNSLP) 1582 03885000 N @10,@CF02262 1582 03886000 STH @10,SAVCUTNT 1582 03887000 * IEDNSLD=''B; /* CLEAR THE BUFFER */ 03888000 XC IEDNSLD(48,IEDNSLP),IEDNSLD(IEDNSLP) 1583 03889000 * RFY 1584 03890000 * (IEDQPPTR, 1584 03891000 * RPRF) RSTD; 1584 03892000 * RPRF=RNSLBFR; /* EST. ADDRESSABILITY */ 03893000 LR RPRF,RNSLBFR 1585 03894000 * CALL BUILD; /* BUILD THE RESET */ 03895000 BAL @14,BUILD 1586 03896000 * RFY 1587 03897000 * IEDPIU0 BASED(ADDR(PRFPIUO)+OFFSET); 1587 03898000 * PIU0PAD=PIU0PAD0; /* SETUP THE PAD @YM04642*/ 03899000 LA @10,PRFPIUO(,IEDQPPTR) 1588 03900000 LA @05,1 1588 03901000 ALR @05,@10 1588 03902000 MVI PIU0PAD(@05),X'00' 1588 03903000 * RFY 1589 03904000 * IEDTH BASED(ADDR(PIU0TH)); 1589 03905000 * TTHDAF=SAVCUTNT; /* SET DAF @YM04642*/ 03906000 MVC TTHDAF(2,@05),SAVCUTNT 1590 03907000 * RFY 1591 03908000 * IEDBDU BASED(ADDR(PIU0RU)); 1591 03909000 * BDUMODIF=CD0CREOC; /* CHANGE MODIFIER TO RESET AT 1592 03910000 * THE END OF COMMAND */ 03911000 MVI BDUMODIF+15(@10),X'60' 1592 03912000 * RPARM=RPRF; /* SETUP TO POST @YM03734*/ 03913000 LR RPARM,RPRF 1593 03914000 * CALL POSTELEM; /* POST RESET TO BE SENT TO THE 03915000 * 3705 */ 03916000 BAL @14,POSTELEM 1594 03917000 * RFY 1595 03918000 * (IEDQPPTR, 1595 03919000 * RPRF) UNRSTD; 1595 03920000 * END; /* @XM05720*/ 03921000 * ELSE /* NO INVITE OUT. @XM05720*/ 03922000 * DO; /* @XM05720*/ 03923000 B @RC01580 1597 03924000 @RF01580 DS 0H 1598 03925000 * CALL PRIMERCV; /* REQUEST A RCV OP WHICH WILL 1598 03926000 * CAUSE A PLCB TO BE ASSIGNED 1598 03927000 * WITH LCBOCNI SET. THIS WILL 1598 03928000 * CAUSE THE PLCB TO BE RETURNED 03929000 * TO OP. CTL. (IGCVA10D) 1598 03930000 * @XM05720*/ 03931000 BAL @14,PRIMERCV 1598 03932000 * CALL FREEBUF; /* FREE NSL BFR @XM05720*/ 03933000 BAL @14,FREEBUF 1599 03934000 * END; /* @XM05720*/ 03935000 * END; /* COMPLETED PROCESSING W/0 PLCB */ 03936000 * RFY 1602 03937000 * (IEDQLPTR, 1602 03938000 * RLCB, 1602 03939000 * IEDQQPTR, 1602 03940000 * RQCB) UNRSTD; 1602 03941000 * END STOPGP; /* FINISHED WITH STOP GP REQ */ 03942000 @EL00035 DS 0H 1603 03943000 @EF00035 DS 0H 1603 03944000 @ER00035 L @14,@SA00035 1603 03945000 BR @14 1603 03946000 * 1604 03947000 * /*****************************************************************/ 03948000 * /* */ 03949000 * /* TO PROCESS A REQUEST BY ACTIVATE TO PRIME A LU. */ 03950000 * /* */ 03951000 * /*****************************************************************/ 03952000 * 1604 03953000 *STARTLU: 1604 03954000 * PROC OPTIONS(RETREG,SAVE(14)); 1604 03955000 STARTLU ST @14,@SA00036 1604 03956000 * RTRM=NSLTTEPT; /* SET UP INPUT LINE ADDR */ 03957000 L RTRM,NSLTTEPT(,IEDNSLP) 1605 03958000 * RTRM=RTRM-LENGTH(IEDNTRM); /* BACKUP TO PREFIX */ 03959000 SL RTRM,@CF01178 1606 03960000 * NSLCTTRM=RTRM; /* GET THE CURRENT LU TRM @ */ 03961000 STCM RTRM,7,NSLCTTRM(IEDNSLP) 1607 03962000 * CALL PRIMER; /* TRY TO GET A SESSION STARTED 03963000 * IF NECESSARY */ 03964000 BAL @14,PRIMER 1608 03965000 * CALL FREEBUF; /* FREE THE REQUEST BUFFER NO 1609 03966000 * RESPONSE REQUIRED */ 03967000 BAL @14,FREEBUF 1609 03968000 * END STARTLU; /* COMPLETED START LU PROCSS */ 03969000 @EL00036 DS 0H 1610 03970000 @EF00036 DS 0H 1610 03971000 @ER00036 L @14,@SA00036 1610 03972000 BR @14 1610 03973000 * 1611 03974000 * /*****************************************************************/ 03975000 * /* */ 03976000 * /* THIS SUBROUTINE PROCESS A PRIME REQUEST FOR A GENERAL POLL */ 03977000 * /* RESOURCE BECAUSE OF A STARTGP OR STOPGP INITIAL REQUEST. */ 03978000 * /* EITHER A SEND OR RECEIVE OPERATION IS INITIATED BASED ON THE */ 03979000 * /* STATE OF THE RESOURCE DURING THE PROCESSING OF THE INTIAL */ 03980000 * /* REQUEST. */ 03981000 * /* */ 03982000 * /*****************************************************************/ 03983000 * 1611 03984000 *PRIMEGP: 1611 03985000 * PROC OPTIONS(RETREG,SAVE(14)); 1611 03986000 PRIMEGP ST @14,@SA00037 1611 03987000 * RFY 1612 03988000 * (IEDQLPTR, 1612 03989000 * RLCB, 1612 03990000 * RQCB, 1612 03991000 * IEDQQPTR) RSTD; 1612 03992000 * RNSLBFR=RPARM; /* SET PARAMETER PASSED TO BE 1613 03993000 * ADDRESSABLE */ 03994000 LR RNSLBFR,RPARM 1613 03995000 * RTRM=NSLTTEPT; /* GET THE TERMINAL ENTRY @ */ 03996000 L RTRM,NSLTTEPT(,IEDNSLP) 1614 03997000 * RTRM=RTRM-LENGTH(IEDNTRM); /* BACKUP TO PREFIX */ 03998000 SL RTRM,@CF01178 1615 03999000 * IF NSLREQTY=NSLSTRGP THEN /* STARTGP REQUEST? */ 04000000 CLI NSLREQTY(IEDNSLP),X'05' 1616 04001000 BNE @RF01616 1616 04002000 * DO; /* YES, PERFORM PRIME RECEIVE FOR 04003000 * ONTP */ 04004000 * CALL PRIMERCV; /* PRIME RECEIVE */ 04005000 BAL @14,PRIMERCV 1618 04006000 * CALL FREEBUF; /* FREE UP THE REQUEST BFR */ 04007000 BAL @14,FREEBUF 1619 04008000 * END; /* FINISHED WITH PRIME FOR ONTP */ 04009000 * ELSE /* STOPGP REQUEST */ 04010000 * DO; /* PERFORM PRIME RECEIVE FOR 1621 04011000 * OFFTP REQUEST */ 04012000 B @RC01616 1621 04013000 @RF01616 DS 0H 1622 04014000 * TRMGPACT=OFF; /* RESET GP ACTIVE */ 04015000 LA @05,TRMGPACT(,RTRM) 1622 04016000 LR @03,@05 1622 04017000 LA @10,3 1622 04018000 NR @03,@10 1622 04019000 LCR @03,@03 1622 04020000 ALR @05,@03 1622 04021000 L @10,0(,@05) 1622 04022000 @GL00084 LR @06,@10 1622 04023000 N @06,@CB02272+3(@03) 1622 04024000 CS @10,@06,0(@05) 1622 04025000 BNE @GL00084 1622 04026000 * NSLTTCIN=TRMSUBST; /* GET THE FIRST SUBSTRUCTURE */ 04027000 LH @10,TRMSUBST(,RTRM) 1623 04028000 N @10,@CF02262 1623 04029000 STH @10,NSLTTCIN(,IEDNSLP) 1623 04030000 * RPARM=NSLTTCIN; /* SETUP INTERFACE GETTRM */ 04031000 LR RPARM,@10 1624 04032000 * CALL GETTRM; /* GET TRM ENTRY ADDRESS */ 04033000 BAL @14,GETTRM 1625 04034000 * DO UNTIL(TRMTYPE=TRMCLUST); /* LOOP UNTIL REACH @YM03734 04035000 * THE CONTROL UNIT @YM03734*/ 04036000 @DL01626 DS 0H 1627 04037000 * TRMGPACT=OFF; /* RESET GP ACTIVE IN SUBS */ 04038000 LA @05,TRMGPACT(,RTRM) 1627 04039000 LR @03,@05 1627 04040000 LA @10,3 1627 04041000 NR @03,@10 1627 04042000 LCR @03,@03 1627 04043000 ALR @05,@03 1627 04044000 L @10,0(,@05) 1627 04045000 @GL00085 LR @06,@10 1627 04046000 N @06,@CB02272+3(@03) 1627 04047000 CS @10,@06,0(@05) 1627 04048000 BNE @GL00085 1627 04049000 * IF NSLREQTY=NSLSTPGP&TRMRSACT=OFF&TRMINPUT=ON THEN 1628 04050000 CLI NSLREQTY(IEDNSLP),X'06' 1628 04051000 BNE @RF01628 1628 04052000 TM TRMRSACT(RTRM),B'10000000' 1628 04053000 BNZ @RF01628 1628 04054000 TM TRMINPUT(RTRM),B'01000000' 1628 04055000 BNO @RF01628 1628 04056000 * TRMRSACT=ON; /* IF OFFTP,E THEN SET ALL 1629 04057000 * TERMINALS ACTIVE @OY20296*/ 04058000 LA @05,TRMRSACT(,RTRM) 1629 04059000 LR @03,@05 1629 04060000 LA @10,3 1629 04061000 NR @03,@10 1629 04062000 LCR @03,@03 1629 04063000 ALR @05,@03 1629 04064000 L @10,0(,@05) 1629 04065000 @GL00088 LR @06,@10 1629 04066000 O @06,@CB02247+3(@03) 1629 04067000 CS @10,@06,0(@05) 1629 04068000 BNE @GL00088 1629 04069000 * IF NSLREQTY=NSLSTPGP|(NSLREQTY=NSLSTPGB&TRMRSACT=ON) THEN 04070000 @RF01628 CLI NSLREQTY(IEDNSLP),X'06' 1630 04071000 BE @RT01630 1630 04072000 CLI NSLREQTY(IEDNSLP),X'0D' 1630 04073000 BNE @RF01630 1630 04074000 TM TRMRSACT(RTRM),B'10000000' 1630 04075000 BNO @RF01630 1630 04076000 @RT01630 DS 0H 1631 04077000 * DO; /* IF OFFTP,E THEN PRIME SPECIFIC 04078000 * POLL ENTRIES. IF OFFTP,B THEN 04079000 * PRIME ONLY THOSE SPECIFIC POLL 04080000 * ENTRIES WHICH HAVE TRMRSACT ON 04081000 * @OY20296*/ 04082000 * IF TRMCONT=ON&TRMSESSN=ON|TRMCONT=OFF THEN 1632 04083000 TM TRMCONT(RTRM),B'11000000' 1632 04084000 BO @RT01632 1632 04085000 TM TRMCONT(RTRM),B'10000000' 1632 04086000 BNZ @RF01632 1632 04087000 @RT01632 DS 0H 1633 04088000 * DO; /* IF TRMCONT IS ON AND TRMSESSN 04089000 * IS OFF- NO PRIME @OX20593*/ 04090000 * IF TRMINPTP=ON&TRMNLOUT=OFF THEN/* INPUT PENDING 1634 04091000 * FOR THIS GP TERM & NO CONTACT 04092000 * OUTSTANDING ? @OX20593*/ 04093000 TM TRMINPTP(RTRM),B'01000000' 1634 04094000 BNO @RF01634 1634 04095000 TM TRMNLOUT(RTRM),B'00000100' 1634 04096000 BNZ @RF01634 1634 04097000 * DO; /* YES TRY TO PRIME */ 04098000 * TRMINPTP=OFF; /* RESET INPUT PENDING IN SUB */ 04099000 NI TRMINPTP(RTRM),B'10111111' 1636 04100000 * RQCB=TRMDESTQ;/* GET QCB ADDRESS */ 04101000 SLR RQCB,RQCB 1637 04102000 ICM RQCB,7,TRMDESTQ(RTRM) 1637 04103000 * IF QCBPLCBN=ON THEN/* IS PLCB ASSIGNED? */ 04104000 LR @10,IEDQQPTR 1638 04105000 SL @10,@CF00044 1638 04106000 TM QCBPLCBN(@10),B'10000000' 1638 04107000 BNO @RF01638 1638 04108000 * DO; /* DETERMINE WHY PLCB IS ASSIGNED*/ 04109000 * RLCB=QCBPLCBA;/* GET THE LCB ADDRESS */ 04110000 L RLCB,QCBPLCBA-1(,@10) 1640 04111000 LA RLCB,0(,RLCB) 1640 04112000 * IF(SCBLCK1N=ON|SCBMSGLN=ON) THEN/* LOCK 1641 04113000 * MODE */ 04114000 L @10,IEDQSPTR-1(,IEDQLPTR) 1641 04115000 TM SCBLCK1N(@10),B'00101000' 1641 04116000 BZ @RF01641 1641 04117000 * DO; /* YES */ 04118000 * LCBSTAT1=AVTEZERO;/* CLEAR ALL STATUS 04119000 * FLAGS */ 04120000 MVI LCBSTAT1(IEDQLPTR),X'00' 1643 04121000 * LCBSENDN=ON;/* SET SENDING */ 04122000 OI LCBSENDN(IEDQLPTR),B'00000001' 1644 04123000 * END; /* PRIME SENDING IF LOCK */ 04124000 * ELSE 1646 04125000 * ; /* NOT IN LOCK MODE */ 04126000 @RF01641 DS 0H 1647 04127000 * RFY 1647 04128000 * RENTRY RSTD; 1647 04129000 * RENTRY=QCBPLCBA;/* SETUP INTERFACE TO POST */ 04130000 LR @10,IEDQQPTR 1648 04131000 AL @10,@CF02259 1648 04132000 L RENTRY,QCBPLCBA-5(,@10) 1648 04133000 LA RENTRY,0(,RENTRY) 1648 04134000 * RFY 1649 04135000 * RENTRY UNRSTD; 1649 04136000 * CALL POSTR;/* POST PLCB */ 04137000 BAL @14,POSTR 1650 04138000 * END; /* PERFORM PRIME WITH PLCB */ 04139000 * ELSE /* NO PLCB ASSIGNED */ 04140000 * CALL PRIMERCV;/* PRIME RECEIVE */ 04141000 B @RC01638 1652 04142000 @RF01638 BAL @14,PRIMERCV 1652 04143000 * END; /* NO NEED TO PRIME */ 04144000 * ELSE 1654 04145000 * ; /* WAS NOT DOING ANYTHING */ 04146000 @RF01634 DS 0H 1655 04147000 * END; /* @OX20593*/ 04148000 * ELSE 1656 04149000 * ; /* @OX20593*/ 04150000 @RF01632 DS 0H 1657 04151000 * END; /* END OF OFFTP,E @OY20296*/ 04152000 * ELSE 1658 04153000 * ; /* OFFTP,B @OY20296*/ 04154000 @RF01630 DS 0H 1659 04155000 * RPARM=TRMCOHRT; /* GET ADJACENT RESOURCE */ 04156000 @RC01630 LH RPARM,TRMCOHRT(,RTRM) 1659 04157000 N RPARM,@CF02262 1659 04158000 * CALL GETTRM; /* GET TRM ENTRY ADDRESS */ 04159000 BAL @14,GETTRM 1660 04160000 * END; /* REACHED THE CLUSTER READY TO 04161000 * POST BACK TO OPERATOR CONTROL */ 04162000 @DE01626 CLI TRMTYPE(RTRM),X'40' 1661 04163000 BNE @DL01626 1661 04164000 * CALL POSTOPCB; /* POST THE REQ BFR TO OPCOB */ 04165000 BAL @14,POSTOPCB 1662 04166000 * END; /* FINISHED WITH OFFTP */ 04167000 * RFY 1664 04168000 * (IEDQLPTR, 1664 04169000 * RLCB, 1664 04170000 * RQCB, 1664 04171000 * IEDQQPTR) UNRSTD; 1664 04172000 * END PRIMEGP; /* END OF PRIME RECEIVE */ 04173000 @EL00037 DS 0H 1665 04174000 @EF00037 DS 0H 1665 04175000 @ER00037 L @14,@SA00037 1665 04176000 BR @14 1665 04177000 * 1666 04178000 * /*****************************************************************/ 04179000 * /* */ 04180000 * /* THIS SUBROUTINE BASICALLY INITIATES A RECEIVE OPERATION BY */ 04181000 * /* REQUESTING A PLCB WITH ONLY A RECEIVE SCHEDULER IN THE STCB */ 04182000 * /* CHAIN. */ 04183000 * /* */ 04184000 * /*****************************************************************/ 04185000 * 1666 04186000 *PRIMERCV: 1666 04187000 * PROC OPTIONS(RETREG,SAVE(14)); 1666 04188000 PRIMERCV ST @14,@SA00038 1666 04189000 * RFY 1667 04190000 * (IEDQQPTR, 1667 04191000 * RQCB) RSTD; 1667 04192000 * RFY 1668 04193000 * RENTRY RSTD; 1668 04194000 * RQCB=TRMDESTQ; /* GET QCB ADDRESS */ 04195000 SLR RQCB,RQCB 1669 04196000 ICM RQCB,7,TRMDESTQ(RTRM) 1669 04197000 * IF QCBPLCBN=OFF&QCBRCVRQ=OFF THEN/* NO PLCB ASSIGNED AND QCB IS 04198000 * NOT WAITING FOR PLCB */ 04199000 LR @14,IEDQQPTR 1670 04200000 SL @14,@CF00044 1670 04201000 TM QCBPLCBN(@14),B'10010000' 1670 04202000 BNZ @RF01670 1670 04203000 * DO; /* YES, FALL THROUGH */ 04204000 * QCBRCVRQ=ON; /* REQUEST PLCB WITHOUT SNDSC */ 04205000 OI QCBRCVRQ(@14),B'00010000' 1672 04206000 * RPARM=RQCB; /* SETUP INTERFACE TO IEDIAP */ 04207000 LR RPARM,RQCB 1673 04208000 * CALL IEDIAP; /* REQUEST A PLCB */ 04209000 L @10,AVTSAVTP(,IEDQAPTR) 1674 04210000 L @15,SAVTPREQ(,@10) 1674 04211000 BALR @14,@15 1674 04212000 * IF RENTRY^=AVTFZERO THEN /* DID GET PLCB? */ 04213000 C RENTRY,AVTFZERO(,IEDQAPTR) 1675 04214000 BE @RF01675 1675 04215000 * CALL POSTR; /* YES,POST PLCB TO ITSELF */ 04216000 BAL @14,POSTR 1676 04217000 * ELSE 1677 04218000 * ; /* NO PLCB DO NOTHING */ 04219000 @RF01675 DS 0H 1678 04220000 * END; /* FINISHED PROCESSING WITH NO 1678 04221000 * PLCB */ 04222000 * ELSE 1679 04223000 * ; /* DO NOTHING PLCB IS ASSIGND */ 04224000 @RF01670 DS 0H 1680 04225000 * RFY 1680 04226000 * (IEDQQPTR, 1680 04227000 * RQCB) UNRSTD; 1680 04228000 * RFY 1681 04229000 * RENTRY UNRSTD; 1681 04230000 * END PRIMERCV; /* FINISHED PRIME RECEIVE */ 04231000 @EL00038 DS 0H 1682 04232000 @EF00038 DS 0H 1682 04233000 @ER00038 L @14,@SA00038 1682 04234000 BR @14 1682 04235000 * 1683 04236000 * /*****************************************************************/ 04237000 * /* */ 04238000 * /* THIS SUBROUTINE DETERMINES IF STCB CHAIN SHOULD BE FOR PRIMING*/ 04239000 * /* PURPOSES. IF THE SEND SCHEDULER STCB IS IN THE QCB, THE THE */ 04240000 * /* STCB IS REMOVED FROM THE QCB AND PUT IN THE PLCB. */ 04241000 * /* */ 04242000 * /*****************************************************************/ 04243000 * 1683 04244000 *PRIMESND: 1683 04245000 * PROC OPTIONS(RETREG,SAVE(14)); 1683 04246000 PRIMESND ST @14,@SA00039 1683 04247000 * RFY 1684 04248000 * (IEDQQPTR, 1684 04249000 * RQCB, 1684 04250000 * RSTCB, 1684 04251000 * RENTRY, 1684 04252000 * RTIMENOW, 1684 04253000 * RLCB, 1684 04254000 * IEDQLPTR) RSTD; 1684 04255000 * RSTCB=RPARM; /* GET THE PLCB ADDRESS TO HAVE 04256000 * SEND SCHEDULER PUT IN ITS STCB 04257000 * CHAIN */ 04258000 LR RSTCB,RPARM 1685 04259000 * RLCB=RPARM; /* SAVE TO USE WHEN READY TO POST 04260000 * THE PLCB TO ITSELF */ 04261000 LR RLCB,RPARM 1686 04262000 * RPARM=LCBTTCIN; /* GET THE TERMINALS INDEX */ 04263000 LH RPARM,LCBTTCIN(,IEDQLPTR) 1687 04264000 N RPARM,@CF02262 1687 04265000 * CALL GETTRM; /* GET THE TERM ENTRY ADDRESS */ 04266000 BAL @14,GETTRM 1688 04267000 * IF TRMSPACT=ON THEN /* LINE UP? @YM06016*/ 04268000 TM TRMSPACT(RTRM),B'00010000' 1689 04269000 BNO @RF01689 1689 04270000 * DO; /* YES @YM06016*/ 04271000 * RQCB=TRMDESTQ; /* GET THE QCB ADDRESS */ 04272000 SLR RQCB,RQCB 1691 04273000 ICM RQCB,7,TRMDESTQ(RTRM) 1691 04274000 * RPARM=ADDR(QCBSTVTO); /* ADDRESS OF THE VTO IN THE 1692 04275000 * CHAIN */ 04276000 LA RPARM,QCBSTVTO(,IEDQQPTR) 1692 04277000 * IF RPARM=QCBSTCHN THEN /* DOES ADDRESS OF VTO PT BACK TO 04278000 * ITSELF? */ 04279000 L @14,QCBSTCHN-1(,IEDQQPTR) 1693 04280000 LA @14,0(,@14) 1693 04281000 CR RPARM,@14 1693 04282000 BNE @RF01693 1693 04283000 * CALL DSPUNAVR; /* REMOVE THE STCB FROM ONE QCB 04284000 * TO ANOTHER */ 04285000 LA @15,DSPUNAVR(,RDISP) 1694 04286000 BALR @14,@15 1694 04287000 * ELSE 1695 04288000 * ; /* NO DO NOTHING */ 04289000 @RF01693 DS 0H 1696 04290000 * END; /* SWAP THE STCB @YM06016*/ 04291000 * ELSE 1697 04292000 * ; /* DIDN'T SWAP @YM06016*/ 04293000 @RF01689 DS 0H 1698 04294000 * RENTRY=RLCB; /* SETUP INTERFACE TO POST THE 1698 04295000 * PLCB TO ITSELF */ 04296000 LR RENTRY,RLCB 1698 04297000 * CALL POSTR; /* POST THE PLCB */ 04298000 BAL @14,POSTR 1699 04299000 * RFY 1700 04300000 * (IEDQQPTR, 1700 04301000 * RQCB, 1700 04302000 * RSTCB, 1700 04303000 * RTIMENOW, 1700 04304000 * RENTRY, 1700 04305000 * IEDQLPTR, 1700 04306000 * RLCB) UNRSTD; 1700 04307000 * END PRIMESND; /* FINISHED THE NECESSARY SEND 1701 04308000 * PRIMING */ 04309000 @EL00039 DS 0H 1701 04310000 @EF00039 DS 0H 1701 04311000 @ER00039 L @14,@SA00039 1701 04312000 BR @14 1701 04313000 *CHKTSO: 1702 04314000 * PROC OPTIONS(RETREG,SAVE(14)); 1702 04315000 * 1702 04316000 CHKTSO ST @14,@SA00040 1702 04317000 * /*****************************************************************/ 04318000 * /* */ 04319000 * /* VERIFY IF THE DEVICE IS CURRENTLY IN TSO SESSION. */ 04320000 * /* */ 04321000 * /*****************************************************************/ 04322000 * 1703 04323000 * RFY 1703 04324000 * (RQCB, 1703 04325000 * IEDQQPTR, 1703 04326000 * RENTRY) RSTD; 1703 04327000 * IF NSLREQTY=NSLSTRTR| /* @XM05748*/ 04328000 * NSLREQTY=NSLSTPTR| /* STOP TERMINAL ? @OX19839*/ 04329000 * NSLREQTY=NSLSTPTR+NSLSTMSG THEN/* START / STOP TERM @YM08526*/ 04330000 CLI NSLREQTY(IEDNSLP),X'03' 1704 04331000 BE @RT01704 1704 04332000 CLI NSLREQTY(IEDNSLP),X'04' 1704 04333000 BE @RT01704 1704 04334000 CLI NSLREQTY(IEDNSLP),12 1704 04335000 BNE @RF01704 1704 04336000 @RT01704 DS 0H 1705 04337000 * DO; /* YES @YM08526*/ 04338000 * RQCB=TRMDESTQ; /* GET THE QCB ADDRESS */ 04339000 SLR RQCB,RQCB 1706 04340000 ICM RQCB,7,TRMDESTQ(RTRM) 1706 04341000 * IF QCBTSSES=ON THEN /* TSO SESSION? */ 04342000 TM QCBTSSES(IEDQQPTR),B'10000000' 1707 04343000 BNO @RF01707 1707 04344000 * DO; /* SET TSO REJECT */ 04345000 * IF NSLBUFFR^=AVTFZERO THEN/* BUFFER ATTACHED? */ 04346000 L @14,NSLBUFFR-1(,IEDNSLP) 1709 04347000 LA @14,0(,@14) 1709 04348000 C @14,AVTFZERO(,IEDQAPTR) 1709 04349000 BE @RF01709 1709 04350000 * CALL FREEBUF; /* FREE IT NOW */ 04351000 BAL @14,FREEBUF 1710 04352000 * ELSE 1711 04353000 * ; /* NO DO NO MORE NOW */ 04354000 @RF01709 DS 0H 1712 04355000 * RNSLBFR->OPREPRI=PRIHIFLG;/* SET UP PRIORITY */ 04356000 MVI OPREPRI(RNSLBFR),X'E9' 1712 04357000 * RNSLBFR->OPREQCB=ADDR(AVTOPCOB);/* QCB ADDRESS TO POST TO*/ 04358000 LA @14,AVTOPCOB(,IEDQAPTR) 1713 04359000 STCM @14,7,OPREQCB(RNSLBFR) 1713 04360000 * RNSLBFR->OPREFLG1=NSLFLGBK;/* FLAG ROUTER USED BY 00 */ 04361000 MVC OPREFLG1(1,RNSLBFR),NSLFLGBK(IEDNSLP) 1714 04362000 * RPARM=RNSLBFR; /* EST. ELEMENT PTR TO POST */ 04363000 LR RPARM,RNSLBFR 1715 04364000 * CALL POSTELEM; /* PUT ON QUE AND RETURN */ 04365000 BAL @14,POSTELEM 1716 04366000 * RENTRY=RETCODE4; /* SET BAD RETURN CODE */ 04367000 LA RENTRY,4 1717 04368000 * END; /* READY TO RETURN */ 04369000 * ELSE /* SET GOOD RETURN CODE */ 04370000 * RENTRY=RETCODE0; /* SET TO ZERO */ 04371000 B @RC01707 1719 04372000 @RF01707 SLR RENTRY,RENTRY 1719 04373000 * END; /* START/STOP TERM @YM08526*/ 04374000 * ELSE /* STOPLINE,C @YM08526*/ 04375000 * DO; /* MAKE SURE -TSO @YM08526*/ 04376000 B @RC01704 1721 04377000 @RF01704 DS 0H 1722 04378000 * RQCB=TRMDESTQ; /* SETUP QCB BASE @YM09000*/ 04379000 SLR RQCB,RQCB 1722 04380000 ICM RQCB,7,TRMDESTQ(RTRM) 1722 04381000 * IF QCBTSSES=ON THEN /* TSO SESSION? @YM08526*/ 04382000 TM QCBTSSES(IEDQQPTR),B'10000000' 1723 04383000 BNO @RF01723 1723 04384000 * RENTRY=RETCODE4; /* YES, SET BAD RC @YM08526*/ 04385000 LA RENTRY,4 1724 04386000 * ELSE /* NO @YM08526*/ 04387000 * RENTRY=RETCODE0; /* GOOD RC @YM08526*/ 04388000 B @RC01723 1725 04389000 @RF01723 SLR RENTRY,RENTRY 1725 04390000 * END; /* STOP STOPLINE,C @YM08526*/ 04391000 * RFY 1727 04392000 * (IEDQQPTR, 1727 04393000 * RQCB, 1727 04394000 * RENTRY) UNRSTD; 1727 04395000 * END CHKTSO; 1728 04396000 @EL00040 DS 0H 1728 04397000 @EF00040 DS 0H 1728 04398000 @ER00040 L @14,@SA00040 1728 04399000 BR @14 1728 04400000 * END IEDNSL 1729 04401000 * 1729 04402000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 04403000 */*%INCLUDE SYSLIB (TAVTD ) */ 04404000 */*%INCLUDE SYSLIB (TBDUD ) */ 04405000 */*%INCLUDE SYSLIB (TCD0D ) */ 04406000 */*%INCLUDE SYSLIB (TDISPD ) */ 04407000 */*%INCLUDE SYSLIB (TLCBD ) */ 04408000 */*%INCLUDE SYSLIB (TNATD ) */ 04409000 */*%INCLUDE SYSLIB (TNSLD ) */ 04410000 */*%INCLUDE SYSLIB (TOPRED ) */ 04411000 */*%INCLUDE SYSLIB (TPIU0D ) */ 04412000 */*%INCLUDE SYSLIB (TPRFD ) */ 04413000 */*%INCLUDE SYSLIB (TPRIOR ) */ 04414000 */*%INCLUDE SYSLIB (TQCBD ) */ 04415000 */*%INCLUDE SYSLIB (TRVTD ) */ 04416000 */*%INCLUDE SYSLIB (TSATD ) */ 04417000 */*%INCLUDE SYSLIB (TSCBD ) */ 04418000 */*%INCLUDE SYSLIB (TRHD ) */ 04419000 */*%INCLUDE SYSLIB (TTRMD ) */ 04420000 */*%INCLUDE SYSLIB (TTHD ) */ 04421000 * 1729 04422000 * ; 1729 04423000 @DATA DS 0H 04424000 @CH00621 DC H'0' 04425000 @CH01241 DC H'10' 04426000 @CH02037 DC XL2'0101' 04427000 DS 0F 04428000 @SA00002 DS 1F 04429000 @SA00003 DS 1F 04430000 @SA00037 DS 1F 04431000 @SA00039 DS 1F 04432000 @SA00005 DS 1F 04433000 @SA00033 DS 1F 04434000 @SA00027 DS 1F 04435000 @SA00004 DS 1F 04436000 @SA00011 DS 1F 04437000 @SA00035 DS 1F 04438000 @SA00036 DS 1F 04439000 @SA00040 DS 1F 04440000 @SA00020 DS 3F 04441000 @SA00014 DS 1F 04442000 @SA00022 DS 3F 04443000 @SA00006 DS 15F 04444000 @SA00024 DS 1F 04445000 @SA00025 DS 1F 04446000 @SA00007 DS 1F 04447000 @SA00008 DS 1F 04448000 @SA00023 DS 3F 04449000 @SA00009 DS 1F 04450000 @SA00012 DS 1F 04451000 @SA00013 DS 1F 04452000 @SA00019 DS 15F 04453000 @SA00017 DS 1F 04454000 @SA00018 DS 1F 04455000 @SA00016 DS 1F 04456000 @SA00021 DS 3F 04457000 @SA00032 DS 1F 04458000 @SA00029 DS 1F 04459000 @SA00028 DS 1F 04460000 @SA00031 DS 1F 04461000 @SA00030 DS 1F 04462000 @SA00034 DS 1F 04463000 @SA00038 DS 1F 04464000 DS 0F 04465000 @CF00064 DC F'2' 04466000 @CF00044 DC F'8' 04467000 @CF01178 DC F'14' 04468000 @CF00102 DC F'15' 04469000 @CF01821 DC F'20' 04470000 @CF01560 DC F'28' 04471000 @CF02044 DC F'100' 04472000 @CF02040 DC F'43200' 04473000 @CF02042 DC F'86400' 04474000 @CF02234 DC F'-12' 04475000 @CF02259 DC F'-4' 04476000 @CF01344 DC XL4'08000002' 04477000 @CF02262 DC XL4'0000FFFF' 04478000 DS 0D 04479000 SAVCUPTR DC A(0) 04480000 SHIFTLEN DC H'0' 04481000 SAVETNT DC AL2(0) 04482000 SAVETNT1 DC AL2(0) 04483000 SAVCUTNT DC AL2(0) 04484000 SAVEUTRM DC AL2(0) 04485000 DS CL3 04486000 SAVEDLGB DC AL3(0) 04487000 DS CL1 04488000 LGBSAVED DC AL3(0) 04489000 DS CL1 04490000 SAVETTE DC AL3(0) 04491000 DS CL1 04492000 SAVENCP1 DC AL3(0) 04493000 DS CL1 04494000 SAVENCP2 DC AL3(0) 04495000 DS CL1 04496000 NCPPTR DC AL3(0) 04497000 DS CL1 04498000 SAVLOGCL DC AL3(0) 04499000 DS CL1 04500000 LINETTE1 DC AL3(0) 04501000 DS CL1 04502000 LINETTE2 DC AL3(0) 04503000 DS CL1 04504000 LINEPTR DC AL3(0) 04505000 @CB01344 DC X'08000002' 04506000 @CB01778 DC X'0B8000' 04507000 @CB02247 DC B'000000000000000000000000100000000000000000000000000000C04508000 00' 04509000 @CB02252 DC B'111111111111111111111111011111111111111111111111111111C04510000 11' 04511000 @CB02264 DC B'000000000000000000000000000010000000000000000000000000C04512000 00' 04513000 @CB02272 DC B'111111111111111111111111111101111111111111111111111111C04514000 11' 04515000 @CB02277 DC B'000000000000000000000000001000000000000000000000000000C04516000 00' 04517000 @CB02282 DC B'000000000000000000000000100010000000000000000000000000C04518000 00' 04519000 SWITCHES DC B'00000000' 04520000 ORG SWITCHES 04521000 INTEXIT DS BL1 04522000 EXTEXIT EQU SWITCHES+0 04523000 EXITTIME EQU SWITCHES+0 04524000 EXITFLAG EQU SWITCHES+0 04525000 CLUSTFLG EQU SWITCHES+0 04526000 RVTEXIT EQU SWITCHES+0 04527000 @NM00197 EQU SWITCHES+0 04528000 ORG SWITCHES+1 04529000 PLCBRCTR DS CL1 04530000 STOPLNCT DS CL1 04531000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 04532000 @01 EQU 01 04533000 @02 EQU 02 04534000 @03 EQU 03 04535000 @04 EQU 04 04536000 @05 EQU 05 04537000 @06 EQU 06 04538000 @07 EQU 07 04539000 @08 EQU 08 04540000 @09 EQU 09 04541000 @10 EQU 10 04542000 @11 EQU 11 04543000 @12 EQU 12 04544000 @13 EQU 13 04545000 @14 EQU 14 04546000 @15 EQU 15 04547000 IEDQAPTR EQU @13 04548000 RDISP EQU @11 04549000 IEDQLPTR EQU @04 04550000 LCBXPTR EQU @05 04551000 IEDQNATP EQU @06 04552000 IEDNSLP EQU @02 04553000 IEDQPPTR EQU @06 04554000 IEDQQPTR EQU @07 04555000 IEDQRVTP EQU @06 04556000 IEDQSATP EQU @06 04557000 RTRM EQU @08 04558000 RZERO EQU @00 04559000 RPARM EQU @01 04560000 RNSLBFR EQU @02 04561000 RTIMENOW EQU @03 04562000 RSTCB EQU @03 04563000 REND EQU @04 04564000 RLCB EQU @04 04565000 RPQCBPTR EQU @05 04566000 RVTPTR EQU @06 04567000 RPRF EQU @06 04568000 RQCB EQU @07 04569000 RBASE2 EQU @09 04570000 RWORKREG EQU @10 04571000 RBASE EQU @12 04572000 RAVT EQU @13 04573000 RRETURN EQU @14 04574000 RENTRY EQU @15 04575000 IEDQAVTD EQU 0 04576000 AVTSAVE3 EQU IEDQAVTD+72 04577000 AVTSAVEX EQU IEDQAVTD+216 04578000 AVTREADD EQU IEDQAVTD+308 04579000 AVTBUFSW EQU IEDQAVTD+312 04580000 @NM00004 EQU IEDQAVTD+316 04581000 AVTCKFLG EQU @NM00004 04582000 AVTBASE EQU IEDQAVTD+340 04583000 AVTPKF EQU AVTBASE 04584000 AVTRNMPT EQU IEDQAVTD+352 04585000 AVTOSECB EQU IEDQAVTD+420 04586000 AVTECB1 EQU AVTOSECB 04587000 AVTHG02 EQU IEDQAVTD+456 04588000 AVTDISP EQU IEDQAVTD+480 04589000 AVTHD EQU IEDQAVTD+484 04590000 AVTSCOPT EQU AVTHD 04591000 AVTSEND EQU IEDQAVTD+524 04592000 AVTSAVTP EQU IEDQAVTD+540 04593000 AVTSAVTF EQU AVTSAVTP 04594000 AVTCKPEL EQU IEDQAVTD+580 04595000 AVTCKRMV EQU AVTCKPEL 04596000 AVTCKELF EQU IEDQAVTD+608 04597000 AVTCKBYT EQU IEDQAVTD+619 04598000 AVTHG01 EQU IEDQAVTD+620 04599000 AVTCKLNK EQU IEDQAVTD+624 04600000 AVTCRELE EQU IEDQAVTD+636 04601000 AVTCCELE EQU AVTCRELE 04602000 AVTCLRHI EQU IEDQAVTD+644 04603000 AVTADBUF EQU IEDQAVTD+648 04604000 AVTSYSER EQU IEDQAVTD+656 04605000 AVTBFREB EQU IEDQAVTD+708 04606000 AVTBFRFG EQU IEDQAVTD+712 04607000 AVTBFRTB EQU IEDQAVTD+720 04608000 AVTCKPQB EQU IEDQAVTD+732 04609000 AVTCKPTB EQU AVTCKPQB 04610000 AVTCKPEC EQU AVTCKPQB+4 04611000 AVTCKPCC EQU AVTCKPEC 04612000 AVTOPCQB EQU IEDQAVTD+744 04613000 AVTOPCOB EQU AVTOPCQB 04614000 AVTOPCEC EQU AVTOPCQB+4 04615000 AVTOPCCC EQU AVTOPCEC 04616000 AVTOLTQB EQU IEDQAVTD+756 04617000 AVTFZERO EQU IEDQAVTD+836 04618000 AVTCWFL1 EQU IEDQAVTD+852 04619000 AVTCWFL2 EQU IEDQAVTD+853 04620000 AVTSUBT EQU IEDQAVTD+876 04621000 AVTIOTR EQU IEDQAVTD+877 04622000 AVTBIT1 EQU IEDQAVTD+978 04623000 AVTQUCKN EQU AVTBIT1 04624000 AVTBIT2 EQU IEDQAVTD+979 04625000 AVTBIT3 EQU IEDQAVTD+980 04626000 AVTBIT4 EQU IEDQAVTD+1064 04627000 @NM00086 EQU IEDQAVTD+1160 04628000 IEDNSVTD EQU 0 04629000 SAVTDIAG EQU IEDNSVTD 04630000 SAVTDIAF EQU SAVTDIAG 04631000 SAVTPREQ EQU IEDNSVTD+16 04632000 SAVTSAT EQU IEDNSVTD+80 04633000 SAVTLUSQ EQU IEDNSVTD+88 04634000 SAVTSAO EQU IEDNSVTD+196 04635000 SAVTTCPU EQU IEDNSVTD+238 04636000 SAVTTNTX EQU IEDNSVTD+252 04637000 SAVTZELM EQU IEDNSVTD+270 04638000 SAVTSUBL EQU IEDNSVTD+272 04639000 SAVTRDRV EQU IEDNSVTD+284 04640000 SAVTCKQB EQU IEDNSVTD+300 04641000 SAVTCKTB EQU SAVTCKQB 04642000 SAVTCKEC EQU SAVTCKQB+4 04643000 SAVTCKCC EQU SAVTCKEC 04644000 IEDBDU EQU 0 04645000 BDUCMND EQU IEDBDU 04646000 BDUMODIF EQU IEDBDU+1 04647000 BDUFNFLG EQU IEDBDU+2 04648000 BDUBDUFG EQU IEDBDU+3 04649000 BDURSP EQU IEDBDU+4 04650000 BDUSYRSP EQU BDURSP 04651000 BDUEXRSP EQU BDURSP+1 04652000 BDUEND EQU IEDBDU+6 04653000 IEDQDISP EQU 0 04654000 DSPDISP EQU 4 04655000 DSPPOSTR EQU 28 04656000 DSPUNAVR EQU 44 04657000 IEDQLCB EQU 0 04658000 LCBRCB EQU IEDQLCB 04659000 LCBQCBA EQU LCBRCB+1 04660000 LCBPRI EQU LCBRCB+4 04661000 LCBTSOB EQU IEDQLCB+19 04662000 LCBCHAIN EQU IEDQLCB+20 04663000 LCBSCRNN EQU LCBCHAIN 04664000 LCBTETEN EQU LCBCHAIN 04665000 LCBINSRC EQU IEDQLCB+21 04666000 LCBLKMDE EQU LCBINSRC+2 04667000 LCBBDFLG EQU LCBLKMDE 04668000 LCBLOCKR EQU LCBLKMDE 04669000 LCBLOCKI EQU LCBLKMDE 04670000 LCBNTXT EQU IEDQLCB+24 04671000 LCBSTAT4 EQU LCBNTXT 04672000 LCBPHASE EQU LCBSTAT4 04673000 LCBSCBDA EQU IEDQLCB+25 04674000 LCBMHA EQU IEDQLCB+29 04675000 LCBFLAG1 EQU IEDQLCB+32 04676000 LCBIOBSN EQU IEDQLCB+33 04677000 LCBSNS EQU LCBIOBSN+1 04678000 LCBSENS0 EQU LCBSNS 04679000 LCBLOSDT EQU LCBSENS0 04680000 LCBTMOUT EQU LCBSENS0 04681000 LCBFLAG3 EQU LCBIOBSN+7 04682000 LCBCSW EQU LCBIOBSN+8 04683000 LCBCSWST EQU LCBCSW+3 04684000 LCBCSWUS EQU LCBCSWST 04685000 LCBCSWCS EQU LCBCSWST+1 04686000 LCBSIOCC EQU LCBIOBSN+15 04687000 LCBDCBPT EQU IEDQLCB+52 04688000 LCBRCQCB EQU IEDQLCB+56 04689000 LCBRESTR EQU LCBRCQCB 04690000 LCBTHSQ EQU IEDQLCB+60 04691000 LCBINCAM EQU LCBTHSQ 04692000 LCBERRCT EQU IEDQLCB+62 04693000 LCBLSPCI EQU IEDQLCB+65 04694000 LCBRCBFR EQU LCBLSPCI 04695000 LCBSTATE EQU IEDQLCB+70 04696000 LCBSTAT1 EQU LCBSTATE 04697000 LCBOCNI EQU LCBSTAT1 04698000 LCBSENDN EQU LCBSTAT1 04699000 LCBSTAT2 EQU LCBSTATE+1 04700000 LCBBEOTN EQU LCBSTAT2 04701000 LCBSYNC EQU LCBSTAT2 04702000 LCBDIAL EQU LCBSTAT2 04703000 LCBTSTSW EQU IEDQLCB+72 04704000 LCBERB EQU IEDQLCB+76 04705000 LCBERBST EQU IEDQLCB+84 04706000 LCBDLNKN EQU LCBERBST 04707000 LCBERBCT EQU IEDQLCB+88 04708000 LCBRBCT2 EQU LCBERBCT+1 04709000 LCBTTCIN EQU IEDQLCB+90 04710000 LCBMSGFM EQU IEDQLCB+92 04711000 LCBSCBA EQU IEDQLCB+93 04712000 LCBOBRCH EQU IEDQLCB+96 04713000 LCBINVPT EQU LCBOBRCH+1 04714000 LCBBFRW EQU LCBINVPT 04715000 LCBTPCD EQU IEDQLCB+100 04716000 LCBSTAT5 EQU LCBTPCD 04717000 LCBSTAT6 EQU LCBTPCD+4 04718000 LCBRSPSV EQU LCBTPCD+8 04719000 LCBSAVSN EQU IEDQLCB+112 04720000 LCBERCCW EQU IEDQLCB+120 04721000 LCBCPA EQU IEDQLCB+144 04722000 LCBCCW5 EQU LCBCPA+32 04723000 LCBATTEL EQU LCBCCW5 04724000 LCBQEBPL EQU LCBATTEL 04725000 IEDQLCBX EQU 0 04726000 LCBXCON EQU IEDQLCBX 04727000 LCBXFLAG EQU LCBXCON 04728000 LCBXDCT EQU LCBXCON+1 04729000 LCBXRADR EQU LCBXCON+4 04730000 IEDNATD EQU 0 04731000 IEDNNSLD EQU 0 04732000 NSLSAVE1 EQU IEDNNSLD 04733000 NSLSAVE2 EQU IEDNNSLD+4 04734000 IEDNSLD EQU 0 04735000 NSLPLCB EQU IEDNSLD+8 04736000 NSLPLCBR EQU NSLPLCB 04737000 NSLSAVE EQU IEDNSLD+9 04738000 NSLGPCUS EQU IEDNSLD+12 04739000 NSLNGPST EQU NSLGPCUS 04740000 NSLGPTSP EQU NSLGPCUS 04741000 NSLNGPSL EQU NSLGPCUS 04742000 NSLSDIAL EQU NSLGPCUS 04743000 NSLDRDRV EQU NSLGPCUS 04744000 NSLCTTRM EQU IEDNSLD+13 04745000 NSLTTCIN EQU IEDNSLD+16 04746000 NSLPRIBK EQU IEDNSLD+18 04747000 NSLFLGBK EQU IEDNSLD+19 04748000 NSLERB EQU IEDNSLD+20 04749000 NSLERQCB EQU NSLERB 04750000 NSLERBPR EQU NSLERB+4 04751000 NSLESTAT EQU NSLERB+8 04752000 NSLMPPI EQU NSLESTAT 04753000 NSLBUFFR EQU NSLERB+9 04754000 NSLUNCNT EQU NSLERB+12 04755000 NSLREQTY EQU IEDNSLD+35 04756000 NSLGRPNM EQU IEDNSLD+36 04757000 NSLTTEPT EQU IEDNSLD+44 04758000 IEDOPRED EQU 0 04759000 OPREQCB EQU IEDOPRED+1 04760000 OPREPRI EQU IEDOPRED+4 04761000 OPRESAVE EQU IEDOPRED+8 04762000 OPRETIC EQU OPRESAVE 04763000 OPREFLG1 EQU IEDOPRED+12 04764000 OPREFLG3 EQU IEDOPRED+14 04765000 IEDPIU0 EQU 0 04766000 PIU0TH EQU IEDPIU0 04767000 PIU0RH EQU IEDPIU0+10 04768000 PIU0PAD EQU IEDPIU0+13 04769000 PIU0RU EQU IEDPIU0+14 04770000 IEDQPRF EQU 0 04771000 PRFRCB EQU IEDQPRF 04772000 PRFKEY EQU PRFRCB 04773000 PRFQCBA EQU PRFRCB+1 04774000 PRFPRI EQU PRFRCB+4 04775000 PRFLINK EQU PRFRCB+5 04776000 PRFTIC EQU IEDQPRF+8 04777000 PRFTICC EQU PRFTIC 04778000 PRFNBUNT EQU IEDQPRF+12 04779000 PRFSUNIT EQU PRFNBUNT 04780000 PRFPLQCB EQU PRFSUNIT 04781000 PRFPIUO EQU PRFPLQCB 04782000 @NM00161 EQU IEDQPRF+16 04783000 PRFSVFFO EQU @NM00161 04784000 PRFSTAT1 EQU IEDQPRF+20 04785000 PRFEOFN EQU PRFSTAT1 04786000 PRFCORE EQU IEDQPRF+21 04787000 PRFXTRA EQU PRFCORE 04788000 PRFSCAN EQU IEDQPRF+24 04789000 PRFTQBCK EQU IEDQPRF+26 04790000 PRFNTXT EQU PRFTQBCK 04791000 PRFEOBOF EQU PRFNTXT 04792000 PRFCHDR EQU IEDQPRF+32 04793000 PRFHQBCK EQU IEDQPRF+35 04794000 IEDPF1 EQU 0 04795000 PRF1FLG1 EQU IEDPF1+3 04796000 PRF1WD2 EQU IEDPF1+4 04797000 PRF1SEQP EQU PRF1WD2 04798000 PRF1SQID EQU PRF1SEQP 04799000 PRF1TAG1 EQU PRF1SQID 04800000 IEDPF2 EQU 0 04801000 PRF2FLG2 EQU IEDPF2 04802000 PRF2TNTI EQU PRF2FLG2 04803000 PRF2WD2 EQU IEDPF2+4 04804000 IEDQQCB EQU 0 04805000 QCBDSFLG EQU IEDQQCB 04806000 QCBCORE EQU QCBDSFLG 04807000 QCBDISK EQU QCBDSFLG 04808000 QCBNREUS EQU QCBDISK 04809000 QCBREUS EQU QCBDISK 04810000 QCBELCHN EQU IEDQQCB+1 04811000 QCBPRI EQU IEDQQCB+4 04812000 QCBSTVTO EQU IEDQQCB+8 04813000 QCBSTCHN EQU IEDQQCB+9 04814000 QCBSTPRI EQU IEDQQCB+12 04815000 QCBSLINK EQU IEDQQCB+13 04816000 QCBEOLDT EQU IEDQQCB+16 04817000 QCBBYTE1 EQU QCBEOLDT+1 04818000 QCBLKRLN EQU IEDQQCB+18 04819000 QCBRETCT EQU QCBLKRLN 04820000 QCBSTAT EQU IEDQQCB+19 04821000 QCBTIME EQU QCBSTAT 04822000 QCBINSRC EQU IEDQQCB+21 04823000 @NM00171 EQU QCBINSRC 04824000 QCBTSOF2 EQU @NM00171+1 04825000 QCBTSOF1 EQU @NM00171+2 04826000 QCBDELAY EQU QCBTSOF1 04827000 QCBINTVL EQU IEDQQCB+24 04828000 QCBPREN EQU IEDQQCB+28 04829000 QCBLKRRN EQU QCBPREN+1 04830000 QCBDCBAD EQU IEDQQCB+33 04831000 QCBLGBAD EQU QCBDCBAD 04832000 QCBFLAG EQU IEDQQCB+36 04833000 QCBTSSES EQU QCBFLAG 04834000 IEDQPQCB EQU 0 04835000 QCBFHDLZ EQU IEDQPQCB+3 04836000 QCBPFEFO EQU QCBFHDLZ+1 04837000 QCBFHDTZ EQU IEDQPQCB+6 04838000 QCBINTLF EQU IEDQPQCB+12 04839000 QCBFFEFO EQU IEDQPQCB+15 04840000 QCBPRIPQ EQU IEDQPQCB+24 04841000 IEDNQCB EQU 0 04842000 QCBSTAT1 EQU IEDNQCB+4 04843000 QCBPLCBN EQU QCBSTAT1 04844000 QCBSNDRQ EQU QCBSTAT1 04845000 QCBRCVRQ EQU QCBSTAT1 04846000 QCBPLCBA EQU IEDNQCB+5 04847000 IEDRVTD EQU 0 04848000 RVTNUM EQU IEDRVTD 04849000 RVTINDEX EQU IEDRVTD+2 04850000 IEDSATD EQU 0 04851000 SATRNRVT EQU IEDSATD+4 04852000 IEDQSCB EQU 0 04853000 SCBSTATE EQU IEDQSCB 04854000 SCBSEQIN EQU SCBSTATE 04855000 SCBLCK1N EQU SCBSTATE 04856000 SCBMSGLN EQU SCBSTATE 04857000 SCBRCVCT EQU IEDQSCB+4 04858000 SCBMBHEN EQU IEDQSCB+5 04859000 SCBBKFCT EQU IEDQSCB+9 04860000 SCBEOBSZ EQU SCBBKFCT+1 04861000 SCBSALEV EQU IEDQSCB+12 04862000 SCBQTYPE EQU SCBSALEV 04863000 SCBERRST EQU IEDQSCB+16 04864000 SCBERR1 EQU SCBERRST 04865000 SCBHDRRN EQU SCBERR1 04866000 SCBORIGN EQU SCBERR1 04867000 SCBNOTRM EQU SCBERR1 04868000 SCBSEQHN EQU SCBERR1 04869000 SCBSEQLN EQU SCBERR1 04870000 SCBCUTFN EQU SCBERR1 04871000 SCBERR2 EQU SCBERRST+1 04872000 SCBABRTN EQU SCBERR2 04873000 SCBERR3 EQU SCBERRST+2 04874000 SCBLOSTN EQU SCBERR3 04875000 SCBTMIDN EQU SCBERR3 04876000 SCBFORMN EQU SCBERR3 04877000 SCBATTN EQU SCBERR3 04878000 SCBXCEPN EQU SCBERR3 04879000 SCBERR4 EQU SCBERRST+3 04880000 SCBTXTTN EQU SCBERR4 04881000 SCBCTLUN EQU SCBERR4 04882000 SCBCHANN EQU SCBERR4 04883000 SCBDLPTR EQU IEDQSCB+22 04884000 SCBEOBAC EQU SCBDLPTR 04885000 SCBCTBAC EQU SCBEOBAC 04886000 SCBBSCFM EQU IEDQSCB+24 04887000 SCBDATEN EQU SCBBSCFM 04888000 SCBITBSZ EQU IEDQSCB+40 04889000 SCBCTBSV EQU SCBITBSZ 04890000 SCBDNSEG EQU IEDQSCB+41 04891000 SCBCLSEG EQU IEDQSCB+45 04892000 SCBITBAC EQU IEDQSCB+48 04893000 SCBCTBFL EQU SCBITBAC 04894000 SCBBLKCT EQU SCBCTBFL 04895000 SCBDCSEG EQU IEDQSCB+49 04896000 SCBSTAT1 EQU IEDQSCB+60 04897000 SCBCORE EQU IEDQSCB+61 04898000 SCBSCAN EQU IEDQSCB+64 04899000 SCBNTXT EQU IEDQSCB+66 04900000 SCBCHDR EQU IEDQSCB+72 04901000 SCBCCSEG EQU IEDQSCB+75 04902000 SCBEND EQU IEDQSCB+84 04903000 IEDRH EQU 0 04904000 TRHBYTE0 EQU IEDRH 04905000 TRHBYTE1 EQU IEDRH+1 04906000 TRHBYTE2 EQU IEDRH+2 04907000 IEDTRM EQU 0 04908000 IEDNTRM EQU IEDTRM 04909000 TRMBYTE4 EQU IEDNTRM 04910000 TRMBYTE3 EQU IEDNTRM+1 04911000 TRMBYTE2 EQU IEDNTRM+2 04912000 TRMRSACT EQU TRMBYTE2 04913000 TRMINPG EQU TRMBYTE2 04914000 TRMCLOSN EQU TRMINPG 04915000 TRMGPACT EQU TRMBYTE2 04916000 TRMBYTE1 EQU IEDNTRM+3 04917000 TRMSCPRQ EQU TRMBYTE1 04918000 TRMINPTP EQU TRMBYTE1 04919000 TRMCOHRT EQU IEDNTRM+4 04920000 TRMBYTE0 EQU IEDNTRM+6 04921000 TRMINPUT EQU TRMBYTE0 04922000 TRMDIAL EQU TRMBYTE0 04923000 TRMSNA EQU TRMBYTE0 04924000 TRMSIBPT EQU IEDNTRM+7 04925000 TRMGPCNT EQU TRMSIBPT 04926000 TRMCOHTG EQU TRMSIBPT+1 04927000 TRMTYPE EQU IEDNTRM+11 04928000 TRMSUBST EQU IEDNTRM+12 04929000 IEDQTRM EQU IEDTRM+14 04930000 TRMSTATE EQU IEDQTRM 04931000 TRMLOG EQU TRMSTATE 04932000 TRMHELDN EQU TRMSTATE 04933000 TRMDESTQ EQU IEDQTRM+1 04934000 TRMINSEQ EQU IEDQTRM+4 04935000 TLISTCNT EQU TRMINSEQ 04936000 TRMUTERM EQU TLISTCNT 04937000 TRMOUTSQ EQU IEDQTRM+6 04938000 TLISTEN EQU TRMOUTSQ 04939000 TRMDSORG EQU TLISTEN 04940000 TRMALTD EQU IEDQTRM+8 04941000 TRMDEVFL EQU IEDQTRM+10 04942000 TRMSTAT EQU IEDQTRM+12 04943000 IEDTH EQU 0 04944000 TTHBYTE0 EQU IEDTH 04945000 TTHBYTE1 EQU IEDTH+1 04946000 TTHDAF EQU IEDTH+2 04947000 TTHOAF EQU IEDTH+4 04948000 TTHSNF EQU IEDTH+6 04949000 TTHTAG EQU TTHSNF 04950000 TTHTAG1 EQU TTHTAG 04951000 TTHDCF EQU IEDTH+8 04952000 SSCHINDX EQU 0 04953000 LCBSCAN EQU 0 04954000 IEDIAP04 EQU 0 04955000 IEDQTNT EQU 0 04956000 IEDQHG EQU 0 04957000 IEDQHG02 EQU 0 04958000 IEDIAP EQU 0 04959000 DSPBYPAS EQU 20 04960000 DSPCHAIN EQU 12 04961000 DSPLIFO EQU 56 04962000 DSPLIFOR EQU 60 04963000 DSPLIST EQU 8 04964000 DSPPOST EQU 24 04965000 DSPPRIO EQU 48 04966000 DSPPRIOR EQU 52 04967000 DSPTRACE EQU 64 04968000 DSPTSTQ EQU 32 04969000 DSPTSTQR EQU 36 04970000 DSPUNAV EQU 40 04971000 DSPWAIT EQU 16 04972000 QCBLDCB EQU 0 04973000 LCBRSPIN EQU LCBIOBSN 04974000 LCBLUSNS EQU LCBRSPIN+5 04975000 LCBSCPRS EQU LCBRSPIN+9 04976000 LCBCSWU1 EQU LCBSCPRS+2 04977000 LCBRSPFG EQU LCBRSPIN+15 04978000 LCBCOREQ EQU LCBTPCD 04979000 @NM00133 EQU LCBCPA+40 04980000 LCBQNX EQU LCBERCCW 04981000 LCBQNXMN EQU LCBQNX 04982000 LCBCANCL EQU LCBSAVSN 04983000 LCBCANFG EQU LCBCANCL 04984000 IEDQSPTR EQU LCBSCBA 04985000 TRMPRE1 EQU TRMBYTE4 04986000 TRMCONT EQU TRMPRE1 04987000 TRMSESSN EQU TRMPRE1 04988000 TRMOCNI EQU TRMPRE1 04989000 TRMSPACT EQU TRMPRE1 04990000 TRMERLCK EQU TRMPRE1 04991000 TRMNCP1 EQU TRMBYTE4 04992000 TRMPRE EQU TRMBYTE3 04993000 TRMSTMM EQU TRMPRE 04994000 TRMASNXI EQU TRMPRE 04995000 TRMNLOUT EQU TRMPRE 04996000 TRMRDOUT EQU TRMPRE 04997000 TRMINOUT EQU TRMPRE 04998000 TRMNCP EQU TRMBYTE3 04999000 TRMNCPCL EQU TRMNCP 05000000 TRMPU EQU TRMBYTE3 05001000 TRMLU EQU TRMBYTE3 05002000 TRMAUTO EQU TRMLU 05003000 TRMLUIT EQU TRMLU 05004000 TRMSESRQ EQU TRMLU 05005000 TRMLINK EQU TRMBYTE3 05006000 SAVE3 EQU AVTSAVE3 05007000 BDUTEXT EQU BDUEND 05008000 PRFSHDR EQU IEDQPRF+42 05009000 SCBRGSAV EQU SCBEND 05010000 AGO .@UNREFD START UNREFERENCED COMPONENTS 05011000 @NM00194 EQU TRMLINK 05012000 TRMLSTAT EQU TRMLINK 05013000 TRMLINT EQU TRMLINK 05014000 TRMEPMOD EQU TRMLINK 05015000 TRMLULOG EQU TRMLU 05016000 TRMINERR EQU TRMLU 05017000 TRMLUREQ EQU TRMLU 05018000 TRMTDIFF EQU TRMLU 05019000 TRMLUTM EQU TRMLU 05020000 TRMPCONT EQU TRMPU 05021000 @NM00193 EQU TRMPU 05022000 TRMNCONT EQU TRMNCP 05023000 TRMQUCKN EQU TRMNCP 05024000 TRMSLOWN EQU TRMNCP 05025000 TRMSYGEN EQU TRMNCP 05026000 TRMIPLDM EQU TRMNCP 05027000 TRMWROUT EQU TRMPRE 05028000 TRMCMODE EQU TRMPRE 05029000 TRMSTPND EQU TRMPRE 05030000 @NM00192 EQU TRMNCP1 05031000 TRMINOP EQU TRMNCP1 05032000 TRMLYNCH EQU TRMPRE1 05033000 TRMSPOUT EQU TRMPRE1 05034000 TRMQNPL EQU TRMPRE1 05035000 @NM00141 EQU LCBCANCL+3 05036000 LCBCANTH EQU LCBCANCL+1 05037000 @NM00140 EQU LCBCANFG 05038000 LCBCANCD EQU LCBCANFG 05039000 @NM00139 EQU LCBCANFG 05040000 LCBCANEB EQU LCBCANFG 05041000 LCBCANXT EQU LCBCANFG 05042000 LCBUNADD EQU LCBQNX+21 05043000 LCBUASZE EQU LCBQNX+20 05044000 LCBDSTEA EQU LCBQNX+16 05045000 @NM00138 EQU LCBQNX+8 05046000 LCBIOSBS EQU LCBQNX+5 05047000 @NM00137 EQU LCBQNX+4 05048000 LCBSTSAV EQU LCBQNX+1 05049000 @NM00136 EQU LCBQNXMN 05050000 LCBNX509 EQU LCBQNXMN 05051000 LCBNX162 EQU LCBQNXMN 05052000 LCBNX142 EQU LCBQNXMN 05053000 LCBNX064 EQU LCBQNXMN 05054000 @NM00135 EQU @NM00133+4 05055000 LCBNCPPT EQU @NM00133+1 05056000 @NM00134 EQU @NM00133 05057000 LCBWRSCH EQU LCBCOREQ+8 05058000 LCBCQLNK EQU LCBCOREQ+4 05059000 LCBCQELE EQU LCBCOREQ 05060000 LCBPAKCH EQU LCBRSPIN+16 05061000 @NM00132 EQU LCBRSPFG 05062000 LCBRSRH EQU LCBRSPFG 05063000 LCBEXPI EQU LCBRSPFG 05064000 @NM00131 EQU LCBRSPIN+12 05065000 LCBUSUE1 EQU LCBCSWU1 05066000 @NM00130 EQU LCBCSWU1 05067000 @NM00129 EQU LCBSCPRS+1 05068000 LCBDFCMD EQU LCBSCPRS 05069000 LCBUSER EQU LCBLUSNS+2 05070000 LCBSMIN EQU LCBLUSNS+1 05071000 LCBSMAJ EQU LCBLUSNS 05072000 LCBRHSV EQU LCBRSPIN+2 05073000 LCBSNS0 EQU LCBRSPIN+1 05074000 @NM00128 EQU LCBRSPIN 05075000 TTHTAG2 EQU TTHTAG+1 05076000 @NM00196 EQU TTHTAG1 05077000 TTHTAGS EQU TTHTAG1 05078000 TTHEFI EQU TTHBYTE0 05079000 @NM00195 EQU TTHBYTE0 05080000 TTHEBIU EQU TTHBYTE0 05081000 TTHBBIU EQU TTHBYTE0 05082000 TTHFTYPE EQU TTHBYTE0 05083000 TRMOPT EQU IEDTRM+34 05084000 TRMOPTBL EQU IEDQTRM+18 05085000 TRMOPNO EQU IEDQTRM+17 05086000 TRMCHCIN EQU IEDQTRM+16 05087000 TRMSENSE EQU TRMSTAT+3 05088000 TRMTEMPR EQU TRMSTAT+2 05089000 TRMSIO EQU TRMSTAT 05090000 @NM00191 EQU TRMDEVFL+1 05091000 TRMTPIN EQU TRMDEVFL+1 05092000 TRMNCPI EQU TRMDEVFL+1 05093000 TRMRNTRM EQU TRMDEVFL+1 05094000 @NM00190 EQU TRMDEVFL+1 05095000 TRMLMD EQU TRMDEVFL+1 05096000 TRMCONC EQU TRMDEVFL+1 05097000 TRMTSOB EQU TRMDEVFL 05098000 TRMBFDY EQU TRMDEVFL 05099000 TRMTBLK EQU TRMDEVFL 05100000 TRMSBLK EQU TRMDEVFL 05101000 TRMBLKS EQU TRMDEVFL 05102000 TRMADDC EQU TRMDEVFL 05103000 TRMDDIG EQU TRMDEVFL 05104000 TRMBUFS EQU TRMDEVFL 05105000 TRMPRILK EQU TRMALTD 05106000 TRMLGB EQU TRMDSORG 05107000 TRMSCNYN EQU TRMSTATE 05108000 TRMOPTFN EQU TRMSTATE 05109000 TRMACPTN EQU TRMSTATE 05110000 TRMPREF EQU TRMSTATE 05111000 TRMPROC EQU TRMLOG 05112000 TRMLIST EQU TRMLOG 05113000 TRMLINE EQU TRMSTATE 05114000 TRMRLMCT EQU IEDNTRM+10 05115000 TRMBUFRD EQU TRMBYTE0 05116000 TRMGP EQU TRMBYTE0 05117000 @NM00189 EQU TRMBYTE0 05118000 TRMOUTPT EQU TRMBYTE0 05119000 TRMUDEF EQU TRMBYTE0 05120000 TRMSTOTE EQU TRMBYTE1 05121000 TRMCKPRN EQU TRMBYTE1 05122000 TRMTSATN EQU TRMBYTE1 05123000 TRMTRACE EQU TRMBYTE1 05124000 TRMSWBCK EQU TRMBYTE1 05125000 TRMAUTOC EQU TRMBYTE1 05126000 TRMWTNEG EQU TRMSCPRQ 05127000 TRMWRBRK EQU TRMBYTE2 05128000 TRMNOSND EQU TRMBYTE2 05129000 TRMPREP EQU TRMBYTE2 05130000 TRMANDL EQU TRMBYTE2 05131000 TRMREMB EQU TRMBYTE2 05132000 @NM00188 EQU TRHBYTE2 05133000 @NM00187 EQU TRHBYTE2 05134000 @NM00186 EQU TRHBYTE2 05135000 TRHCSI EQU TRHBYTE2 05136000 @NM00185 EQU TRHBYTE2 05137000 TRHCDI EQU TRHBYTE2 05138000 TRHEB EQU TRHBYTE2 05139000 TRHBB EQU TRHBYTE2 05140000 TRHPI EQU TRHBYTE1 05141000 @NM00184 EQU TRHBYTE1 05142000 @NM00183 EQU TRHBYTE1 05143000 @NM00182 EQU TRHBYTE1 05144000 TRHER EQU TRHBYTE1 05145000 TRHDR2 EQU TRHBYTE1 05146000 @NM00181 EQU TRHBYTE1 05147000 TRHDR1 EQU TRHBYTE1 05148000 TRHEC EQU TRHBYTE0 05149000 TRHBC EQU TRHBYTE0 05150000 TRHSDI EQU TRHBYTE0 05151000 TRHFI EQU TRHBYTE0 05152000 @NM00180 EQU TRHBYTE0 05153000 TRHRUCAT EQU TRHBYTE0 05154000 TRHTYPE EQU TRHBYTE0 05155000 SCBTRANS EQU IEDQSCB+81 05156000 SCBUNTCT EQU IEDQSCB+80 05157000 SCBEOB EQU IEDQSCB+78 05158000 SCBNXCPB EQU SCBCCSEG 05159000 SCBNHDR EQU SCBCHDR 05160000 SCBCRCD EQU IEDQSCB+69 05161000 SCBTQBCK EQU SCBNTXT 05162000 SCBOSEQ EQU SCBSCAN 05163000 SCBXTRA EQU SCBCORE 05164000 SCBNOPST EQU SCBSTAT1 05165000 SCBNIDLE EQU SCBSTAT1 05166000 SCBCEND EQU SCBSTAT1 05167000 SCBCBGN EQU SCBSTAT1 05168000 SCBSIZE EQU IEDQSCB+58 05169000 SCBSRCE EQU IEDQSCB+56 05170000 SCBDEOB EQU IEDQSCB+52 05171000 SCBFEFO EQU SCBDCSEG 05172000 SCBCTBND EQU SCBBLKCT 05173000 SCBSCHDR EQU SCBCLSEG 05174000 SCBHBFNO EQU IEDQSCB+44 05175000 SCBSCSEG EQU SCBDNSEG 05176000 SCBBCTR EQU SCBCTBSV 05177000 SCBCCHDR EQU IEDQSCB+37 05178000 SCBDESTL EQU IEDQSCB+36 05179000 SCBDCHDR EQU IEDQSCB+33 05180000 SCBCPBNO EQU IEDQSCB+32 05181000 SCBMBSSA EQU IEDQSCB+25 05182000 SCBMLMTN EQU SCBBSCFM 05183000 SCBNOEOT EQU SCBBSCFM 05184000 @NM00179 EQU SCBBSCFM 05185000 SCBNPDTR EQU SCBDATEN 05186000 SCBCNTEN EQU SCBBSCFM 05187000 SCBRCVTX EQU SCBBSCFM 05188000 SCBNONTR EQU SCBBSCFM 05189000 SCBTRNSP EQU SCBBSCFM 05190000 SCBENDCR EQU SCBCTBAC+1 05191000 SCBCRLEN EQU SCBCTBAC 05192000 SCBMRFSD EQU IEDQSCB+20 05193000 SCBUNDFN EQU SCBERR4 05194000 SCBSTERN EQU SCBCHANN 05195000 SCBCPMEN EQU SCBCTLUN 05196000 @NM00178 EQU SCBERR4 05197000 SCBTRMLN EQU SCBERR4 05198000 SCBCONNN EQU SCBERR4 05199000 SCBAPERR EQU SCBTXTTN 05200000 SCBSLCTN EQU SCBERR4 05201000 SCBPERRN EQU SCBXCEPN 05202000 SCBTHRSN EQU SCBATTN 05203000 SCBFIERN EQU SCBFORMN 05204000 SCBUSERN EQU SCBERR3 05205000 SCBSATTN EQU SCBERR3 05206000 SCBTMINN EQU SCBERR3 05207000 SCBXPD EQU SCBTMIDN 05208000 SCBXPI EQU SCBLOSTN 05209000 SCBSOHE EQU SCBERR2 05210000 SCBFRWDN EQU SCBERR2 05211000 SCBRRJN EQU SCBABRTN 05212000 SCBOLTR EQU SCBERR2 05213000 SCBALN EQU SCBERR2 05214000 SCBCODER EQU SCBERR2 05215000 SCBCRMAX EQU SCBERR2 05216000 SCBCRMIN EQU SCBERR2 05217000 SCBRVISL EQU SCBCUTFN 05218000 SCBNOBFN EQU SCBERR1 05219000 @NM00177 EQU SCBERR1 05220000 SCBNOVAC EQU SCBSEQLN 05221000 SCBNOTSO EQU SCBSEQHN 05222000 SCBRVITX EQU SCBNOTRM 05223000 SCBHANG EQU SCBORIGN 05224000 SCBNOLOG EQU SCBHDRRN 05225000 SCBMRFPL EQU IEDQSCB+13 05226000 SCBBFMM EQU SCBQTYPE 05227000 SCBBBFTM EQU SCBQTYPE 05228000 SCBNOFF EQU SCBQTYPE 05229000 SCBCONC EQU SCBQTYPE 05230000 SCBNREUS EQU SCBQTYPE 05231000 SCBREUS EQU SCBQTYPE 05232000 SCBCOREQ EQU SCBQTYPE 05233000 SCBNORCL EQU SCBQTYPE 05234000 SCBCTBSZ EQU SCBEOBSZ 05235000 @NM00176 EQU SCBBKFCT 05236000 SCBPRI EQU IEDQSCB+8 05237000 SCBMACR EQU SCBMBHEN 05238000 SCBSNDCT EQU SCBRCVCT 05239000 SCBDESTQ EQU IEDQSCB+1 05240000 SCBCODE EQU SCBSTATE 05241000 SCBPRER EQU SCBSTATE 05242000 SCBCKPT EQU SCBSTATE 05243000 SCBERSDS EQU SCBSTATE 05244000 SCBMGFMN EQU SCBSEQIN 05245000 SCBTRANP EQU SCBSTATE 05246000 SATRNLCB EQU IEDSATD 05247000 QCBTTCIN EQU QCBPLCBA+1 05248000 @NM00175 EQU QCBPLCBA 05249000 @NM00174 EQU QCBSTAT1 05250000 QCBFLUSH EQU QCBSTAT1 05251000 QCBNDXRQ EQU QCBSTAT1 05252000 QCBESIG EQU QCBSTAT1 05253000 QCBWAITC EQU QCBSTAT1 05254000 QCBCHAIN EQU IEDNQCB 05255000 QCBPQBCK EQU IEDQPQCB+25 05256000 QCBCFHDR EQU IEDQPQCB+21 05257000 QCBLFEFO EQU IEDQPQCB+18 05258000 QCBPREVF EQU QCBINTLF 05259000 QCBINTFF EQU IEDQPQCB+9 05260000 QCBDATSQ EQU QCBFHDTZ+1 05261000 @NM00173 EQU QCBFHDTZ 05262000 @NM00172 EQU QCBPFEFO 05263000 QCBDATFL EQU QCBFHDLZ 05264000 QCBDNHDR EQU IEDQPQCB 05265000 QCBQBACK EQU IEDQQCB+37 05266000 QCBCKPT EQU QCBFLAG 05267000 QCBPROC EQU QCBFLAG 05268000 QCBSDFFO EQU QCBFLAG 05269000 QCBTERMQ EQU QCBFLAG 05270000 QCBRSRV EQU QCBFLAG 05271000 QCBREAD EQU QCBFLAG 05272000 QCBNOBRK EQU QCBFLAG 05273000 QCBRELLN EQU IEDQQCB+32 05274000 QCBTJID EQU QCBLKRRN+1 05275000 QCBCARCT EQU QCBLKRRN 05276000 QCBPRLVL EQU QCBPREN 05277000 QCBMSGCT EQU IEDQQCB+26 05278000 QCBEXTO EQU QCBINTVL 05279000 QCBDISC EQU QCBTSOF1 05280000 QCBPARTO EQU QCBTSOF1 05281000 QCBSATRD EQU QCBTSOF1 05282000 QCBNOBUF EQU QCBTSOF1 05283000 QCBTPUT EQU QCBTSOF1 05284000 QCBTGET EQU QCBTSOF1 05285000 QCBWRBRK EQU QCBTSOF1 05286000 QCBSATLC EQU QCBTSOF2 05287000 QCBSATTI EQU QCBTSOF2 05288000 QCBSATCH EQU QCBTSOF2 05289000 QCBSIMRD EQU QCBTSOF2 05290000 QCBDSSMI EQU QCBTSOF2 05291000 QCBPOSTO EQU QCBTSOF2 05292000 QCBBUFQ EQU QCBTSOF2 05293000 QCBINHBN EQU QCBTSOF2 05294000 QCBSATCT EQU @NM00171 05295000 QCBSCBOF EQU IEDQQCB+20 05296000 QCBCLOCK EQU QCBSTAT 05297000 QCBSCHDL EQU QCBSTAT 05298000 QCBSMODE EQU QCBSTAT 05299000 QCBSEND EQU QCBSTAT 05300000 QCBBUFRD EQU QCBSTAT 05301000 QCBTRMHO EQU QCBSTAT 05302000 QCBEOM EQU QCBSTAT 05303000 QCBHUCT EQU QCBRETCT 05304000 QCBIEND EQU QCBRETCT 05305000 QCBEND EQU QCBRETCT 05306000 QCBNL EQU QCBRETCT 05307000 QCBLOGCT EQU QCBRETCT 05308000 @NM00170 EQU QCBBYTE1 05309000 QCBRITRM EQU QCBBYTE1 05310000 @NM00169 EQU QCBEOLDT 05311000 QCBLINK EQU IEDQQCB+5 05312000 QCBCNTEN EQU QCBELCHN+2 05313000 @NM00168 EQU QCBELCHN+2 05314000 @NM00167 EQU QCBELCHN 05315000 QCBHELD EQU QCBDSFLG 05316000 QCBFQCB EQU QCBDSFLG 05317000 QCBDRQQ EQU QCBDSFLG 05318000 QCBALTMH EQU QCBDSFLG 05319000 QCBTSQ EQU QCBDSFLG 05320000 PRF2SEQP EQU PRF2WD2 05321000 @NM00166 EQU IEDPF2+1 05322000 @NM00165 EQU PRF2FLG2 05323000 PRF2TERM EQU PRF2FLG2 05324000 PRF2SMI EQU PRF2FLG2 05325000 PRF2FORM EQU PRF2FLG2 05326000 PRF1RULN EQU PRF1SEQP+2 05327000 PRF1TAG2 EQU PRF1SQID+1 05328000 @NM00164 EQU PRF1TAG1 05329000 PRF1TAGS EQU PRF1TAG1 05330000 @NM00163 EQU PRF1FLG1 05331000 PRF1LOGD EQU PRF1FLG1 05332000 PRF1USS EQU PRF1FLG1 05333000 PRF1FORM EQU PRF1FLG1 05334000 PRF1EXPI EQU PRF1FLG1 05335000 PRF1FIDI EQU PRF1FLG1 05336000 PRF1RH EQU IEDPF1 05337000 PRFDEST EQU IEDQPRF+40 05338000 PRFISEQ EQU IEDQPRF+38 05339000 PRFSTXT EQU PRFHQBCK 05340000 PRFNHDR EQU PRFCHDR 05341000 PRFCRCD EQU IEDQPRF+29 05342000 PRFSVSEQ EQU PRFNTXT+1 05343000 PRFSVPRI EQU PRFEOBOF 05344000 PRFISIZE EQU PRFSCAN+1 05345000 @NM00162 EQU PRFSCAN 05346000 PRFEOB EQU PRFXTRA+1 05347000 PRFSTSO EQU PRFXTRA 05348000 PRFNHDRN EQU PRFSTAT1 05349000 PRFNLSTN EQU PRFSTAT1 05350000 PRFLOCK EQU PRFEOFN 05351000 PRFDUPLN EQU PRFSTAT1 05352000 PRFTSMSG EQU PRFSTAT1 05353000 PRFITCPN EQU PRFSTAT1 05354000 PRFERMGN EQU PRFSTAT1 05355000 PRFCNCLN EQU PRFSTAT1 05356000 PRFSVFLG EQU @NM00161+3 05357000 PRFSIZE EQU PRFSVFFO+2 05358000 PRFSRCE EQU PRFSVFFO 05359000 PRFLCB EQU IEDQPRF+13 05360000 PRFTI0 EQU PRFTIC+1 05361000 @NM00160 EQU PRFTICC 05362000 @NM00159 EQU PRFTICC 05363000 @NM00158 EQU PRFTICC 05364000 PRFTICON EQU PRFTICC 05365000 @NM00157 EQU PRFTICC 05366000 @NM00156 EQU PRFTICC 05367000 PRFBFMM EQU PRFTICC 05368000 PRFEOMSG EQU PRFTICC 05369000 PRFCOUNT EQU PRFLINK+1 05370000 @NM00155 EQU PRFLINK 05371000 PRFFLAGS EQU PRFPRI 05372000 PRFIOADR EQU PRFQCBA 05373000 PRFOPCDE EQU PRFKEY 05374000 @NM00154 EQU OPREFLG3 05375000 OPREATCH EQU OPREFLG3 05376000 @NM00153 EQU OPREFLG3 05377000 OPREFLG2 EQU IEDOPRED+13 05378000 OPRELINK EQU IEDOPRED+5 05379000 OPREKEY EQU IEDOPRED 05380000 @NM00152 EQU NSLGRPNM+4 05381000 NSLOPCEP EQU NSLGRPNM 05382000 @NM00151 EQU IEDNSLD+34 05383000 @NM00150 EQU NSLESTAT 05384000 @NM00149 EQU NSLESTAT 05385000 NSLELINK EQU NSLERB+5 05386000 @NM00148 EQU NSLGPCUS 05387000 @NM00147 EQU NSLPLCB 05388000 NSLOPRE EQU IEDNSLD 05389000 NATODAF EQU IEDNATD 05390000 LCBERADR EQU LCBXRADR+1 05391000 LCBPCIRC EQU LCBXRADR 05392000 LCBDCT3 EQU LCBXDCT+2 05393000 LCBDCT2 EQU LCBXDCT+1 05394000 LCBDCT1 EQU LCBXDCT 05395000 @NM00146 EQU LCBXFLAG 05396000 LCBERPND EQU LCBXFLAG 05397000 LCBSRCPF EQU LCBXFLAG 05398000 LCBGPCTV EQU LCBXFLAG 05399000 @NM00145 EQU LCBXFLAG 05400000 @NM00144 EQU LCBXFLAG 05401000 @NM00143 EQU LCBXFLAG 05402000 @NM00142 EQU LCBXFLAG 05403000 LCBCCW10 EQU LCBCPA+72 05404000 LCBCCW9 EQU LCBCPA+64 05405000 LCBCCW8 EQU LCBCPA+56 05406000 LCBCCW7 EQU LCBCPA+48 05407000 LCBCCW6 EQU LCBCPA+40 05408000 LCBCP EQU LCBQEBPL+4 05409000 LCBIOSB EQU LCBQEBPL+1 05410000 LCBSIO EQU LCBQEBPL 05411000 LCBCCW4 EQU LCBCPA+24 05412000 LCBCCW3 EQU LCBCPA+16 05413000 LCBCCW2 EQU LCBCPA+8 05414000 LCBCCW1 EQU LCBCPA 05415000 @NM00127 EQU LCBERCCW+16 05416000 LCBATL05 EQU LCBERCCW+8 05417000 @NM00126 EQU LCBERCCW 05418000 LCBCSWSV EQU LCBSAVSN+1 05419000 LCBSNSV EQU LCBSAVSN 05420000 LCBBFSNS EQU LCBRSPSV 05421000 LCBWAITC EQU LCBTPCD+5 05422000 LCBINPAK EQU LCBSTAT6 05423000 LCBMHBID EQU LCBSTAT6 05424000 LCBRTRRO EQU LCBSTAT6 05425000 LCBHDRPD EQU LCBSTAT6 05426000 LCBCHN EQU LCBSTAT6 05427000 LCBBFRSV EQU LCBTPCD+1 05428000 @NM00125 EQU LCBSTAT5 05429000 LCBLUS EQU LCBSTAT5 05430000 LCBLUNIT EQU LCBSTAT5 05431000 LCBPERM EQU LCBSTAT5 05432000 LCBNXCMD EQU LCBBFRW 05433000 LCBERMSK EQU LCBOBRCH 05434000 LCBOLT EQU LCBMSGFM 05435000 LCBEOT EQU LCBMSGFM 05436000 LCBENQ EQU LCBMSGFM 05437000 LCBTTD EQU LCBMSGFM 05438000 LCBRSTRT EQU LCBMSGFM 05439000 LCBVSTRT EQU LCBMSGFM 05440000 LCBACKI EQU LCBMSGFM 05441000 LCBNAK EQU LCBMSGFM 05442000 @NM00124 EQU LCBRBCT2 05443000 LCBDCNT EQU LCBRBCT2 05444000 LCBRBCT1 EQU LCBERBCT 05445000 LCBERBCH EQU IEDQLCB+85 05446000 LCBCOMPL EQU LCBDLNKN 05447000 LCBPRCPG EQU LCBERBST 05448000 LCBERROR EQU LCBERBST 05449000 LCBLOGDV EQU LCBERBST 05450000 LCBINQ EQU LCBERBST 05451000 LCBRDERR EQU LCBERBST 05452000 LCBEOMSG EQU LCBERBST 05453000 LCBMSG EQU LCBERBST 05454000 LCBERBLK EQU IEDQLCB+81 05455000 LCBERBPY EQU IEDQLCB+80 05456000 LCBERBQB EQU LCBERB+1 05457000 LCBERBKY EQU LCBERB 05458000 LCBRECAD EQU IEDQLCB+73 05459000 @NM00123 EQU LCBTSTSW 05460000 @NM00122 EQU LCBTSTSW 05461000 @NM00121 EQU LCBTSTSW 05462000 @NM00120 EQU LCBTSTSW 05463000 @NM00119 EQU LCBTSTSW 05464000 @NM00118 EQU LCBTSTSW 05465000 @NM00117 EQU LCBTSTSW 05466000 LCBCONCT EQU LCBTSTSW 05467000 LCBRESP EQU LCBSTAT2 05468000 LCBBFRAV EQU LCBDIAL 05469000 LCBATTN EQU LCBSYNC 05470000 LCBNEGRP EQU LCBSTAT2 05471000 LCBSNDPR EQU LCBSTAT2 05472000 LCBCONNN EQU LCBBEOTN 05473000 LCBMSGNN EQU LCBSTAT2 05474000 LCBTRACE EQU LCBSTAT2 05475000 LCBRECVN EQU LCBSTAT1 05476000 LCBFREEN EQU LCBSTAT1 05477000 LCBCONT EQU LCBSTAT1 05478000 LCBINITN EQU LCBSTAT1 05479000 LCBOCWTN EQU LCBSTAT1 05480000 LCBRCLLN EQU LCBSTAT1 05481000 LCBRECOF EQU IEDQLCB+68 05482000 LCBRDBFR EQU LCBRCBFR 05483000 LCBUCBX EQU IEDQLCB+64 05484000 LCBTTBIN EQU LCBERRCT 05485000 @NM00116 EQU LCBINCAM 05486000 LCBGETMN EQU LCBINCAM 05487000 @NM00115 EQU LCBRESTR+1 05488000 LCBCMDSV EQU LCBRESTR 05489000 LCBPCILK EQU LCBDCBPT 05490000 LCBSTART EQU LCBIOBSN+16 05491000 LCBAP4OL EQU LCBSIOCC 05492000 LCBAP3OL EQU LCBSIOCC 05493000 LCBAP2OL EQU LCBSIOCC 05494000 LCBAP1OL EQU LCBSIOCC 05495000 LCBSIOC2 EQU LCBSIOCC 05496000 LCBSIOC1 EQU LCBSIOCC 05497000 @NM00114 EQU LCBSIOCC 05498000 LCBCSWRC EQU LCBCSW+5 05499000 LCBCSCHC EQU LCBCSWCS 05500000 LCBCSICC EQU LCBCSWCS 05501000 LCBCSCCC EQU LCBCSWCS 05502000 LCBCSCDC EQU LCBCSWCS 05503000 LCBCSPTC EQU LCBCSWCS 05504000 LCBCSPGC EQU LCBCSWCS 05505000 LCBCSIL EQU LCBCSWCS 05506000 LCBCSPCI EQU LCBCSWCS 05507000 LCBUSUE EQU LCBCSWUS 05508000 LCBUSUC EQU LCBCSWUS 05509000 LCBUSDE EQU LCBCSWUS 05510000 LCBUSCE EQU LCBCSWUS 05511000 LCBUSBSY EQU LCBCSWUS 05512000 LCBUSCUE EQU LCBCSWUS 05513000 LCBUSSM EQU LCBCSWUS 05514000 LCBUSAT EQU LCBCSWUS 05515000 LCBCSWCA EQU LCBCSW 05516000 LCBOBR EQU LCBFLAG3 05517000 LCBOBRRD EQU LCBFLAG3 05518000 LCBIOMSG EQU LCBFLAG3 05519000 LCBSOHC EQU LCBFLAG3 05520000 LCBRLAD EQU LCBFLAG3 05521000 LCBSOHR EQU LCBFLAG3 05522000 @NM00113 EQU LCBFLAG3 05523000 LCBECBPT EQU LCBIOBSN+4 05524000 LCBECBCC EQU LCBIOBSN+3 05525000 LCBSENS1 EQU LCBSNS+1 05526000 LCBABORT EQU LCBTMOUT 05527000 LCBNOTIN EQU LCBLOSDT 05528000 LCBOVRUN EQU LCBSENS0 05529000 LCBDATCK EQU LCBSENS0 05530000 LCBEQUCK EQU LCBSENS0 05531000 LCBBUSCK EQU LCBSENS0 05532000 LCBINTRQ EQU LCBSENS0 05533000 LCBCMDRJ EQU LCBSENS0 05534000 LCBFLAG2 EQU LCBIOBSN 05535000 @NM00112 EQU LCBFLAG1 05536000 LCBUNREL EQU LCBFLAG1 05537000 LCBEXCPN EQU LCBFLAG1 05538000 @NM00111 EQU LCBFLAG1 05539000 LCBERPIN EQU LCBFLAG1 05540000 @NM00110 EQU LCBFLAG1 05541000 LCBFSBFR EQU LCBMHA 05542000 LCBISZE EQU IEDQLCB+28 05543000 LCBLNENT EQU LCBSCBDA+1 05544000 @NM00109 EQU LCBSCBDA 05545000 LCBCPGMH EQU LCBSTAT4 05546000 LCBREAL EQU LCBPHASE 05547000 @NM00108 EQU LCBSTAT4 05548000 LCBACTRQ EQU LCBSTAT4 05549000 LCBIPLRQ EQU LCBSTAT4 05550000 LCBDACRQ EQU LCBSTAT4 05551000 LCBDMPRQ EQU LCBSTAT4 05552000 @NM00107 EQU LCBLKMDE 05553000 LCBHMFLG EQU LCBLKMDE 05554000 @NM00106 EQU LCBINSRC 05555000 LCBABRTN EQU LCBCHAIN 05556000 LCBCTLMD EQU LCBTETEN 05557000 LCBBFRSZ EQU LCBCHAIN 05558000 LCBUREQN EQU LCBCHAIN 05559000 LCBNORTY EQU LCBCHAIN 05560000 LCBERMSG EQU LCBCHAIN 05561000 LCBEXCP EQU LCBCHAIN 05562000 LCBINVRQ EQU LCBSCRNN 05563000 LCB2741N EQU LCBTSOB 05564000 LCBINHBN EQU LCBTSOB 05565000 LCBCIRCD EQU LCBTSOB 05566000 LCBPREP EQU LCBTSOB 05567000 LCBSOPL EQU LCBTSOB 05568000 LCBSATRD EQU LCBTSOB 05569000 LCBTSBUF EQU LCBTSOB 05570000 LCBWRBRK EQU LCBTSOB 05571000 LCBTDL EQU IEDQLCB+18 05572000 LCBEOLTD EQU IEDQLCB+16 05573000 LCBRSLNK EQU IEDQLCB+13 05574000 LCBRSPRI EQU IEDQLCB+12 05575000 LCBSTCBA EQU IEDQLCB+9 05576000 LCBRSKEY EQU IEDQLCB+8 05577000 LCBLINK EQU LCBRCB+5 05578000 LCBKEY EQU LCBRCB 05579000 BDUXGRPH EQU BDUEXRSP 05580000 BDUXFINL EQU BDUEXRSP 05581000 BDUXINIT EQU BDUEXRSP 05582000 BDURESP EQU BDUSYRSP 05583000 BDUPHASE EQU BDUSYRSP 05584000 BDUERROR EQU BDUSYRSP 05585000 BDUXERLK EQU BDUBDUFG 05586000 BDUALTAK EQU BDUFNFLG 05587000 BDUNEGAK EQU BDUFNFLG 05588000 BDUPOSAK EQU BDUFNFLG 05589000 BDUTPTX EQU BDUFNFLG 05590000 BDUFRSTB EQU BDUFNFLG 05591000 BDULEADG EQU BDUFNFLG 05592000 BDUHEADR EQU BDUFNFLG 05593000 BDUSTHDR EQU BDUFNFLG 05594000 SAVTLLCB EQU IEDNSVTD+316 05595000 SAVTBITN EQU IEDNSVTD+312 05596000 @NM00105 EQU SAVTCKQB+8 05597000 @NM00104 EQU SAVTCKEC+1 05598000 @NM00103 EQU SAVTCKCC 05599000 SAVTCKPO EQU SAVTCKCC 05600000 SAVTCKWA EQU SAVTCKCC 05601000 SAVTCKCH EQU SAVTCKTB+1 05602000 SAVTCKVT EQU SAVTCKTB 05603000 @NM00102 EQU IEDNSVTD+297 05604000 SAVTRDFG EQU SAVTRDRV+12 05605000 @NM00101 EQU SAVTRDRV+5 05606000 SAVTRDPY EQU SAVTRDRV+4 05607000 SAVTRDQB EQU SAVTRDRV+1 05608000 SAVTRDKY EQU SAVTRDRV 05609000 SAVTNID EQU IEDNSVTD+280 05610000 SAVTDVAS EQU IEDNSVTD+276 05611000 SAVTPLSZ EQU IEDNSVTD+274 05612000 @NM00100 EQU IEDNSVTD+273 05613000 @NM00099 EQU SAVTZELM+1 05614000 SAVTSUBM EQU SAVTZELM 05615000 SAVTMHDX EQU IEDNSVTD+268 05616000 SAVTNAT1 EQU IEDNSVTD+266 05617000 SAVTSH20 EQU IEDNSVTD+264 05618000 SAVTLCBS EQU IEDNSVTD+260 05619000 SAVTRNMP EQU IEDNSVTD+256 05620000 SAVTNAX EQU IEDNSVTD+248 05621000 SAVTSUBV EQU IEDNSVTD+247 05622000 SAVTSUBA EQU IEDNSVTD+246 05623000 SAVTSIBC EQU IEDNSVTD+244 05624000 SAVTBSM EQU IEDNSVTD+240 05625000 SAVTSCPT EQU SAVTTCPU 05626000 SAVTRQTG EQU IEDNSVTD+236 05627000 SAVTRQCH EQU IEDNSVTD+232 05628000 SAVTMAND EQU IEDNSVTD+228 05629000 SAVTSPLN EQU IEDNSVTD+224 05630000 SAVTNADL EQU IEDNSVTD+222 05631000 SAVTNATL EQU IEDNSVTD+220 05632000 SAVTMHTB EQU IEDNSVTD+216 05633000 SAVTSSMH EQU IEDNSVTD+212 05634000 SAVTQRS EQU IEDNSVTD+208 05635000 SAVTRQIN EQU IEDNSVTD+204 05636000 SAVTDFCO EQU IEDNSVTD+200 05637000 SAVTSARI EQU IEDNSVTD+192 05638000 SAVTSAC EQU IEDNSVTD+188 05639000 SAVTSAI EQU IEDNSVTD+184 05640000 SAVTCSCI EQU IEDNSVTD+180 05641000 SAVTSSRP EQU IEDNSVTD+176 05642000 SAVTSSRQ EQU IEDNSVTD+172 05643000 SAVTSCLU EQU IEDNSVTD+168 05644000 SAVTXTRQ EQU IEDNSVTD+164 05645000 SAVTMVBF EQU IEDNSVTD+160 05646000 @NM00098 EQU IEDNSVTD+148 05647000 SAVTIPCQ EQU IEDNSVTD+144 05648000 @NM00097 EQU IEDNSVTD+136 05649000 SAVTXFMI EQU IEDNSVTD+132 05650000 @NM00096 EQU IEDNSVTD+124 05651000 SAVTXFMO EQU IEDNSVTD+120 05652000 @NM00095 EQU IEDNSVTD+116 05653000 SAVTSSSR EQU IEDNSVTD+112 05654000 SAVTSCPQ EQU IEDNSVTD+108 05655000 SAVTSLCB EQU IEDNSVTD+104 05656000 SAVTLUSR EQU IEDNSVTD+100 05657000 @NM00094 EQU SAVTLUSQ+8 05658000 SAVTLUSP EQU SAVTLUSQ+4 05659000 SAVTLUSB EQU SAVTLUSQ 05660000 @NM00093 EQU IEDNSVTD+84 05661000 SAVTNAT EQU IEDNSVTD+76 05662000 SAVTCLUP EQU IEDNSVTD+72 05663000 SAVTPIUT EQU IEDNSVTD+68 05664000 SAVTRNTA EQU IEDNSVTD+64 05665000 SAVTDNIR EQU IEDNSVTD+60 05666000 SAVTCNIR EQU IEDNSVTD+56 05667000 SAVTFLDH EQU IEDNSVTD+52 05668000 SAVTSRTN EQU IEDNSVTD+48 05669000 SAVTSREQ EQU IEDNSVTD+44 05670000 SAVTFAIL EQU IEDNSVTD+42 05671000 SAVTSUSE EQU IEDNSVTD+40 05672000 SAVTSIB EQU IEDNSVTD+36 05673000 SAVTPRTN EQU IEDNSVTD+32 05674000 @NM00092 EQU IEDNSVTD+28 05675000 SAVTWH20 EQU IEDNSVTD+26 05676000 SAVTPWT EQU IEDNSVTD+24 05677000 SAVTPRTQ EQU IEDNSVTD+20 05678000 SAVTPH20 EQU IEDNSVTD+14 05679000 SAVTPUSE EQU IEDNSVTD+12 05680000 SAVTPLCB EQU IEDNSVTD+8 05681000 SAVTPOOL EQU IEDNSVTD+4 05682000 SAVTPRMT EQU SAVTDIAF 05683000 SAVTVIRT EQU SAVTDIAF 05684000 AVTCPBNO EQU IEDQAVTD+1172 05685000 AVTHRESS EQU IEDQAVTD+1171 05686000 @NM00091 EQU IEDQAVTD+1170 05687000 @NM00090 EQU IEDQAVTD+1169 05688000 @NM00089 EQU IEDQAVTD+1168 05689000 @NM00088 EQU IEDQAVTD+1165 05690000 @NM00087 EQU IEDQAVTD+1164 05691000 AVTHRESE EQU @NM00086 05692000 AVTRADDR EQU IEDQAVTD+1156 05693000 AVTNADDR EQU IEDQAVTD+1152 05694000 AVTHRESN EQU IEDQAVTD+1148 05695000 AVTVOLRN EQU IEDQAVTD+1144 05696000 AVTTOTNN EQU IEDQAVTD+1140 05697000 AVTTRCYN EQU IEDQAVTD+1136 05698000 AVTRCTRN EQU IEDQAVTD+1132 05699000 AVTNOVON EQU IEDQAVTD+1128 05700000 AVTADEBN EQU IEDQAVTD+1124 05701000 AVTVOLRR EQU IEDQAVTD+1120 05702000 AVTTOTNR EQU IEDQAVTD+1116 05703000 AVTTRCYR EQU IEDQAVTD+1112 05704000 AVTRCTRR EQU IEDQAVTD+1108 05705000 AVTNOVOR EQU IEDQAVTD+1104 05706000 AVTADEBR EQU IEDQAVTD+1100 05707000 AVTLODPT EQU IEDQAVTD+1096 05708000 AVTIOBN EQU IEDQAVTD+1092 05709000 AVTIOBR EQU IEDQAVTD+1088 05710000 AVTCPBPT EQU IEDQAVTD+1084 05711000 AVTFCPB EQU IEDQAVTD+1080 05712000 @NM00085 EQU IEDQAVTD+1076 05713000 AVTINCPQ EQU IEDQAVTD+1072 05714000 @NM00084 EQU IEDQAVTD+1068 05715000 @NM00083 EQU IEDQAVTD+1065 05716000 @NM00082 EQU AVTBIT4 05717000 @NM00081 EQU AVTBIT4 05718000 @NM00080 EQU AVTBIT4 05719000 @NM00079 EQU AVTBIT4 05720000 @NM00078 EQU AVTBIT4 05721000 @NM00077 EQU AVTBIT4 05722000 @NM00076 EQU AVTBIT4 05723000 AVTRUFTN EQU AVTBIT4 05724000 @NM00075 EQU IEDQAVTD+1060 05725000 AVTNOBFQ EQU IEDQAVTD+1056 05726000 @NM00074 EQU IEDQAVTD+1052 05727000 AVTDKENQ EQU IEDQAVTD+1048 05728000 @NM00073 EQU IEDQAVTD+1044 05729000 AVTDKAPQ EQU IEDQAVTD+1040 05730000 AVTCOPY EQU IEDQAVTD+1036 05731000 AVTIA EQU IEDQAVTD+1032 05732000 AVTFL EQU IEDQAVTD+1028 05733000 @NM00072 EQU IEDQAVTD+1024 05734000 AVTNCPBQ EQU IEDQAVTD+1020 05735000 AVTTOTNC EQU IEDQAVTD+1016 05736000 AVTCMAX EQU IEDQAVTD+1012 05737000 AVTCMIN EQU IEDQAVTD+1008 05738000 AVTHM02 EQU IEDQAVTD+1004 05739000 AVTOPCIN EQU IEDQAVTD+1002 05740000 AVTDCTLN EQU IEDQAVTD+1000 05741000 AVTOPMSK EQU IEDQAVTD+996 05742000 AVTDDFT EQU IEDQAVTD+992 05743000 AVTSTEAL EQU IEDQAVTD+988 05744000 AVTOPTN EQU IEDQAVTD+984 05745000 AVTDSKCT EQU IEDQAVTD+982 05746000 AVTCKRST EQU IEDQAVTD+981 05747000 AVTSTAN EQU AVTBIT3 05748000 AVTSTACN EQU AVTBIT3 05749000 AVTSTAIN EQU AVTBIT3 05750000 AVTSTAYN EQU AVTBIT3 05751000 AVTOLTBN EQU AVTBIT3 05752000 AVTTSAB EQU AVTBIT3 05753000 AVTRFULN EQU AVTBIT3 05754000 AVTRECVN EQU AVTBIT3 05755000 @NM00071 EQU AVTBIT2 05756000 @NM00070 EQU AVTBIT2 05757000 AVTOPEIN EQU AVTBIT2 05758000 AVTSTRTN EQU AVTBIT2 05759000 AVTTOPOL EQU AVTBIT2 05760000 AVTCOPYN EQU AVTBIT2 05761000 AVTREUSN EQU AVTBIT2 05762000 AVTEXTSC EQU AVTBIT2 05763000 AVTDISKN EQU AVTBIT1 05764000 AVTCLOSN EQU AVTBIT1 05765000 AVTREADN EQU AVTBIT1 05766000 AVTDLAYN EQU AVTBIT1 05767000 AVTAQTAN EQU AVTBIT1 05768000 AVTTSON EQU AVTBIT1 05769000 AVTAPLKN EQU AVTBIT1 05770000 AVTDUMBR EQU IEDQAVTD+976 05771000 AVTDLQX EQU IEDQAVTD+974 05772000 AVTINTLV EQU IEDQAVTD+972 05773000 AVTSMCNT EQU IEDQAVTD+970 05774000 AVTAVFCT EQU IEDQAVTD+968 05775000 AVTOPCON EQU IEDQAVTD+966 05776000 AVTOPCNT EQU IEDQAVTD+964 05777000 AVTLNCNT EQU IEDQAVTD+962 05778000 AVTKEYLE EQU IEDQAVTD+960 05779000 AVTHA16 EQU IEDQAVTD+958 05780000 AVTHA7 EQU IEDQAVTD+956 05781000 AVTHA4 EQU IEDQAVTD+954 05782000 AVTHA3 EQU IEDQAVTD+952 05783000 AVTHA2 EQU IEDQAVTD+950 05784000 AVTGETMS EQU IEDQAVTD+949 05785000 @NM00069 EQU IEDQAVTD+948 05786000 AVTGETMD EQU IEDQAVTD+944 05787000 AVTGETMN EQU IEDQAVTD+940 05788000 AVTCWTOT EQU IEDQAVTD+936 05789000 AVTCWINT EQU IEDQAVTD+884 05790000 AVTDTRAP EQU IEDQAVTD+880 05791000 @NM00068 EQU IEDQAVTD+878 05792000 @NM00067 EQU AVTIOTR 05793000 AVTIOTRH EQU AVTIOTR 05794000 AVTIOTRE EQU AVTIOTR 05795000 @NM00066 EQU AVTSUBT 05796000 AVTSUBPT EQU AVTSUBT 05797000 AVTSUBON EQU AVTSUBT 05798000 AVTAFE30 EQU IEDQAVTD+872 05799000 AVTAFE20 EQU IEDQAVTD+868 05800000 AVTAFE10 EQU IEDQAVTD+864 05801000 AVTCWEC2 EQU IEDQAVTD+860 05802000 AVTCWPM2 EQU IEDQAVTD+856 05803000 AVTCWTS2 EQU IEDQAVTD+855 05804000 AVTCWTS1 EQU IEDQAVTD+854 05805000 AVTCWCLD EQU AVTCWFL2 05806000 AVTCWRAP EQU AVTCWFL2 05807000 @NM00065 EQU AVTCWFL2 05808000 @NM00064 EQU AVTCWFL2 05809000 @NM00063 EQU AVTCWFL2 05810000 @NM00062 EQU AVTCWFL2 05811000 @NM00061 EQU AVTCWFL2 05812000 AVTCWACT EQU AVTCWFL2 05813000 @NM00060 EQU AVTCWFL1 05814000 @NM00059 EQU AVTCWFL1 05815000 @NM00058 EQU AVTCWFL1 05816000 @NM00057 EQU AVTCWFL1 05817000 @NM00056 EQU AVTCWFL1 05818000 @NM00055 EQU AVTCWFL1 05819000 @NM00054 EQU AVTCWFL1 05820000 AVTCOMWN EQU AVTCWFL1 05821000 AVTCWEC1 EQU IEDQAVTD+848 05822000 AVTCWPM1 EQU IEDQAVTD+844 05823000 AVTCAREA EQU IEDQAVTD+840 05824000 AVTCADDR EQU IEDQAVTD+832 05825000 AVTCOREC EQU IEDQAVTD+828 05826000 @NM00053 EQU IEDQAVTD+820 05827000 AVTCPBCB EQU IEDQAVTD+816 05828000 @NM00052 EQU IEDQAVTD+808 05829000 AVTDSIOB EQU IEDQAVTD+804 05830000 @NM00051 EQU IEDQAVTD+796 05831000 AVTCPRMB EQU IEDQAVTD+792 05832000 @NM00050 EQU IEDQAVTD+784 05833000 AVTCLOSB EQU IEDQAVTD+780 05834000 @NM00049 EQU IEDQAVTD+772 05835000 AVTACTIB EQU IEDQAVTD+768 05836000 @NM00048 EQU IEDQAVTD+764 05837000 AVTOLTEB EQU IEDQAVTD+760 05838000 AVTOLTCH EQU AVTOLTQB+1 05839000 AVTOLTVT EQU AVTOLTQB 05840000 @NM00047 EQU AVTOPCQB+8 05841000 @NM00046 EQU AVTOPCEC+1 05842000 @NM00045 EQU AVTOPCCC 05843000 AVTOPCPO EQU AVTOPCCC 05844000 AVTOPCWA EQU AVTOPCCC 05845000 AVTOPCCH EQU AVTOPCOB+1 05846000 AVTOPCVT EQU AVTOPCOB 05847000 @NM00044 EQU AVTCKPQB+9 05848000 AVTCKPTS EQU AVTCKPQB+8 05849000 @NM00043 EQU AVTCKPEC+1 05850000 @NM00042 EQU AVTCKPCC 05851000 AVTCKPPO EQU AVTCKPCC 05852000 AVTCKPWA EQU AVTCKPCC 05853000 AVTCKPCH EQU AVTCKPTB+1 05854000 AVTCKPVT EQU AVTCKPTB 05855000 @NM00041 EQU IEDQAVTD+724 05856000 @NM00040 EQU IEDQAVTD+716 05857000 AVTSELCH EQU IEDQAVTD+713 05858000 AVTBFRTN EQU AVTBFRFG 05859000 AVTTIMQ EQU IEDQAVTD+704 05860000 @NM00039 EQU IEDQAVTD+700 05861000 AVTIMQPS EQU IEDQAVTD+696 05862000 AVTINOUT EQU IEDQAVTD+694 05863000 AVTREFTM EQU IEDQAVTD+692 05864000 @NM00038 EQU IEDQAVTD+680 05865000 AVTDELYB EQU IEDQAVTD+676 05866000 AVTOCQPT EQU IEDQAVTD+672 05867000 AVTTSOPT EQU IEDQAVTD+668 05868000 AVTSUPPT EQU IEDQAVTD+664 05869000 AVTCBQCB EQU IEDQAVTD+660 05870000 AVTMSGS EQU IEDQAVTD+657 05871000 @NM00037 EQU AVTSYSER 05872000 @NM00036 EQU AVTSYSER 05873000 @NM00035 EQU AVTSYSER 05874000 @NM00034 EQU AVTSYSER 05875000 @NM00033 EQU AVTSYSER 05876000 @NM00032 EQU AVTSYSER 05877000 AVTCMAXN EQU AVTSYSER 05878000 AVTCMINN EQU AVTSYSER 05879000 AVT2260L EQU IEDQAVTD+652 05880000 AVTABEPL EQU AVTADBUF 05881000 AVTHFF EQU AVTCLRHI+2 05882000 @NM00031 EQU AVTCLRHI 05883000 AVTCCLNK EQU AVTCRELE+5 05884000 AVTCCPRI EQU AVTCRELE+4 05885000 AVTCCQCB EQU AVTCCELE+1 05886000 AVTCCKEY EQU AVTCCELE 05887000 AVTDELAD EQU IEDQAVTD+632 05888000 AVTDELEM EQU IEDQAVTD+628 05889000 AVTBSX EQU AVTCKLNK 05890000 AVTOPETR EQU AVTHG01 05891000 @NM00030 EQU AVTCKBYT 05892000 AVTCKONQ EQU AVTCKBYT 05893000 @NM00029 EQU AVTCKBYT 05894000 @NM00028 EQU AVTCKBYT 05895000 @NM00027 EQU AVTCKBYT 05896000 @NM00026 EQU AVTCKBYT 05897000 @NM00025 EQU AVTCKBYT 05898000 @NM00024 EQU AVTCKBYT 05899000 AVTOPERT EQU IEDQAVTD+618 05900000 AVTOPXCL EQU IEDQAVTD+616 05901000 AVTOPERL EQU IEDQAVTD+615 05902000 @NM00023 EQU IEDQAVTD+614 05903000 AVTCKTIM EQU IEDQAVTD+612 05904000 AVTCKELV EQU IEDQAVTD+610 05905000 AVTCPRCD EQU IEDQAVTD+609 05906000 AVTWARMN EQU AVTCKELF 05907000 AVTCRTLN EQU AVTCKELF 05908000 AVTCPIPN EQU AVTCKELF 05909000 AVTCCLCN EQU AVTCKELF 05910000 AVTCINCN EQU AVTCKELF 05911000 @NM00022 EQU AVTCKELF 05912000 AVTCMCPN EQU AVTCKELF 05913000 AVTNQBCK EQU AVTCKELF 05914000 AVTCKQAD EQU IEDQAVTD+605 05915000 AVTSCBSZ EQU IEDQAVTD+604 05916000 @NM00021 EQU IEDQAVTD+600 05917000 AVTCKELE EQU IEDQAVTD+596 05918000 @NM00020 EQU AVTCKPEL+8 05919000 AVTCKRLK EQU AVTCKPEL+5 05920000 AVTCKRPR EQU AVTCKPEL+4 05921000 AVTCKRMQ EQU AVTCKRMV+1 05922000 AVTCKRKY EQU AVTCKRMV 05923000 AVTHK EQU IEDQAVTD+576 05924000 AVTHI EQU IEDQAVTD+572 05925000 AVTIOT EQU IEDQAVTD+568 05926000 AVTNX EQU IEDQAVTD+564 05927000 AVTTONE EQU IEDQAVTD+560 05928000 AVTA3TL EQU IEDQAVTD+556 05929000 AVTDMECB EQU IEDQAVTD+552 05930000 AVTABEND EQU IEDQAVTD+546 05931000 AVTPLCBN EQU IEDQAVTD+544 05932000 @NM00019 EQU AVTSAVTP+1 05933000 @NM00018 EQU AVTSAVTF 05934000 AVTSNA EQU AVTSAVTF 05935000 AVTONSNA EQU AVTSAVTF 05936000 AVTVTMCP EQU AVTSAVTF 05937000 @NM00017 EQU IEDQAVTD+536 05938000 AVTCMBSS EQU IEDQAVTD+532 05939000 AVTRCV EQU IEDQAVTD+528 05940000 AVTCSCH EQU IEDQAVTD+520 05941000 AVTQ1 EQU IEDQAVTD+516 05942000 AVTE7 EQU IEDQAVTD+512 05943000 AVTHB EQU IEDQAVTD+508 05944000 AVTR1 EQU IEDQAVTD+504 05945000 AVTBZ EQU IEDQAVTD+500 05946000 AVTEZ EQU IEDQAVTD+496 05947000 AVTEC EQU IEDQAVTD+492 05948000 AVTEW EQU IEDQAVTD+488 05949000 AVTNDIAL EQU AVTSCOPT 05950000 AVTN2741 EQU AVTSCOPT 05951000 AVTCONCO EQU AVTSCOPT 05952000 AVTCONC EQU AVTSCOPT 05953000 AVTCMBUF EQU AVTSCOPT 05954000 AVTAPDMP EQU AVTSCOPT 05955000 @NM00016 EQU AVTSCOPT 05956000 AVTHA EQU AVTDISP 05957000 AVTEA EQU IEDQAVTD+476 05958000 AVTAX EQU IEDQAVTD+472 05959000 AVTA3 EQU IEDQAVTD+468 05960000 AVTGD EQU IEDQAVTD+464 05961000 AVTAL EQU IEDQAVTD+460 05962000 AVTOLTST EQU AVTHG02 05963000 AVTE8 EQU IEDQAVTD+452 05964000 AVTUI EQU IEDQAVTD+448 05965000 AVTCOMPT EQU IEDQAVTD+444 05966000 AVTCRSRF EQU IEDQAVTD+440 05967000 @NM00015 EQU IEDQAVTD+436 05968000 AVTKA02 EQU IEDQAVTD+432 05969000 AVTOPTPT EQU IEDQAVTD+428 05970000 AVTPCBPT EQU IEDQAVTD+424 05971000 @NM00014 EQU AVTECB1 05972000 AVTCOMP EQU AVTECB1 05973000 @NM00013 EQU AVTECB1 05974000 AVTOPECA EQU IEDQAVTD+416 05975000 AVTOLECA EQU IEDQAVTD+412 05976000 AVTCKECA EQU IEDQAVTD+408 05977000 AVTCWECA EQU IEDQAVTD+404 05978000 AVTCWTCB EQU IEDQAVTD+400 05979000 AVTOLTCB EQU IEDQAVTD+396 05980000 AVTOCTCB EQU IEDQAVTD+392 05981000 AVTCKTCB EQU IEDQAVTD+388 05982000 AVTAS EQU IEDQAVTD+384 05983000 AVTNOLBF EQU IEDQAVTD+382 05984000 AVTNCKPR EQU IEDQAVTD+381 05985000 AVTCIB EQU IEDQAVTD+380 05986000 AVTSPLPT EQU IEDQAVTD+376 05987000 AVTMVBFR EQU IEDQAVTD+372 05988000 AVTSBTA EQU IEDQAVTD+368 05989000 AVTRARTN EQU IEDQAVTD+364 05990000 AVTBSCAN EQU IEDQAVTD+360 05991000 AVTRDYA EQU IEDQAVTD+356 05992000 AVTDISTR EQU IEDQAVTD+348 05993000 AVTPARM3 EQU IEDQAVTD+344 05994000 @NM00012 EQU AVTPKF 05995000 @NM00011 EQU AVTPKF 05996000 @NM00010 EQU AVTPKF 05997000 AVTFTCHF EQU AVTPKF 05998000 @NM00009 EQU AVTPKF 05999000 @NM00008 EQU AVTPKF 06000000 @NM00007 EQU AVTPKF 06001000 @NM00006 EQU AVTPKF 06002000 AVTPARM EQU IEDQAVTD+336 06003000 AVTEXS2A EQU IEDQAVTD+330 06004000 AVTEXA2S EQU IEDQAVTD+324 06005000 AVTOCGET EQU IEDQAVTD+320 06006000 AVTCKAVT EQU @NM00004+1 06007000 @NM00005 EQU AVTCKFLG 06008000 AVTCKHLT EQU AVTCKFLG 06009000 AVTCKREQ EQU AVTCKFLG 06010000 AVTCKENV EQU AVTCKFLG 06011000 AVTCKNAC EQU AVTCKFLG 06012000 AVTCKTAC EQU AVTCKFLG 06013000 AVTBUENT EQU IEDQAVTD+314 06014000 @NM00003 EQU IEDQAVTD+313 06015000 AVTFULLT EQU AVTBUFSW 06016000 AVTUNCON EQU AVTBUFSW 06017000 @NM00002 EQU AVTBUFSW 06018000 AVTBUFTR EQU AVTREADD 06019000 AVTREADY EQU IEDQAVTD+304 06020000 AVTRACE EQU IEDQAVTD+300 06021000 AVTTCB EQU IEDQAVTD+296 06022000 AVTPASWD EQU IEDQAVTD+288 06023000 AVTCTLCH EQU IEDQAVTD+280 06024000 AVTDOUBL EQU IEDQAVTD+272 06025000 AVTDOUBX EQU IEDQAVTD+264 06026000 AVTDPARM EQU IEDQAVTD+260 06027000 AVTCSTCS EQU IEDQAVTD+256 06028000 AVTDLQ EQU AVTSAVEX+32 06029000 @NM00001 EQU AVTSAVEX 06030000 AVTSAVE4 EQU IEDQAVTD+144 06031000 AVTSAVE2 EQU IEDQAVTD 06032000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 06033000 @RC00443 EQU @EL00002 06034000 @RC00446 EQU @EL00002 06035000 @RC00453 EQU @EL00003 06036000 @RC00456 EQU @EL00003 06037000 @RC00459 EQU @EL00003 06038000 @RC00462 EQU @EL00003 06039000 @RC00465 EQU @EL00003 06040000 @RC00468 EQU @EL00003 06041000 @RC00506 EQU @EL00005 06042000 @RC00553 EQU @EL00006 06043000 @RC00567 EQU @EL00007 06044000 @RC00598 EQU @EL00008 06045000 @RC00739 EQU @RC00737 06046000 @RC00747 EQU @RC00737 06047000 @RC00728 EQU @RC00725 06048000 @RC00810 EQU @RC00808 06049000 @RF00835 EQU @RC00806 06050000 @RC00875 EQU @EL00016 06051000 @RC00891 EQU @EL00016 06052000 @RF00901 EQU @EL00016 06053000 @RF00906 EQU @EL00016 06054000 @RC00904 EQU @EL00016 06055000 @RC00950 EQU @EL00018 06056000 @RC01121 EQU @RC01118 06057000 @RC01089 EQU @EL00027 06058000 @RC01170 EQU @EL00027 06059000 @RC01177 EQU @EL00027 06060000 @RC01198 EQU @EL00027 06061000 @RC01206 EQU @EL00028 06062000 @RC01339 EQU @RC01336 06063000 @RC01410 EQU @RC01405 06064000 @RC01439 EQU @EL00030 06065000 @RC01525 EQU @EL00033 06066000 @RC01573 EQU @EL00035 06067000 @RC01580 EQU @EL00035 06068000 @RC01632 EQU @RC01630 06069000 @RC01616 EQU @EL00037 06070000 @RC01704 EQU @EL00040 06071000 @RC01723 EQU @EL00040 06072000 @PB00040 EQU @EL00001 06073000 @RC00527 EQU @RC00506 06074000 @RC00730 EQU @RC00728 06075000 @RC00812 EQU @RC00810 06076000 @RC00877 EQU @RC00875 06077000 @RF00893 EQU @RC00891 06078000 @RF00896 EQU @RC00891 06079000 @RC00952 EQU @RC00950 06080000 @RC01092 EQU @RC01089 06081000 @RC01101 EQU @RC01089 06082000 @RC01180 EQU @RC01177 06083000 @RC01189 EQU @RC01177 06084000 @RC01530 EQU @RC01525 06085000 @RC01634 EQU @RC01632 06086000 @PB00039 EQU @PB00040 06087000 @RC01707 EQU @RC01704 06088000 @RC00532 EQU @RC00527 06089000 @RF00733 EQU @RC00730 06090000 @RC00820 EQU @RC00812 06091000 @RC01638 EQU @RC01634 06092000 @PB00038 EQU @PB00039 06093000 @RC00822 EQU @RC00820 06094000 @PB00037 EQU @PB00038 06095000 @PB00036 EQU @PB00037 06096000 @PB00035 EQU @PB00036 06097000 @PB00034 EQU @PB00035 06098000 @PB00033 EQU @PB00034 06099000 @PB00032 EQU @PB00033 06100000 @PB00031 EQU @PB00032 06101000 @PB00030 EQU @PB00031 06102000 @PB00029 EQU @PB00030 06103000 @PB00028 EQU @PB00029 06104000 @PB00027 EQU @PB00028 06105000 @PB00026 EQU @PB00027 06106000 @PB00025 EQU @PB00026 06107000 @PB00024 EQU @PB00025 06108000 @PB00023 EQU @PB00024 06109000 @PB00022 EQU @PB00023 06110000 @PB00021 EQU @PB00022 06111000 @PB00020 EQU @PB00021 06112000 @PB00019 EQU @PB00020 06113000 @PB00018 EQU @PB00019 06114000 @PB00017 EQU @PB00018 06115000 @PB00016 EQU @PB00017 06116000 @PB00015 EQU @PB00016 06117000 @PB00014 EQU @PB00015 06118000 @PB00013 EQU @PB00014 06119000 @PB00012 EQU @PB00013 06120000 @PB00011 EQU @PB00012 06121000 @PB00010 EQU @PB00011 06122000 @PB00009 EQU @PB00010 06123000 @PB00008 EQU @PB00009 06124000 @PB00007 EQU @PB00008 06125000 @PB00006 EQU @PB00007 06126000 @PB00005 EQU @PB00006 06127000 @PB00004 EQU @PB00005 06128000 @PB00003 EQU @PB00004 06129000 @PB00002 EQU @PB00003 06130000 @ENDDATA EQU * 06131000 END IEDNSL,(C'PLS1109',0701,78123) 06132000