MACRO 00010000 &LABEL NETSOL &SYSTEM=,&PRTCT=,&MESSAGE=IBMMSG,&ACQUIRE=YES, *00020000 &NUMBER=10,&STRPCNL=YES,&TIME=5,&ABEND=YES 00023000 .* 00030000 .*A-000000-999999 @DL31HZZ 00040000 .* 10SEP76 00050000 * /* START OF SPECIFICATIONS **** 00060000 * 00070000 *01* MACRO-NAME = NETSOL 00080000 * 00090000 *01* STATUS = RELEASE 1 00100000 * 00110000 *01* CHANGE-ACTIVITY =NEW MACRO 1ST RELEASE 03 VS2 00120000 * 03 VS1 00130000 * 31 DOS 00140000 * APAR OZ09571 @VS49571 00146000 * APAR OZ13672 @ZA13672 00149000 * APAR OZ13651 @ZA13651 00152000 * APAR OZ13667 @ZA13667 00156000 * APAR OZ08423 @ZA08423 00158000 * APAR OZ17038 @ZA17038 00160000 * APAR OZ17870 @ZA17870 00165000 * APAR OZ19510,OZ19517 @ZA19510 00167000 * APAR OZ19857 @ZA19857 00167700 * APAR OZ19859 00168400 * APAR OZ19873 @ZA19873 00168500 * APAR OZ19916 @ZA19916 00168600 * APAR OZ19918 @ZA19918 00168700 * APAR OZ25474 @ZA25474 00168900 * APAR OZ25713 @ZA25713 00169100 * APAR OZ24909 @ZA24909 00169300 * APAR OZ27711 @ZA27711 00169500 * APAR OZ27846 @ZA27846 00169600 * APAR OZ27740 @ZA27740 00169700 * APAR OZ28552 @ZA28552 00170700 * APAR OZ28912 @ZA28912 00171700 * APAR OZ30101 @ZA30101 00172200 * APAR OZ31003 @ZA31003 00172400 * APAR OZ31146 @ZA31146 00172500 * APAR OZ32168 @ZA32168 00172600 * APAR OZ32003 @ZA32003 00173000 * APAR OZ32289 @ZA32289 00173100 * APAR OZ32555 @ZA32555 00173200 * APAR OZ33578 @ZA33578 00173300 * APAR OZ33715 @ZA33715 00173400 * APAR OZ34078 @ZA34078 00173500 * APAR OZ34716 @ZA34716 00174000 * APAR OZ35374 @ZA35374 00174200 * APAR OZ35053 @ZA35053 00174300 * APAR OZ36882 @ZA36882 00174400 * APAR OZ37625 - SYSROUTE OF OX23390 @ZA37625 00174500 * APAR OZ37922 - SYSROUTE OF OX23564 @ZA37922 00175100 * APAR OZ38609 @ZA38609 00176500 * APAR OZ38438 WRONG REG USEDON CLSDST @ZA38438 00177500 * APAR OZ39673 ABEND0C4 REG5 BAD SNOCCUR @ZA39673 00178200 * APAR OZ42307 CLR RPLNIB BEFORE SOLICIT @ZA42307 00178600 * APAR OZ43303 RPL0 IN USE ABENDU0005 @ZA43303 00178700 * APAR OZ44027 CORRECT DATE @ZA44027 00178800 * APAR OZ44250 SYSROUTE OF DY22430 @ZA44250 00178900 *01* COPYRIGHT = NONE 00179000 * 00180000 *01* DESCRIPTIVE-NAME = NETWORK SOLICITOR 00190000 * 00200000 *01* FUNCTION = THE NETSOL MACRO EXPANDS TO FORM A VTAM APPLICATION 00210000 * PROGRAM, DESIGNED TO OWN A NUMBER OF TERMINALS IN A VTAM NETWORK. 00220000 * THE LOGON-TABLE FOR EACH OF THESE TERMINALS SPECIFIES THE NETWORK 00230000 * SOLICITOR (HEREAFTER REFERRED TO AS NETSOL OR NS) AS THE 00240000 * APPLICATION TO WHICH THE TERMINAL IS INITIALLY LOGGED ON. 00250000 * NETWORK SOLICITOR INVITES EACH SUCH TERMINAL TO SUBMIT LOGON DATA 00260000 * AND IDENTIFIES THE APPLICATION TO BE CONNECTED. 00270000 * NETSOL INQUIRES FOR THE STATUS OF THIS APPLICATION, AND IF IT IS 00280000 * ACTIVE PASSES THE TERMINALS TO IT. OTHERWISE NETSOL OUTPUTS AN 00290000 * ERROR MESSAGE TO THE TERMINAL INDICATING WHY THE APPLICATION IS 00300000 * INACTIVE, AND REQUESTING ALTERNATIVE LOGON DATA. NETWORK 00310000 * SOLICITOR RE-ACQUIRES A TERMINAL WHEN IT IS RELEASED, OR PASSED 00320000 * TO NETWORK SOLICITOR BY ANOTHER APPLICATION. 00330000 * 00340000 *01* NOTES = NONE 00350000 * 00360000 *02* DEPENDENCIES = API INTERFACE , USER EXIT SCHEDULER 00370000 * 00380000 *02* PERFORMANCE = NOT AVAILABLE 00390000 * 00400000 *02* RESTRICTIONS = DEVICE SUPPORT LIMITED TO THE FOLLOWING: 00410000 * 2740 COMMUNICATIONS TERMINAL @DA04534 00420000 * 2741 COMMUNICATIONS TERMINAL @DA04534 00430000 * 1050 DATA COMMUNICATIONS SYSTEM @DA04534 00440000 * TWX AT&T TELETYPEWRITER TERMINAL @DA04534 00450000 * WTTY WORLD TRADE TELEGRAPH STATION @DA04534 00460000 * 115A WESTERN UNION PLAN OUTSTATION @DA04534 00470000 * 1052 PRINTER-KEYBOARD @DA04534 00480000 * 1054 PAPER TAPE READER @DA04534 00490000 * 1056 CARD READER @DA04534 00500000 * 1092 PR0GRAMMED KEYBOARD @DA04534 00510000 * 1093 PROGRAMMED KEYBOARD @DA04534 00520000 * 2770 DATA COMMUNICATION TERMINAL @DA04534 00530000 * 2780 DATA TRANSMISSION TERMINAL @DA04534 00540000 * 3735 PROGRAMMABLE BUFFERED TERMINAL (INQUIRY MODE ONLY) 00550000 * 3780 DATA TRANSMISSION TERMINAL @DA04534 00560000 * SYS3 CPU @DA04534 00570000 * 2980 GENERAL BANKING TERMINAL @DA04534 00580000 * 3277 DISPLAY STATION @DA04534 00590000 * 3275 DISPLAY STATION @DA04534 00600000 * 3741 DATA STATION @DA04534 00610000 * 3747 DATA CONVERTER @DA04534 00620000 * 2265 DISPLAY STATION @DA04534 00630000 * 2502 CARD READER @DA04534 00640000 * 50 MAGNETIC DATA INSCRIBER @DA04534 00650000 * 1255 MAGNETIC CHARACTER READER @DA04534 00660000 * 5496 DATA RECORDER @DA04534 00670000 *02* REGISTER-CONVENTIONS = AS FOLLOWS 00680000 * 00690000 * R0 FOR PARAMETER PASSING 00700000 * R1 FOR PARAMETER PASSING 00710000 * R2-R4 WORK REGISTERS 00720000 * R5 RPL/WORK-AREA POINTER 00730000 * R6 WORK REGISTER 00740000 * R7 WORK REGISTER @VS49571 00750000 * R8 NIB POINTER @VS49571 00751000 * R9 WORK REGISTER @VS49571 00752000 * R10-R12 BASE REGISTERS @ZM32689 00780000 * R13 SAVE AREA POINTER 00790000 * R14 RETURN ADDRESS 00800000 * R15 WORK REGISTER + ENTRY ADDRESS + RETURN CODE 00810000 * 00820000 *02* PATCH-LABEL = PATCH 00830000 * 00840000 *01* MODULE-TYPE = MACRO 00850000 * @XL03HAJ 00860000 *02* PROCESSOR = ASSEMBLER 00870000 * 00880000 *02* PARAMETERS PASSED = AS FOLLOWS 00890000 * 00900000 *03* LABEL OPTIONAL. THE 8 OR FEWER CHARACTER LABEL ON 00910000 * THE NETSOL MACRO. IDENTIFIES THE NETWORK 00920000 * SOLICITOR AS AN APPLICATION. IF NOT SPECIFIED 00930000 * THE NAME 'NETSOL' IS USED. 00940000 *03* SYSTEM REQUIRED. 'DOS', 'VS1', OR 'VS2'. IDENTIFIES 00950000 * THE SYSTEM FOR WHICH THE NETWORK SOLICITOR IS 00960000 * TO BE GENERATED: DOS/VS, OS/VS1, OR OS/VS2. 00970000 *03* PRTCT OPTIONAL. AN 8 OR FEWER CHARACTER PASSWORD. 00980000 * IF SPECIFIED MUST AGREE WITH THE PASSWORD ON 00990000 * THE APPL STATEMENT FOR THE NETWORK SOLICITOR 01000000 * SET UP FOR THE NETWORK. 01010000 *03* MESSAGE OPTIONAL. AN 8 OR FEWER CHARACTER CSECT NAME. 01020000 * DEFAULT IS THE NAME OF AN IBM-SUPPLIED CSECT. 01030000 * IDENTIFIES CSECT CONTAINING TEXT OF ERROR 01040000 * MESSAGES SENT TO THE TERMINAL OPERATOR. 01050000 *03* ACQUIRE OPTIONAL. YES OR NO. DEFAULT IS YES. SPECIFIES 01060000 * WHETHER CODE IS TO BE INCLUDED IN NETSOL TO 01070000 * ALLOW OTHER APPLICATIONS TO ACQUIRE TERMINALS 01080000 * FROM NETSOL. 01090000 *03* NUMBER OPTIONAL. A DECIMAL INTERGER GREATER THAN ONE 01100000 * AND LESS THAN 256. THIS PARAMETER INDICATES 01110000 * HOW MANY RPL'S ARE TO BE GENERATED FOR @VS49571 01120000 * NETSOL USE. @VS49571 01121000 *03* STRPCNL OPTIONAL. YES OR NO. DEFAULT IS YES. SPECIFIES 01131000 * WHETHER CODE IS TO BE INCLUDED IN NETSOL TO 01132000 * STRIP ALL CONTROL INFORMATION FROM DATA PASSED 01133000 * TO NETSOL BEFORE PASSING DATA TO APPLICATION 01134000 * PROGRAM VIA CLSDST OPTCD=PASS @ZA07805 01135000 * TIME OPTIONAL DEFAULT 5. SPECIFIES NUMBER OF @ZA25713 01136000 * MINUTES BETWEEN NETSOL INITIALIZATION @ZA25713 01136500 * AND THE FIRST ISSUING OF ERASE/WRITE TO @ZA25713 01137000 * 3270. PREVENTS OVERLOAD OF SYSTEM @ZA25713 01137500 * RESOURCES. @ZA25713 01138000 * ABEND OPTIONAL. YES OR NO. DEFAULT IS YES. @ZA32003 01139100 * SPECIFIES WHETHER CODE IS TO BE INCLUDED@ZA32203 01139200 * IN NETSOL TO ISSUE A MESSAGE OR ABEND @ZA32003 01139300 * WITH A U0004 ON A SHOULD NOT OCCUR @ZA32003 01139400 * SITURATION. @ZA32003 01139500 * 01140000 * ALL THESE PARAMETERS CAUSE CONDITIONAL ASSEMBLY. 01150000 * 01160000 *02* EXTERNAL-REFERENCES = NONE 01170000 * 01180000 *02* ROUTINES = ERREXIT, WRITEMSG @XL03HAJ 01190000 * 01200000 *02* DATA-SETS = NONE 01210000 * 01220000 *01* TABLES = CHTAB, TABDEV, TRTAB1, MANY BRANCH TABLES TO HANDLE 01230000 * ERROR CONDITIONS 01240000 * 01250000 *01* INNER-MACROS = NONE 01260000 * 01270000 * 01280000 *01* SYSTEM-MACROS = WAIT, POST, OPEN, SETLOGON, READ, CLOSE, OPNDST, 01290000 * SOLICIT, CHECK, INQUIRE, CHANGE, ISTNIB, ISTRPL, 01300000 * INTRPRET, CLSDST, WRITE, RESET. 01310000 * @VS49571 01320000 *01* DESCRIPTION OF ACTION CODES AND FLAGS @VS49571 01321000 * @VS49571 01322000 * @VS49571 01323000 * THE ERREXIT ROUTINE COMMUNICATES TO THE ERROR EXIT NSI@VS49571 01324000 * VIA AN ACTION CODE SET IN REG 15 AND, IN SOME CASES, @VS49571 01325000 * AN ACTION CODE MODIFIER SET IN REG 0. IN SOME SPECIAL @VS49571 01326000 * CASES, FLAGS ARE SET TO PASS INFORMATION TOO. @VS49571 01327000 * @VS49571 01328000 * THE ACTION CODES AND MODIFIERS INDICATE APPROPRIATE @VS49571 01329000 * ACTIONS TO BE TAKEN BY THE EXIT ROUTINE. THE EXIT @VS49571 01330000 * ROUTINE MAY, HOWEVER, HANDLE THE ERROR ACTION @VS49571 01331000 * DIFFERENTLY FROM WHAT ERREXIT INDICATES BY ITS ACTION @VS49571 01332000 * CODE, IF IT SO CHOOSES. @VS49571 01333000 * @VS49571 01334000 * ACTION CODES AND MODIFIERS ARE AS FOLLOWS: @VS49571 01335000 * @VS49571 01336000 * 00 MACRO COMPLETED SUCCESSFULLY @VS49571 01337000 * REG 0 MODIFIER=0 @VS49571 01338000 * @VS49571 01339000 * 04 THIS IS A SNO (SHOULD NOT OCCUR) WHICH WILL NOT@VS49571 01340000 * BE SET BY THE ERROR EXIT. IF THIS IS SET AT @VS49571 01341000 * NSI, THE NETWORK SOLICITOR SHOULD ABNORMALLY @VS49571 01342000 * TERMINATE. @VS49571 01343000 * @VS49571 01344000 *TORELES 08 BRANCH TO RELEASE @VS49571 01345000 * @VS49571 01346000 *TOWRITE 0C BRANCH TO WRITEMSG @VS49571 01347000 * REG 0 MODIFIER=MESSAGE NUMBER PLUS X'80' IF @VS49571 01348000 * RESET NEEDED @VS49571 01349000 * @VS49571 01350000 *REISSU 10 RESET AND/OR REISSUE THE REQUEST @VS49571 01351000 * REG 0 MODIFIER=0 REISSUE @VS49571 01352000 *RSETONLY =4 RESET @VS49571 01353000 *RESET1ST =8 RESET AND REISSUE @VS49571 01354000 * @VS49571 01355000 *TOENDREQ 14 BRANCH TO FREERPL @VS49571 01356000 * @VS49571 01357000 *CATCHALL 18 TAKE ACTION ACCORDING TO MODIFIER @VS49571 01358000 *TOSOLIC REG 0 MODIFIER=0 SOLICIT @VS49571 01359000 *NOFLUSH =4 STOP FLUSHING I/O @VS49571 01360000 *IGNORE =8 CHANGE 'GENED' STATUS FROM @VS49571 01361000 * I/O TO INPUT ONLY @VS49571 01362000 * @VS49571 01363000 *RSETSOL 1C BRANCH TO RESET THEN SOLICIT @VS49571 01364000 * @VS49571 01365000 *TOPROBDV 20 BRANCH TO PROBDEV @VS49571 01366000 * @VS49571 01367000 * SINCE NETSOL DOES NOT ISSUE ALL API MACROS, NOT ALL @VS49571 01368000 * RTNCD CODES AND REASON CODES ARE POSSIBLE. THOSE @VS49571 01369000 * FDBK3 CODES WHICH CAN OCCUR FOR THE MACROS ISSUED ARE @VS49571 01370000 * LISTED WITHIN THE SUBSECTIONS OF ERREXIT FOR EACH @VS49571 01371000 * RTNCD CODE. THIS LIST INCLUDES ANY WHICH MAY BE @VS49571 01372000 * IMPOSSIBLE BECAUSE OF CURRENT NETSOL LOGIC. THOSE WHICH @VS49571 01373000 * ARE POSSIBLE ARE INDICATED WITH AN '*'. RECORD ONLY @VS49571 01374000 * CODES ARE NOT LISTED. @VS49571 01375000 * @VS49571 01376000 * 01887000 **** END OF SPECIFICATIONS ***/ 01896000 .* 01905000 .* VERIFY THE SYNTAX OF THE NETSOL MACRO, AND APPLY DEFAULTS. 01914000 .* 01923000 LCLA &KPRTCT,&NUM,&TABCONT @VS49571 01932000 LCLC &AMSG,&APRTCT,&AACQ,&ALABEL 01950000 LCLC &MODDATE,&CTCOUNT,&ASTRIP,&AABEND @ZA32003 01959000 .* @D31JKAJ 01961000 .* TEST VALIDITY OF STRPCNL OPERAND SHOULD BE 'YES', @ZA07805 01963000 .* OR 'NO' . @ZA07805 01965000 &ASTRIP SETC 'NO' @ZA07805 01971600 AIF ('&STRPCNL' EQ 'NO').TSTSTP @ZA07805 01972500 &ASTRIP SETC 'YES' @ZA07805 01973400 AIF ('&STRPCNL' EQ 'YES').TSTSTP @ZA07805 01974300 MNOTE 4,'STRPCNL OPERAND INVALID. DEFAULT OF ''YES'' ASSUMED' 01975200 .TSTSTP ANOP @ZA07805 01976100 .* TEST VALIDITY OF SYSTEM OPERAND. SHOULD BE 'DOS', @D31JKAJ 01977000 .* 'VS1', OR 'VS2'. @D31JKAJ 01986000 .* @D31JKAJ 01995000 AIF ('&SYSTEM' EQ 'DOS').SYSOK @D31JKAX 02004000 AIF ('&SYSTEM' EQ 'VS1').SYSOK @D31JKAX 02013000 AIF ('&SYSTEM' EQ 'VS2').SYSOK @D31JKAX 02022000 MNOTE 8,'SYSTEM PARAMETER INCORRECT. SYSTEM = ''&SYSTEM''' 02040000 MEXIT @D31JKAX 02049000 .SYSOK ANOP @D31JKAX 02058000 .* 02067000 .* TEST THE VALIDITY OF THE ACQUIRE OPERAND. THIS SHOULD BE 'YES' 02076000 .* OR 'NO'. 02085000 .* 02094000 .TSTACQ ANOP 02103000 &AACQ SETC 'NO' 02112000 AIF ('&ACQUIRE' EQ 'NO').TSTPRT 02121000 &AACQ SETC 'YES' 02130000 AIF ('&ACQUIRE' EQ 'YES').TSTPRT 02139000 MNOTE 4,'ACQUIRE OPERAND INVALID. DEFAULT OF ''YES'' ASSUMED.' 02148000 .* 02170000 .TSTPRT ANOP 02180000 .* 02189000 .* VERIFY THAT THE PRTCT OPERAND CONTAINS EIGHT OR FEWER CHARACTERS 02198000 .* 02207000 &APRTCT SETC '&PRTCT' 02216000 &KPRTCT SETA K'&PRTCT 02225000 AIF (K'&PRTCT LE 8).TSTMSG 02234000 &APRTCT SETC '&PRTCT'(1,8) TRUNCATE 02243000 &KPRTCT SETA 8 SET MAXIMUM LENGTH ALLOWED 02252000 MNOTE 4,'PRTCT OPERAND TOO LONG. TRUNCATED TO ''&APRTCT''' 02270000 .* 02279000 .TSTMSG ANOP 02288000 .* 02297000 .* VERIFY THAT THE MESSAGE-CSECT NAME SPECIFIED IS 8 OR FEWER 02306000 .* CHARACTERS. IF NOT, TRUNCATE IT. 02315000 .* 02324000 &AMSG SETC 'MSGCSECT' NAME OF STANDARD MSG CSECT 02333000 AIF ('&MESSAGE' EQ 'IBMMSG').TSTLABL SKIP NEXT TEST IF STD 02342000 &AMSG SETC '&MESSAGE' 02360000 AIF (K'&MESSAGE LE 8).TSTLABL 02369000 &AMSG SETC '&MESSAGE'(1,8) TRUNCATE 02378000 MNOTE 4,'MESSAGE OPERAND TOO LONG. TRUNCATED TO ''&AMSG''' 02387000 .* 02396000 .TSTLABL ANOP 02405000 .* 02414000 .* VERIFY THAT THE NAME ON THE NETSOL MACRO IS 8 OR FEWER 02423000 .* CHARACTERS. IF NOT, TRUNCATE IT. 02432000 .* 02450000 &ALABEL SETC 'NETSOL' SET DEFAULT NAME 02459000 AIF ('&LABEL' EQ '').EXPAND SKIP FURTHER TESTS 02468000 &ALABEL SETC '&LABEL' 02477000 AIF (K'&LABEL LE 8).EXPAND LABEL IS OK 02486000 &ALABEL SETC '&LABEL'(1,8) TRUNCATE 02495000 MNOTE 4,'NETSOL MACRO NAME TOO LONG. TRUNCATED TO ''&LABEL''' 02504000 .* 02513000 .EXPAND ANOP PROCEED WITH EXPANSION. 02522000 SPACE 3 @VS49571 02540000 .* @VS49571 02541000 .* CHECK VALIDITY OF NUMBER PARAMETER @VS49571 02542000 .* @VS49571 02543000 AIF (T'&NUMBER EQ 'N').NUMBER @VS49571 02544000 .NUMBAD MNOTE 4,'NUMBER MUST HAVE A DECIMAL VALUE BETWEEN 2 AND 255. 'X02585000 '10'' ASSUMED.' 02594000 &NUM SETA 10 @VS49571 02603000 AGO .NUMOK @VS49571 02604000 .NUMBER ANOP @VS49571 02605000 &NUM SETA &NUMBER @VS49571 02606000 AIF (&NUM LT 2).NUMBAD @VS49571 02607000 AIF (&NUM GT 255).NUMBAD @VS49571 02608000 .NUMOK ANOP @VS49571 02609000 .************************************************************ @ZA32003 02609100 .*TEST FOR ABEND = YES OR NO * @ZA32003 02615100 .************************************************************ @ZA32003 02621100 &AABEND SETC 'NO' @ZA32003 02627100 AIF ('&ABEND' EQ 'NO').ABNDOK @ZA32003 02633100 &AABEND SETC 'YES' @ZA32003 02639100 AIF ('&ABEND' EQ 'YES').ABNDOK @ZA32003 02645100 MNOTE 4,'ABEND OPERAND INVALID. DEFAULT OF ''YES'' ASSUMED.' 02651100 .ABNDOK ANOP @ZA32003 02657100 SPACE 3 @VS49571 02678000 .********************************************************************** 02684000 .* * 02693000 .* SYNTAX CHECK OF NETSOL MACRO COMPLETE * 02702000 .* * 02720000 .********************************************************************** 02729000 .* 02738000 .* 02747000 TITLE 'NETSOL MACRO EXPANSION - MAIN LINE CODE' 02756000 SPACE 2 02765000 *********************************************************************** 02774000 * * 02783000 * THIS IS THE MAIN-LINE CODE FOR NETSOL. * 02792000 * IT TERMINATES ONLY WHEN VTAM CLOSES DOWN, OR WHEN THE SYSTEM * 02810000 * OPERATOR CAUSES NETSOL TO BE TERMINATED. * 02819000 * * 02828000 *********************************************************************** 02837000 SPACE 2 02846000 &ALABEL CSECT 02855000 &MODDATE SETC '&SYSDATE' @ZA44027 02864000 AIF ('&SYSTEM' NE 'DOS').NDOS1 02873000 .* 02882000 .* DOS/VS ASSEMBLER DOES @DM13746 02900000 .* NOT SUPPORT SYSDATE @DM13746 02909000 .* 02918000 *********************************************************************** 02927000 * * 02936000 * NETSOL MAIN-LINE CODE INITIALIZATION * 02945000 * DOS/VS SYSTEM DEPENDENT @D31JKAJ 02954000 * * 02963000 *********************************************************************** 02972000 SPACE 2 02990000 START EQU * @D31JKAJ 02999000 .NDOS1 AIF ('&SYSTEM' NE 'VS1').NVS11 03008000 *********************************************************************** 03017000 * 03026000 * NETSOL MAIN-LINE CODE INITIALIZATION * 03035000 * OS/VS1 SYSTEM DEPENDENT @D31JKAJ 03044000 * * 03053000 *********************************************************************** 03062000 SPACE 2 03080000 START EQU * 03089000 BALR 15,0 IN CASE OF DAR, R15 IS @VS49571 03091000 USING *,R15 NOT SET CORRECTLY @VS49571 03091900 TS DARFLAG TEST IF DAR REENTRY @VS49571 03092800 BZ NODAR NO. USE STANDARD LINKAGE@VS49571 03093700 LA R15,X'FFF' LOAD NONZERO COMP CODE @VS49571 03094600 * TO SHOW NETSOL TERM- @VS49571 03095500 * INATED ABNORMALLY. @VS49571 03096400 SVC 3 RETURN TO VS1. @VS49571 03097300 NODAR EQU * @VS49571 03098200 DROP R15 @VS49571 03099100 .NVS11 AIF ('&SYSTEM' NE 'VS2').NVS21 @D31JKAJ 03107000 *********************************************************************** 03116000 * @D31JKAJ 03125000 * NETSOL MAIN-LINE CODE INITIALIZATION * 03134000 * OS/VS2 SYSTEM DEPENDENT @XM02030 03143000 * * 03152000 *********************************************************************** 03170000 SPACE 2 @D31JKAJ 03179000 START EQU * @D31JKAJ 03188000 STM R14,R12,12(R13) SAVE REGISTERS @D31JKAJ 03197000 .NVS21 ANOP @D31JKAJ 03206000 BALR R12,0 LOAD 1ST BASE REGISTER @XM02030 03215000 * @ZM32689 03224000 * XXXXXXXXXX @ZM32689 03233000 USING *,R12 TEMPORARY USING @ZM32689 03242000 * XXXXXXXXXX @ZM32689 03260000 * @ZM32689 03269000 L R11,BASE2 LOAD 2ND BASE REGISTER @ZM32689 03278000 L R10,BASE3 LOAD 3RD BASE REGISTER @ZM32689 03287000 L R12,BASE1 LOAD REAL FIRST BASE @VS49571 03296000 * @VS49571 03297000 * XXXXXXXXXX #XM02030 03314000 USING START,R12,R11,R10 TELL ASSEMBLER @ZM32689 03323000 * XXXXXXXXXX #XM02030 03332000 * #XM02030 03350000 B PRLOGEND BRANCH AROUND IDENTIFER #XM02030 03359000 * #XM02030 03368000 DC AL1(16) LENGTH OF ID AND DATE #XM02030 03377000 DC CL8'&ALABEL' IDENTIFIER 03386000 DC C'&MODDATE' DATE OF LAST UPDATE @DM13746 03395000 MAINSAVE DS 18F @VS49571 03404000 BASE2 DC A(START+4096) ADDR OF 2ND BASE REG @ZM32689 03413000 BASE3 DC A(START+8192) ADDR OF 3RD BASE REG @ZM32689 03422000 AIF ('&SYSTEM' NE 'VS1').NVS11B #XM02030 03440000 DARFLAG DC X'00' SWITCH FOR DAR REENTRY #XM02030 03458000 DS 0H #XM02030 03467000 .NVS11B ANOP #XM02030 03476000 * #XM02030 03485000 PRLOGEND EQU * #XM02030 03494000 AIF ('&SYSTEM' NE 'DOS').NDOS1A #XM02030 03503000 LA R13,MAINSAVE ADDRESS OF SAVE AREA #XM02030 03512000 .NDOS1A AIF ('&SYSTEM' NE 'VS1').NVS11A #XM02030 03530000 LA R13,MAINSAVE POINT R13 TO NS SAVE AREA 03692000 .NVS11A AIF ('&SYSTEM' NE 'VS2').NVS21A #XM02030 03719000 ST R13,MAINSAVE+4 CHAIN SAVE AREAS #XM02030 03728000 LR R15,R13 #XM02030 03737000 LA R13,MAINSAVE POINT R13 TO NS SAVE AREA 03746000 ST R13,8(,R15) FORWARD SAVE AREA CHAIN #XM02030 03755000 .NVS21A ANOP #XM02030 03764000 * @VS49571 03773000 * XXXXXXXXXX @VS49571 03774000 USING IFGRPL,PTRRPL @VS49571 03775000 USING ISTDNIB,PTRNIB @VS49571 03776000 * XXXXXXXXXXX @VS49571 03777000 * @VS49571 03778000 OPENACB EQU * #XL03HAJ 03836000 SPACE 2 #XL03HAJ 03845000 SR R15,R15 CLEAR RETURN-CODE REGISTER 03854000 * BEFORE INVOKING OPEN 03863000 SPACE 2 #XL03HAJ 03872000 * OPEN ACB CONNECT NETSOL TO VTAM 03890000 SPACE 2 #XL03HAJ 03899000 OPEN ACB 03908000 SPACE 2 #XL03HAJ 03917000 *** #XL03HAJ 03926000 * THE VALUES IN REG 15 ARE RETURN CODES AS SET BY VTAM. #XL03HAJ 03935000 * ERREXIT IS NOT ENTERED FOR OPEN ERROR. @XL03HAJ 03944000 *** @XL03HAJ 03953000 SPACE 2 @XL03HAJ 03962000 * CHECK ACB ERROR FLAG FOR HALT @ZA05890 03963000 CLI ACB+X'31',X'52' HALT IN PROGRESS ? @ZA05890 03964000 BNE R15CHK NO. CONTINUE @ZA05890 03965000 SVC 3 @ZA05890 03966000 R15CHK LTR R15,R15 SUCCESSFUL OPEN ? @ZA05890 03971000 BNZ OPENFAIL NO. BRANCH @XL03HAJ 03980000 EJECT @XL03HAJ 03989000 SPACE 2 03998000 * USE SETLRPL IN MAINLINE AND SYNCHRPL IN LOGON EXIT @VS49571 04007000 SPACE 2 04016000 LA PTRRPL,SETLRPL POINT TO RPL FOR WORKARE@VS49571 04025000 SPACE 2 04034000 SETLOGON EQU * @XL03HAJ 04043000 SPACE 2 04079000 * SETLOGON RPL=(PTRRPL), SYNCH OPERATION. ACT- @VS49571 04088000 * OPTCD=START IVATE LOGON EXIT. @VS49571 04089000 * @VS49571 04090000 SETLOGON RPL=(PTRRPL), SYNCH OPERATION @VS49571*04091000 OPTCD=START @VS49571 04092000 EJECT @VS49571 04093000 *** @XL03HAJ 04202000 * THE VALUES IN REG 15 ARE RETURN CODES AS SET BY VTAM. IF @XL03HAJ 04220000 * ERREXIT WAS ENTERED, THE VTAM FEEDBACK CODE IN REG 0 WAS @XL03HAJ 04229000 * PLACED IN REG 15 BEFORE RETURNING TO THE MAINLINE NSI. @XL03HAJ 04238000 * ERREXIT DID NOT CHANGE THE RETURN CODES TO ACTION CODES. @XL03HAJ 04247000 *** @XL03HAJ 04256000 SPACE 2 @XL03HAJ 04265000 CH R15,HEX8 NEED TO REISSUE? @XL03HAJ 04274000 BE SETLOGON YES. DO IT @XL03HAJ 04283000 LTR R15,R15 SETLOGON ACCEPTED ? 04292000 BNZ SETLFAIL NO, BRANCH 04310000 LTR R0,R0 VALID COMPLETION? @XL03HAJ 04319000 BE SETLOGOK YES CONTINUE @ZA27846 04328000 OI UFLAGS,SNOCCURM INDICATE ERROR @ZA27846 04328100 B SETLFAIL TERMINATE NETSOL @ZA27846 04328200 SPACE 2 @ZA27846 04328300 SETLOGOK EQU * @ZA27846 04328400 SPACE 2 @ZA27846 04328500 * 04328600 *** @XL03HAJ 04328700 * STIMER IS NECESSARY DURING IPL TIME BECAUSE @ZA25713 04328900 * NETSOL WILL WRITE TO EVERY 3270 TERMINAL IN HIS @ZA25713 04329200 * LOGON EXIT. FOR A LARGE NETWORK THIS WILL TAKE A @ZA25713 04329500 * PROHIBITIVE AMOUNT OF TIME. @ZA25713 04329800 *** @XL03HAJ 04330100 * 04330400 SR R2,R2 @ZA25713 04330700 LA R3,&TIME @ZA32555 04331000 M R2,TIMECONV CONVERT MINUTES TO @ZA25713 04331300 ST R3,IPLTIME HUNDRETHS OF SECONDS @ZA25713 04331600 * STIMER REAL,IPLEXIT,BINTVL=IPLTIME @ZA25713 04331900 STIMER REAL,IPLEXIT,BINTVL=IPLTIME 04332200 B WAIT @ZA25713 04332500 IPLEXIT EQU * @ZA25713 04332800 USING *,R15 @ZA25713 04333100 STM R14,R12,12(R13) @ZA25713 04333400 L R12,BASE1 @ZA25713 04333700 L R11,BASE2 @ZA25713 04334000 L R10,BASE3 @ZA25713 04334300 DROP R15 @ZA25713 04334600 USING START,R12 @ZA25713 04334900 MVI NOLOGWRT,X'00' @ZA25713 04335200 LM R14,R12,12(R13) @ZA25713 04335500 BR R14 @ZA25713 04335800 EJECT @XL03HAJ 04337000 SPACE 2 04346000 *** @XL03HAJ 04355000 * ALL FURTHER WORK IN NETSOL IS PERFORMED VIA ASYNCHRONOUS EXIT 04364000 * ROUTINES. THE MAINLINE CODE WAITS UPON AN ECB WHICH IS POSTED 04373000 * BY THE TPEND EXIT WHEN VTAM SHUTS DOWN NETSOL. : : 04382000 *** @XL03HAJ 04400000 SPACE 2 04409000 WAIT EQU * @ZA25713 04413000 AIF ('&SYSTEM' NE 'DOS').NDOS2 @D31JKAX 04418000 .* 04427000 * WAIT FINISECB WAIT FOR VTAM END 04436000 WAIT FINISECB 04445000 .NDOS2 AIF ('&SYSTEM' NE 'VS1').NVS12 @D31JKAX 04454000 .* 04463000 * WAIT ECB=FINISECB WAIT FOR VTAM END @VS49571 04472000 WAIT ECB=FINISECB 04490000 .NVS12 AIF ('&SYSTEM' NE 'VS2').NVS22 @D31JKAJ 04499000 .* @D31JKAJ 04508000 * WAIT ECB=FINISECB WAIT FOR VTAM END @VS49571 04517000 WAIT ECB=FINISECB @D31JKAJ 04526000 .NVS22 ANOP @D31JKAJ 04535000 *** @XL03HAJ 04544000 * ACTION OF NETSOL NOW PROCEEDS BY USE OF EXIT ROUTINES. 04553000 * THE FOLLOWING EXITS ARE SCHEDULED IN RESPONSE TO VTAM EVENTS: 04562000 * 04580000 * TPEND - VTAM SHUTS DOWN 04589000 * LOGON - A TERMINAL IS SIMULATED LOGGED ON TO NETSOL, 04598000 * OR IS PASSED TO NETSOL BY ANOTHER APPLICATION 04607000 * LOSTERM - A TERMINAL CURRENTLY LOGGED ON TO NETSOL 04616000 * IS DISCONNECTED (DIAL-LINE), OR 'VARY'ED TO 04625000 * ANOTHER APPLICATION 04634000 * RELREQ - A TERMINAL CURRENTLY LOGGED ON TO NETSOL 04643000 * IS REQUESTED BY ANOTHER APPLICATION 04652000 * @VS49571 04670000 * RPL EXITS - @VS49571 04671000 * @VS49571 04672000 * READEND - THE OUTSTANDING READ(ANY) HAS BEEN SATISFIED 04697000 * PASSEND - CLSDST(PASS) HAS COMPLETED FOR A LOGON@VS49571 04706000 * REQUEST MADE FROM A TERMINAL. @VS49571 04707000 * WRITEND - END OF WRITE REQUEST. WRITE WAS DUE @VS49571 04708000 * TO INVALID LOGON FROM THE TERMINAL. @VS49571 04709000 * CDSTEND1 - CLSDST(RELEASE) COMPLETED. @VS49571 04710000 * RESETEND - RESET(UNCOND) COMPLETED. @VS49571 04711000 *** @XL03HAJ 04787000 EJECT @VS49571 04796000 *** @XL03HAJ 04805000 * EXECUTION CONTINUES HERE WHEN ECB IS POSTED BY TPEND EXIT. 04814000 *** @XL03HAJ 04823000 SPACE 2 04832000 CLOSE EQU * BRANCH HERE FOR MAINLINE@ZA27846 04838000 * 'SHOULD NOT OCCUR' @ZA27846 04844000 SR R15,R15 ZERO RC REG FOR CLOSE @VS49571 04850000 SPACE 2 04859000 * CLOSE ACB RELEASE CONNECTION WITH @VS49571 04868000 SPACE 2 04877000 CLOSE ACB @VS49571 04886000 EJECT @XL03HAJ 04895000 *** @XL03HAJ 04904000 * THE VALUES IN REG 15 ARE RETURN CODES AS SET BY VTAM. @XL03HAJ 04913000 * ERREXIT IS NOT ENTERED FOR CLSDSTERROR. @VS49571 04922000 *** @XL03HAJ 04940000 SPACE 2 @XL03HAJ 04949000 LTR R15,R15 DID THE CLOSE GO? @VS49571 04958000 BZ CLSOK YES, EXIT @ZA19857 04967000 CLI ACB+X'31',X'42' CLOSE COMPLETE? @ZA19857 04967800 BNE CLOSFAIL NO, GIVE UP @ZA34078 04968600 * WTO MF=(E,LISTWTO1) INFORM OPERATER @ZA19857 04969400 WTO MF=(E,LISTWTO1) 04971000 SPACE 2 04976000 AIF ('&SYSTEM' NE 'DOS').NDOS3 @D31JKAX 04985000 * RETURN TO DOS/VS FROM NETSOL MAIN-LINE CODE 04994000 * RCODE=0 ALREADY @XM02031 05003000 SPACE 2 05012000 * EOJ ACTS AS A 'DETACH' WHEN RUNNING 05030000 * AS A SUBTASK, BUT ENABLES NETSOL 05039000 * TO RUN IN ITS OWN PARTITION IF 05048000 * REQUIRED. 05057000 EOJ 05066000 .NDOS3 AIF ('&SYSTEM' NE 'VS1').NVS13 @D31JKAX 05075000 * RETURN TO OS/VS1 FROM NETSOL MAIN-LINE CODE 05084000 SPACE 2 05093000 SR R15,R15 RCODE=0 FOR NORMAL RTN @XM02031 05147000 SPACE 2 05156000 SVC 3 @VS49571 05174000 .NVS13 AIF ('&SYSTEM' NE 'VS2').NVS23 @D31JKAX 05183000 * RETURN TO OS/VS2 FROM NETSOL MAIN-LINE CODE @D31JKAJ 05192000 SPACE 2 @D31JKAJ 05201000 CLSOK EQU * @ZA27846 05210000 TM UFLAGS,SNOCCURM IF WE GOT HERE TO AB- @ZA27846 05211000 * NORMALLY TERMINATE, @ZA27846 05211700 BO DUMP THEN DO IT. @ZA27846 05212400 L R13,MAINSAVE+4 FIND INPUT SAVE AREA @D31JKAJ 05214000 SR R14,R14 CLEAR FORWARD SAVE @D31JKAJ 05219000 ST R14,8(,R13) AREA CHAIN PTR @D31JKAJ 05228000 LM R14,R12,12(R13) LOAD INPUT REGS @D31JKAJ 05237000 SR R15,R15 RCODE=0 FOR NORMAL RTN @XM02031 05246000 SPACE 2 @D31JKAJ 05255000 * RETURN 05264000 RETURN 05273000 .NVS23 ANOP @D31JKAX 05282000 TITLE 'NETSOL CODE FOR ''SHOULD NOT OCCUR'' CONDITIONS' 05291000 SPACE 2 05320000 *********************************************************************** 05326000 * * 05339000 * THE FOLOWING CODE IS BRANCHED TO FROM THE MAIN-LINE CODE, * 05348000 * EXIT CODE, AND FROM THE ERREXIT ROUTINE. THE ONLY ACTION * 05357000 * TAKEN SINCE THE CASES ARE 'SHOULD NOT OCCUR' CONDITIONS, IS * 05366000 * TO ABNORMALLY TERMINATE NETSOL WITH A REASON CODE IN * 05375000 * DUMPFLAG. * 05384000 * * 05393000 *********************************************************************** 05402000 SPACE 2 05420000 OPENFAIL EQU * OPEN-ACB IN MAIN-LINE FAILED 05429000 STM R0,R15,SNOREGS REGS FOR DEBUGGING @XL03HAJ 05438000 MVI DUMPFLAG,OPENCODE SAVE NETSOL DUMP CODE @VS49571 05447000 B DUMP BRANCH 05456000 SPACE 2 05465000 SETLFAIL EQU * SETLOGON IN MAIN-LINE FAILED 05474000 OI UFLAGS,SNOCCURM @ZA27846 05483000 STM R0,R15,SNOREGS REGS FOR DEBUGGING @VS49571 05486000 MVI DUMPFLAG,SETLCODE SAVE NETSOL DUMP CODE @VS49571 05489000 B CLOSE BRANCH @ZA27846 05492000 SPACE 2 05495000 CLOSFAIL EQU * @ZA27846 05498000 STM R0,R15,SNOREGS REGS FOR DEBUGGING @ZA27846 05501000 OI UFLAGS,SNOCCURM FLAGS SNOCCUR CONDITION @ZA27846 05504000 MVI DUMPFLAG,CBLKCODE DUMP CODE @ZA27846 05507000 B DUMP BRANCH @ZA27846 05510000 SPACE 2 @ZA27846 05513000 SNOCCUR EQU * REQUEST FAILED BECAUSE @XL03HAJ 05528000 * OF AN INVALID CONTROL @XL03HAJ 05537000 * BLOCK OR OTHER CON- @XL03HAJ 05546000 * DITION WHICH SHOULD @XL03HAJ 05555000 * NOT OCCUR @XL03HAJ 05564000 STM R0,R15,SNOREGS REGS FOR DEBUGGING @ZA25474 05564500 * REMOVED CLOSE MACRO @ZA27846 05565000 AIF ('&ABEND' EQ 'YES').NMSG1 @ZA32003 05565200 LR R5,R1 LOAD REG5 FROM REG1 RPL @za39673 05565300 TM MFLAGS2,ERRCON SECOND TIME? @ZA32003 05565500 BO DUMP1 YES DUMP NETSOL @ZA32003 05565800 OI MFLAGS2,ERRCON TURN ON ERROR FLAG @ZA32003 05566100 MVC TEMP1(1),RPLREQ MOVE IN REQUEST TYPE @ZA32003 05566400 UNPK TEMP2(3),TEMP1(2) UNPACK @ZA32003 05566700 TR TEMP2(2),TRTBL-240 TRANSLATE @ZA32003 05567000 MVC LISTWTO2+81(2),TEMP2 MOVE REQUEST TYPE TO MSG @ZA32003 05567100 MVC TEMP1(2),RPLFDBK MOVE IN FEEDBACK CODE @ZA32003 05567200 UNPK TEMP2(5),TEMP1(3) UNPACK @ZA32003 05567300 TR TEMP2(4),TRTBL-240 TRANSLATE @ZA32003 05567400 MVC LISTWTO2+97(4),TEMP2 MOVE FEEDBACK TO MSG @ZA32003 05568100 B INQUIRC BRANCH TO RELEASE TERM @ZA32003 05568800 DUMP1 EQU * @ZA32003 05569100 .NMSG1 ANOP @ZA32003 05569400 MVI DUMPFLAG,CBLKCODE SAVE NETSOL DUMP CODE @VS49571 05570200 OI UFLAGS,SNOCCURM INDICATE TERMINAL CONDIT@ZA27846 05571000 OI UFLAGS,SHUTDOWN INFORM OTHER EXITS THAT @ZA27846 05574000 * SHUTDOWN IS IN PROCESS @ZA27846 05577000 SPACE 2 @ZA27846 05580000 * POST ECB THAT MAINLINE CODE IS WAITING ON @ZA27846 05583000 * POST FINISECB @ZA27846 05586000 POST FINISECB @ZA27846 05589000 SPACE 2 @XL03HAJ 05592000 L R14,RETVTAM@ RESTORE EXIT RETURN ADR@ZA27846 05595000 BR R14 RETURN @ZA27846 05598000 SPACE 2 @ZA27846 05601000 DUMP EQU * TERMINATE WITH A DUMP 05609000 AIF ('&SYSTEM' NE 'DOS').NDOS4 @D31JKAX 05618000 * FIND END OF NETSOL FOR PDUMP END ADDRESS @VS49571 05618900 L R8,VCONMSGS POINT TO MESSAGE CSECT @VS49571 05619800 LA R9,11 THERE ARE 11 MESSAGES @VS49571 05620700 BCTR R9,0 LAST MESSAGE - 1 @VS49571 05621600 SLL R9,D2 4*(LAST MESSAGE-1) @VS49571 05622500 AR R9,R8 POINTS TO TABLE ENTRY @VS49571 05623400 AH R8,2(R9) MSGCSECT@ + LAST MSG DISPLACEMENT @VS49571 05624300 AH R8,0(R9) ADD LENGTH OF LAST MESSAGE @VS49571 05625200 * REG8 NOW POINTS TO THE END OF NETSOL @VS49571 05626100 * DUMP AND CANCEL NETSOL, REASON CODE IN DUMPFLAG @VS49571 05627000 * PDUMP (R12),(R8) @VS49571 05629000 PDUMP (R12),(R8) @VS49571 05631000 * CANCEL @DM09375 05636000 CANCEL 05645000 .NDOS4 AIF ('&SYSTEM' NE 'VS1').NVS14 @D31JKAX 05654000 * TERMINATE NETSOL WITH DUMP, REASON CODE IS NOW IN DUMPFLAG 05663000 * 05672000 SR R1,R1 PUT REASON CODE IN REG 1@VS49571 05690000 IC R1,DUMPFLAG @VS49571 05691000 * 05708000 * ABEND (1),DUMP 05717000 ABEND (1),DUMP 05726000 .NVS14 AIF ('&SYSTEM' NE 'VS2').NVS24 @D31JKAX 05735000 * TERMINATE NETSOL WITH DUMP, REASON CODE IS NOW IN DUMPFLAG 05744000 * @D31JKAJ 05753000 SR R1,R1 PUT REASON CODE IN REG 1@VS49571 05762000 IC R1,DUMPFLAG @VS49571 05763000 * @D31JKAJ 05789000 * ABEND (1),DUMP @D31JKAJ 05798000 ABEND (1),DUMP @D31JKAJ 05807000 .NVS24 ANOP @D31JKAX 05816000 TITLE 'TPEND - SHUT DOWN NETWORK SOLICITOR' 05825000 SPACE 2 05834000 *********************************************************************** 05843000 * * 05852000 * THIS EXIT ROUTINE IS SCHEDULED WHEN: * 05870000 * * 05876000 * * VTAM IS CLOSING DOWN * 05889000 * * 05898000 * * OPERATOR ISSUED A HALT COMMAND * 05907000 * * 05916000 * ON ENTRY: * 05925000 * * 05934000 * REGISTER 1 POINTS AT A PARAMETER LIST CONTAINING THE FOLLOWING: * 05943000 * * 05952000 * WORD 0 - ACB ADDRESS. * 05970000 * WORD 1 - REASON CODE FOR SHUTDOWN * 05979000 * * 05988000 * THIS PARAMETER LIST IS NOT USED BY NETSOL * 05997000 * * 06006000 * REGISTER 14 CONTAINS RETURN ADDRESS * 06015000 * * 06024000 * REGISTER 15 CONTAINS ENTRY ADDRESS * 06032000 * * 06050000 *********************************************************************** 06057000 SPACE 2 06064000 TPEND EQU * 06079000 SPACE 2 06088000 * @ZM32689 06097000 * XXXXXXXXXX @ZM32689 06106000 DROP R10 @ZM32689 06115000 DROP R11 BASE REGS NOT SET UP @DM09991 06124000 DROP R12 YET @DM09991 06133000 USING *,R15 ESTABLISH INITIAL ADDRESSABILITY 06142000 * XXXXXXXXXX @ZM32689 06160000 * @ZM32689 06169000 L R12,BASE1 R12 IS BASE REGISTER @DM09991 06178000 * @ZM32689 06187000 * XXXXXXXXXX @ZM32689 06196000 DROP R15 06205000 USING START,R12,R11,R10 ALL BASE REGS SET @ZM32689 06214000 * XXXXXXXXXX @ZM32689 06223000 * @ZM32689 06232000 L R11,BASE2 LOAD 2ND BASE REGISTER @ZM32689 06250000 L R10,BASE3 LOAD 3RD BASE REGISTER @ZM32689 06259000 ST R14,RETVTAM@ SAVE EXIT RETURN ADDRESS 06268000 LA R13,GENSAVE POINT TO SAVE-AREA @VS49571 06277000 SPACE 2 @XL03HAJ 06286000 OI UFLAGS,SHUTDOWN INFORM OTHER EXITS THAT @XL03HAJ 06295000 * SHUTDOWN IS IN PROCESS @XL03HAJ 06304000 SPACE 2 06313000 * POST ECB THAT MAINLINE CODE IS WAITING ON 06322000 SPACE 2 06340000 * POST FINISECB 06349000 POST FINISECB 06358000 .* 06367000 .* NOTE THAT THE MACRO CALL ABOVE IS THE SAME FOR BOTH OS AND DOS 06376000 .* 06385000 SPACE 2 06394000 L R14,RETVTAM@ RESTORE EXIT RETURN ADDRESS 06403000 BR R14 RETURN 06412000 TITLE 'LOGON - TERMINAL IS CONNECTED' 06430000 SPACE 2 06439000 *********************************************************************** 06448000 * * 06457000 * THIS EXIT ROUTINE IS SCHEDULED WHEN: * 06466000 * * 06475000 * * A TERMINAL IS LOGED ON VIA VARY TO NETSOL * 06484000 * * 06493000 * * A TERMINAL IS RETURNED TO NETSOL BY AN APPLICATION. * 06502000 * * 06520000 * ON ENTRY: * 06529000 * * 06538000 * REGISTER 1 POINTS AT A PARAMETER LIST CONTAINING THE FOLLOWING: * 06547000 * * 06556000 * WORD 0 - ACB ADDRESS. * 06565000 * WORD 1 - POINTER TO SYMBOLIC TERMINAL NAME * 06574000 * WORD 2 - RESERVED * 06583000 * WORD 3 - LENGTH OF LOGON DATA. * 06592000 * * 06610000 * * 06619000 * REGISTER 14 CONTAINS RETURN ADDRESS * 06628000 * * 06637000 * REGISTER 15 CONTAINS ENTRY ADDRESS * 06646000 * * 06655000 *********************************************************************** 06664000 SPACE 2 06673000 LOGON EQU * 06682000 * @ZM32689 06700000 * XXXXXXXXXX @ZM32689 06709000 DROP R10 @ZM32689 06718000 DROP R11 BASE REGS NOT SET UP @DM09991 06727000 DROP R12 YET @DM09991 06736000 USING *,R15 ESTABLISH INITIAL ADDRESSABILITY 06745000 * XXXXXXXXXX @ZM32689 06754000 * @ZM32689 06763000 L R12,BASE1 R12 IS BASE REGISTER @DM09991 06772000 * @ZM32689 06790000 * XXXXXXXXXX @ZM32689 06799000 DROP R15 06808000 USING START,R12,R11,R10 ALL BASE REGS SET @ZM32689 06817000 * XXXXXXXXXX @ZM32689 06826000 * @ZM32689 06835000 L R11,BASE2 LOAD 2ND BASE REGISTER @ZM32689 06844000 L R10,BASE3 LOAD 3RD BASE REGISTER @ZM32689 06853000 ST R14,RETVTAM@ SAVE EXIT RETURN ADDRESS 06862000 LA R13,GENSAVE POINT TO SAVE-AREA @VS49571 06880000 SPACE 2 @XL03HAJ 06889000 TM UFLAGS,SHUTDOWN SHUTDOWN IN PROGRESS? @VS49571 06898000 BO RETURN YES. NO MORE ACTION @XL03HAJ 06907000 SPACE 2 @XL03HAJ 06916000 ************************************************************** @VS49571 06925000 * * @VS49571 06926000 * SET UP POINTER TO THE SYN RPL AND CLEAN * @VS49571 06927000 * OUT THE WORK AREAS FOLLOWING IT. * @VS49571 06928000 * * @VS49571 06929000 ************************************************************** @VS49571 06930000 LA PTRRPL,SYNCHRPL PT TO RPL FOR THIS EXIT @VS49571 06931000 MVI SYNWORK,D0 MOVE IN ZEROS @VS49571 06932000 MVC SYNWORK+1(WORKRPLA),SYNWORK WIPE OUT WORKAREA @VS49571 06933000 MVC SYNWORK+WORKRPLA(WRPLREST),SYNWORK @VS49571 06934000 * @VS49571 06935000 * @VS49571 06936000 OI FLAGS2,SYNCHIO INDICATE USING A SYNCH RPL 07066000 OI EXITFLAG,LOGONEX INDICATE IN LOGON EXIT @VS49571 07075000 SPACE 2 @VS49571 07076000 ************************************************************** @VS49571 07077000 * * @VS49571 07078000 * SET UP SYNCHNIB FIELDS * @VS49571 07079000 * * @VS49571 07080000 ************************************************************** @VS49571 07081000 * @VS49571 07082000 SPACE 2 @VS49571 07083000 L R4,D4(,R1) GET PTR TO THE TERMINALS@VS49571 07084000 * SYMBOLIC NAME @VS49571 07085000 LA PTRNIB,SYNCHNIB GET ADDR OF THE NIB @VS49571 07086000 MVC NIBSYM(D8),D0(R4) MOVE IN SYMBOLIC NAME @VS49571 07087000 EJECT @VS49571 07088000 ***************************************************************@VS49571 07089000 * @VS49571 07090000 * INQUIRE FOR DEVICE CHARACTERISTICS @VS49571 07091000 * @VS49571 07092000 ***************************************************************@VS49571 07093000 SPACE 2 @VS49571 07094000 INQUIREA EQU * @VS49571 07095000 SPACE 1 @VS49571 07096000 OI MACFLAGS,INQDEVCH INDICATE DOING INQUIRE @VS49571 07097000 OI MFLAGS2,INQUIRE INDICATE DOING INQUIRE @VS49571 07098000 SPACE 2 @VS49571 07099000 * INQUIRE RPL=SYNCHRPL, @VS49571 07100000 * NIB=SYNCHNIB, @VS49571 07101000 * OPTCD=DEVCHAR, @VS49571 07102000 * AREA=INQDCHAR, @VS49571 07103000 * AREALEN=L'INQDCHAR @VS49571 07104000 INQUIRE RPL=SYNCHRPL, @VS49571*07105000 NIB=SYNCHNIB, @VS49571*07106000 OPTCD=DEVCHAR, @VS49571*07107000 AREA=INQDCHAR, @VS49571*07108000 AREALEN=L'INQDCHAR @VS49571 07109000 SPACE 2 @VS49571 07110000 NI MFLAGS2,FF-INQUIRE INQUIRE DONE @VS49571 07111000 EJECT @VS49571 07112000 *** @VS49571 07113000 * @VS49571 07114000 * ERROR ACTIONS FOR INQUIRE(DEVCHAR) @VS49571 07115000 * @VS49571 07116000 * @XL03HAJ 07509000 * ERROR ACTIONS FOR ALL API MACROS (NOT OPEN OR CLOSE, AND @XL03HAJ 07518000 * SOMETIMES NOT CHECK) ISSUED IN EXIT ROUTINES ARE EITHER @XL03HAJ 07527000 * INDICATED BY AN ACTION CODE IN R15 IF ERREXIT WAS ENTERED, @XL03HAJ 07536000 * OR BY A NON-ZERO FDBK2 CODE SET BY VTAM IN R0 WHICH @VS49571 07545000 * SUPPLEMENTS A RTNCD CODE OF ZERO (RETURN CODE IN THIS @VS49571 07546000 * CASE) SET IN R15. @XL03HAJ 07563000 * @XL03HAJ 07572000 * FOR A GENERAL DESCRIPTION OF ACTION CODES, SEE THE COMMENTS @XL03HAJ 07590000 * AT THE BEGINNING OF 'ERREXIT'. @XL03HAJ 07599000 * @XL03HAJ 07608000 * COMMENTS FOR EACH MACRO ERROR HANDLER INCLUDE ALL RTNCD @VS49571 07617000 * AND FDBK2 CODES WHICH CAN OCCUR FOR THE SPECIFIC MACRO @VS49571 07618000 * WITHIN THE LOGICAL FRAMEWORK OF NETSOL. IMPOSSIBLE CON- @XL03HAJ 07635000 * DITIONS ARE NOT LISTED. @XL03HAJ 07644000 * @XL03HAJ 07653000 * ACTION @VS49571 07662000 * RTNCD FDBK2 CODE(S) @VS49571 07663000 * CODE CODE MEANING RETURNED @VS49571 07664000 * (R15 R0) @VS49571 07665000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 07666000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 07667000 * 10 0A APPARENT VTAM ERROR 20 00 @ZA32289 07668000 * 10 0E ABEND IN VTAM SNOCCUR @VS49571 07669000 * @VS49571 07670000 *** @VS49571 07671000 SPACE 2 @VS49571 07672000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @ZA32289 07673000 BH SNOCCUR CODE IS X'20' @ZA32289 07673600 B ERRTABC(R15) CHECK VALID ACTIONS @VS49571 07675000 ERRTABC B R0CHKC 0 PROBABLY WORKED OK @VS49571 07676000 BAL R7,SNOCCUR 4 INDICATES NO LERAD/SYNAD@VS49571 07677000 BAL R7,SNOCCUR 8 @VS49571 07677700 BAL R7,SNOCCUR C CAN'T GET ERROR THAT @VS49571 07678400 * CAUSES ERR MESSAGE @VS49571 07680000 B INQUIREA 10 REISSUE. NO NEED TO @VS49571 07681000 * CHECK FOR RESET @VS49571 07682000 BAL R7,SNOCCUR 14 @ZA32289 07682200 BAL R7,SNOCCUR 18 @ZA32289 07682400 BAL R7,SNOCCUR 1C @ZA32289 07682600 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 07682800 SPACE 2 @VS49571 07683000 R0CHKC EQU * @VS49571 07684000 LTR R0,R0 INQUIRE AREA TOO SMALL? @VS49571 07685000 BNZ SNOCCUR YES, OR OTHER ERROR @VS49571 07686000 * @VS49571 07687000 * * * * * * * * END OF INQUIRE ERROR HANDLING * * * * * * * * @VS49571 07688000 EJECT @VS49571 07689000 * @VS49571 07690000 * CHARACTERISTICS OF DEVICE ARE NOW SET IN INQDCHAR @VS49571 07691000 * FIELD OF SYNCHRPL @VS49571 07692000 * @VS49571 07693000 SPACE 2 @VS49571 07694000 ***************************************************************@VS49571 07695000 * @VS49571 07696000 * CONVERT DEVICE CHARACTERISTICS INTO NETSOL DEVICE CODE@VS49571 07697000 * @VS49571 07698000 ***************************************************************@VS49571 07699000 SPACE 2 @VS49571 07700000 LA R1,INQDCHAR SET UP ADDRESSABILITY @VS49571 07701000 * XXXXXXXXXXXXX @VS49571 07702000 USING ISTDVCHR,R1 @VS49571 07703000 * XXXXXXXXXXXXX @VS49571 07704000 SPACE 2 @VS49571 07705000 TM DEVCHAR,DEVINPUT IS DEVICE 'GENNED FOR @VS49571 07706000 * INPUT? @VS49571 07707000 BNO CLOSEOUT NO. OUTPUT ONLY DEVICES @VS49571 07708000 * ARE NOT SUPPORTED BY @VS49571 07709000 * NETSOL @VS49571 07710000 LA R3,NTABENT GET NUMBER OF ENTRIES @VS49571 07711000 * IN TABDEV @VS49571 07712000 LA R4,TABDEV POINT TO TABDEV (FIRST @VS49571 07713000 * ENTRY) @VS49571 07714000 * @VS49571 07715000 * XXXXXXXXXX @VS49571 07716000 USING TABENT,R4 AND TELL ASSEMBLER @VS49571 07717000 * XXXXXXXXXX @VS49571 07718000 * @VS49571 07719000 CHECKDEV CLC DEVTCODE,TABCHAR SAME DEVICE TYPE ? @VS49571 07720000 BE FOUNDDEV YES, DEVICE SUPPORTED @VS49571 07721000 SPACE 2 08265000 LA R4,TABNEXT POINT TO NEXT ENTRY @VS49571 08274000 BCT R3,CHECKDEV BRANCH TILL END OF TABL @VS49571 08275000 * RELEASE IT @VS49571 08276000 * XXXXXXXXXXXX @VS49571 08277000 DROP R4 @VS49571 08278000 * XXXXXXXXXXXX @VS49571 08279000 EJECT @VS49571 08280000 ************************************************************** @VS49571 08281000 * @VS49571 08282000 * RELEASE THE TERMINAL TO VTAM BECAUSE WE @VS49571 08283000 * CANNOT ACCESS IT CORRECTLY OR IT IS AN @VS49571 08284000 * INVALID TYPE. THIS MACRO CAN BE SYNCHRONOUS @VS49571 08285000 * BECAUSE THERE IS NO I/O TO PURGE. @VS49571 08286000 * @VS49571 08287000 ************************************************************** @VS49571 08288000 SPACE 2 @VS49571 08289000 CLOSEOUT EQU * @VS49571 08290000 OI MACFLAGS,CLSREL INDICATE CLSDST(RELEASE)@VS49571 08291000 OI MFLAGS2,CLSDST INDICATE CLSDST(RELEASE)@VS49571 08292000 * CLSDST RPL=SYNCHRPL, NIB STILL HAS DEVICE @VS49571 08293000 * OPTCD=RELEASE, NAME FROM INQUIRE @VS49571 08294000 * NIB=SYNCHNIB @VS49571 08295000 SPACE 2 @VS49571 08296000 CLSDST RPL=SYNCHRPL, @VS49571*08297000 OPTCD=RELEASE, @VS49571*08298000 NIB=SYNCHNIB @VS49571 08299000 NI MFLAGS2,FF-CLSDST CLSDSTDONE @ZA33715 08300000 EJECT @VS49571 08301000 SPACE 2 @VS49571 08302000 *** @VS49571 08303000 * @VS49571 08304000 * ERROR ACTIONS FOR CLSDST(RELEASE) @VS49571 08305000 * @VS49571 08306000 * ACTION @VS49571 08307000 * RTNCD FDBK2 CODE(S) @VS49571 08308000 * CODE CODE MEANING RETURNED @VS49571 08309000 * (R15 R0) @VS49571 08310000 * @VS49571 08311000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 08312000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @XL03HAJ 08667000 * 0C 0B REQUEST CANCELLED BY CLSDST 14 00 @VS49571 08671000 * 10 0A APPARENT VTAM ERROR 20 00 @ZA32289 08676000 * 10 0E ABEND IN VTAM SNOCCUR @XL03HAJ 08685000 * 14 53 TERMINAL NOT FOUND SNOCCUR @VS49571 08694000 * 14 55 INVALID TERMINAL NAME 14 00 @VS49571 08695000 * 14 60 RESOURCE NOT CLOSABLE 14 00 @XL03HAJ 08712000 * @XL03HAJ 08730000 *** @XL03HAJ 08739000 CLOSOUT1 EQU * @VS49571 08748000 SPACE 2 @VS49571 08749000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @V322891 08750000 BH SNOCCUR CODE IS X'20' @ZA32289 08750600 B ERRTAB9C(R15) CHECK VALID ACTIONS @VS49571 08752000 ERRTAB9C B R0CHK9C 0 PROBABLY RELEASED IT @VS49571 08753000 BAL R7,SNOCCUR 4 @VS49571 08754000 BAL R7,SNOCCUR 8 ALREADY RELEASING, NEW @VS49571 08754600 * RELEASE WON'T HELP @VS49571 08756000 BAL R7,SNOCCUR C NO MSG TO WRITE AND @VS49571 08757000 * COULDN'T ANYWAY @VS49571 08758000 B CLOSEOUT 10 REISSUE. NO RESET NEEDED@VS49571 08759000 B RETURN 14 THE NAME OF THE TERMINAL@VS49571 08760000 * SUPPLIED BY VTAM WAS @VS49571 08761000 * INVALID. @VS49571 08762000 BAL R7,SNOCCUR 18 @ZA32289 08792000 BAL R7,SNOCCUR 1C @ZA32289 08822000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 08852000 SPACE 2 @XL03HAJ 08892000 R0CHK9C EQU * @VS49571 08910000 LTR R0,R0 VALID COMPLETION? @VS49571 08911000 BNZ SNOCCUR ERROR IF NOT @VS49571 08912000 * @VS49571 08913000 * * * * * * * * END OF CLSDST ERROR HANDLING * * * * * * * * * @XL03HAJ 08946000 * @XL03HAJ 08955000 * @VS49571 08964000 ************** RETURN TO VTAM ***************** @VS49571 08965000 * @VS49571 08966000 B RETURN RETURN TO VTAM @VS49571 08967000 EJECT @VS49571 08968000 ************************************************************** @VS49571 08969000 * @VS49571 08970000 * THE TERMINAL IS A VALID TERMINAL FOR THIS PROGRAM @VS49571 08971000 * @VS49571 08972000 ************************************************************** @VS49571 08973000 SPACE 2 @VS49571 08974000 FOUNDDEV EQU * @VS49571 08975000 MVC NIBUSER(4),DCZEROS INITIALIZE USER FIELD @VS49571 08976000 S R4,TABDEV@ GET INDEX INTO THE TABLE @VS49571 08977000 STC R4,NIBUSER STORE THE INDEX FOR LATER USE 09099000 TM DEVCHAR,DEVOTPUT IS TERMINAL ALSO OUTPUT @VS49571 09108000 BNO INONLY NO, BRANCH @VS49571 09109000 OI NIBUSER+D1,IODEV INDICATE DEVICE IS INPUT AND@VS49571 09110000 * OUTPUT @VS49571 09111000 INONLY EQU * @VS49571 09112000 SPACE 2 @VS49571 09113000 * XXXXXXXXXXX @VS49571 09114000 DROP R1 @VS49571 09115000 * XXXXXXXXXXX @VS49571 09116000 EJECT @VS49571 09117000 *********************************************************************** 09209000 * * 09218000 * ISSUE AN OPNDST TO CONNECT NETSOL TO LOGGED-ON TERMINAL. * 09227000 * * 09236000 *********************************************************************** 09245000 SPACE 2 @XL03HAJ 09254000 OPENDST EQU * @XL03HAJ 09263000 SPACE 2 09272000 OI MACFLAGS,OPNSPEC INDICATE DOING AN OPNDST(SP)@VS49571 09290000 OI MFLAGS,OPNDSPEC INDICATE DOING AN OPNDST(SP)@VS49571 09291000 SPACE 2 @VS49571 09292000 * OPNDST RPL=SYNCHRPL, @VS49571 09293000 * OPTCD=(ACCEPT,SPEC,NQ), @ZA08423 09294000 * NIB=SYNCHNIB @VS49571 09295000 SPACE 2 @VS49571 09296000 OPNDST RPL=SYNCHRPL, @VS49571*09297000 OPTCD=(ACCEPT,SPEC,NQ), @ZA08423*09298000 NIB=SYNCHNIB @VS49571 09299000 SPACE 2 @VS49571 09300000 NI MFLAGS,FF-OPNDSPEC OPNDST(SPEC) COMPLETED @VS49571 09301000 EJECT @XL03HAJ 09407000 SPACE 2 @XL03HAJ 09416000 *** @XL03HAJ 09425000 * @XL03HAJ 09434000 * ERROR ACTIONS FOR OPNDST(ACCEPT,SPEC) @VS49571 09443000 * @XL03HAJ 09452000 * ACTION @VS49571 09470000 * RTNCD FDBK2 CODE(S) @VS49571 09471000 * CODE CODE MEANING RETURNED @VS49571 09472000 * (R15 R0) @VS49571 09473000 * @XL03HAJ 09506000 * 00 00 SUCCESSFUL COMPLETION 00 00 @XL03HAJ 09515000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @XL03HAJ 09524000 * 0C 05 NCP ABEND, RESTART SUCCESSFUL 10 08 @VS49571 09533000 * 10 03 VTAM IS HALTING 14 00 @XL03HAJ 09542000 * 10 05 PERMENENT FAILURE IN PATH 08 00 @VS49571 09560000 * 10 06 AUTO NETWORK SHUTDOWN 08 00 @VS49571 09561000 * 10 0A APPARENT VTAM ERROR 20 00 @ZA32289 09562000 * 10 0E ABEND IN VTAM SNOCCUR @XL03HAJ 09587000 * 14 53 TERMINAL NOT FOUND SNOCCUR @VS49571 09596000 * 14 55 INVALID TERMINAL NAME 14 00 @VS49571 09597000 * @XL03HAJ 09614000 *** @XL03HAJ 09623000 SPACE 2 @XL03HAJ 09632000 CH R15,HEX20 HIGHEST VALID ACTION @ZA32289 09650000 BH SNOCCUR CODE IS X'20' @ZA32289 09656000 SPACE 2 @XL03HAJ 09668000 B ERRTAB1(R15) CHECK VALID ACTIONS @XL03HAJ 09677000 ERRTAB1 B R0CHK1 0 CHECK IF TERM ACCEPTED @XL03HAJ 09686000 BAL R7,SNOCCUR 4 @VS49571 09695000 B RETURN 8 CAN'T RELEASE IF CAN'T @XL03HAJ 09704000 * GET IT @XL03HAJ 09713000 BAL R7,SNOCCUR C CAN'T WRITE MSG IF NOT @VS49571 09722000 * CONNECTED @XL03HAJ 09740000 B ERROPENA 10 REISSUE. CHECK FOR RESET@VS49571 09749000 B RETURN 14 CAN'T CONNECT DEVICE @VS49571 09750000 BAL R7,SNOCCUR 18 @ZA32289 09754000 BAL R7,SNOCCUR 1C @ZA32289 09758000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 09762000 SPACE 2 @XL03HAJ 09767000 ERROPENA EQU * @VS49571 09776000 CH R0,HEX8 SHOULD WE DO A RESET @VS49571 09777000 BNE OPENDST NO, GO REISSUE THE CMD. @VS49571 09778000 LA R9,OPENDST GET RETURN ADDRESS FOR @VS49571 09779000 * AFTER THE RESET @VS49571 09780000 B RESETSUB DO A RESET @VS49571 09781000 SPACE 2 @VS49571 09782000 R0CHK1 EQU * @XL03HAJ 09848000 CH R0,HEX9 TERM UNAVAILABLE @ZA08423 09851000 BE RETURN RETURN IF SO @ZA08423 09854000 LTR R0,R0 SUCCESSFUL COMPLETION? @XL03HAJ 09857000 BNZ SNOCCUR NO. ERROR @XL03HAJ 09866000 * @XL03HAJ 09875000 * * * * * * * * END OF OPNDST ERROR HANDLING * * * * * * * * * @XL03HAJ 09884000 * @XL03HAJ 09893000 * YES. FALL THROUGH TO @XL03HAJ 09902000 * SOLICIT THE DEVICE @XL03HAJ 09920000 * JUST CONNECTED. @XL03HAJ 09929000 SPACE 4 @XL03HAJ 09938000 *** @XL03HAJ 09947000 * @XL03HAJ 09956000 * CID OF DEVICE JUST OPNDST'ED IS NOW IN SYNCHRPL. @VS49571 09965000 * @XL03HAJ 09974000 *** @XL03HAJ 09983000 LA R8,SYNCHNIB USERFIELD IS NOT PUT IN @ZA13651 09983100 * RPL BY OPNDST. @ZA13651 09983500 CLI NIBUSER,T3275 IF TERMINAL IS A 3270 @ZA13651 09983900 BE DEV3270 THEN WRITE A MESSAGE @ZA13651 09984300 CLI NIBUSER,T3277 ERASING THE SCREEN AND @ZA13651 09984700 BNE SOLICIT SAYING TERMINAL LOGGED @ZA13651 09985100 * ON TO NETWORK SOLICITOR@ZA13651 09985500 * THIS TEST IS DEPENDENT @ZA13651 09985900 * ON TABINDEX IN FIRST @ZA13651 09986300 * BYTE OF NIB USERFIELD @ZA13651 09986700 DEV3270 EQU * 09987500 TM DEVFLAGS,DEVFCCTL CONNECTION SERVIVE REQ @ZA36882 09987600 BZ MLOC3270 NO, MUST BE LOCAL, @ZA36882 09987700 * SKIP IPL TIME CHECK @ZA36882 09987800 TM NOLOGWRT,X'FF' IS IT IPL TIME? @ZA25713 09987900 BO SOLICIT YES. DON'T WRITE @ZA25713 09988000 MLOC3270 EQU * @ZA36882 09988100 LA R15,TWO YES. IT IS A 3270. TELL@ZA13651 09988200 BAL R14,GETRPL CALLER IS LOGON EXIT @ZA13651 09988500 * FOR ERASE WRITE @ZA13651 09989000 LA R0,MSG12 WRITE LOGON MESSAGE @ZA13651 09989500 MVC RPLARG(4),SYNARG INITIALIZE CID @ZA13651 09990000 MVC CID(4),SYNARG @ZA13651 09990500 MVC USERWORD(4),NIBUSER SET UP USERFIELD @ZA13651 09991000 SR R3,R3 @ZA13651 09991500 IC R3,TABINDEX GET INDEX INTO TABDEV @ZA13651 09992000 A R3,TABDEV@ POINT TO CORRECT ENTRY @ZA13651 09992500 * IN TABDEV @ZA13651 09993000 MVC TABLINFO,D0(R3) SAVE INFO IN RPL @ZA13651 09993500 * WORKAREA @ZA13651 09994000 OI FLAGS2,LOGWRITE FLAG WRITE FROM @ZA13651 09994500 B WRITEMSG LOGON EXIT @ZA13651 09995000 CONTLOGN EQU * @ZA13651 09995500 * REGISTER FIVE NOW POINTS TO THE WRITE RPL. @ZA13651 09996000 * REGISTER FIVE IS NOT CHANGED AT ANY POINT IN THIS @ZA13651 09996500 * EXIT SO THAT THE FREERPL AT THE END OF THE EXIT @ZA13651 09997000 * WILL HAVE THE CORRECT RPL ADDRESS @ZA13651 09997500 MVC SYNARG(4),CID RESTORE CID IN SYNCHRPL 09998600 NI SRPLEXT1,FF-RPLNIB REINITIALIZE SYNCHRPL @ZA13651 09999200 EJECT @XL03HAJ 09999800 SPACE 2 10001000 *********************************************************************** 10020000 * * 10029000 * SOLICIT THE TERMINAL FOR DATA. WHEN DATA IS RECEIVED AN * 10038000 * OUTSTANDING READ-ANY WILL BE SATISFIED AND THE READEND * 10047000 * EXIT WILL BE SCHEDULED. * 10056000 * @XL03HAJ 10065000 *********************************************************************** 10074000 SPACE 2 10083000 SOLICIT EQU * @XL03HAJ 10092000 SPACE 2 @XL03HAJ 10110000 OI MACFLAGS,SOLIC INDICATE DOING SOLICIT @VS49571 10119000 OI MFLAGS2,SOLICITS INDICATE DOING SOLICIT @VS49571 10120000 NI SRPLEXT1,FF-RPLNIB CLEAR RPLNIB FLAG @ZA42307 10120500 SPACE 2 @VS49571 10121000 * SOLICIT RPL=SYNCHRPL, @VS49571 10122000 * OPTCD=(SPEC,CA) @XL03HAJ 10155000 SPACE 2 @VS49571 10164000 SOLICIT RPL=SYNCHRPL, @VS49571*10165000 OPTCD=(SPEC,CA) @XL03HAJ 10182000 SPACE 2 @VS49571 10200000 NI MFLAGS2,FF-SOLICITS SOLICIT DONE @VS49571 10201000 EJECT @XL03HAJ 10218000 *** @XL03HAJ 10227000 * @XL03HAJ 10236000 * NOTE: THE DEVICE HAS TO BE CONNECTED OR NETSOL WOULD NOT @XL03HAJ 10245000 * HAVE GOTTEN THIS FAR @VS49571 10254000 * AND I/O ERRORS WILL BE PICKED UP BY THE READEND @VS49571 10255000 * EXIT. @XL03HAJ 10272000 * @XL03HAJ 10290000 * ACTION @VS49571 10299000 * RTNCD FDBK2 CODE(S) @VS49571 10300000 * CODE CODE MEANING RETURNED @VS49571 10301000 * (R15 R0) @VS49571 10302000 * @XL03HAJ 10335000 * 00 00 SUCCESSFUL COMPLETION 00 00 @XL03HAJ 10344000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @XL03HAJ 10353000 * 10 0E ABEND IN VTAM SNOCCUR @XL03HAJ 10362000 * 14 12 CLSDST IN PROGRESS(CAN'T HAPPEN HERE)14 00 @VS49571 10380000 * 14 13 CID INVALID 14 00 @VS49571 10381000 * 14 32 REQUEST INVALID FOR SPECIFIED DEVICE 08 00 @VS49571 10382000 * 14 5D OPNDST INVALID (CAN'T HAPPEN HERE) 14 00 @VS49571 10383000 * @XL03HAJ 10416000 *** @XL03HAJ 10425000 SPACE 1 @XL03HAJ 10434000 CH R15,HEX20 IS IT GREATER THAN @ZA19510 10443000 * ALLOWABLE MAX. @VS49571 10444000 BH SNOCCUR YES, TERMINATE NETSOL @VS49571 10445000 B ERRSOLIC(R15) BRANCH TO ERROR PROCESS @VS49571 10446000 ERRSOLIC EQU * @VS49571 10447000 B R0CHKSOL 0 SUCCESSFULLY COMPLETED @VS49571 10448000 BAL R7,SNOCCUR 4 @VS49571 10449000 B RELEASE 8 RELEASE THE DEVICE @VS49571 10450000 BAL R7,SNOCCUR C NO MESSAGE POSSIBLE @VS49571 10450500 B SOLICIT 10 TEMP STORAGE ALLOCATION @VS49571 10451000 * FAILURE? RESOLICIT. @VS49571 10452000 B CIDTEST 14 NOT POSSIBLE FOR THIS SO@ZA30101 10453000 BAL R7,SNOCCUR 18 SHOULD NOT OCCUR @ZA19510 10453200 BAL R7,SNOCCUR 1C SHOULD NOT OCCUR @ZA19510 10453400 B PROBDEV 20 RELEASE THIS DEVICE @ZA19510 10453600 SPACE 1 @VS49571 10454000 CIDTEST EQU * @ZA30101 10454100 CLI SYNFDB2,X'5D' OPNDST FAIL @ZA30101 10454200 BE SNOCCUR SHOULD NOT OCCUR @ZA30101 10454500 TM FLAGS2,LOGWRITE ERASE WRITE? @ZA33578 10454600 BO FREERPL FREE THE RPL @ZA30101 10498000 B SNOCCUR SHOULD NOT OCCUR @ZA30101 10518000 SPACE 1 @ZA30101 10538000 R0CHKSOL EQU * @VS49571 10558000 LTR R0,R0 SUCCESSFUL COMPLETION? @XL03HAJ 10578000 BNZ SNOCCUR NO. ERROR @XL03HAJ 10587000 * @XL03HAJ 10596000 * * * * * * * * END OF SOLICIT ERROR HANDLING * * * * * * * * @XL03HAJ 10605000 * @XL03HAJ 10614000 EJECT @VS49571 10617000 SPACE 8 @VS49571 10618000 OKSOLICT EQU * SOLICIT SKIPPED OR OK @XM02032 10623000 TM FLAGS2,LOGWRITE ISSUE A WRITE ? @ZA13651 10623400 BO FREERPL YES. HAVE AN RPL, FREE IT @ZA13651 10625400 TM UFLAGS,NEEDREAD IS READ FLAG ON (ALWAYS ON @VS49571 10632000 * DURING FIRST LOGON) @VS49571 10633000 BNO RETURN NO, BRANCH OUT TO VTAM @VS49571 10634000 LA R15,TWELVE INDICATE ENTRY IS FROM LOGON@VS49571 10635000 BAL R14,GETRPL GET AN RPL FOR THE READ @VS49571 10636000 LTR R5,R5 DID WE GET AN RPL @VS49571 10637000 BZ RETURN NO, FORGET ABOUT IT AND @VS49571 10638000 * READ WILL BE DONE LATER @VS49571 10639000 B FREERPL YES, FREERPL WILL DO THE READ 10719000 * @VS49571 10728000 TITLE 'READEND - TERMINAL INPUT RECEIVED ' 10746000 SPACE 2 10755000 *********************************************************************** 10764000 * * 10773000 * THIS EXIT ROUTINE IS SCHEDULED WHEN THE OUTSTANDING READ-ANY * 10782000 * COMPLETES. * 10800000 * * 10809000 * ON ENTRY: * 10818000 * * 10827000 * REGISTER 1 POINTS TO THE RPL USED FOR THE READ-ANY (IGFRPL) * 10836000 * @XL03HAJ 10845000 * THE CID FIELD OF THIS RPL HAS CID OF DEVICE @VS49571 10854000 * * 10863000 * REGISTER 14 CONTAINS RETURN ADDRESS * 10872000 * * 10890000 * REGISTER 15 CONTAINS ENTRY ADDRESS * 10899000 * * 10908000 *********************************************************************** 10917000 SPACE 2 10926000 READEND EQU * 10935000 SPACE 2 10944000 * @ZM32689 10953000 * XXXXXXXXXX @ZM32689 10962000 DROP R10 @ZM32689 10980000 DROP R11 BASE REGS NOT SET UP @DM09991 10989000 DROP R12 YET @DM09991 10998000 USING *,R15 ESTABLISH INITIAL ADDRESSABILITY 11007000 * XXXXXXXXXX @ZM32689 11016000 * @ZM32689 11025000 L R12,BASE1 R12 IS BASE REGISTER @VS49571 11034000 * @ZM32689 11043000 * XXXXXXXXXX @ZM32689 11052000 DROP R15 11070000 USING START,R12,R11,R10 ALL BASE REGS SET @ZM32689 11079000 * XXXXXXXXXX @ZM32689 11088000 * @ZM32689 11097000 L R11,BASE2 LOAD 2ND BASE REGISTER @ZM32689 11106000 L R10,BASE3 LOAD 3RD BASE REGISTER @ZM32689 11115000 ST R14,RETVTAM@ SAVE EXIT RETURN ADDRESS 11124000 LA R13,GENSAVE POINT TO SAVE-AREA @VS49571 11133000 SPACE 2 @XL03HAJ 11142000 TM UFLAGS,SHUTDOWN SHUTDOWN IN PROGRESS? @VS49571 11160000 BO RETURN YES. NO MORE ACTION @VS49571 11161000 EJECT @VS49571 11162000 ************************************************************* @VS49571 11163000 * * @VS49571 11164000 * ISSUE NEW READ IF POSSIBLE * @VS49571 11165000 * * @VS49571 11166000 ************************************************************* @VS49571 11167000 SPACE 2 @VS49571 11168000 LR R7,R1 SAVE INPUT RPL POINTER @VS49571 11169000 LA R15,ZERO SET READEND INDICATOR @VS49571 11170000 BAL R14,GETRPL GET ANOTHER RPL @VS49571 11171000 * @VS49571 11172000 * @VS49571 11173000 ************************************************************** @VS49571 11174000 * @VS49571 11175000 * IF NO RPL IS RETURNED FROM GETRPL, GETRPL WILL @VS49571 11176000 * TURN ON THE NEEDREAD FLAG SO THE READ CAN BE ISSUED @VS49571 11177000 * BY FREERPL AS SOON AS AN RPL HAS BEEN FREED @VS49571 11178000 * @VS49571 11179000 ************************************************************** @VS49571 11180000 * @VS49571 11181000 * @VS49571 11182000 LTR R5,R5 DO WE HAVE A RPL @VS49571 11183000 BZ NORPLRED NO, DO READ LATER @VS49571 11184000 * @VS49571 11185000 BAL R14,READSUB ISSUE A READ (ANY) TO @VS49571 11186000 * RE-ACTIVATE THE READEND@VS49571 11187000 * EXIT. THIS ALLOWS @VS49571 11188000 * NETSOL TO HANDLE LOGONS@VS49571 11189000 * FROM MORE THAN ONE @VS49571 11190000 * TERMINAL CONCURRENTLY. @VS49571 11191000 NORPLRED EQU * @VS49571 11192000 LR PTRRPL,R7 RESTORE THE INPUT RPL @ @VS49571 11193000 LR R1,R7 @VS49571 11194000 OI EXITFLAG,READEX INDICATE IN READEND EXIT@VS49571 11195000 EJECT 11525000 SPACE 2 @XM09020 11534000 *********************************************************************** 11543000 * * 11552000 * SAVE CID OF DEVICE FROM RPL ARG FIELD. @VS49571 11570000 * @DA04534 11579000 * SAVE RPL DATAFLG FIELD (FDBK). INFORMATION WITHIN IT @VS49571 11588000 * USED BY NETSOL IS: @XM02032 11597000 * RPLUINPT UNSOLICITED DATA @VS49571 11606000 * RPLEOT END OF TRANSMISSION @VS49571 11607000 * * 11624000 * GET LENGTH OF RECORD READ. THIS WILL BE DECREMENTED @DA04534 11633000 * IF DEVICE CONTROL CHARACTERS ARE REMOVED BEFORE INTRPRET. * 11642000 * @DA04534 11660000 * GET THE DEVICE CONTROL CHARACTERS FROM TABDEV (VIA RPLUSFLD). 11669000 * * 11678000 * NOTE: INFO IN RPL MAY NOT BE VALID IF CHECK RETURNS #XM09020 11687000 * AN ERROR. #XM09020 11696000 * * 11705000 *********************************************************************** 11714000 SPACE 2 11723000 MVC CID(4),RPLARG GET CID FROM RPL @VS49571 11732000 MVC RDATAFLG(1),RPLFDB3 GET DATA FLAGS (FDBK) @VS49571 11733000 MVC RECLEN(4),RPLRLEN RECORD LENGTH @VS49571 11734000 SPACE 2 @VS49571 11735000 MVC USERWORD(4),RPLUSFLD SAVE DEV INDEX AND FLAGS@VS49571 11736000 SR R3,R3 @VS49571 11737000 IC R3,TABINDEX GET INDEX INTO TABDEV @VS49571 11738000 A R3,TABDEV@ POINT TO CORRECT ENTRY @VS49571 11739000 * IN TABDEV @VS49571 11740000 MVC TABLINFO,D0(R3) SAVE THE INFO IN THE @VS49571 11741000 * RPL WORKAREA @VS49571 11742000 EJECT #XM09020 11849000 SPACE 2 @DA04534 11858000 CHECK EQU * #XL03HAJ 11867000 OI MFLAGS,READA TELL ERREXIT THAT ERRORS@XL03HAJ 11876000 * ARE FOR READ(ANY) @XL03HAJ 11885000 SPACE 2 @XL03HAJ 11894000 * CHECK RPL=(PTRRPL) CHECK FOR ERROR, ERREXIT@VS49571 11903000 * IS ENTERED IF ERRORS HAVE 11912000 * OCCURRED 11930000 CHECK RPL=(PTRRPL) @VS49571 11939000 SPACE 4 @XL03HAJ 11948000 NI MFLAGS,X'FF'-READA RESET READ INDICATOR @XL03HAJ 11957000 EJECT @VS49571 11966000 *** @XL03HAJ 11975000 * @XL03HAJ 11984000 * ERROR ACTIONS FOR CHECK OF READ (ANY) @VS49571 11993000 * @XL03HAJ 12002000 * ACTION @VS49571 12020000 * RTNCD FDBK2 CODE(S) @VS49571 12021000 * CODE CODE MEANING RETURNED @VS49571 12022000 * (R15 R0) @VS49571 12023000 * @XL03HAJ 12056000 * 00 00 SUCCESSFUL COMPLETION 00 00 @XL03HAJ 12065000 * 04 01 ATTENTION RECEIVED 18 00 @VS49571 12074000 * 04 02 BISYNCH STATUS MSG RECEIVED 08 00 @DA04534 12083000 * OR 10 00 @DA04534 12092000 * OR 1C 00 @DA04534 12110000 * OR 20 00 @Z40GKD3 12119000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @XL03HAJ 12128000 * 0C 00 I/O ERROR. DEVICE STILL USABLE 08 00 @DA04534 12137000 * OR 0C 81 @DA04534 12146000 * OR 10 00 @DA04534 12155000 * OR 1C 00 @DA04534 12164000 * OR 20 00 @Z40GKD3 12173000 * 0C 01 I/O ERROR. DEVICE NOT USABLE 08 00 @XL03HAJ 12182000 * 0C 02 TEST REQUEST SET 08 00 @XL03HAJ 12200000 * 0C 05 NCP ABENDED, RESTART SUCCESSFUL 10 08 @VS49571 12209000 * 0C 06 NCP ABEND. LAST PURGE 10 08 @XL03HAJ 12218000 * 0C 0A I/O RESET BY USER 18 00 @VS49571 12227000 * 0C 0B CANCELED BY CLSDST 14 00 @VS49571 12228000 * 10 04 VTAM AND NCP INCOMPATABLE 20 00 @Z40GKD3 12245000 * 10 05 PERMANENT PATH FAILURE 08 00 @XL03HAJ 12254000 * 10 06 AUTO NETWORK SHUTDOWN 08 00 @XL03HAJ 12263000 * 10 08 DIAL DISCONNECT 10 00 @VS49571 12272000 * OR 14 00 @VS49571 12273000 * 10 0B DIAL-OUT DISCONNECT 08 00 @XL03HAJ 12299000 * OR 0C 01 @XL03HAJ 12308000 * 10 0C DIAL-IN DISCONNECT 08 00 @XL03HAJ 12317000 * 14 12 CLSDST IN PROGRESS 14 00 @VS49571 12326000 * 14 32 REQUEST INVALID FOR SPECIFIED DEVICE 08 00 @VS49571 12327000 * @XL03HAJ 12344000 *** @XL03HAJ 12353000 SPACE 2 @XL03HAJ 12362000 CHECKERS EQU * @DA04534 12380000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @Z40GKD3 12389000 BH SNOCCUR CODE IS X'20' @Z40GKD3 12398000 B ERRTAB2(R15) CHECK VALID ACTIONS @XL03HAJ 12407000 ERRTAB2 B R0CHK2 0 VALID DATA FROM READ? @XL03HAJ 12416000 BAL R7,SNOCCUR 4 @VS49571 12425000 B RELEASE 8 CONNECTION TO DEVICE IS @XL03HAJ 12434000 * KAPUT; MAKE IT OFFICIAL@XL03HAJ 12443000 * MAYBE TEST REQUEST SET @XL03HAJ 12452000 B WRITEMSG C I/0 ERROR. TELL USER @XL03HAJ 12470000 * TO RESUBMIT DATA @XL03HAJ 12479000 B RSETEST2 10 TEST FOR RESET OR @XL03HAJ 12488000 * REISSUE @XL03HAJ 12497000 B FREERPL 14 @VS49571 12506000 B RESOLCIT 18 @XL03HAJ 12515000 B RESETSOL 1C RESET THEN SOLICIT @DA04534 12524000 B PROBDEV 20 I/O PROBLEM WITH DEVICE @Z40GKD3 12533000 SPACE 4 @XL03HAJ 12542000 RSETEST2 EQU * @XL03HAJ 12560000 LTR R0,R0 TEST FOR 0 AND SET UP @XL03HAJ 12569000 * FOR BRANCH INDEX AFTER @XL03HAJ 12578000 * A POSSIBLE RESET @XL03HAJ 12587000 BZ RESOLCIT 0 REISSUE MEANS FOR THE @XL03HAJ 12596000 * SOLICIT AND READ, @XL03HAJ 12605000 * NOT THE CHECK @XL03HAJ 12614000 RESETRA EQU * NOT ZERO, THEREFORE IT IS 8 @VS49571 12623000 B RESETSOL 8 RESET AND REISSUE SOLIC @VS49571 12624000 R0CHK2 EQU * @VS49571 12625000 LTR R0,R0 @VS49571 12626000 BNZ SNOCCUR SHOULD NOT OCCUR @VS49571 12627000 * @XL03HAJ 12677000 * * * * * * * * END OF READ(ANY) ERROR HANDLING * * * * * * * @VS49571 12686000 * @XL03HAJ 12695000 EJECT @VS49571 12704000 LA R6,IOAREA POINT TO DATA RECEIVED @VS49571 12705000 L R2,RECLEN GET DATA LENGTH 12749000 AIF ('&ASTRIP' EQ 'YES').STRIP1 12750000 STC R2,STRIPLEN SAVE LENGTH INCLUDING @ZA07805 12751000 * CONTROL CHARACTERS @ZA07805 12752000 MVC NOSTRIPA(80),0(R6) SAVE DATA WITH CONTROL @ZA07805 12753000 .STRIP1 ANOP 12754000 LTR R2,R2 RECEIVE ANY DATA? @XM09031 12758000 * IN CASE NO DATA RECEIVED@ZA13667 12761000 * RESOLICIT THE TERMINAL @ZA13667 12764000 BZ RESOLCIT @ZA13667 12767000 LA R3,L'IOAREA COMPARE THE RECLEN WITH @VS49571 12776000 CR R2,R3 THE READ BUFFER LENGTH.@DM14113 12785000 BNH WHATDEV BUFFER LENGTH GREATER @DM14113 12794000 * THAN INPUT RECORD. @DM14113 12803000 LR R2,R3 ONLY THE FIRST 80 BYTES @VS49571 12812000 * WILL BE READ IN. @DM14113 12830000 SPACE 2 @DA04534 12839000 *********************************************************************** 12848000 * @DA04534 12857000 * EACH OF SEVERAL DEVICES MAY HAVE DEVICE CONTROL CHARACTERS @DA04534 12866000 * AS PART OF THE INPUT STREAM. THESE MUST BE STRIPPED OFF IN @DA04534 12875000 * ORDER THAT THE INTRPRET WORK CORRECTLY. FOR MOST DEVICES @DA04534 12884000 * SUPPORTED BY NETSOL, THE CONTROL CHARACTERS HAVE HEX VALUES @DA04534 12893000 * FROM 00 TO 49, AND THERE ARE NO VALID DATA CHARACTERS @DA04534 12902000 * WITHIN THAT RANGE. THE DEVICE CONTROL CHARACTERS FOR THESE @DA04534 12920000 * DEVICES ARE STRIPPED BY A COMMON 'CCSTRIP' ROUTINE. OTHER @DA04534 12929000 * DEVICES MUST BE HANDLED DIFFERENTLY. THOSE DEVICES WHICH @DA04534 12938000 * DO NOT USE THE COMMON STRIPPING ROUTINE ARE AS FOLLOWS: @DA04534 12947000 * @DA04534 12956000 * SYS3 3277 3735 @DA04534 12965000 * 3741 3275 @DA04534 12974000 * 3747 @DA04534 12983000 * @DA04534 12992000 *********************************************************************** 13010000 * @DA04534 13019000 * @DA04534 13028000 WHATDEV EQU * @DA04534 13037000 CLI TYPECODE,DEV3277 IF THE DEVICE IS A 3277 @DA04534 13046000 BE TYPE3270 OR A 3275, STRIP @DA04534 13055000 CLI TYPECODE,DEV3275 DEVICE CONTROL CHARS @DA04534 13064000 BE TYPE3270 AS 3270 DEVICES @DA04534 13073000 CLI TYPECODE,DEV3735 IS DEVICE 3735? @DA04534 13082000 BE TYPE3735 YES. HANDLE SEPARATELY @DA04534 13100000 CLI TYPECODE,DEVSYS3 SYS3 CPU? @DA04534 13109000 BE INTRPRET YES. NO STRIP NEEDED @DA04534 13118000 CLI TYPECODE,DEV3741 3741? @DA04534 13127000 BE INTRPRET YES. NO STRIP NEEDED @DA04534 13136000 CLI TYPECODE,DEV3747 3747? @DA04534 13145000 BE INTRPRET YES. NO STRIP NEEDED @DA04534 13154000 B CCSTRIP FOR ALL OTHERS, USE THE @DA04534 13163000 * COMMON STRIPPING @DA04534 13172000 * ROUTINE @DA04534 13190000 EJECT 13199000 SPACE 2 13208000 *********************************************************************** 13217000 * * 13226000 * DEVICE IS 3270. CHECK FOR 'CLEAR' KEY DEPRESSED. IF IT IS * 13235000 * THE TERMINAL USER WILL BE PROBABLY ALREADY KEYING IN DATA. * 13244000 * DO NOT RESET THE TERMINAL BEFORE SOLICITING THE @XL03HAJ 13253000 * DATA WHICH HAS ALREADY BEEN ENTERED. @XL03HAJ 13262000 * @DA04534 13280000 * INPUT: R2 = NON-ZERO LOGON SEQUENCE LENGTH @DA04534 13289000 * R6 = ADDRESS OF 'IOAREA' (LOGON SEQUENCE) @DA04534 13298000 * * 13307000 *********************************************************************** 13316000 SPACE 2 13325000 TYPE3270 EQU * @DA04534 13334000 CLI 0(R6),CLEARKEY IS IT 'CLEAR' KEY ? 13343000 BNE CHECKPF NO. CHECK FURTHER @XL03HAJ 13352000 LA R0,MSG12 YES. WRITE MSG @ZA44250 13370000 B WRITEMSG WRITE GOOD MORNING MSG @ZA44250 13374500 SPACE 2 13379000 *********************************************************************** 13388000 * * 13397000 * NOT 'CLEAR' KEY, CHECK FOR OTHER FUNCTION KEY DEPRESS. IF * 13406000 * IT IS A FUNCTION KEY THE DATA WILL BE PASSED DIRECTLY TO * 13415000 * INTERPRET, OTHERWISE THE DATA POINTER WILL BE UPDATED TO * 13424000 * SKIP THE 3270 DEVICE CONTROL SEQUENCE. * 13433000 * * 13442000 *********************************************************************** 13460000 SPACE 2 13469000 CHECKPF EQU * @XL03HAJ 13478000 SPACE 2 @XL03HAJ 13487000 CLI 0(R6),PF10 TEST 13496000 BL CHECKPA FOR 13505000 CLI 0(R6),PF12 VALID 13514000 BNH INTRPRET PROGRAM 13523000 CLI 0(R6),PF01 FUNCTION 13532000 BL REMOVE KEY 13550000 CLI 0(R6),PF09 DEPRESS 13559000 BNH INTRPRET . 13568000 B REMOVE . 13577000 SPACE 2 13586000 CHECKPA EQU * 13595000 SPACE 2 13604000 CLI 0(R6),PA1 TEST 13613000 BE INTRPRET FOR 13622000 CLI 0(R6),PA2 VALID 13640000 BE INTRPRET PROGRAM 13649000 CLI 0(R6),PA3 ACCESS 13658000 BE INTRPRET KEY DEPRESS 13667000 SPACE 2 13676000 * LOGON DATA IS ALPHANUMERIC STRING. 13685000 SPACE 2 13694000 REMOVE EQU * 13703000 LA R1,LCTLSEQ GET LENGTH OF DEVICE CONTROL 13712000 * SEQUENCE FOR 3270 13730000 AR R6,R1 SKIP DEVICE CONTROL SEQUENCE 13739000 SR R2,R1 ADJUST DATA LENGTH 13748000 BNP BADSEQNC BRANCH IF NO MORE DATA @DM07616 13757000 SPACE 2 13766000 CLI 0(R6),SBA SBA FIELD ? @DM07616 13775000 BNE CCSTRIP NO, BRANCH @ZA27846 13784000 SPACE 2 13793000 AR R6,R1 YES, ADJUST AGAIN 13802000 SR R2,R1 AND AGAIN 13811000 BP CCSTRIP READY FOR INTRPRET IF @ZA27846 13820000 * MORE DATA @DM07616 13838000 SPACE 2 13847000 BADSEQNC EQU * INVALID 3270 LOGON SEQ @DM07616 13856000 * MUST HAVE BEEN AID @DA04534 13865000 * CHARACTER @DA04534 13874000 LA R0,MSG02 AID CHARACTERS OTHER @DA04534 13883000 B WRITEMSG THAN PA, PF, AND CLEAR @DA04534 13892000 * ARE INVALID INPUT @DA04534 13910000 EJECT @DA04534 13919000 SPACE 2 @DA04534 13928000 ************************************************************** @DA04534 13937000 * @DA04534 13946000 * THE DEVICE IS A 3735 PROGRAMMABLE BUFFERED TERMINAL. THE @DA04534 13955000 * DEVICE CONTROL CHARACTERS TO BE STRIPPED FROM THE INPUT @DA04534 13964000 * CHARACTER STRING CONSIST OF THREE CHARACTERS: TWO NULS @DA04534 13973000 * (X'00') WITH A LETTER OR OTHER GRAPHIC BETWEEN THEM. @DA04534 13982000 * 3735 CONTROL CHARACTERS ALWAYS LEAD THE INPUT STRING. IN @DA04534 14000000 * THE NORMAL CASE THE LETTER IN BETWEEN IS C'I'. RATHER @DA04534 14009000 * THAN CHECK FOR A VALID CHARACTER BETWEEN THE NULS, NETSOL @DA04534 14018000 * SIMPLY CHECKS FOR TWO NULS WITH ONE BYTE IN BETWEEN. ANY @DA04534 14027000 * SUCH COMBINATION IS STRIPPED FROM THE INPUT STRING. @DA04534 14036000 * @DA04534 14045000 * INPUT: R2 = NON-ZERO LOGON SEQUENCE LENGTH @DA04534 14054000 * R6 = ADDRESS OF 'IOAREA' (LOGON SEQUENCE) @VS49571 14063000 * @DA04534 14072000 ************************************************************** @DA04534 14090000 * @DA04534 14099000 * @DA04534 14108000 TYPE3735 EQU * @DA04534 14117000 LA R1,LCTLSEQ LENG OF CONTROL STRING @DA04534 14126000 * (3) @DA04534 14135000 CR R2,R1 ARE THERE MORE CHARAC- @DA04534 14144000 * TERS THAN THE THREE @DA04534 14153000 * EXPECTED DEVICE CON- @DA04534 14162000 * TROL CHARACTERS? @DA04534 14180000 BNH PROBDEV NO. ERROR @DA04534 14189000 CLI D0(R6),NUL IS THE FIRST BYTE NUL? @DA04534 14198000 BNE PROBDEV NO. ERROR @DA04534 14207000 CLI D2(R6),NUL IS THE THIRD BYTE NUL? @DA04534 14216000 BNE PROBDEV NO. ERROR @DA04534 14225000 SR R2,R1 ADJUST LENGTH AND START @DA04534 14234000 AR R6,R1 OF STRIPPED INPUT @DA04534 14243000 * STRING @DA04534 14252000 B INTRPRET NOW INTRPRET LOGON SEQ @DA04534 14270000 EJECT #XM09031 14279000 SPACE 2 #XM09031 14288000 ************************************************************** #XM09031 14297000 * #XM09031 14306000 * STRIP LEADING AND TRAILING DEVICE CONTROL CHARACTERS AND #XM09031 14315000 * CONVERT THE INTERNAL CONTROL CHARACTERS TO BLANKS. #XM09031 14324000 * #XM09031 14333000 * INPUT: R2 = NON-ZERO LOGON SEQUENCE LENGTH #XM09031 14342000 * R6 = ADDRESS OF 'IOAREA' (LOGON SEQUENCE) @VS49571 14360000 * #XM09031 14369000 ************************************************************** #XM09031 14378000 * #XM09031 14387000 * #XM09031 14396000 CCSTRIP EQU * #XM09031 14405000 BCTR R2,0 DECREMENT LENGTH FOR #XM09031 14414000 * EXECUTE INSTRUCTION #XM09031 14423000 EX R2,CCTOBLNK CONVERT LEADING, TRAIL- #XM09031 14432000 * ING, AND INTERNAL #XM09031 14450000 * CONTROL CHARACTERS TO #XM09031 14459000 * BLANKS #XM09031 14468000 B PASTTRT GO AROUND TRT @VS49571 14477000 SPACE 2 @VS49571 14478000 *** #XM09031 14495000 * #XM09031 14504000 * USING LENGTH OF INPUT STRING AS SPECIFIED IN THE EXECUTE #XM09031 14513000 * INSTRUCTION, TRANSLATE DEVICE CONTROL CHARACTERS (ACTUALLY #XM09031 14522000 * ALL NON-PRINTABLES) TO BLANKS. #XM09031 14540000 * #XM09031 14549000 *** #XM09031 14558000 * #XM09031 14567000 CCTOBLNK TR D0(D0,R6),TRTAB1 *** EXECUTED *** #XM09031 14576000 SPACE 2 #XM09031 14585000 PASTTRT EQU * @VS49571 14594000 LA R2,D1(,R2) RESTORE LENGTH OF LOGON #XM09031 14603000 * SEQUENCE #XM09031 14612000 SPACE 4 #XM09031 14630000 *** #XM09031 14639000 * #XM09031 14648000 * FIRST STEP IS TO STRIP OFF LEADING BLANKS. THEY WERE ALL #XM09031 14657000 * CONVERTED FROM CONTROL CHARACTERS SINCE VTAM STRIPS OFF #XM09031 14666000 * LEADING BLANKS. #XM09031 14675000 * #XM09031 14684000 *** #XM09031 14693000 * #XM09031 14702000 * #XM09031 14720000 BCTR R6,0 DECREMENT FOR 1ST TIME #XM09031 14729000 * THRU STRIPPING LOOP #XM09031 14738000 * USE LENGTH OF SEQUENCE #XM09031 14747000 * STRING AS LOOP COUNTER #XM09031 14756000 * NOTE: R2 IS AT LEAST 1 #XM09031 14765000 STRIP1ST EQU * #XM09031 14774000 LA R6,D1(,R6) INCREMENT TO NEXT/1ST #XM09031 14783000 * CHARACTER OF STRING #XM09031 14792000 CLI 0(R6),C' ' IS IT A BLANK? #XM09031 14810000 BNE STRIPBAK NO. LEADING BLANKS ARE #XM09031 14819000 * ALL STRIPPED. NOW DO #XM09031 14828000 * TRAILING ONES. #XM09031 14837000 * CHARACTERS STRIPPED BY #XM09031 14846000 * CHANGING POINTER (AL- #XM09031 14855000 * READY DONE) AND COUNT- #XM09031 14864000 * ER (THIS INSTRUCTION) #XM09031 14873000 BCT R2,STRIP1ST CONTINUE STRIPPING #XM09031 14882000 LA R0,MSG02 END OF STRING. ALL #XM09031 14900000 B WRITEMSG BLANKS. ISSUE ERR MSG #XM09031 14909000 SPACE 2 @VS49571 14918000 *** #XM09031 14927000 * #XM09031 14936000 * LEADING BLANKS HAVE BEEN STRIPPED. STRIP TRAILING BLANKS #XM09031 14945000 * BY FINDING LAST NON-BLANK CHARACTER AND STRIP ALL THAT #XM09031 14954000 * FOLLOW. #XM09031 14963000 * #XM09031 14972000 *** #XM09031 14981000 * #XM09031 14990000 STRIPBAK EQU * #XM09031 14999000 LR RCUR,R6 POINT AT BEGINNING OF #XM09031 15008000 * SEQUENCE #XM09031 15017000 LR R3,R2 USE LENGTH OF SEQUENCE #XM09031 15026000 * STRING AS LOOP COUNTER #XM09031 15035000 * NOTE: R3 IS AT LEAST 1 #XM09031 15044000 LR REND,RCUR STARTING VALUE FOR LAST #XM09031 15053000 * NON-BLANK #XM09031 15062000 B ENDYET PREPARE FOR 1ST PASS #XM09031 15071000 STRIP2ND EQU * #XM09031 15080000 LA RCUR,D1(,RCUR) LOOK AT NEXT CHARACTER #XM09031 15089000 CLI 0(RCUR),C' ' IS IT BLANK? #XM09031 15098000 BE ENDYET YES. KEEP LOOKING FOR #XM09031 15107000 * END #XM09031 15116000 LR REND,RCUR SAVE ADDR OF LAST NON- #XM09031 15125000 * BLANK FOUND #XM09031 15134000 ENDYET EQU * #XM09031 15143000 BCT R3,STRIP2ND KEEP LOOPING TILL END #XM09031 15152000 * OF STRING #XM09031 15161000 SR RCUR,REND FIND LENGTH OF TRAILING #XM09031 15170000 * BLANKS #XM09031 15179000 SR R2,RCUR STRIP TRAILING BLANKS #XM09031 15188000 * BY CHANGING COUNTER #XM09031 15197000 B INTRPRET NOW INTRPRET LOGON SEQ #XM09031 15206000 EJECT #XM09031 15215000 SPACE 2 #XM09031 15224000 *********************************************************************** 15233000 * * 15242000 * USE INTRPRET TO LOOK UP THE LOGON CHARACTERISTICS TABLE AND FIND * 15251000 * THE NAME OF THE APPLICATION REQUIRED BY THE TERMINAL USER. * 15260000 * ERREXIT WILL BE CALLED IN CASE OF ERROR. @XL03HAJ 15269000 * * 15278000 * R6 POINTS AT THE LOGON DATA * 15287000 * R2 CONTAINS LOGON DATA LENGTH * 15296000 * * 15305000 *********************************************************************** 15360000 SPACE 2 15369000 INTRPRET EQU * 15378000 SPACE 2 15387000 STC R2,DATASEQL SAVE LOGON SEQ LENGTH @XM06995 15396000 LR R1,R2 PUT IT IN WORK REG @XM07107 15405000 BCTR R1,0 MINUS 1 FOR THE EXECUTE @XM07107 15414000 EX R1,MVCSEQ SAVE LOGON SEQUENCE @XM01017 15423000 B PASTMVC BRANCH AROUND EX'D MVC @XM06995 15432000 MVCSEQ MVC DATASEQ(D0),D0(R6) TO SAVE LOGON SEQUENCE @XM06995 15441000 PASTMVC EQU * @XM06995 15450000 SPACE 2 @VS49571 15468000 MVC SYNARG(FOUR),CID MOVE IN THE CID @VS49571 15469000 OI MACFLAG2,INTAPPID TURN ON INTRPRET FLAG @X50BHD3 15486000 OI MFLAGS,INTRPRT TURN ON INTRPRET FLAG @X50BHD3 15495000 NI SRPLEXT1,FF-RPLNIB INITIALIZE SYNCHRPL @VS49571 15498000 * RPL HAS A CID IN ARG FLD@VS49571 15499000 SPACE 2 15504000 * INTRPRET RPL=SYNCHRPL, @VS49571 15513000 * AREA=(R6), * 15522000 * RECLEN=(R2), * 15540000 * AAREA=APPLID, * 15549000 * AAREALN=L'APPLID @VS49571 15558000 SPACE 2 @VS49571 15559000 INTRPRET RPL=SYNCHRPL, @VS49571*15560000 AREA=(R6), *15585000 RECLEN=(R2), *15594000 AAREA=APPLID, @VS49571*15603000 AAREALN=L'APPLID @VS49571 15604000 SPACE 2 @X50BHD3 15630000 NI MFLAGS,FF-INTRPRT TURN OFF INTRPRET FLAG @VS49571 15639000 EJECT @XL03HAJ 15648000 *** @XL03HAJ 15657000 * @XL03HAJ 15666000 * ERROR ACTIONS FOR INTRPRET @XL03HAJ 15675000 * @XL03HAJ 15684000 * ACTION @VS49571 15693000 * RTNCD FDBK2 CODE(S) @VS49571 15694000 * CODE CODE MEANING RETURNED @VS49571 15695000 * (R15 R0) @VS49571 15696000 * @XL03HAJ 15738000 * 00 00 SUCCESSFUL COMPLETION 00 00 @XL03HAJ 15747000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @XL03HAJ 15756000 * 10 0A APPARENT VTAM ERROR 20 00 @ZA32289 15765000 * 10 0D VTAM INACTIVE TO YOUR ACB SNOCCUR @VS49571 15774000 * 10 0E ABEND IN VTAM SNOCCUR @XL03HAJ 15783000 * 14 13 CID INVALID 14 00 @VS49571 15792000 * 14 4A NO INTRPRET ROUTINE 0C 04 @XL03HAJ 15810000 * 14 4B INVALID LOGON SEQUENCE 0C 02 @XL03HAJ 15819000 * 14 4D NO INTRPRET TABLE (DOS) 0C 03 @XL03HAJ 15828000 * (VS1/2) 0C 02 @XL03HAJ 15837000 * OR 00 00 @XL03HAJ 15846000 * 14 55 INVALID LOGON SEQ IN INTRPRT ROUTINE 0C 02 @X50BHD3 15855000 * @X50BHD3 15864000 *** @XL03HAJ 15873000 SPACE 2 @XL03HAJ 15882000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @ZA19916 15900000 BH SNOCCUR CODE IS X'20' @ZA19916 15906000 B ERRTAB3(R15) CHECK VALID ACTIONS @XL03HAJ 15918000 ERRTAB3 B R0CHK3 0 PROBABLY WORKED OK @XL03HAJ 15927000 BAL R7,SNOCCUR 4 @VS49571 15936000 BAL R7,SNOCCUR 8 CONNECTION TO DEVICE IS @VS49571 15942000 * IRRELEVANT @XL03HAJ 15954000 B WRITEMSG C THIS IS NORMAL CASE FOR @XL03HAJ 15963000 * INVALID LOGON SEQUENCE @XL03HAJ 15972000 B PASTMVC 10 REISSUE. NO NEED TO @XL03HAJ 15990000 * CHECK FOR RESET @XL03HAJ 15999000 B FREERPL 14 JUST GET OUT @VS49571 16008000 BAL R7,SNOCCUR 18 SHOULD NOT OCCUR @ZA19916 16010000 BAL R7,SNOCCUR 1C SHOULD NOT OCCUR @ZA19916 16012000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA19916 16014000 SPACE 2 @XL03HAJ 16017000 R0CHK3 EQU * @XL03HAJ 16026000 LTR R0,R0 INTERP AREA TOO SMALL? @XL03HAJ 16035000 BNZ SNOCCUR YES, OR OTHER ERROR @XL03HAJ 16044000 SPACE 2 @ZA38438 16045000 STC R2,DATASEQL SAVE LOGON SEQ LENGTH @ZA38438 16046000 LR R1,R2 PUT IT IN WORK REG @ZA38438 16047000 BCTR R1,0 MINUS 1 FOR THE EXECUTE @ZA38438 16048000 EX R1,MVCSEQ1 SAVE LOGON SEQUENCE @ZA38438 16049000 B PASTMVC1 BRANCH AROUND EX'D MVC @ZA38438 16049800 MVCSEQ1 MVC DATASEQ(D0),D0(R6) TO SAVE LOGON SEQUENCE @ZA38438 16050600 PASTMVC1 EQU * @ZA38438 16051400 * @XL03HAJ 16053000 * * * * * * * * END OF INTRPRET ERROR HANDLING * * * * * * * * @XL03HAJ 16062000 * @XL03HAJ 16080000 SPACE 2 @XL03HAJ 16089000 LA PTRNIB,SYNCHNIB PUT THE APPLICATION @VS49571 16098000 MVC NIBSYM(8),APPLID NAME INTO NIB SYMBOLIC @VS49571 16099000 * NAME SLOT. @VS49571 16100000 EJECT 16125000 SPACE 2 16134000 ***************************************************************@VS49571 16143000 * @VS49571 16144000 * INQUIRE FOR THE APPLICATION STATUS @VS49571 16145000 * @VS49571 16146000 ***************************************************************@VS49571 16147000 SPACE 2 16197000 INQUIREB EQU * @VS49571 16206000 OI MACFLAG2,INQAPPS @XL03HAJ 16215000 OI MFLAGS,INQAPPST TELL ERREXIT OF @XL03HAJ 16224000 * INQUIRE(APPSTAT) @XL03HAJ 16233000 SPACE 2 @XL03HAJ 16242000 * INQUIRE RPL=SYNCHRPL, @VS49571 16260000 * OPTCD=APPSTAT, @VS49571 16261000 * NIB=SYNCHNIB @VS49571 16262000 SPACE 2 @VS49571 16263000 INQUIRE RPL=SYNCHRPL, @VS49571*16264000 OPTCD=APPSTAT, @VS49571*16265000 NIB=SYNCHNIB @VS49571 16266000 SPACE 2 @XL03HAJ 16323000 NI MFLAGS,X'FF'-INQAPPST RESET ERREXIT FLAG @XL03HAJ 16332000 NI SRPLEXT1,FF-RPLNIB NIB NO LONGER NEEDED @VS49571 16341000 EJECT @XL03HAJ 16350000 SPACE 2 @XL03HAJ 16359000 *** @XL03HAJ 16368000 * @XL03HAJ 16377000 * ERROR ACTIONS FOR INQUIRE(APPSTAT) @XL03HAJ 16386000 * @XL03HAJ 16395000 * ACTION @VS49571 16404000 * RTNCD FDBK2 CODE(S) @VS49571 16405000 * CODE CODE MEANING RETURNED @VS49571 16406000 * (R15 R0) @VS49571 16407000 * @XL03HAJ 16449000 * 00 00 SUCCESSFUL COMPLETION 00 00 @XL03HAJ 16458000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @XL03HAJ 16467000 * 10 0A VTAM ERROR 20 00 @ZA32289 16476000 * 10 0E ABEND IN VTAM SNOCCUR @XL03HAJ 16485000 * 14 4C NO APPLICATION NAME 0C 06 @XL03HAJ 16494000 * 14 53 INVALID SYMBOLIC (APPLICATION) NAME 0C 06 @XM09467 16503000 * @XL03HAJ 16512000 *** @XL03HAJ 16530000 SPACE 2 @XL03HAJ 16539000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @ZA32289 16548000 BH SNOCCUR CODE IS X'20' @ZA32289 16554000 B ERRTAB4(R15) CHECK VALID ACTIONS @XL03HAJ 16566000 ERRTAB4 B R0CHK4 0 PROBABLY WORKED OK @XL03HAJ 16575000 BAL R7,SNOCCUR 4 @VS49571 16584000 BAL R7,SNOCCUR 8 CONNECTION TO DEVICE IS @VS49571 16590000 * IRRELEVANT @XL03HAJ 16602000 B WRITEMSG C THIS IS NORMAL CASE FOR @XL03HAJ 16620000 * APPLICATION UNKNOWN @XL03HAJ 16629000 B INQUIREB 10 REISSUE. NO NEED TO @XL03HAJ 16638000 BAL R7,SNOCCUR 14 @ZA32289 16639000 BAL R7,SNOCCUR 18 @ZA32289 16640000 BAL R7,SNOCCUR 1C @ZA32289 16641000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 16642000 SPACE 2 @XL03HAJ 16647000 R0CHK4 EQU * @XL03HAJ 16656000 LTR R0,R0 INQUIRE AREA TOO SMALL? @XL03HAJ 16665000 BNZ SNOCCUR YES, OR OTHER ERROR @XL03HAJ 16674000 * @XL03HAJ 16683000 * * * * * * * * END OF INQUIRE ERROR HANDLING * * * * * * * * @XL03HAJ 16692000 * @XL03HAJ 16710000 * NO. FALL THRU @XL03HAJ 16719000 SPACE 2 @XL03HAJ 16728000 EJECT @XL03HAJ 16737000 SPACE 2 16746000 *********************************************************************** 16755000 * * 16764000 * TEST RPL FEEDBACK (FDBK) FOR INDICATION OF APPLICATION STATUS. * 16773000 * CODES ARE: * 16782000 * * 16800000 * 0 - ACTIVE AND AVAILABLE * 16809000 * 4 - INACTIVE * 16818000 * 8 - NEVER ACCEPTS A LOGON * 16827000 * 12 - TEMPORARILY NOT ACCEPTING LOGONS * 16836000 * 16 - APPLICATION IS QUIESCING (CLOSED ITS LOGON QUEUE) * 16845000 * * 16854000 *********************************************************************** 16863000 SPACE 2 @VS49571 16872000 SR R15,R15 CLEAR REG 15 @VS49571 16873000 IC R15,SYNFDB3 EXTRACT FEEDBACK INFO. @VS49571 16874000 STC R15,APPLSTAT SAVE FOR DEBUGGING. @VS49571 16875000 SPACE 2 16917000 B STATUS(R15) BRANCH IN TABLE 16926000 STATUS B APPACTIV 0 16935000 B APPINACT 4 16944000 B APPNEVER 8 16953000 B APPTEMP 12 16962000 B APPCLOSE 16 @VS49571 16980000 SPACE 2 16989000 APPTEMP EQU * APPLICATION TEMPORARILY NOT 16998000 * ACCEPTING LOGONS 17007000 LA R0,MSG11 SET MESSAGE CODE @XL03HAJ 17016000 B WRITEMSG TELL TERMINAL USER 17025000 SPACE 2 17034000 APPNEVER EQU * APPLICATION NEVER ACCEPTS LOGONS 17043000 LA R0,MSG10 SET MESSAGE CODE @XL03HAJ 17052000 B WRITEMSG TELL TERMINAL USER 17061000 SPACE 2 17070000 APPINACT EQU * APPLICATION INACTIVE 17079000 LA R0,MSG08 SET MESSAGE CODE @XL03HAJ 17088000 B WRITEMSG TELL TERMINAL USER 17097000 SPACE 2 17106000 APPCLOSE EQU * APPLICATION QUIESCING @VS49571 17115000 LA R0,MSG09 SET MESSAGE CODE @XL03HAJ 17124000 B WRITEMSG TELL TERMINAL USER 17133000 EJECT 17142000 SPACE 2 17170000 *********************************************************************** 17179000 * * 17188000 * THE APPLICATION IS ACTIVE AND AVAILABLE. PASS THE TERMINAL PLUS * 17197000 * LOGON DATA TO THE DESIRED APPLICATION. * 17206000 * * 17215000 *********************************************************************** 17224000 SPACE 2 17233000 APPACTIV EQU * 17242000 SPACE 2 17260000 SR R2,R2 CLEAR 17269000 AIF ('&ASTRIP' EQ 'YES').STRIP2 17270000 LA R3,NOSTRIPA ADDRESS DATA TO PASS @ZA07805 17271000 IC R2,STRIPLEN LENGTH OF DATA TO PASS @ZA07805 17272000 .STRIP2 ANOP 17274000 AIF ('&ASTRIP' EQ 'NO').STRIP3 17276000 IC R2,DATASEQL GET DATA SEQUENCE LENGTH PASSED 17278000 * FROM INTRPRET @VS49571 17280000 LA R3,DATASEQ ADDRESS OF DATA TO PASS @ZA07805 17282000 .STRIP3 ANOP 17286000 SPACE 2 17296000 PASS EQU * @XL03HAJ 17305000 OI MACFLAG2,CLOSPASS @VS49571 17314000 OI MFLAGS2,CLSDST @VS49571 17315000 SPACE 2 @XL03HAJ 17332000 * CLSDST RPL=(PTRRPL), @VS49571* 17350000 * OPTCD=(ASY,PASS), * 17359000 * AAREA=APPLID, * 17368000 * AREA=(R3), @ZA07805 17377000 * RECLEN=(R2), @VS49571 17386000 * EXIT=PASSEND @VS49571 17387000 SPACE 2 @VS49571 17388000 CLSDST RPL=(PTRRPL), @VS49571*17389000 OPTCD=(ASY,PASS), @VS49571*17390000 AAREA=APPLID, *17440000 AREA=(R3), @ZA07805*17449000 RECLEN=(R2), @VS49571*17458000 EXIT=PASSEND @VS49571 17459000 SPACE 4 @VS49571 17460000 NI MFLAGS2,FF-CLSDST @VS49571 17461000 EJECT @VS49571 17462000 SPACE 2 @VS49571 17463000 *** @VS49571 17464000 * @VS49571 17465000 * ERROR ACTIONS FOR CLSDST(PASS) @VS49571 17466000 * @VS49571 17467000 * ACTION @VS49571 17468000 * RTNCD FDBK2 CODE(S) @VS49571 17469000 * CODE CODE MEANING RETURNED @VS49571 17470000 * (R15 R0) @VS49571 17471000 * @VS49571 17472000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 17473000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 17474000 * @VS49571 17475000 *** @VS49571 17476000 SPACE 2 @VS49571 17477000 CH R15,HEX10 VTAM BUFFERS FULL? @VS49571 17478000 * (ONLY POSSIBLE ERROR) @VS49571 17479000 BE PASS YES. REISSUE @VS49571 17480000 LTR R15,R15 CLOSE(PASS) ACCEPTED @VS49571 17481000 BNZ SNOCCUR NO. IMPOSSIBLE @VS49571 17482000 LTR R0,R0 VALID COMPLETION? @XL03HAJ 17710000 BNZ SNOCCUR NO. ERROR @XL03HAJ 17719000 * @XL03HAJ 17727000 * * * * * * * * END OF CLSDSTERROR HANDLING* * * * * * * * * * @VS49571 17735000 * @XL03HAJ 17743000 SPACE 8 @XL03HAJ 17751000 B RETURN RETURN TO VTAM @VS49571 17759000 EJECT @VS49571 17760000 ************************************************************** @VS49571 17761000 * * @VS49571 17762000 * CHECK THAT THE CLSDST(PASS) WORKED CORRECTLY * @VS49571 17763000 * * @VS49571 17764000 * THIS EXIT ROUTINE IS SCHEDULED WHEN A CLSDST (PASS) * @VS49571 17765000 * IS ISSUED. THE CLSDST IS ISSUED WHEN A VALID LOGON * @VS49571 17766000 * SEQUENCE HAS BEEN RECEIVED FROM THE TERMINAL AND * @VS49571 17767000 * THE DESIRED APPLICATION IS RECEIVING LOGON'S. * @VS49571 17768000 * * @VS49571 17769000 * REGISTER 5 CONTAINS THE ADDRESS OF THE RPL USED * @VS49571 17770000 * IN THE CLSDST. * @VS49571 17771000 * * @VS49571 17772000 * * @VS49571 17773000 ************************************************************** @VS49571 17774000 SPACE 2 @VS49571 17775000 PASSEND EQU * @VS49571 17776000 * @VS49571 17777000 SPACE 2 @VS49571 17778000 * @VS49571 17779000 * XXXXXXXXXX @VS49571 17780000 DROP R10 @VS49571 17781000 DROP R11 BASE REGS NOT SET UP @VS49571 17782000 DROP R12 YET @VS49571 17783000 USING *,R15 ESTABLISH INITIAL ADDRES@VS49571 17784000 * XXXXXXXXXX @VS49571 17785000 * @VS49571 17786000 L R12,STARTADD R12 IS BASE REGISTER @VS49571 17787000 * @VS49571 17788000 * XXXXXXXXXX @VS49571 17789000 DROP R15 @VS49571 17790000 USING START,R12,R11,R10 ALL BASE REGS SET @VS49571 17791000 * XXXXXXXXXX @VS49571 17792000 * @VS49571 17793000 L R11,BASE2 LOAD 2ND BASE REGISTER @VS49571 17794000 L R10,BASE3 LOAD 3RD BASE REGISTER @VS49571 17795000 ST R14,RETVTAM@ SAVE EXIT RETURN ADDRESS@VS49571 17796000 LA R13,GENSAVE POINT TO SAVE-AREA @VS49571 17797000 SPACE 2 @VS49571 17798000 TM UFLAGS,SHUTDOWN SHUTDOWN IN PROGRESS? @VS49571 17799000 BO RETURN YES. NO MORE ACTION @VS49571 17800000 LR PTRRPL,R1 GET THE RPL PASSED @VS49571 17801000 EJECT @VS49571 17802000 OI EXITFLAG,PASSEX INDICATE IN PASSEND @VS49571 17803000 OI MFLAGS2,CLSDST TELL ERREXIT THAT ERROR @VS49571 17804000 * ARE FOR CLSDST @VS49571 17805000 SPACE 2 @XL03HAJ 18239000 * CHECK RPL=(PTRRPL) CHECK FOR ERROR, ERREXIT@VS49571 18248000 * IS ENTERED IF ERRORS HAVE 18257000 * OCCURRED @VS49571 18266000 CHECK RPL=(PTRRPL) @VS49571 18267000 SPACE 2 @XL03HAJ 18284000 NI MFLAGS2,X'FF'-CLSDST RESET INDICATOR @VS49571 18293000 EJECT @VS49571 18294000 *** @VS49571 18295000 * @VS49571 18296000 * ERROR ACTIONS FOR CLSDST(PASS) @VS49571 18297000 * @VS49571 18298000 * ACTION @VS49571 18299000 * RTNCD FDBK2 CODE(S) @VS49571 18300000 * CODE CODE MEANING RETURNED @VS49571 18301000 * (R15 R0) @VS49571 18302000 * @VS49571 18303000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 18304000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 18305000 * 0C 0B REQUEST CANCELLED BY CLSDST 14 00 @VS49571 18306000 * 10 00 APPLICATION UNAVAILABLE 0C 07 @VS49571 18307000 * 10 02 TARGET APPLICATION UNACCEPTABLE 0C 09 @VS49571 18308000 * 10 0A APPARENT VTAM ERROR 20 00 @ZA32289 18309000 * 10 0D VTAM INACTIVE TO YOUR ACB SNOCCUR @VS49571 18310000 * 10 0E ABEND IN VTAM SNOCCUR @VS49571 18311000 * 14 12 CLSDST IN PROGRESS 14 00 @VS49571 18312000 * 14 13 CID INVALID 14 00 @VS49571 18313000 * 14 55 NO OPNDST AUTHORIZATION 0C 05 @VS49571 18314000 * 14 5D OPNDST INVALID (TERM NOT CONNECTED) 14 00 @VS49571 18315000 * 14 5F RESOURCE NOT OWNED 14 00 @VS49571 18316000 * @VS49571 18317000 *** @VS49571 18318000 SPACE 2 @VS49571 18319000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @ZA32289 18554000 BH SNOCCUR CODE IS X'20' @ZA32289 18560000 B ERRTAB5(R15) CHECK VALID ACTIONS @XL03HAJ 18572000 ERRTAB5 B R0CHK5 0 PROBABLY PASSED DEVICE @XL03HAJ 18590000 BAL R7,SNOCCUR 4 @VS49571 18599000 BAL R7,SNOCCUR 8 @VS49571 18605000 B WRITEMSG C NORMAL CASE IF APPLI- @XL03HAJ 18617000 * CATION STOPPED ACCEPT- @XL03HAJ 18626000 * ING LOGONS SINCE THE @XL03HAJ 18635000 * INQUIRE @XL03HAJ 18644000 B PASS 10 REISSUE RESET FIRST @VS49571 18653000 B FREERPL 14 IT COULD BE THAT NETSOL @VS49571 18654000 * NO LONGER HAS THE @XL03HAJ 18680000 * DEVICE SINCE IT WAS @XL03HAJ 18689000 * FREED BY RELREQ AFTER @XL03HAJ 18698000 * THE READEND EXIT WAS @XL03HAJ 18707000 * SCHEDULED. @XL03HAJ 18716000 BAL R7,SNOCCUR 18 @ZA32289 18718000 BAL R7,SNOCCUR 1C @ZA32289 18720000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 18722000 SPACE 2 @VS49571 18725000 R0CHK5 EQU * @VS49571 18726000 LTR R0,R0 VALID COMPLETION? @VS49571 18727000 BNZ SNOCCUR ERROR IF NOT @VS49571 18728000 * @VS49571 18729000 * * * * * * * * END OF CLSDST ERROR HANDLING * * * * * * * * * @VS49571 18730000 * @VS49571 18731000 SPACE 2 @VS49571 18732000 B FREERPL FREE THE RPL AND GO BACK @VS49571 18733000 * TO VTAM @VS49571 18734000 TITLE 'WRITEMSG - WRITE MESSAGE TO TERMINAL' @XL03HAJ 18824000 *********************************************************************** 18833000 * * 18842000 * THIS CODE IS ENTERED ONLY FROM THE READEND REQUEST. * 18860000 * * 18869000 * ON ENTRY: * 18878000 * * 18887000 * REGISTER 0 CONTAINS THE NUMBER OF THE MESSAGE TO BE WRITTEN * 18896000 * REGISTER 5 POINTS TO THE RPL BEING USED. @VS49571 18905000 * * 18914000 *********************************************************************** 18923000 SPACE 2 18932000 WRITEMSG EQU * 18941000 STC R0,MSGINDEX SAVE MESSAGE INDEX @VS49571 18959000 SPACE 2 @XL03HAJ 21387000 *********************************************************************** 21396000 * * 21405000 * WRITE MESSAGE TO TERMINAL * 21414000 * * 21423000 *********************************************************************** 21432000 SPACE 2 @VS49571 21450000 MSGOK EQU * @VS49571 21451000 SR R1,R1 CLEAR OUT REG @VS49571 21452000 IC R1,MSGINDEX GET THE INDEX @VS49571 21453000 LA R2,X'FF'-X'80' TURN OFF POSSIBLE RESET @VS49571 21454000 NR R1,R2 INDICATOR PRIOR TO @VS49571 21455000 * INDEXING @VS49571 21456000 BCTR R1,0 INDEX - 1 @VS49571 21457000 SLL R1,D2 4 * (INDEX - 1) @VS49571 21458000 * = DISPLACEMENT OF MESSAG@VS49571 21459000 L R2,VCONMSGS POINT TO MESSAGE CSECT 21549000 AR R1,R2 POINT TO MESSAGE ENTRY 21558000 AH R2,D2(,R1) POINT TO MESSAGE 21567000 LH R1,D0(,R1) GET MESSAGE LENGTH 21576000 LA R3,IOAREA POINT TO OUTPUT AREA @VS49571 21585000 SPACE 4 @VS49571 21586000 *********************************************************************** 21603000 * * 21612000 * REGISTER 1 CONTAINS MESSAGE LENGTH * 21630000 * REGISTER 2 POINTS TO MESSAGE @VS49571 21639000 * REGISTER 3 POINTS TO OUTPUT AREA @VS49571 21640000 * @VS49571 21641000 ***************************************************************@VS49571 21642000 EJECT @VS49571 21643000 SPACE 2 @VS49571 21644000 ***************************************************************@VS49571 21645000 * @VS49571 21646000 * MOVE LEADING DEVICE CONTROL CHARACTER STRING TO OUTPUT@VS49571 21647000 * @VS49571 21648000 ***************************************************************@VS49571 21649000 SPACE 2 @VS49571 21650000 SR R4,R4 CLEAR @VS49571 21651000 IC R4,LENGCC GET LENGTHS OF LEADING @VS49571 21652000 * AND TRAILING CONTROL @VS49571 21653000 * STRINGS @VS49571 21654000 SRA R4,D4 USE ONLY LEADING STRING @VS49571 21655000 BZ MVMSG BRANCH IF ZERO @VS49571 21656000 SPACE 2 @VS49571 21657000 SR R6,R6 CLEAR @VS49571 21658000 IC R6,LEADCC OFFSET OF LEADING CC @VS49571 21659000 * STRING @DA04534 21846000 LA R6,CHTAB(R6) POINT TO STRING REQUIRED 21855000 BCTR R4,0 REDUCE FOR EXECUTED MVC 21864000 EX R4,MVC MOVE STRING TO OUTPUT AREA 21873000 LA R3,D1(R3,R4) POINT TO NEXT OUTPUT POSITION 21882000 SPACE 2 21900000 *********************************************************************** 21909000 * * 21918000 * MOVE MESSAGE TO OUTPUT AREA * 21927000 * * 21936000 *********************************************************************** 21945000 SPACE 2 21954000 MVMSG EQU * 21963000 BCTR R1,0 REDUCE FOR EXECUTED MVC 21972000 LR R6,R2 POINT AT MESSAGE 21990000 EX R1,MVC MOVE MESSAGE TO OUTPUT AREA 21999000 B PASTMVC2 GO AROUND MVC @VS49571 22008000 SPACE 2 22017000 *********************************************************************** 22026000 * * 22035000 * THE FOLLOWING INSTRUCTION IS THE SUBJECT OF AN EXECUTE * 22044000 * INSTRUCTION IN THE WRITEMSG CODE ABOVE. IT IS USED TO * 22053000 * MOVE LEADING AND TRAILING DEVICE CONTROL STRINGS, AS WELL * 22062000 * AS THE MESSAGE TO THE OUTPUT AREA. * 22080000 * * 22089000 *********************************************************************** 22098000 SPACE 2 22107000 MVC MVC D0(D0,R3),D0(R6) *** EXECUTED *** 22116000 SPACE 2 22125000 PASTMVC2 EQU * @VS49571 22134000 LA R3,D1(R3,R1) POINT TO NEXT OUTPUT POSITION 22143000 EJECT 22152000 *********************************************************************** 22170000 * * 22179000 * MOVE TRAILING DEVICE CONTROL CHARACTER STRING TO OUTPUT AREA * 22188000 * * 22197000 *********************************************************************** 22206000 SPACE 2 22215000 IC R4,LENGCC GET LENGTHS OF LEADING @DA04534 22224000 * AND TRAILING CONTROL @DA04534 22233000 * STRINGS @DA04534 22242000 LA R6,TRAILMSK MASK FOR TRAILING STRING LENGTH 22260000 NR R4,R6 TRAILING STRING ONLY REQUIRED 22269000 BZ POINTIO BRANCH IF ZERO @VS49571 22278000 SPACE 2 @VS49571 22279000 IC R6,TRAILCC OFFSET OF TRAILING CC @VS49571 22280000 * STRING @VS49571 22281000 LA R6,CHTAB(R6) POINT TO STRING REQUIRED@VS49571 22282000 BCTR R4,0 REDUCE FOR EXECUTED MVC @VS49571 22283000 EX R4,MVC MOVE STRING TO OUTPUT AR@VS49571 22284000 LA R3,D1(R3,R4) POINT TO NEXT OUTPUT POS@VS49571 22285000 SPACE 2 @VS49571 22286000 POINTIO EQU * @VS49571 22287000 SPACE 2 @VS49571 22288000 LA R2,IOAREA POINT AT START OF COMPLETE MSG 22377000 SR R3,R2 LENGTH OF MESSAGE 22386000 SPACE 2 22395000 WRITE EQU * 22404000 SPACE 2 22413000 TM MSGINDEX,RESETIND RESET BEFORE MSG? @VS49571 22422000 BNO WRITEGO NO, GO WRITE @VS49571 22423000 SPACE 4 @VS49571 22424000 DORESET3 EQU * @VS49571 22425000 ST R3,WRITELEN SAVE MSG LENGTH @ZA13651 22425500 BAL R9,RESETSUB ADDR OF RESET EXIT RTN @VS49571 22426000 * AND DO RESET @VS49571 22427000 SPACE 1 @VS49571 22428000 NI MSGINDEX,X'FF'-RESETIND TURN OFF POSSIBLE RESET @VS49571 22429000 * INDICATOR @XL03HAJ 22503000 L R3,WRITELEN RESTORE R3 OVER RESET @ZA13651 22506000 * EXIT. @ZA13651 22508000 EJECT @VS49571 22512000 WRITEGO EQU * @VS49571 22513000 TM DFLAGS,IODEV IS DEVICE 'GENNED FOR @VS49571 22514000 * OUTPUT? @DA04534 22521200 BNO OKWRITE NO. SKIP THE WRITE. @VS49571 22521300 * ONLY NEEDED TO FLUSH @DA04534 22521700 * OUT BUFFERS FOR NEXT @DA04534 22521800 * SOLICIT/READ. @DA04534 22521900 CLI TABINDEX,T3275 ALL DATA FROM GENERAL @VS49571 22522000 BE ERASWRIT POLL DEVICES IS UN- @VS49571 22523000 CLI TABINDEX,T3277 SOLICITED. CHECK FOR @VS49571 22524000 BE ERASWRIT 3275 OR 3277 IN @VS49571 22525000 * USERWORD. THERE IS NO @VS49571 22526000 * NEED TO RESET DEVICE @VS49571 22527000 TM RDATAFLG,RPLUINPT UNSOLICITED DATA? @VS49571 22528000 BZ SOLCDATA NO. DATA WAS SOLICITED. @XM02032 22623000 * PROCEED WITH WRITE @XM02032 22632000 TM FLAGS,ONERESET YES. HAS AT LEAST ONE @XM02032 22650000 * RESET, WHICH KILLED AN @XM02032 22659000 * OUTSTANDING SOLICIT, @XM02032 22668000 * BEEN ISSUED? @XM02032 22677000 BZ DORESET3 NO. ISSUE RESET TO KILL @VS49571 22686000 * AN OUTSTANDING SOLICIT @XM02032 22695000 * OR WRITE WILL HANG @XM02032 22704000 * YES. NO OUTSTANDING I/O @XM02032 22713000 * SO PROCEED WITH WRITE @XM02032 22722000 SOLCDATA EQU * @XM02032 22740000 OI MACFLAG2,WRITLBT TELL ERREXIT OF WRITE @XL03HAJ 22749000 OI MFLAGS,WRITING TELL ERREXIT OF WRITE @XL03HAJ 22758000 SPACE 2 @XL03HAJ 22767000 * WRITE RPL=(PTRRPL), WRITE ERROR MESSAGE @VS49571 22776000 * OPTCD=(ASY,LBT), @VS49571 22777000 * AREA=IOAREA, @VS49571 22778000 * RECLEN=(R3), @VS49571 22779000 * EXIT=WRITEND @VS49571 22780000 WRITE RPL=(PTRRPL), @VS49571*22781000 OPTCD=(ASY,LBT), @VS49571*22782000 AREA=IOAREA, @VS49571*22783000 RECLEN=(R3), @VS49571*22784000 EXIT=WRITEND @VS49571 22785000 SPACE 2 @XL03HAJ 22875000 NI MFLAGS,X'FF'-WRITING RESET INDICATOR @XL03HAJ 22884000 EJECT @VS49571 22893000 SPACE 2 @VS49571 22894000 *** @VS49571 22895000 * @VS49571 22896000 * ERROR ACTIONS FOR WRITE @VS49571 22897000 * @VS49571 22898000 * ACTION @VS49571 22899000 * RTNCD FDBK2 CODE(S) @VS49571 22900000 * CODE CODE MEANING RETURNED @VS49571 22901000 * (R15 R0) @VS49571 22902000 * @VS49571 22903000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 22904000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 22905000 * @VS49571 22906000 *** @VS49571 22907000 SPACE 2 @VS49571 22908000 CH R15,HEX10 VTAM BUFFERS FULL? @VS49571 22909000 * (ONLY POSSIBLE ERROR) @VS49571 22910000 BE SOLCDATA YES. REISSUE @VS49571 22911000 LTR R15,R15 WRITE ACCEPTED? @VS49571 22912000 BNZ SNOCCUR NO. IMPOSSIBLE @VS49571 22913000 LTR R0,R0 ACCEPTED? (2ND CHK)? @VS49571 22914000 BNZ SNOCCUR NO. ERROR @XL03HAJ 23118000 * @XL03HAJ 23127000 * * * * * * * * END OF WRITE ERROR HANDLING* * * * * * * * * * @XL03HAJ 23136000 * @XL03HAJ 23145000 SPACE 8 @XL03HAJ 23154000 B RETURN RETURN TO VTAM @VS49571 23163000 EJECT @VS49571 23164000 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @ZA13651 23164100 * @ZA13651 23164200 * ERASE WRITE FOR 3275 AND 3277 @ZA13651 23164300 * @ZA13651 23164400 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @ZA13651 23164500 ERASWRIT EQU * @ZA13651 23164600 OI MACFLAG2,WRITLBT TELL ERREXIT OF WRITE @ZA13651 23164700 OI MFLAGS,WRITING TELL ERREXIT OF WRITE @ZA13651 23164800 SPACE 2 @ZA13651 23164900 * WRITE RPL=(PTRRPL), WRITE ERROR OR LOGON @ZA13651 23165000 * OPTCD=(LBT,ERASE), MESSAGE. @ZA13651 23165100 * AREA=IOAREA, @ZA13651 23165200 * RECLEN=(R3), @ZA13651 23165300 * EXIT=WRITEND @ZA13651 23165400 WRITE RPL=(PTRRPL), @ZA13651*23165500 OPTCD=(LBT,ERASE), @ZA13651*23165600 AREA=IOAREA, @ZA13651*23165700 RECLEN=(R3), @ZA13651*23165800 EXIT=WRITEND @ZA13651 23165900 SPACE 2 @ZA13651 23166000 NI MFLAGS,X'FF'-WRITING RESET INDICATOR @ZA13651 23166100 TM FLAGS2,SYNCHIO IS THIS SYNCH WRITE @ZA13651 23166200 * FROM LOGON EXIT? @ZA13651 23166300 BO WRITCHEK YES. SKIP CHECK @ZA13651 23166400 EJECT @ZA13651 23166500 SPACE 2 @ZA13651 23166600 *** @ZA13651 23166700 * @ZA13651 23166800 * ERROR ACTIONS FOR ERASE WRITE @ZA13651 23166900 * @ZA13651 23167000 * ACTION @ZA13651 23167100 * RTNCD FDBK2 CODE(S) @ZA13651 23167200 * CODE CODE MEANING RETURNED @ZA13651 23167300 * (R15 R0) @ZA13651 23167400 * @ZA13651 23167500 * 00 00 SUCCESSFUL COMPLETION 00 00 @ZA13651 23167600 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @ZA13651 23167700 * @ZA13651 23167800 *** @ZA13651 23167900 SPACE 2 @ZA13651 23168000 CH R15,HEX10 VTAM BUFFERS FULL? @ZA13651 23168100 * (ONLY POSSIBLE ERROR) @ZA13651 23168200 BE ERASWRIT YES. REISSUE @ZA13651 23168300 LTR R15,R15 WRITE ACCEPTED? @ZA13651 23168400 BNZ SNOCCUR NO. IMPOSSIBLE @ZA13651 23168500 LTR R0,R0 ACCEPTED? (2ND CHK)? @ZA13651 23168600 BNZ SNOCCUR NO. ERROR @ZA13651 23168700 * @ZA13651 23168800 * * * * * * * * END OF ERASE WRITE ERROR HANDLING * * * * * * @ZA13651 23168900 * @ZA13651 23169000 SPACE 8 @ZA13651 23169100 B RETURN RETURN TO VTAM @ZA13651 23169200 EJECT @ZA13651 23169300 ************************************************************** @VS49571 23172100 * @VS49571 23172200 * WRITEND IS ENTERED WHEN THE EXIT HAS BEEN SCHEDULED @VS49571 23172300 * FOR THE WRITE DONE ABOVE. @VS49571 23172400 * @VS49571 23172500 * REGISTER 1 POINTS TO THE ASYNCH RPL BEING USED @VS49571 23173600 * REGISTER 15 POINTS TO WRITEND AND IS USED FOR @VS49571 23173700 * ADDRESSABILITY @VS49571 23173800 * @VS49571 23173900 ************************************************************** @VS49571 23174000 WRITEND EQU * @VS49571 23175000 * XXXXXXXXXX @VS49571 23176000 DROP R10 @VS49571 23177000 DROP R11 BASE REGS NOT SET UP @VS49571 23178000 DROP R12 YET @VS49571 23179000 USING *,R15 ESTABLISH INITIAL ADDRES@VS49571 23180000 * XXXXXXXXXX @VS49571 23181000 L R12,STARTADD R12 IS BASE REGISTER @VS49571 23182000 * XXXXXXXXXX @VS49571 23183000 DROP R15 @VS49571 23184000 USING START,R12,R11,R10 ALL BASE REGS SET @VS49571 23185000 * XXXXXXXXXX @VS49571 23186000 * @VS49571 23187000 L R11,BASE2 LOAD 2ND BASE REGISTER @VS49571 23188000 L R10,BASE3 LOAD 3RD BASE REGISTER @VS49571 23189000 ST R14,RETVTAM@ SAVE EXIT RETURN ADDRESS@VS49571 23190000 LA R13,GENSAVE POINT TO SAVE-AREA @VS49571 23191000 SPACE 2 @VS49571 23192000 TM UFLAGS,SHUTDOWN SHUTDOWN IN PROGRESS? @VS49571 23193000 BO RETURN YES. NO MORE ACTION @VS49571 23194000 SPACE 2 @VS49571 23195000 LR PTRRPL,R1 POINT TO THE INPUT RPL @VS49571 23196000 L R3,WRITELEN RESTORE R3 IN CASE @ZA19918 23196300 * REISSUE WRITE @ZA19918 23196600 SPACE 2 @VS49571 23197000 OI MFLAGS,WRITING TELL ERREXIT THAT ERROR @VS49571 23199000 * ARE FOR WRITE @VS49571 23200000 * CHECK RPL=(PTRRPL) CHECK FOR ERROR, ERREXIT@VS49571 23201000 * IS ENTERED IF ERRORS HAVE 23554000 * OCCURRED 23563000 CHECK RPL=(PTRRPL) @VS49571 23572000 NI MFLAGS,X'FF'-WRITING RESET READ INDICATOR @VS49571 23573000 EJECT @XL03HAJ 23599000 SPACE 2 @XL03HAJ 23608000 *** @XL03HAJ 23617000 * @XL03HAJ 23626000 * ERROR ACTIONS FOR WRITE @XL03HAJ 23635000 * @XL03HAJ 23644000 * ACTION @VS49571 23653000 * RTNCD FDBK2 CODE(S) @VS49571 23654000 * CODE CODE MEANING RETURNED @VS49571 23655000 * (R15 R0) @VS49571 23656000 * @XL03HAJ 23698000 * 00 00 SUCCESSFUL COMPLETION 00 00 @XL03HAJ 23707000 * 04 00 RVI RECEIVED 10 04 @XL03HAJ 23716000 * 04 01 REVERSE BREAK RECEIVED 10 04 @XL03HAJ 23725000 * 04 02 BISYNCH STATUS MSG RECEIVED 08 00 @DA04534 23734000 * OR 10 00 @DA04534 23743000 * OR 1C 00 @DA04534 23752000 * OR 20 00 @Z40GKD3 23770000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @XL03HAJ 23779000 * 0C 00 I/O ERROR. DEVICE STILL USABLE 08 00 @DA04534 23788000 * OR 10 04 @DA04534 23797000 * OR 10 08 @DA04534 23806000 * OR 1C 00 @DA04534 23815000 * OR 20 00 @Z40GKD3 23824000 * 0C 01 I/O ERROR. DEVICE NOT USABLE 08 -- @XL03HAJ 23833000 * 0C 02 REQUEST CANCELED BY TEST REQUEST MSG 08 00 @VS49571 23842000 * 0C 03 VTAM BUFFERS CLEARED 20 -- @ZA19873 23851000 * 0C 04 VTAM BUFFERS FULL 20 -- @Z40GKD3 23860000 * 0C 05 NCP ABEND. RESTART SUCCESSFUL 10 08 @VS49571 23869000 * 0C 06 NCP ABEND. LAST PURGE 10 08 @XL03HAJ 23878000 * 0C 0A REQUEST CANCELLED BY RESET 00 00 @VS49571 23887000 * 0C 0B REQUEST CANCELLED BY CLSDST 14 00 @VS49571 23888000 * 0C 0E YIELDED TO CONTENSION 10 08 @VS49571 23889000 * 0C 0F YIELDED TO CONTENSION(ERROR LOCK SET)10 08 @VS49571 23890000 * 10 04 VTAM AND NCP INCOMPATABLE 20 00 @Z40GKD3 23923000 * 10 05 PERMENENT PATH FAILURE 08 00 @XL03HAJ 23932000 * 10 06 AUTO NETWORK SHUTDOWN 08 00 @XL03HAJ 23950000 * 10 07 VARY DEACTIVATE IMMEDIATE 08 00 @XL03HAJ 23959000 * 10 08 DIAL-LINE DISCONNECTION 10 00 @VS49571 23968000 * OR 14 00 @VS49571 23969000 * 10 0B DIAL-OUT DISCONNECT 08 00 @XL03HAJ 23986000 * 10 0C DIAL-IN DISCONNECT 08 00 @XL03HAJ 23995000 * 10 0E ABEND IN VTAM SNOCCUR @XL03HAJ 24004000 * 14 12 CLSDST IN PROGRESS 14 00 @VS49571 24013000 * 14 13 CID INVALID 14 00 @XL03HAJ 24022000 * 14 32 REQUEST INVALID FOR SPECIFIED DEVICE 18 08 @VS49571 24040000 * 14 5D OPNDST INVALID (TERM NOT CONNECTED) 14 00 @VS49571 24041000 * @XL03HAJ 24058000 *** @XL03HAJ 24067000 SPACE 2 @XL03HAJ 24076000 WRITCHEK EQU * @ZA13651 24079000 OI EXITFLAG,WRITEX INDICATE WRITE EXIT @VS49571 24082000 CH R15,HEX20 HIGHEST VALID ACTION @Z40GKD3 24085000 BH SNOCCUR CODE IS X'20' @Z40GKD3 24094000 SPACE 2 @XL03HAJ 24103000 B ERRTABB(R15) CHECK VALID ACTION @XL03HAJ 24112000 ERRTABB B R0CHKB 0 CHECK IF WRITE WENT @XL03HAJ 24130000 BAL R7,SNOCCUR 4 @VS49571 24139000 B RELEASE 8 CONNECTION TO DEVICE @XL03HAJ 24148000 * IS KAPUT: MAKE IT @XL03HAJ 24157000 * OFFICIAL @XL03HAJ 24166000 BAL R7,SNOCCUR C ALREADY WRITING, CAN'T @VS49571 24175000 * GET ONE OF THE MSG @XL03HAJ 24184000 * ERROR CONDITIONS @XL03HAJ 24193000 B RSETESTB 10 CHECK RESET OR REISSUE @XL03HAJ 24202000 B FREERPL 14 DEVICE GONE @VS49571 24220000 B CATCHA2 18 @DA04534 24229000 B RESETSOL 1C RESET THEN SOLICIT @DA04534 24238000 B PROBDEV 20 I/O PROBLEM WITH DEVICE @Z40GKD3 24247000 SPACE 4 @XL03HAJ 24256000 RSETESTB EQU * @XL03HAJ 24265000 LR R4,R0 SET UP FOR BR INDEX @XL03HAJ 24274000 B RSETABB(R4) HANDLE RESET AND/OR @XL03HAJ 24283000 * REISSUE @XL03HAJ 24292000 RSETABB B WRITE 0 REISSUE ONLY @XL03HAJ 24310000 B DORESET4 4 RESET BECAUSE RVI @XL03HAJ 24319000 * RECEIVED OR BECAUSE OF @DA04534 24328000 * A BISYNCH STATUS ERR @DA04534 24337000 * ON 0C/00 IO ERROR. IF @DA04534 24346000 * ON RVI, THE WRITE @DA04534 24355000 * COMPLETED OK. @XL03HAJ 24364000 * THIS CAN ALSO HAPPEN @DA04534 24373000 * THE SECOND TIME FOR A @DA04534 24382000 * 0C/00 IO ERR ATTEMPT- @DA04534 24400000 * ING TO ISSUE A WRITE @DA04534 24409000 B DORESET3 8 RESET AND REISSUE @XL03HAJ 24418000 SPACE 2 @XL03HAJ 24427000 CATCHA2 EQU * @VS49571 24436000 CH R0,HEX8 ONLY VALID CODE IS X'08' @VS49571 24437000 BNE SNOCCUR ^8 SHOULD NOT OCCUR @VS49571 24438000 B OKWRITE 8 READ ONLY DEVICE. IGNORE WRITE 24472000 SPACE 2 @VS49571 24490000 R0CHKB EQU * @XL03HAJ 24499000 CH R0,HEX3 YIELDED TO CONTENTION? @XL03HAJ 24508000 BE DORESET3 3 4 YES. IGNORE USER WISHES @VS49571 24517000 CH R0,HEX4 RESET AND REISSUE @XL03HAJ 24526000 BE DORESET3 THE WRITE. IF BUFFERS @VS49571 24535000 * ARE FULL FROM INPUT @XL03HAJ 24544000 * DATA, WRITE WILL FAIL @XL03HAJ 24553000 * WITH 0C/04 AND CAUSE @XL03HAJ 24562000 * BUFFERS TO BE PURGED @XL03HAJ 24580000 * BEFORE REISSUEING @XL03HAJ 24589000 * ANOTHER WRITE. IF @XL03HAJ 24598000 * BUFFERS AREN'T FULL, @XL03HAJ 24607000 * THE DATA WILL EVENTUAL-@XL03HAJ 24616000 * LY SATISFY A READ(ANY).@XL03HAJ 24625000 LTR R0,R0 SUCCESSFUL COMPLETION? @XL03HAJ 24634000 BNZ SNOCCUR NO. ERROR @XL03HAJ 24643000 B OKWRITE YES. PROBABLY RESOLICIT @XL03HAJ 24652000 SPACE 2 @XL03HAJ 24670000 *** @XL03HAJ 24679000 * @XL03HAJ 24688000 * RESET THE TERMINAL (USED ONLY AFTER AN RVI RECEIVED OR @DA04534 24697000 * BISYNCH STATUS MSG ON I/O ERROR 0C/00) @DA04534 24706000 * @XL03HAJ 24715000 *** @XL03HAJ 24724000 SPACE 2 @XL03HAJ 24733000 DORESET4 EQU * @VS49571 24742000 BAL R9,RESETSUB ADDR OF RESET EXIT RTN @VS49571 24743000 * AND DO RESET @VS49571 24744000 SPACE 2 @VS49571 24745000 * #XL03HAJ 24787000 * * * * * * * * END OF WRITE ERROR HANDLING * * * * * * * * * @XL03HAJ 24796000 * @XL03HAJ 24805000 OKWRITE EQU * @XL03HAJ 24830000 NI FLAGS,X'FF'-LOOPONCE WRITE WENT. TURN OFF @XL03HAJ 24836000 * RETRYING INDICATOR @XL03HAJ 24849000 TM FLAGS2,LOGWRITE IS THIS ERASE WRITE FROM@ZA13651 24852000 BO CONTLOGN LOGON EXT? GO FREE RPL @ZA13651 24853000 * AND PUT OUT READ @ZA13651 24854000 SPACE 2 @XL03HAJ 24858000 SPACE 2 @XL03HAJ 24867000 AIF ('&SYSTEM' NE 'DOS').NDOS5 @D31JKAX 24876000 CLI MSGINDEX,MSG03 WAS THERE AN INTRPRET TABLE? 24885000 BE RELEASE NO. NETSOL CAN NEVER PASS 24894000 * THE DEVICE TO AN APPLICATION, 24903000 * SO FREE IT NOW FOR A LATER 24912000 * ACQUIRE BY AN APPLICATION. 24921000 .NDOS5 AIF ('&SYSTEM' NE 'VS1').NVS15 @D31JKAX 24940000 .* CAN RE-SOLICIT THE DEVICE EVEN THOUGH THERE IS NO INTRPRET 24946000 .* TABLE BECAUSE THE STANDARD LOGON SEQUENCE CAN BE USED. @VS49571 24959000 .NVS15 AIF ('&SYSTEM' NE 'VS2').NVS25 @D31JKAX 24968000 .* CAN RE-SOLICIT THE DEVICE EVEN THOUGH THERE IS NO INTRPRET 24977000 .* TABLE BECAUSE THE STANDARD LOGON SEQUENCE CAN BE USED. @D31JKAJ 24986000 .NVS25 ANOP @D31JKAX 24995000 SPACE 2 25004000 B RESOLCIT RE-SOLICIT FOR LOGON SEQ@VS49571 25013000 * @VS49571 25014000 * @VS49571 25015000 EJECT @VS49571 25016000 BASE1 DC A(START) ADDR OF FIRST BASE REG @VS49571 25017000 AIF ('&AACQ' EQ 'NO').NORLRQ FOLLOWING EXIT NOT REQUIRED, AS 25049000 .* ACQUIRE PARAMETER ON NETSOL 25058000 .* MACRO IS 'NO'. 25067000 .* 25076000 TITLE 'RELREQ - TERMINAL OWNED BY NETSOL NEEDED ''ELSEWHERE''' 25085000 SPACE 2 25094000 *********************************************************************** 25103000 * * 25112000 * THIS EXIT ROUTINE IS SCHEDULED WHEN AN APPLICATION ISSUES * 25130000 * OPNDST (ACQUIRE) FOR A TERMINAL CURRENTLY OWNED BY NETSOL. * 25139000 * @VS49571 25148000 * ON ENTRY: @VS49571 25149000 * @VS49571 25150000 * REGISTER 1 POINTS AT A PARAMETER LIST CONTAINING THE @VS49571 25151000 * FOLLOWING; @VS49571 25152000 * WORD 0 - ACB ADDRESS. @VS49571 25153000 * WORD 1 - ADDRESS OF SYMBOLIC NAME OF TERMINAL @VS49571 25154000 * @VS49571 25155000 * REGISTER 14 CONTAINS RETURN ADDRESS @VS49571 25156000 * @VS49571 25157000 * REGISTER 15 CONTAINS ENTRY ADDRESS @VS49571 25158000 * @VS49571 25159000 ***************************************************************@VS49571 25160000 SPACE 2 @VS49571 25161000 RELREQ EQU * @VS49571 25162000 SPACE 2 @VS49571 25163000 * @VS49571 25164000 * XXXXXXXXXX @VS49571 25165000 DROP R10 @VS49571 25166000 DROP R11 BASE REGS NOT SET UP @VS49571 25167000 DROP R12 YET @VS49571 25168000 USING *,R15 ESTABLISH INITIAL ADDRES@VS49571 25169000 * XXXXXXXXXX @VS49571 25170000 * @VS49571 25171000 L R12,STARTADD R12 IS BASE REGISTER @VS49571 25172000 * @VS49571 25173000 * XXXXXXXXXX @VS49571 25174000 DROP R15 @VS49571 25175000 USING START,R12,R11,R10 ALL BASE REGS SET @VS49571 25176000 * XXXXXXXXXX @VS49571 25177000 * @VS49571 25178000 L R11,BASE2 LOAD 2ND BASE REGISTER @VS49571 25179000 L R10,BASE3 LOAD 3RD BASE REGISTER @VS49571 25180000 ST R14,RETVTAM@ SAVE EXIT RETURN ADDRESS@VS49571 25181000 LA R13,GENSAVE POINT TO SAVE-AREA @VS49571 25182000 SPACE 2 @VS49571 25183000 TM UFLAGS,SHUTDOWN SHUTDOWN IN PROGRESS? @VS49571 25184000 BO RETURN YES. NO MORE ACTION @VS49571 25185000 SPACE 2 @VS49571 25186000 LA R15,EIGHT INDICATE RELREQ EXIT @VS49571 25187000 BAL R14,GETRPL GET AN RPL @VS49571 25188000 SPACE 2 @VS49571 25189000 OI EXITFLAG,RELREQEX INDICATE IN RELREQ EXIT @VS49571 25190000 SPACE 2 @VS49571 25191000 LA PTRNIB,SYNCHNIB @VS49571 25192000 L R3,D4(R1) POINT TO NIB @VS49571 25193000 MVC NIBSYM(8),D0(R3) PLACE SYMBOLIC TERMINAL@VS49571 25194000 * NAME IN NIB. @VS49571 25195000 MVC NAMEDEV,D0(R3) SAVE NAME FOR RELEASE @VS49571 25196000 EJECT @VS49571 25197000 ************************************************************** @VS49571 25198000 * @VS49571 25199000 * FIND THE CID OF THE TERMINAL @VS49571 25200000 * @VS49571 25201000 ************************************************************** @VS49571 25202000 SPACE 1 @VS49571 25203000 INQUIREC EQU * @VS49571 25204000 SPACE 1 @VS49571 25205000 OI MACFLAGS,INQCIDX INDICATE DOING INQUIRE @VS49571 25206000 OI MFLAGS2,INQUIRE INDICATE DOING INQUIRE @VS49571 25207000 SPACE 1 @VS49571 25208000 * INQUIRE RPL=SYNCHRPL, FIND CID FOR SYMBOLIC @VS49571 25209000 * OPTCD=CIDXLATE, NAME. CID IS IN THE @VS49571 25210000 * NIB=SYNCHNIB, ASYNCH RPL @VS49571 25211000 * AREA=CID, @VS49571 25212000 * AREALEN=FOUR @VS49571 25213000 SPACE 1 @VS49571 25214000 INQUIRE RPL=SYNCHRPL, @VS49571*25215000 OPTCD=CIDXLATE, @VS49571*25216000 NIB=SYNCHNIB, @VS49571*25217000 AREA=CID, @VS49571*25218000 AREALEN=FOUR @VS49571 25219000 SPACE 2 @VS49571 25220000 NI MFLAGS2,FF-INQUIRE INQUIRE IS DONE @VS49571 25221000 NI SRPLEXT1,FF-RPLNIB NIB NO LONGER NEEDED @VS49571 25222000 EJECT @VS49571 25223000 *** @VS49571 25224000 * @VS49571 25225000 * ERROR ACTIONS FOR INQUIRE(CIDXLATE) @VS49571 25226000 * @VS49571 25227000 * ACTION @VS49571 25228000 * RTNCD FDBK2 CODE(S) @VS49571 25229000 * CODE CODE MEANING RETURNED @VS49571 25230000 * (R15 R0) @VS49571 25231000 * @VS49571 25232000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 25233000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 25234000 * 10 0A APPARENT VTAM ERROR 20 00 @ZA32289 25235000 * 10 0E ABEND IN VTAM SNOCCUR @VS49571 25236000 * 14 13 CID INVALID 14 00 @VS49571 25237000 * @VS49571 25238000 *** @VS49571 25239000 SPACE 2 @VS49571 25240000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @ZA32289 25241000 BH SNOCCUR CODE IS X'20' @ZA32289 25241600 B ERRTABZ(R15) CHECK VALID ACTIONS @VS49571 25243000 ERRTABZ B R0CHKZ 0 PROBABLY WORKED OK @VS49571 25244000 BAL R7,SNOCCUR 4 @VS49571 25245000 BAL R7,SNOCCUR 8 @VS49571 25245700 BAL R7,SNOCCUR C CAN'T GET ERROR THAT @VS49571 25246400 * CAUSES ERR MESSAGE @VS49571 25248000 B INQUIREC 10 REISSUE. NO NEED TO @XL03HAJ 26144000 * CHECK FOR RESET @XL03HAJ 26153000 BAL R7,SNOCCUR 14 SHOULD NOT OCCUR @ZA32168 26157000 BAL R7,SNOCCUR 18 @ZA32289 26158000 BAL R7,SNOCCUR 1C @ZA32289 26159000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 26160000 SPACE 2 @XL03HAJ 26162000 R0CHKZ EQU * @XL03HAJ 26180000 LTR R0,R0 ANY ERROR? @VS49571 26189000 BZ CONTRELQ NO, CONTINUE PROCESS @VS49571 26190000 CH R0,HEX7 INFO NOT AVAILABLE @VS49571 26191000 BE FREERPL YES, FREERPL AND EXIT @VS49571 26192000 BAL R7,SNOCCUR OTHER ERROR, IMPOSSIBLE @VS49571 26193000 * @VS49571 26194000 CONTRELQ EQU * CONTINUE PROCESSING @VS49571 26195000 * @XL03HAJ 26252000 * * * * * * * * END OF INQUIRE ERROR HANDLING * * * * * * * * @XL03HAJ 26270000 * @XL03HAJ 26279000 EJECT @VS49571 26288000 ************************************************************** @VS49571 26289000 * @VS49571 26290000 * SEARCH ALL RPLS FOR A MATCHING CID.IF ONE IS FOUND, @VS49571 26291000 * IGNORE RELREQ REQUEST AS THE TERMINAL IS ISSUING @VS49571 26292000 * A LOGON (READEND REQUEST) AND IT HAS FIRST CALL. @VS49571 26293000 * @VS49571 26294000 ************************************************************** @VS49571 26295000 LA R2,NUMRPLS GET NUMBER OF RPLS @VS49571 26296000 L R3,ARPL0 GET THE ADDR. OF THE @VS49571 26297000 * FIRST RPL IN THE TABLE @VS49571 26298000 CIDCOMP EQU * @VS49571 26299000 CLC CID(FOUR),CIDLOC(R3) IS THIS OUR CID @VS49571 26300000 BNE CIDINCRE NO, GET NEXT RPL @VS49571 26301000 SPACE 2 @VS49571 26302000 ************************************************************* @VS49571 26303000 * @VS49571 26304000 * WE HAVE FOUND AN EQUAL CID. IS THIS RPL THE RPL @VS49571 26305000 * THAT WE JUST GOT AT THE BEGINNING OF RELREQ? @VS49571 26306000 * IF SO, CONTINUE THE SCAN. IF NOT, RELEASE THE RPL @VS49571 26307000 * JUST GOTTEN AND RETURN TO VTAM. @VS49571 26308000 * @VS49571 26309000 * RELREQ IS CANCELED DUE TO TH: FACT THAT THE TERMINAL @VS49571 26310000 * IS ALREADY ISSUEING A LOGON REQUEST. @VS49571 26311000 * @VS49571 26312000 ************************************************************** @VS49571 26313000 SPACE 1 @VS49571 26314000 CR PTRRPL,R3 IS THIS THE NEW RPL JUST@VS49571 26315000 * PASSED TO RELREQ EXIT @VS49571 26316000 BNE FREERPL NO, ANOTHER EXIT IS @VS49571 26317000 * USING THE DEVICE. SKIP @VS49571 26318000 * THE RELREQ. @VS49571 26319000 * @VS49571 26320000 * YES, CONTINUE THE SCAN @VS49571 26321000 * @VS49571 26322000 CIDINCRE EQU * @VS49571 26323000 A R3,LNGTHRPL INCREMENT RPLPTR @VS49571 26324000 BCT R2,CIDCOMP DO LOOKUP @VS49571 26325000 ***************************************************************@VS49571 26326000 * @VS49571 26327000 * CID WAS NOT FOUND THEREFORE THE RELREQ IS VALID @VS49571 26328000 * @VS49571 26329000 * NOW RELEASE THE TERMINAL. THE REQUESTING APPLICATION CAN @VS49571 26330000 * LOGON TO IT. @VS49571 26331000 * @VS49571 26332000 ***************************************************************@VS49571 26333000 * SET INDICATOR TO @VS49571 26334000 OI FLAGS,RELOPND RELEASE THE DEVICE AND @VS49571 26335000 * TRY TO REOPEN IT @VS49571 26336000 MVC RPLARG(FOUR),CID GET CID INTO ASYNCH RPL @VS49571 26337000 B RELEASE GO DO THE RELEASE @VS49571 26338000 .NORLRQ ANOP 26788000 TITLE 'LOSTERM - TERMINAL LOST FROM NETWORK SOLICITOR' 26797000 SPACE 2 26806000 *********************************************************************** 26815000 * * 26824000 * THIS EXIT ROUTINE IS SCHEDULED WHEN A TERMINAL CURRENTLY LOGGED * 26833000 * ON TO NETSOL IS LOST BY: @VS49571 26842000 * @VS49571 26843000 * * A DIAL LINE DISCONNECT @VS49571 26844000 * @VS49571 26845000 * * TEST REQUEST @VS49571 26846000 * @VS49571 26847000 * * OPERATOR ISSUED A VARY COMMAND @VS49571 26848000 * @VS49571 26849000 * ON ENTRY: @VS49571 26850000 * @VS49571 26851000 * REGISTER 1 POINTS AT A PARAMETER LIST CONTAINING THE @VS49571 26852000 * FOLLOWING; @VS49571 26853000 * WORD 0 - ACB ADDRESS. @VS49571 26854000 * WORD 1 - CID OF LOST TERMINAL @VS49571 26855000 * WORD 2 - USER FIELD FROM NIB @VS49571 26856000 * WORD 3 - REASON CODE, AS FOLLOWS: @VS49571 26857000 * @VS49571 26858000 * 0 - DIAL-LINE DISCONNECT (DIAL-IN) @VS49571 26859000 * 4 - DIAL-LINE DISCONNECT (DIAL-OUT) @VS49571 26860000 * 8 - RESERVED @VS49571 26861000 * 12 - NETWORK OPERATOR ISSUED A VARY CO@VS49571 26862000 * 16 - (RECORD ONLY) @VS49571 26863000 * 20 - (RECORD ONLY) @VS49571 26864000 * 24 - (RECORD ONLY) @VS49571 26865000 * 28 - (RECORD ONLY) @VS49571 26866000 * 32 - (RECORD ONLY) @VS49571 26867000 * 36 - (RECORD ONLY) @VS49571 26868000 * 40 - TEST REQUEST SET @VS49571 26869000 * @VS49571 26870000 * REGISTER 14 CONTAINS RETURN ADDRESS @VS49571 26871000 * @VS49571 26872000 * REGISTER 15 CONTAINS ENTRY ADDRESS @VS49571 26873000 * @VS49571 26874000 ***************************************************************@VS49571 26875000 SPACE 2 @VS49571 26876000 LOSTERM EQU * @VS49571 26877000 SPACE 2 @VS49571 26878000 * @VS49571 26879000 * XXXXXXXXXX @VS49571 26880000 DROP R10 @VS49571 26881000 DROP R11 BASE REGS NOT SET UP @VS49571 26882000 DROP R12 YET @VS49571 26883000 USING *,R15 ESTABLISH INITIAL ADDRES@VS49571 26884000 * XXXXXXXXXX @VS49571 26885000 * @VS49571 26886000 L R12,STARTADD R12 IS BASE REGISTER @DM09991 27293000 * @ZM32689 27302000 * XXXXXXXXXX @ZM32689 27320000 DROP R15 27329000 USING START,R12,R11,R10 ALL BASE REGS SET @ZM32689 27338000 * XXXXXXXXXX @ZM32689 27347000 * @ZM32689 27356000 L R11,BASE2 LOAD 2ND BASE REGISTER @ZM32689 27365000 L R10,BASE3 LOAD 3RD BASE REGISTER @ZM32689 27374000 ST R14,RETVTAM@ SAVE EXIT RETURN ADDRESS 27383000 LA R13,GENSAVE POINT TO SAVE-AREA 27392000 SPACE 2 @XL03HAJ 27410000 TM UFLAGS,SHUTDOWN SHUTDOWN IN PROGRESS? @VS49571 27419000 BO RETURN YES. NO MORE ACTION @XL03HAJ 27428000 SPACE 2 @XL03HAJ 27437000 LA R15,FOUR INDICATE IN LOSTERM EXIT@VS49571 27446000 BAL R14,GETRPL GET AN RPL FOR WORK @VS49571 27447000 SPACE 2 @VS49571 27448000 OI EXITFLAG,LOSTEX INDICATE IN LOSTERM EXIT@VS49571 27449000 SPACE 2 @VS49571 27450000 MVC CID,D4(R1) SAVE CID IN RPL/WORKQREA@VS49571 27451000 SPACE 4 @VS49571 27452000 SR R3,R3 @VS49571 27453000 MVC USERWORD,D8(R1) SAVE THE USER INFO @VS49571 27454000 IC R3,TABINDEX GET THE INDEX TO TABDEV @VS49571 27455000 A R3,TABDEV@ POINT TO THE CORRECT @VS49571 27456000 * ENTRY IN TABDEV @VS49571 27457000 MVC TABLINFO,D0(R3) SAVE DEVICE CHARICTERISTICS 27572000 SPACE 4 @VS49571 27590000 L R3,D12(0,R1) LOAD THE REASON CODE @DM14112 27599000 CH R3,HEX28 IS IT TEST REQUEST SET? @DM14112 27608000 BNE RELEASE NO. JUST RELEASE DEVICE.@VS49571 27617000 OI FLAGS,RELOPND YES. RELEASE DEVICE AND @DM14112 27626000 B RELEASE RE-ACQUIRE IT. @DM14112 27635000 TITLE 'FREERPL - FREE RPL AND INDICATE IT IN TABLE' @VS49571 27644000 SPACE 2 @VS49571 27645000 *********************************************************************** 27662000 * * 27680000 * FREERPL IS ENTERED WHEN AN RPL/WORKAREA IS NOLONGER @VS49571 27689000 * NEEDED BY THE EXIT ROUTINES. ITS PRIMARY FUNCTION @VS49571 27690000 * IS TO MARK AS AVAILABLE FOR LATER USE THE RPL/WORKAREA@VS49571 27691000 * BEING FREED. ITS SECONDARY FUNCTION IS TO USE THE @VS49571 27692000 * RPL/WORKAREA BEING FREED TO RESTART A PENDING REQUEST.@VS49571 27693000 * (SUCH AS READ(ANY)). @VS49571 27694000 * @VS49571 27695000 * AT EXIT FROM FREERPL, CONTROL IS RETURNED TO VTAM. @VS49571 27696000 * @VS49571 27697000 * INPUT REGISTERS @VS49571 27698000 * R5 - POINTS TO RPL/WORKAREA TO BE FREED @VS49571 27699000 * R10-R12 - BASE REGISTERS @VS49571 27700000 * R13 - ADDRESS OF GENSAVE (REGISTER SAVE AREA) @VS49571 27701000 * R14 - R4 NO SPECIFIC INPUT REQUIRED @VS49571 27702000 * @VS49571 27703000 * * 27833000 *********************************************************************** 27842000 SPACE 2 27860000 FREERPL EQU * @VS49571 27869000 SPACE 2 @VS49571 27870000 MVC CID2(FOUR),CID SAVE THE CID FOR DEBUG @VS49571 27871000 XC CID(FOUR),CID WIPE OUT THE CID. THIS @VS49571 27872000 * IS DONE INCASE THE @VS49571 27873000 * 'RELREQ' EXIT NEEDS TO @VS49571 27874000 * SCAN THE CID'S @VS49571 27875000 C R5,ARPL0 IS THIS RPL=RPL0 @VS49571 27876000 BE RETURN YES, VALUE IN RNDXTABL @VS49571 27877000 * IS ALREADY ZERO. @VS49571 27878000 * THEREFORE, RETURN TO VTAM 27968000 SPACE 2 @VS49571 27977000 TM UFLAGS,NEEDREAD IS A READ PENDING @VS49571 27978000 BO ISSUERD YES, ISSUE THE READ @VS49571 27979000 SPACE 2 @VS49571 27980000 S R5,ARPL0 GET DISPLACEMENT INTO @VS49571 27981000 * RPL TABLE @VS49571 27982000 SR R4,R4 CLEAR OUT FOR DIVISION @VS49571 27983000 SPACE 2 @VS49571 27984000 D R4,LNGTHRPL GET INDEX INTO INDEX TAB@VS49571 27985000 * QUOTIENT IS IN R5 @VS49571 27986000 * REMAINDER IS IN R4 @VS49571 27987000 LTR R4,R4 REMAINDER MUST ALWAYS @VS49571 27988000 * BE ZERO @VS49571 27989000 BNZ SNOCCUR IF NOT, ABEND @VS49571 27990000 SPACE 2 @VS49571 27991000 STC R5,RNDXTABL(R5) RESET THE INDEX IN THE @VS49571 27992000 * TABLE TO INDICATE THIS @VS49571 27993000 * ENTRY IS AVAILABLE @VS49571 27994000 B RETURN NO. RETURN TO VTAM @ZA13651 27995000 EJECT @VS49571 27996000 ISSUERD EQU * @VS49571 27997000 SPACE 2 @VS49571 27998000 MVC IFGRPL(LNIFGRPL),FRESHRPL RESET THE RPL @VS49571 27999000 MVI WORKSPAC,ZERO WIPE OUT RPL WORKAREA @VS49571 28000000 MVC WORKSPAC+ONE(WORKRPLA),WORKSPAC @VS49571 28001000 MVC WORKSPAC+WORKRPLA(WRPLREST),WORKSPAC @VS49571 28002000 SPACE 2 @VS49571 28003000 BAL R14,READSUB ISSUE THE READ (ANY) @VS49571 28004000 NI UFLAGS,FF-NEEDREAD TURN OFF READ PENDING SW@VS49571 28005000 SPACE 4 @VS49571 28006000 * @VS49571 28007000 * NOW RETURN TO VTAM @VS49571 28008000 * @VS49571 28009000 SPACE 4 @XL03HAJ 28310000 RETURN EQU * @XL03HAJ 28319000 L R14,RETVTAM@ RESTORE EXIT RETURN ADDRESS 28328000 BR R14 RETURN 28337000 TITLE 'RESOLCIT - RESOLCIT/RESETSOL' @VS49571 28346000 SPACE 2 @VS49571 28347000 ***************************************************************@VS49571 28348000 * @VS49571 28349000 * SOLICIT THE TERMINAL FOR DATA. WHEN DATA IS RECEIVED @VS49571 28350000 * OUTSTANDING READ-ANY WILL BE SATISFIED AND THE READEND@VS49571 28351000 * EXIT WILL BE SCHEDULED. @VS49571 28352000 * @VS49571 28353000 * ENTRY MAY BE FROM: @VS49571 28354000 * @VS49571 28355000 * RELREQ REQUEST IF THE CLSDST(PASS) WAS NOT ACCEPTED @VS49571 28356000 * BY THE REQUESTING APPLICATION, AND IT WAS THEN @VS49571 28357000 * REAQUIRED BY NETSOL VIA OPNDST(ACQUIRE,SPEC). @VS49571 28358000 * @VS49571 28359000 * READEND REQUEST RIGHT AFTER THE CHECK. @VS49571 28360000 * @VS49571 28361000 * READEND REQUEST AFTER ERROR MESSAGE WAS WRITTEN. @VS49571 28362000 * @VS49571 28363000 * READEND FOR A BISYNCH STATUS ERROR MESSAGE AFTER @VS49571 28364000 * ISSUING A RESET AT 'RESETSOL'. @VS49571 28365000 * @VS49571 28366000 * IF THE SOLICIT IS REQUIRED FOR A READEND REQUEST, @VS49571 28367000 * IF ENTRY WAS FOR UNSOLICITED DATA, AND IF NO RESET @VS49571 28368000 * HAS BEEN ISSUED, THEN THE SOLICIT SHOULD NOT BE @VS49571 28369000 * ISSUED BECAUSE THE PREVIOUS SOLICIT FOR THIS TERMINAL @VS49571 28370000 * IS STILL OUTSTANDING. @VS49571 28371000 * @VS49571 28372000 * REGISTER 5 POINTS TO THE ASYNC RPL BEING USED. THIS @VS49571 28373000 * RPL CONTAINS THE CID OF THE DEVICE. @VS49571 28374000 * REGISTERS 10-12 ARE THE BASE REGISTERS FOR THE PROGRAM@VS49571 28375000 *- @VS49571 28376000 * NORMAL EXIT IS TO FREERPL TO RELEASE THE ASYNCH RPL @VS49571 28377000 * AND RETURN TO VTAM. ABNORMAL EXIT IS TO SNOCCUR OR @VS49571 28378000 * PROBDEV OR RETURN. @VS49571 28379000 * @VS49571 28380000 ***************************************************************@VS49571 28381000 SPACE 1 @VS49571 28382000 ***************************************************************@VS49571 28383000 * @VS49571 28384000 * FOR CERTAIN BISYNCH STATUS ERROR MESSAGES, A RESET(UNCOND), @VS49571 28385000 * THEN A SOLICIT/READ MUST BE DONE. @VS49571 28386000 * DEVICES FOR WHICH THIS @VS49571 28387000 * CAN HAPPEN ARE 3277, 3275, 3741, AND 3747. @VS49571 28388000 * @VS49571 28389000 ***************************************************************@VS49571 28390000 SPACE 1 @VS49571 28391000 RESETSOL EQU * @VS49571 28392000 SPACE 1 @VS49571 28393000 BAL R9,RESETSUB RESET THE DEVICE @VS49571 28394000 EJECT @VS49571 28395000 RESOLCIT EQU * @VS49571 28396000 TM FLAGS2,MODMLOOP INTERVENTION REQUIRED? @ZA13672 28396100 BNO NOCHANGE NO. GO SOLICIT @ZA13672 28396200 SR R9,R9 INSERT NUMBER OF LOOPS @ZA13672 28396300 IC R9,MODMCNT FROM USERWORD. @ZA13672 28396400 LA R9,1(R9) INCREMENT IT AND PUT IT @ZA13672 28396500 STC R9,MODMCNT IN USERWORD. @ZA13672 28396600 BAL R9,CHANGE INCREMENT USERWORD COUNT@ZA13672 28396700 NI FLAGS2,FF-MODMLOOP SHUT OFF FLAG @ZA13672 28396800 NOCHANGE EQU * @ZA13672 28396900 CLI TABINDEX,T3275 ALL DATA FROM GENERAL @VS49571 28397900 BE RESOLCT1 POLL DEVICES IS UN- @VS49571 28398000 CLI TABINDEX,T3277 SOLICITED. CHECK FOR @VS49571 28399000 BE RESOLCT1 3275 OR 3277 IN @VS49571 28400000 * USERWORD. THERE IS NO @VS49571 28401000 * NEED TO RESET DEVICE. @VS49571 28402000 TM RDATAFLG,RPLUINPT ENTRY FOR UNSOLICITED @VS49571 28403000 * DATA? @VS49571 28404000 BZ RESOLCT1 NO. RE-SOLICIT THE @VS49571 28405000 * TERMINAL @XM02032 28885000 TM FLAGS,ONERESET YES. WAS OUTSTANDING @XM02032 28894000 * SOLICIT KILLED BY AT @XM02032 28903000 * LEAST ONE RESET? @XM02032 28912000 BZ OKRESOL NO. OUTSTANDING SOLICIT @XM02032 28930000 * IS STILL GOOD. SKIP @XM02032 28939000 * THE SOLICIT @XM02032 28948000 SPACE 2 @VS49571 28957000 RESOLCT1 EQU * @VS49571 28958000 MVC SYNARG(FOUR),CID GET THE CID FROM THE @VS49571 28959000 * ASYNCH RPL @VS49571 28960000 SPACE 2 @VS49571 28961000 DORESOL EQU * @XM02032 29002000 SPACE 2 @VS49571 29020000 OI MACFLAGS,SOLIC INDICATE DOING SOLICIT @VS49571 29021000 OI MFLAGS2,SOLICITS INDICATE DOING SOLICIT @VS49571 29022000 NI SRPLEXT1,FF-RPLNIB CLEAR RPLNIB FLAG @ZA42307 29032000 SPACE 2 @XL03HAJ 29047000 * SOLICIT RPL=SYNCHRPL, @VS49571 29056000 * OPTCD=(SPEC,CA) @VS49571 29057000 SOLICIT RPL=SYNCHRPL, @VS49571*29058000 OPTCD=(SPEC,CA) @VS49571 29059000 SPACE 2 @VS49571 29060000 NI MFLAGS2,FF-SOLICITS SOLICIT DONE @VS49571 29061000 EJECT @VS49571 29062000 *** @VS49571 29063000 * @VS49571 29064000 * NOTE: THE DEVICE HAS TO BE CONNECTED OR NETSOL WOULD NOT @VS49571 29065000 * HAVE GOTTEN THIS FAR @VS49571 29066000 * ANY I/O ERRORS WILL BE PICKED UP BY THE READEND @VS49571 29067000 * EXIT. @VS49571 29068000 * @VS49571 29069000 * ACTION @VS49571 29070000 * RTNCD FDBK2 CODE(S) @VS49571 29071000 * CODE CODE MEANING RETURNED @VS49571 29072000 * (R15 R0) @VS49571 29073000 * @VS49571 29074000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 29075000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 29076000 * 0C 04 VTAM BUFFERS FULL 20 00 @VS49571 29077000 * 10 0E ABEND IN VTAM SNOCCUR @VS49571 29078000 * 14 12 CLSDST IN PROGRESS 14 00 @VS49571 29079000 * 14 13 CID INVALID 14 00 @VS49571 29080000 * 14 32 REQUEST INVALID FOR SPECIFIED DEVICE 08 00 @VS49571 29081000 * 14 5D OPNDST INVALID (TERM NOT CONNECTED) 14 00 @VS49571 29082000 * @VS49571 29083000 *** @VS49571 29084000 SPACE 2 @VS49571 29085000 CH R15,HEX20 IS IT GREATER THAN @VS49571 29086000 * ALLOWABLE MAX. @VS49571 29087000 BH SNOCCUR YES, TERMINATE NETSOL @VS49571 29088000 B ERRSOLID(R15) BRANCH TO ERROR PROCESS @VS49571 29089000 ERRSOLID EQU * @VS49571 29090000 B R0CHKSLD 0 SUCCESSFULLY COMPLETED @VS49571 29091000 BAL R7,SNOCCUR 4 @VS49571 29092000 B RELEASE 8 RELEASE THE DEVICE @VS49571 29093000 BAL R7,SNOCCUR C NO MESSAGE POSSIBLE @VS49571 29093500 BAL R7,SNOCCUR 10 CAN'T HAPPEN ON THE @VS49571 29094000 * SECOND SOLICIT @VS49571 29095000 B FREERPL 14 FREE THE RPL @ZA27711 29096000 BAL R7,SNOCCUR 18 @VS49571 29097000 BAL R7,SNOCCUR 1C @VS49571 29097600 B PROBDEV 20 PROBLEM WITH DEVICE @VS49571 29099000 SPACE 2 @VS49571 29100000 R0CHKSLD EQU * @VS49571 29101000 LTR R0,R0 SUCCESSFUL COMPLETION? @XL03HAJ 29515000 BNZ SNOCCUR NO. ERROR @XL03HAJ 29524000 * @XL03HAJ 29533000 * * * * * * * * END OF SOLICIT ERROR HANDLING * * * * * * * * @XL03HAJ 29542000 * @XL03HAJ 29560000 OKRESOL EQU * SOLICIT SKIPPED OR OK. @XM02032 29569000 B FREERPL MUST GO TO FREERPL @VS49571 29578000 * AND POSSIBLY ISSUE @VS49571 29579000 * READ-ANY @VS49571 29580000 TITLE 'RELEASE - RELEASE THE DEVICE TO VTAM' @VS49571 29581000 ************************************************************** @VS49571 29582000 * @VS49571 29583000 * RELEASE THE TERMINAL, AND PERHAPS RE-ACQUIRE IT. @VS49571 29584000 AIF ('&SYSTEM' EQ 'DOS').DOSJG1A @VS49571 29585000 * @VS49571 29586000 * THERE ARE TWO ENTRY POINTS TO THIS ROUTINE, 'PROBDEV' @VS49571 29587000 * AND 'RELEASE'. 'PROBDEV' WILL WTO AND RELEASE THE DEV-@VS49571 29588000 * ICE BECAUSE OF AN I/O PROBLEM. 'RELEASE' WILL RELEASE @VS49571 29589000 * THE DEVICE , AND IF THERE IS A TEST REQUEST SET @VS49571 29590000 * 'RELEASE' WILL REACQUIRE THE DEVICE. @VS49571 29591000 .DOSJG1A ANOP @VS49571 29592000 AIF ('&SYSTEM' NE 'DOS').NDOSJG1 @VS49571 29593000 * @VS49571 29594000 * THERE ARE TWO ENTRY POINTS TO THIS ROUTINE, 'PROBDEV' @VS49571 29595000 * AND 'RELEASE'. 'PROBDEV' WILL DUMP UNLESS IT IS @VS49571 29596000 * PATCHED TO TRY A RELEASE. 'RELEASE' WILL RELEASE THE @VS49571 29597000 * DEVICE AND TRY TO RE-ACQUIRE IT (IF A SWITCH HAS @VS49571 29598000 * BEEN SET). @VS49571 29599000 .NDOSJG1 ANOP @VS49571 29600000 * @VS49571 29601000 * REGISTER 5 (PTRRPL) WILL POINT TO AN RPL. (IT MAY BE @VS49571 29602000 * SYNCHRONOUS OR ASYNCHRONOUS) @VS49571 29603000 * REGISTER 10-12 - BASE REGISTERS @VS49571 29604000 * @VS49571 29605000 ************************************************************** @VS49571 29606000 AIF ('&SYSTEM' NE 'DOS').NDOSJG2 @VS49571 29607000 PROBDEV EQU * DEVICE PROBLEM OCCURRED @VS49571 29608000 * BECAUSE OF HARDWARE, @VS49571 29609000 * NETWORK, OR USER CAUSED@VS49571 29610000 * SYSTEM PROBLEM. @VS49571 29611000 NOP RELEASE THIS INSTRUCTION CAN BE @VS49571 29612000 * ZAPPED TO RELEASE THE @VS49571 29613000 * DEVICE RATHER THAN @VS49571 29614000 * TERMINATE NETSOL. @VS49571 29615000 STM R0,R15,SNOREGS REGS FOR DEBUGGING @VS49571 29616000 MVI DUMPFLAG,DEVPCODE CODE FOR FAILURE TYPE @VS49571 29617000 B DUMP DUMP NETSOL @VS49571 29618000 SPACE 2 29983000 .NDOSJG2 ANOP @Z40GKD3 29992000 AIF ('&SYSTEM' EQ 'DOS').DOSJG2A @VS49571 30001000 SPACE 2 @VS49571 30002000 PROBDEV EQU * PROBLEM WITH DEVICE. @VS49571 30003000 OI FLAGS2,BADEVICE TURN ON FLAG FOR WTO. @VS49571 30004000 B INQUIRC @VS49571 30005000 .DOSJG2A ANOP @VS49571 30006000 SPACE 2 @VS49571 30007000 RELEASE EQU * @VS49571 30008000 TM FLAGS,RELOPND IS RELEASE A PRELUDE TO @VS49571 30009000 * REOPEN? @XL03HAJ 30100000 BZ CLOSEREL NO. SIMPLY RELEASE IT @VS49571 30109000 * YES. MUST SAVE SYMBOLIC @XL03HAJ 30118000 * NAME FOR LATER REOPEN @XL03HAJ 30127000 * NOTE: THIS CAN OCCUR @XL03HAJ 30136000 * FOR READ(ANY)/CHECK @XL03HAJ 30145000 * ERROR HANDLING. @VS49571 30151000 EJECT @XL03HAJ 30172000 ***************************************************************@XL03HAJ 30181000 * @VS49571 30190000 * TRANSLATE CID TO SYMBOLIC TERMINAL NAME @VS49571 30191000 * @VS49571 30192000 ***************************************************************@VS49571 30193000 SPACE 2 @VS49571 30194000 INQUIRC EQU * @VS49571 30195000 CLC NAMEDEV,DCZEROS IS THE NAMEDEV FIELD VAL@VS49571 30196000 AIF ('&SYSTEM' EQ 'DOS').DOSJG3A @VS49571 30197000 BNE ENDINQC YES,CHECK PROBDEV @VS49571 30198000 .DOSJG3A ANOP @VS49571 30199000 AIF ('&SYSTEM' NE 'DOS').NDOSJG3 @VS49571 30200000 BNE DORSET YES, CHECK USERWORD @VS49571 30201000 .NDOSJG3 ANOP @VS49571 30202000 MVC SYNARG(FOUR),CID GET CID INTO SYNCHRPL @VS49571 30203000 OI MFLAGS2,INQUIRE INDICATE INQUIRE @VS49571 30204000 OI MACFLAGS,INQCIDX INDICATE INQ CIDXLATE @VS49571 30205000 NI SRPLEXT1,FF-RPLNIB SYNCH RPL HAS CID IN @VS49571 30206000 * ARG FIELD @VS49571 30207000 SPACE 2 @VS49571 30208000 * INQUIRE RPL=SYNCHRPL, FIND SYMBOLIC NAME @VS49571 30209000 * OPTCD=CIDXLATE, FOR CID IN ASYNCH RPL @VS49571 30210000 * AREA=NAMEDEV, @VS49571 30211000 * AREALEN=D8 @VS49571 30212000 SPACE 2 @VS49571 30213000 INQUIRE RPL=SYNCHRPL, @VS49571*30214000 OPTCD=CIDXLATE, @VS49571*30215000 AREA=NAMEDEV, @VS49571*30216000 AREALEN=D8 @VS49571 30217000 SPACE 2 @VS49571 30218000 NI MFLAGS2,FF-INQUIRE INQUIRE IS DONE @VS49571 30219000 EJECT @VS49571 30220000 *** @VS49571 30221000 * @VS49571 30222000 * ERROR ACTIONS FOR INQUIRE(CIDXLATE) @VS49571 30223000 * @VS49571 30224000 * ACTION @VS49571 30225000 * RTNCD FDBK2 CODE(S) @VS49571 30226000 * CODE CODE MEANING RETURNED @VS49571 30227000 * (R15 R0) @VS49571 30228000 * @VS49571 30229000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 30230000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 30231000 * 10 0A APPARENT VTAM ERROR 20 00 @ZA32289 30232000 * 10 0E ABEND IN VTAM SNOCCUR @VS49571 30233000 * 14 13 CID INVALID 14 00 @VS49571 30234000 * @VS49571 30235000 *** @VS49571 30236000 SPACE 2 @VS49571 30237000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @ZA32289 30238000 BH SNOCCUR CODE IS X'20' @ZA32289 30238600 B ERRTABD(R15) CHECK VALID ACTIONS @VS49571 30240000 ERRTABD B R0CHKD 0 PROBABLY WORKED OK @VS49571 30241000 BAL R7,SNOCCUR 4 @VS49571 30242000 BAL R7,SNOCCUR 8 @VS49571 30242700 BAL R7,SNOCCUR C CAN'T GET ERROR THAT @VS49571 30243400 * CAUSES ERR MESSAGE @VS49571 30245000 B INQUIRC 10 REISSUE. NO NEED TO @XL03HAJ 30672000 * CHECK FOR RESET @XL03HAJ 30690000 B FREERPL 14 DEVICE GONE. @VS49571 30699000 BAL R7,SNOCCUR 18 @ZA32289 30700000 BAL R7,SNOCCUR 1C @ZA32289 30701000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 30702000 SPACE 2 @XL03HAJ 30708000 R0CHKD EQU * @XL03HAJ 30717000 CH R0,HEX7 IS PRLFDB2 = X'07' @ZA27740 30719000 * YES. TERMINAL IS RELEASED @ZA27740 30721000 BE FREERPL NO. CONTINUE NORMALLY @ZA27740 30723000 LTR R0,R0 INQUIRE AREA TOO SMALL? @XL03HAJ 30726000 BNZ SNOCCUR YES, OR OTHER ERROR @XL03HAJ 30735000 * @XL03HAJ 30744000 * * * * * * * * END OF INQUIRE ERROR HANDLING * * * * * * * * @XL03HAJ 30753000 * @XL03HAJ 30762000 AIF ('&SYSTEM' EQ 'DOS').DOSJG4A @VS49571 30780000 EJECT @VS49571 30781000 ***************************************************************@VS49571 30782000 * @VS49571 30783000 * I/O PROBLEM WITH DEVICE, SEND A MESSAGE TO @VS49571 30784000 * SYSTEM OPERATOR AND RELEASE THE DEVICE. @VS49571 30785000 * THIS SECTION OF CODE IS ENTERED THROUGH @VS49571 30786000 * PROBDEV ..... IF NOT ENTERED BY MEANS OF @VS49571 30787000 * PROBDEV TAKE BRANCH AROUND TO ENDWTO. @VS49571 30788000 * @VS49571 30789000 ***************************************************************@Z40GKD3 30879000 SPACE 4 @VS49571 30882000 ENDINQC EQU * @VS49571 30883000 AIF ('&ABEND' NE 'NO').TSTERR @ZA32003 30884000 TM MFLAGS2,ERRCON DID WE COME FROM SNOCCUR@ZA32003 30884800 BO MSGWTO2 YES BRANCH MSG TWO @ZA32003 30885600 .TSTERR ANOP @ZA32003 30886400 TM FLAGS2,BADEVICE IS WTO BIT ON ? @Z40GKD3 30888000 BNO ENDWTO NO. DON'T WTO. @Z40GKD3 30897000 NI FLAGS2,FF-BADEVICE YES. WTO BIT ON THEN @Z40GKD3 30903000 * TURN WTO FLAG OFF. @Z40GKD3 30915000 MVC LISTWTO+17(8),NAMEDEV MOVE DEVICE NAME INTO @Z40GKD3 30924000 * THE MESSAGE AREA OF @Z40GKD3 30933000 * THE LIST FORM OF WTO. @Z40GKD3 30942000 SPACE 2 @Z40GKD3 30960000 * WTO MF=(E,LISTWTO) EXECUTE FORM OF WTO @Z40GKD3 30969000 WTO MF=(E,LISTWTO) @VS49571 30978000 AIF ('&ABEND' NE 'NO').RELE @ZA32003 30978200 B NTMSG2 BRANCH AROUND MSG @ZA32003 30978300 MSGWTO2 EQU * @ZA32003 30978400 CLC NAMEDEV,DCZEROS DO WE HAVE NAME? @ZA32003 30978500 BNE GDNAME YES BRANCH @ZA32003 30978600 MVC NAMEDEV,=C'UNKNOWN ' INIT TERM FIELD @ZA32003 30978700 GDNAME EQU * @ZA32003 30978800 MVC LISTWTO2+21(8),NAMEDEV MOVE NAME INTO MSG @ZA32003 30978900 * WTO MF=(E,LISTWTO2) EXECUTE FORM OF WTO @ZA32003 30979400 WTO MF=(E,LISTWTO2) EXECUTE FORM OF WTO @ZA32003 30979600 NTMSG2 EQU * @ZA32003 30979800 .RELE ANOP @ZA32003 30980000 SPACE 2 @VS49571 30980200 B CLOSEREL RELEASE THE DEVICE @VS49571 30980400 * AFTER MESSAGE IS SENT. @VS49571 30981000 ENDWTO EQU * @VS49571 30982000 .DOSJG4A ANOP @VS49571 30983000 EJECT @VS49571 30984000 DORSET EQU * @VS49571 30985000 TM FLAGS,RELOPND ARE WE TO TRY TO REOPEN @VS49571 30986000 BZ CLOSEREL NO, JUST CLOSE IT @VS49571 30987000 CLC USERWORD,DCZEROS IS USERWORD VALID @VS49571 30988000 BNE CLOSEREL YES, DO THE CLOSE @VS49571 30989000 BAL R9,RESETSUB GET USERWORD @VS49571 30990000 MVC USERWORD,RPLUSFLD @VS49571 30991000 SPACE 1 @VS49571 30992000 CLOSEREL EQU * @VS49571 30993000 SPACE 1 @VS49571 30994000 OI MFLAGS2,CLSDST INDICATE DOING CLOSE(REL@VS49571 30995000 OI MACFLAGS,CLSREL INDICATE CLSDST REL @ZA33715 30996000 L R2,CID OBTAIN CID @VS49571 30997000 SPACE 1 @VS49571 30998000 * CLSDST RPL=(PTRRPL), THIS IS DONE EITHER @VS49571 30999000 * EXIT=CDSTEND1, SYNCH OR ASYNCH, @VS49571 31000000 * OPTCD=RELEASE, DEPENDING ON SETTING OF@VS49571 31001000 * ARG=(R2) SYNCHIO & RPLASY FLAGS.@VS49571 31002000 * @VS49571 31003000 CLSDST RPL=(PTRRPL), @VS49571*31004000 EXIT=CDSTEND1, @VS49571*31005000 OPTCD=RELEASE, @VS49571*31006000 ARG=(R2) @VS49571 31007000 SPACE 2 @VS49571 31008000 NI MFLAGS2,FF-CLSDST INDICATE CLOSE DONE @VS49571 31009000 SPACE 1 @VS49571 31010000 TM FLAGS2,SYNCHIO WAS THIS OPERATION DONE @VS49571 31011000 * WITH A SYNCH RPL? @VS49571 31012000 BO CDST15 YES, SKIP THE CHECK @VS49571 31013000 EJECT @VS49571 31014000 *** @VS49571 31015000 * @VS49571 31016000 * ERROR ACTIONS FOR CLSDST(RELEASE) @VS49571 31017000 * @VS49571 31018000 * ACTION @VS49571 31019000 * RTNCD FDBK2 CODE(S) @VS49571 31020000 * CODE CODE MEANING RETURNED @VS49571 31021000 * (R15 R0) @VS49571 31022000 * @VS49571 31023000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 31024000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 31025000 * @VS49571 31026000 *** @VS49571 31027000 SPACE 2 @VS49571 31028000 CH R15,HEX10 VTAM BUFFERS FULL? @VS49571 31029000 * (ONLY POSSIBLE ERROR) @VS49571 31030000 BE CLOSEREL YES. REISSUE @VS49571 31031000 LTR R15,R15 CLSDST ACCEPTED? @VS49571 31032000 BNZ SNOCCUR NO. IMPOSSIBLE @VS49571 31033000 LTR R0,R0 ACCEPTED? (2ND TEST)? @VS49571 31034000 BNZ SNOCCUR NO. ERROR @VS49571 31035000 * @VS49571 31036000 * * * * * * * * END OF CLSDST ERROR HANDELING * * * * * * * * @VS49571 31037000 SPACE 4 @VS49571 31038000 B RETURN GO BACK TO VTAM AND @VS49571 31039000 * WAIT FOR EXIT TO BE SCHEDULE@VS49571 31040000 * @VS49571 31041000 EJECT @VS49571 31042000 SPACE 2 @VS49571 31043000 ***************************************************************@VS49571 31044000 * @VS49571 31045000 * CHECK VALIDITY OF THE CLSDST(RELEASE) @VS49571 31046000 * ENTRY IS FROM THE CLSDST(RELEASE) IN THE RELEASE RTN. @VS49571 31047000 * @VS49571 31048000 * REGISTER 1 - POINTS TO THE RPL USED. @VS49571 31049000 * REGISTER 15 - BASE REGISTER @VS49571 31050000 * @VS49571 31051000 ***************************************************************@VS49571 31052000 SPACE 2 @VS49571 31053000 CDSTEND1 EQU * @VS49571 31054000 * XXXXXXXXXX @VS49571 31055000 DROP R10 @VS49571 31056000 DROP R11 BASE REGS NOT SET UP @VS49571 31057000 DROP R12 YET @VS49571 31058000 USING *,R15 ESTABLISH INITIAL ADDRES@VS49571 31059000 * XXXXXXXXXX @VS49571 31060000 L R12,STARTADD R12 IS BASE REGISTER @VS49571 31061000 * XXXXXXXXXX @VS49571 31062000 DROP R15 @VS49571 31063000 USING START,R12,R11,R10 ALL BASE REGS SET @VS49571 31064000 * XXXXXXXXXX @VS49571 31065000 * @VS49571 31066000 L R11,BASE2 LOAD 2ND BASE REGISTER @VS49571 31067000 L R10,BASE3 LOAD 3RD BASE REGISTER @VS49571 31068000 ST R14,RETVTAM@ SAVE EXIT RETURN ADDRESS@VS49571 31069000 LA R13,GENSAVE POINT TO SAVE-AREA @VS49571 31070000 SPACE 2 @VS49571 31071000 TM UFLAGS,SHUTDOWN SHUTDOWN IN PROGRESS? @VS49571 31072000 BO RETURN YES. NO MORE ACTION @VS49571 31073000 SPACE 2 @VS49571 31074000 LR PTRRPL,R1 POINT TO THE INPUT RPL @VS49571 31075000 EJECT @VS49571 31076000 SPACE 8 @VS49571 31077000 OI MFLAGS2,CLSDST TELL ERREXIT THAT ERROR @VS49571 31078000 * IS FOR CLSDST(RELEASE) @VS49571 31079000 * CHECK RPL=(PTRRPL) CHECK FOR ERROR, ERREXIT@VS49571 31080000 * IS ENTERED IF ERRORS HAVE 31958000 * OCCURRED 31967000 CHECK RPL=(PTRRPL) @VS49571 31976000 SPACE 2 31985000 NI MFLAGS2,X'FF'-CLSDST RESET CLSDST INDICATOR @VS49571 31994000 EJECT @XL03HAJ 32003000 *** @VS49571 32012000 * @VS49571 32013000 * ERROR ACTIONS FOR CLSDST(RELEASE) @VS49571 32014000 * @VS49571 32015000 * ACTION @VS49571 32016000 * RTNCD FDBK2 CODE(S) @VS49571 32017000 * CODE CODE MEANING RETURNED @VS49571 32018000 * (R15 R0) @VS49571 32019000 * @VS49571 32020000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 32021000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @XL03HAJ 32120000 * 0C 0B REQUEST CANCELLED BY CLSDST 14 00 @VS49571 32124000 * 10 0A APPARENT VTAM ERROR 20 00 @ZA32289 32129000 * 10 0E ABEND IN VTAM SNOCCUR @XL03HAJ 32138000 * 14 12 CLSDST IN PROGRESS 14 00 @VS49571 32147000 * 14 13 CID INVALID 14 00 @XL03HAJ 32156000 * 14 5D OPNDST INVALID (TERM NOT CONNECTED) 14 00 @VS49571 32165000 * 14 60 RESOURCE NOT CLOSABLE 14 00 @XL03HAJ 32174000 * @XL03HAJ 32183000 *** @XL03HAJ 32192000 SPACE 2 @VS49571 32210000 CDST15 EQU * @VS49571 32211000 SPACE 2 @VS49571 32212000 OI EXITFLAG,CLOSEX INDICATE IN CLOSE REL EX@VS49571 32213000 CL R1,ARPL0 IS IT RPL0 @ZA34716 32223000 BE RASYNCH YES CONTINUE RELEASE @ZA34716 32228000 TM FLAGS2,SYNCHIO SYNCH RPL? @ZA34716 32233000 BO RETURN YES RETURN TO VTAM @ZA34716 32238000 SPACE 2 @XL03HAJ 32243000 RASYNCH EQU * @ZA34716 32248000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @ZA32289 32260000 BH SNOCCUR CODE IS X'20' @ZA32289 32264000 B ERRTAB9(R15) CHECK VALID ACTIONS @XL03HAJ 32274000 ERRTAB9 B R0CHK9 0 PROBABLY RELEASED IT @XL03HAJ 32281000 BAL R7,SNOCCUR 4 @VS49571 32299000 BAL R7,SNOCCUR 8 ALREADY RELEASING, NEW @VS49571 32305000 * RELEASE WON'T HELP @XL03HAJ 32317000 BAL R7,SNOCCUR C NO MSG TO WRITE AND @VS49571 32326000 * PROBABLY COULDN'T @XL03HAJ 32335000 * ANYWAY @XL03HAJ 32344000 B CLOSEREL 10 REISSUE. @VS49571 32353000 B FREERPL 14 IT COULD BE THAT NETSOL @VS49571 32354000 * NO LONGER HAS THE @XL03HAJ 32380000 * DEVICE SINCE IT WAS @XL03HAJ 32389000 * ALREADY FREED BY A LOSTERM, 32398000 * RELREQ OR READEND @VS49571 32407000 * REQUEST. @VS49571 32408000 BAL R7,SNOCCUR 18 @ZA32289 32412000 BAL R7,SNOCCUR 1C @ZA32289 32416000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 32420000 SPACE 2 @XL03HAJ 32425000 R0CHK9 EQU * @XL03HAJ 32434000 LTR R0,R0 VALID COMPLETION? @XL03HAJ 32443000 BNZ SNOCCUR ERROR IF NOT @XL03HAJ 32452000 * @XL03HAJ 32470000 * * * * * * * * END OF CLSDST ERROR HANDLING * * * * * * * * * @XL03HAJ 32479000 * @XL03HAJ 32488000 TM FLAGS,RELOPND WAS DEVICE RELEASED @XL03HAJ 32497000 * PRIOR TO OPNDST @XL03HAJ 32506000 * BECAUSE TEST REQUEST @XL03HAJ 32515000 * SET (ERROR CODE 0C/02)?@XL03HAJ 32524000 BZ FREERPL NO. JUST READ(ANY) @VS49571 32533000 NI FLAGS,X'FF'-RELOPND YES. TURN OFF FLAG @XL03HAJ 32542000 EJECT @VS49571 32560000 SPACE 2 @VS49571 32561000 ***************************************************************@VS49571 32562000 * @VS49571 32563000 * AFTER RELEASING THE TERMINAL, IT MAY BE NECESSARY TO @VS49571 32564000 * RE-ACQUIRE IT, OR AT LEAST ATTEMPT TO RE-ACQUIRE IT, FOR THE@VS49571 32565000 * FOLLOWING REASONS: @VS49571 32566000 * @VS49571 32567000 * THE OTHER APPLICATION MAY CANCEL ITS REQUEST FOR THE @VS49571 32568000 * TERMINAL AFTER NETSOL'S RELREQ EXIT HAS ISSUED THE @VS49571 32569000 * CLSDST(RELEASE), BUT BEFORE LOGGING ONTO THE TERMINAL. @XL03HAJ 32656000 * IN THIS CASE NETSOL WISHES TO RE-ACQUIRE THE TERMINAL. @XL03HAJ 32669000 * THE TERMINAL WILL ONLY BE ACQUIRED BY NETSOL IF THE @XL03HAJ 32678000 * OTHER APPLICATION HAS NOT ALREADY LOGGED ON THE TERMINAL. @XL03HAJ 32687000 * @XL03HAJ 32696000 * THE TERMINAL MAY HAVE BEEN RELEASED BECAUSE IT WAS LOGGED @XL03HAJ 32705000 * ON TO NETSOL WHEN THE TEST REQUEST KEY WAS SET. THIS @XL03HAJ 32714000 * BLOCKS ALL FURTHER I/O TO THE DEVICE, INCLUDING ENTRY OF @XL03HAJ 32723000 * A LOGON SEQUENCE NECESSARY TO PASS THE DEVICE TO TOLTEP. @XL03HAJ 32732000 * NETSOL MUST RELEASE, THEN RE-ACQUIRE THE DEVICE SO THAT @XL03HAJ 32750000 * I/O IS NO LONGER BLOCKED. @VS49571 32759000 * @VS49571 32760000 ***************************************************************@VS49571 32761000 SPACE 2 @VS49571 32762000 LA PTRNIB,SYNCHNIB POINT TO THE NIB @VS49571 32763000 MVC NIBSYM(EIGHT),NAMEDEV GET THE SYMBOLIC NAME @VS49571 32764000 MVC NIBUSER(FOUR),USERWORD SAVE DEVICE CHAR. @VS49571 32765000 * @VS49571 32766000 * NOTE; PROC FIELD IS O.K. DUE TO DEFAULTS @VS49571 32767000 SPACE 2 @VS49571 32768000 REOPEN EQU * @VS49571 32769000 SPACE 2 @VS49571 32770000 * USE BY ERREXIT @VS49571 32771000 *** @VS49571 32772000 * @VS49571 32773000 * MUST USE NIB WITH SYMBOLIC TERMINAL NAME BECAUSE THE CID IS @VS49571 32774000 * NO LONGER VALID AFTER DEVICE IS RELEASED. OPNDST(SPEC) @VS49571 32775000 * MUST HAVE A SYMBOLIC TERMINAL NAME SUPPLIED. @VS49571 32776000 * @VS49571 32777000 *** @VS49571 32778000 SPACE 2 @VS49571 32779000 OI MFLAGS,OPNDSPEC SET INDICATOR FOR @VS49571 32780000 OI MACFLAGS,OPNSPEC @VS49571 32781000 SPACE 2 @VS49571 32782000 * OPNDST RPL=SYNCHRPL, @VS49571 32783000 * OPTCD=(SPEC,ACQUIRE), @VS49571 32784000 * NIB=SYNCHNIB @VS49571 32785000 OPNDST RPL=SYNCHRPL, @VS49571*32786000 OPTCD=(SPEC,ACQUIRE), @VS49571*32787000 NIB=SYNCHNIB @VS49571 32788000 SPACE 2 @VS49571 32789000 NI MFLAGS,X'FF'-OPNDSPEC RESET INDICATOR @VS49571 32790000 EJECT @VS49571 32791000 SPACE 2 @VS49571 32792000 *** @VS49571 32793000 * @VS49571 32794000 * ERROR ACTIONS FOR OPNDST(SPEC) @VS49571 32795000 * @VS49571 32796000 * ACTION @VS49571 32797000 * RTNCD FDBK2 CODE(S) @VS49571 32798000 * CODE CODE MEANING RETURNED @VS49571 32799000 * (R15 R0) @VS49571 32800000 * @VS49571 32801000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 32802000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 32803000 * 0C 05 NCP ABEND. RESTART SUCCESSFUL 10 08 @VS49571 32804000 * 10 00 DEVICE UNAVAILABLE 14 00 @VS49571 32805000 * 10 03 VTAM IS HALTING SNOCCUR @VS49571 32806000 * 10 05 PERMENENT FAILURE IN PATH 08 00 @VS49571 32807000 * 10 06 AUTO NETWORK SHUTDOWN 08 00 @VS49571 32808000 * 10 0A APPARENT VTAM ERROR 20 00 @ZA32289 32809000 * 10 0E ABEND IN VTAM SNOCCUR @VS49571 32810000 * 14 12 CLSDST IN PROGRESS 14 00 @VS49571 32811000 * 14 55 NO OPNDST AUTHORIZATION SNOCCUR @VS49571 32812000 * @VS49571 32813000 *** @VS49571 32814000 SPACE 2 @VS49571 32815000 CH R15,HEX20 HIGHEST VALID ACTION @ZA32289 32816000 BH SNOCCUR CODE IS X'20' @ZA32289 32816600 SPACE 2 @VS49571 32818000 B ERRTAB7(R15) CHECK VALID ACTIONS @VS49571 32819000 ERRTAB7 B R0CHK7 0 CHECK IF DEVICE ACCEPTED@XL03HAJ 33355000 BAL R7,SNOCCUR 4 @VS49571 33364000 BAL R7,SNOCCUR 8 CAN'T RELEASE IF CAN'T @VS49571 33370000 * GET IT @XL03HAJ 33382000 BAL R7,SNOCCUR C CAN'T WRITE MSG IF NOT @VS49571 33400000 * CONNECTED @XL03HAJ 33409000 B ERROPENB 10 REISSUE. NO NEED TO @XL03HAJ 33418000 * CHECK FOR RESET @XL03HAJ 33427000 B FREERPL 14 A NORMAL CASE. FAILED @VS49571 33436000 * TO RECONNECT DEVICE. @XL03HAJ 33445000 BAL R7,SNOCCUR 18 @ZA32289 33447000 BAL R7,SNOCCUR 1C @ZA32289 33449000 B PROBDEV 20 PROBLEMWITH DEVICE @ZA32289 33451000 SPACE 2 @VS49571 33454000 ERROPENB EQU * @VS49571 33455000 CH R0,HEX8 @VS49571 33456000 BL REOPEN REISSUE THE COMMAND @VS49571 33457000 LA R9,REOPEN LOAD ADDR WHERE TO RETURN 33499000 B RESETSUB ISSUE THE RESET @VS49571 33508000 SPACE 2 @VS49571 33509000 R0CHK7 EQU * @VS49571 33510000 CH R0,HEX8 TERMINAL RECONNECTED? @VS49571 33511000 BE FREERPL NO. THIS IS WHAT IS @VS49571 33512000 * WANTED. CONTINUE @VS49571 33513000 * WITH OTHER DEVICES. @VS49571 33514000 LTR R0,R0 SUCCESSFUL COMPLETION? @VS49571 33515000 BNZ SNOCCUR NO. ERROR @VS49571 33516000 * @VS49571 33517000 * * * * * * * * END OF OPNDST ERROR HANDLING * * * * * * * * * @VS49571 33518000 * @VS49571 33519000 B RESOLCIT REDO THE SOLICIT @VS49571 33520000 TITLE 'RESETSUB - ISSUE A RESET TO A TERMINAL' @VS49571 33521000 SPACE 2 @VS49571 33522000 ***************************************************************@VS49571 33523000 * @VS49571 33524000 * RESET (UNCOND) @VS49571 33525000 * @VS49571 33526000 * RESETSUB ISSUES THE RESET (UNCOND) FOR DEVICES. @VS49571 33527000 * IT HAS ITS OWN EXIT ROUTINE CALLED RESETEND. @VS49571 33528000 * AFTER NORMAL PROCESSING, CONTROL IS RETURNED TO THE @VS49571 33529000 * CALLING ROUTINE USING REGISTER NINE. FOR ERROR @VS49571 33530000 * CONDITIONS SEE RESETEND. @VS49571 33531000 * @VS49571 33532000 * INPUT REGISTERS: @VS49571 33533000 * @VS49571 33534000 * REG 10-12 - BASE REGISTERS @VS49571 33535000 * REG 5 - POINTS TO RPL. (SYNCH OR ASYNCH) @VS49571 33536000 * REG 9 - POINTS TO CALLER'S RETURN ADDRESS @VS49571 33537000 * @VS49571 33538000 * OUTPUT REGISTERS: @VS49571 33539000 * @VS49571 33540000 * REG 0-1 - UNPREDICTABLE @VS49571 33541000 * REG 2-13 - VALUE AT INPUT @VS49571 33542000 * REG 14-15 - UNPREDICTABLE @VS49571 33543000 * @VS49571 33544000 * @VS49571 33545000 ***************************************************************@VS49571 33546000 SPACE 2 @VS49571 33547000 RESETSUB EQU * @VS49571 33548000 ST R9,RTNSAVE SAVE RETURN ADDRESS @VS49571 33549000 OI MACFLAG2,RESETUN RESET(UNCOND) INDICATOR @VS49571 33550000 RSETAGIN EQU * @VS49571 33551000 OI MFLAGS,RESETU RESET(UNCOND) INDICATOR @VS49571 33552000 * @VS49571 33553000 * RESET RPL=(PTRRPL), RPL IS SET FOR SYNCH OR @VS49571 33554000 * OPTCD=UNCOND, ASYNCH OPERATION. @VS49571 33555000 * EXIT=RESETEND @VS49571 33556000 RESET RPL=(PTRRPL), @VS49571*33557000 OPTCD=UNCOND, @VS49571*33558000 EXIT=RESETEND @VS49571 33559000 SPACE 2 @VS49571 33560000 NI MFLAGS,X'FF'-RESETU TURN OFF FLAG @XL03HAJ 34034000 SPACE 2 @VS49571 34043000 TM FLAGS2,SYNCHIO WAS THIS RESET DONE WITH@VS49571 34044000 * THE SYNCHRPL @VS49571 34045000 BO RSETCHK YES, SKIP CHECK MACRO @VS49571 34046000 EJECT @VS49571 34047000 SPACE 2 @VS49571 34048000 *** @VS49571 34049000 * @VS49571 34050000 * ERROR ACTIONS FOR RESET @VS49571 34051000 * @VS49571 34052000 * ACTION @VS49571 34053000 * RTNCD FDBK2 CODE(S) @VS49571 34054000 * CODE CODE MEANING RETURNED @VS49571 34055000 * (R15 R0) @VS49571 34056000 * @VS49571 34057000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 34058000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 34059000 * @VS49571 34060000 *** @VS49571 34061000 SPACE 2 @VS49571 34062000 CH R15,HEX10 VTAM BUFFERS FULL? @VS49571 34063000 * (ONLY POSSIBLE ERROR) @VS49571 34064000 BE RSETAGIN YES. REISSUE @VS49571 34065000 LTR R15,R15 RESET ACCEPTED? @VS49571 34066000 BNZ SNOCCUR NO. IMPOSSIBLE @VS49571 34067000 LTR R0,R0 ACCEPTED? (2ND CHECK)? @VS49571 34068000 BNZ SNOCCUR NO. ERROR @VS49571 34069000 * @VS49571 34070000 * * * * * * * * END OF RESET ERROR HANDLING * * * * * * * * * *@VS49571 34071000 * @XL03HAJ 34340000 SPACE 8 @XL03HAJ 34349000 B RETURN RETURN TO VTAM @VS49571 34358000 EJECT @VS49571 34359000 ************************************************************** @VS49571 34360000 * @VS49571 34361000 * CHECK OUT THE RESET @VS49571 34362000 * @VS49571 34363000 * REGISTER 1 - POINTS TO THE RPL USED IN THE RESET. @VS49571 34364000 * @VS49571 34365000 ************************************************************** @VS49571 34366000 SPACE 1 @VS49571 34367000 RESETEND EQU * @VS49571 34368000 SPACE 1 @VS49571 34369000 * XXXXXXXXXX @VS49571 34370000 DROP R10 @VS49571 34371000 DROP R11 BASE REGS NOT SET UP @VS49571 34372000 DROP R12 YET @VS49571 34373000 USING *,R15 ESTABLISH INITIAL ADDRES@VS49571 34374000 * XXXXXXXXXX @VS49571 34375000 L R12,STARTADD R12 IS BASE REGISTER @VS49571 34376000 * XXXXXXXXXX @VS49571 34377000 DROP R15 @VS49571 34378000 USING START,R12,R11,R10 ALL BASE REGS SET @VS49571 34379000 * XXXXXXXXXX @VS49571 34380000 * @VS49571 34381000 L R11,BASE2 LOAD 2ND BASE REGISTER @VS49571 34382000 L R10,BASE3 LOAD 3RD BASE REGISTER @VS49571 34383000 ST R14,RETVTAM@ SAVE EXIT RETURN ADDRESS@VS49571 34384000 LA R13,GENSAVE POINT TO SAVE-AREA @VS49571 34385000 SPACE 1 @VS49571 34386000 TM UFLAGS,SHUTDOWN SHUTDOWN IN PROGRESS? @VS49571 34387000 BO RETURN YES. NO MORE ACTION @VS49571 34388000 SPACE 1 @VS49571 34389000 LR PTRRPL,R1 GET THE RPL POINTER @VS49571 34390000 CHECKRST EQU * #XL03HAJ 34673000 OI MFLAGS,RESETU TELL ERREXIT THAT ERRORS@ZA31146 34682000 * ARE FOR RESET @VS49571 34683000 SPACE 1 @XL03HAJ 34720000 * CHECK RPL=(PTRRPL) CHECK FOR ERROR, ERREXIT@VS49571 34724000 * IS ENTERED IF ERRORS HAVE 34734000 * OCCURRED 34750000 CHECK RPL=(PTRRPL) @VS49571 34756000 SPACE 1 @XL03HAJ 34769000 NI MFLAGS,X'FF'-RESETU RESET INDICATOR @ZA31146 34778000 EJECT @VS49571 34779000 *** @XM9733K 34796000 * @XM9733K 34805000 * ERROR ACTIONS FOR RESET @XM9733K 34814000 * @XM9733K 34823000 * ACTION @VS49571 34832000 * RTNCD FDBK2 CODE(S) @VS49571 34833000 * CODE CODE MEANING RETURNED @VS49571 34834000 * (R15 R0) @VS49571 34835000 * @XM9733K 34880000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 34886000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 34887000 * 0C 04 BUFFER THRESHOLD EXCEEDED 00 00 @VS49571 34888000 * 0C 05 NCP ABEND. RESTART SUCCESSFUL 10 00 @VS49571 34889000 * 0C 06 NCP ABEND. LAST PURGE 10 08 @VS49571 34890000 * 0C 0B REQUEST CANCELLED BY CLSDST 14 00 @VS49571 34891000 * 10 04 VTAM/NCP INCOMPATABILITY 14 00 @VS49571 34892000 * 10 05 PERMANENT PATH FAILURE 08 00 @VS49571 34893000 * 10 06 AUTO NETWORK SHUTDOWN 08 00 @VS49571 34894000 * 10 07 VARY DEACTIVATE IMMEDIATE 08 00 @VS49571 34895000 * 10 0E ABEND IN VTAM SNOCCUR @VS49571 34896000 * 14 12 CLSDST IN PROGRESS 14 00 @VS49571 34897000 * 14 13 CID INVALID 14 00 @VS49571 34898000 * 14 5D OPNDST INVALID (TERM NOT CONNECTED) 14 00 @VS49571 34899000 * @VS49571 34900000 *** @VS49571 34901000 SPACE 2 @VS49571 34902000 RSETCHK EQU * @VS49571 34903000 SPACE 2 @VS49571 34904000 OI EXITFLAG,RESETEX INDICATE IN RESET EXIT @VS49571 34905000 SPACE 2 @VS49571 34906000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @ZA32289 34907000 BH SNOCCUR CODE IS X'20' @ZA32289 34957000 B ERRTABF(R15) CHECK VALID ACTIONS @XM9733K 35115000 ERRTABF B R0CHKF 0 RESET GO OK? @XM9733K 35124000 BAL R7,SNOCCUR 4 @VS49571 35133000 B RELEASE 8 CONNECTION TO DEVICE IS @XM9733K 35142000 * KAPUT; MAKE IT OFFICIAL@XM9733K 35160000 BAL R7,SNOCCUR C NO ERRORS THAT GIVE MSG @VS49571 35169000 B RSETAGIN 10 REISSUE RESET IN ALL @XM9733K 35178000 * CASES @XM9733K 35187000 B FREERPL 14 RELEASE RPL AND RETURN @VS49571 35196000 B RSETDONE THEN CONTINUE PROCESSING@VS49571 35197000 BAL R7,SNOCCUR 18 @ZA32289 35201000 BAL R7,SNOCCUR 1C @ZA32289 35205000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 35209000 SPACE 2 @XM9733K 35213000 R0CHKF EQU * @VS49571 35230000 LTR R0,R0 SUCCESSFUL COMPLETION? @VS49571 35231000 BNZ SNOCCUR NO. ERROR @VS49571 35232000 * @VS49571 35233000 * * * * * * * * END OF RESET ERROR HANDLING * * * * * * * * * @VS49571 35234000 * @VS49571 35235000 RSETDONE OI FLAGS,ONERESET FLAG SUCCESSFUL RESET @VS49571 35236000 SPACE 2 @VS49571 35237000 L R9,RTNSAVE LOAD RETURN ADDRESS @VS49571 35238000 BR R9 RETURN TO CALLING RTN @VS49571 35239000 TITLE 'CHANGE - MODIFY THE USERFIELD OF THE NIB' @ZA13672 35239100 SPACE 2 @ZA13672 35239200 ***************************************************************@ZA13672 35239300 * @ZA13672 35239400 * CHANGE @ZA13672 35239500 * @VS49571 35239800 * CHANGE ISSUES A CHANGE TO MODIFY THE USERFIELD. @VS49571 35239900 * THIS SUBROUTINE EXPECTS THE CHANGE TO ALREADY BE IN @ZA13672 35241300 * THE USERWORD IN THE RPL WORKAREA. @ZA13672 35241500 * @ZA13672 35241700 * INPUT REGISTERS: @VS49571 35242300 * @VS49571 35242400 * REG 10-12 - BASE REGISTERS @VS49571 35242500 * REG 5 - POINTS TO RPL. (SYNCH OR ASYNCH) @VS49571 35242600 * 35242700 * @VS49571 35243700 * OUTPUT REGISTERS: @VS49571 35243800 * @VS49571 35243900 * REG 0-1 - UNPREDICTABLE @VS49571 35244000 * REG 2-13 - VALUE AT INPUT @VS49571 35244100 * REG 14-15 - UNPREDICTABLE @VS49571 35244200 * @VS49571 35244300 * @VS49571 35244400 ***************************************************************@VS49571 35244500 SPACE 2 @VS49571 35244600 CHANGE EQU * @ZA13672 35244700 ST R9,RTNSAVE SAVE CALLER ADDRESS @ZA13672 35254700 OI MACFLAG2,CHANGNIB CHANGE NIB INDICATOR @ZA13672 35264700 TM FLAGS2,MODMLOOP LOOP BECAUSE INT REQ ? @ZA13672 35274700 BNO SNOCCUR NO. SOMETHING WRONG @ZA13672 35284700 LA R8,SYNCHNIB SET UP NIB ADDRESS @ZA13672 35294700 MVC NIBUSER(4),USERWORD UPDATE NIB USERFIELD @ZA13672 35304700 MVC NIBCID(4),CID PUT CID IN NIB @ZA13672 35314700 RECHANGE EQU * @ZA13672 35324700 OI MFLAGS,CHNGENIB CHANGE NIB INDICATOR @ZA13672 35334700 * @ZA13672 35344700 * CHANGE RPL=SYNCHRPL, RPL IS SET FOR SYNCH @ZA13672 35354700 * NIB=SYNCHNIB OPERATION. @ZA13672 35364700 CHANGE RPL=SYNCHRPL, @ZA13672*35374700 NIB=SYNCHNIB @ZA13672 35384700 SPACE 2 @ZA13672 35394700 NI SRPLEXT1,FF-RPLNIB TURN OFF RPLNIB FLAG @ZA13672 35404700 NI MFLAGS,X'FF'-CHNGENIB TURN OFF FLAG @ZA13672 35414700 EJECT @ZA13672 35424700 SPACE 2 @ZA13672 35434700 *** @ZA13672 35444700 * @ZA13672 35454700 * ERROR ACTIONS FOR CHANGE @XM9733K 35497000 * @XM9733K 35501000 * ACTION @VS49571 35503000 * RTNCD FDBK2 CODE(S) @VS49571 35505000 * CODE CODE MEANING RETURNED @VS49571 35507000 * (R15 R0) @VS49571 35509000 * @XM9733K 35511000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 35513000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @VS49571 35515000 * 0C 05 NCP ABEND. RESTART SUCCESSFUL 10 00 @VS49571 35519000 * 10 05 PERMANENT PATH FAILURE 08 00 @VS49571 35527000 * 10 06 AUTO NETWORK SHUTDOWN 08 00 @VS49571 35529000 * 10 07 VARY DEACTIVATE IMMEDIATE 08 00 @VS49571 35531000 * 10 0D VTAM INACTIVE TO YOUR TCB SNOCCUR @ZA13672 35532000 * 10 0E ABEND IN VTAM SNOCCUR @VS49571 35533000 * 14 12 CLSDST IN PROGRESS 14 00 @VS49571 35535000 * 14 13 CID INVALID 14 00 @VS49571 35537000 * 14 52 NIB INVALID SNOCCUR @ZA13672 35538000 * 14 5D OPNDST INVALID (TERM NOT CONNECTED) 14 00 @VS49571 35539000 * @VS49571 35541000 *** @VS49571 35543000 SPACE 2 @VS49571 35549000 CH R15,HEX20 HIGHEST POSSIBLE ACTION @ZA32289 35555000 BH SNOCCUR CODE IS X'20' @ZA32289 35556000 B ERRTABG(R15) CHECK VALID ACTIONS @XM9733K 35559000 ERRTABG B R0CHKG 0 CHANGE GO OK? @XM9733K 35560000 BAL R7,SNOCCUR 4 @VS49571 35563000 B RELEASE 8 CONNECTION TO DEVICE IS @XM9733K 35565000 * KAPUT; MAKE IT OFFICIAL@XM9733K 35567000 BAL R7,SNOCCUR C NO ERRORS THAT GIVE MSG @VS49571 35569000 B RECHANGE 10 REISSUE CHANGE IN ALL @XM9733K 35571000 * CASES @XM9733K 35573000 B FREERPL 14 RELEASE RPL AND RETURN @VS49571 35575000 BAL R7,SNOCCUR 18 @ZA32289 35576000 BAL R7,SNOCCUR 1C @ZA32289 35577000 B PROBDEV 20 PROBLEM WITH DEVICE @ZA32289 35578000 SPACE 2 @XM9733K 35579000 R0CHKG EQU * @ZA13672 35581000 LTR R0,R0 SUCCESSFUL COMPLETION? @VS49571 35583000 BNZ SNOCCUR NO. ERROR @VS49571 35585000 * @VS49571 35587000 * * * * * * * * END OF CHANGE ERROR HANDLING * * * * * * * * @VS49571 35589000 * @VS49571 35591000 SPACE 2 @ZA13672 35593600 L R9,RTNSAVE LOAD RETURN ADDRESS @ZA13672 35594600 BR R9 RETURN TO CALLER @ZA13672 35595600 TITLE 'GETRPL - FINDS THE FIRST FREE RPL IN A TABLE' @VS49571 35601000 ************************************************************** @VS49571 35603000 * @VS49571 35605000 * THE GETRPL SUBROUTINE HAS TWO FUNCTIONS. ITS PRIMARY @VS49571 35607000 * FUNCTION IS TO LOCATE AND INITIALIZE AN RPL/WORKAREA @VS49571 35609000 * AVAILABLE TO BE USED FOR ASYNCHRONOUS I/O REQUESTS @VS49571 35611000 * (AND SYNCHRONOUS I/O REQUESTS IN CERTAIN CASES). ITS @VS49571 35613000 * SECONDARY FUNCTION IS TO FLAG AS PENDING THOSE @VS49571 35615000 * REQUESTS THAT NEED AN RPL/WORKAREA WHEN NONE IS @VS49571 35617000 * AVAILABLE. @VS49571 35619000 * @VS49571 35621000 * INPUT REGISTERS: @VS49571 35623000 * @VS49571 35625000 * REG 10-12 - BASE REGISTERS @VS49571 35627000 * REG 14 - CALLER'S RETURN ADDRESS @VS49571 35629000 * REG 15 - REQUEST-TYPE CODE WHICH IDENTIFIES @VS49571 35631000 * THE CALLER @VS49571 35633000 * 0 - READEND EXIT-ROUTINE @VS49571 35635000 * 4 - LOSTERM EXIT-ROUTINE @VS49571 35637000 * 8 - RELREQ EXIT-ROUTINE @VS49571 35639000 * 12 - LOGON EXIT-ROUTINE @VS49571 35641000 * @VS49571 35643000 * OUTPUT REGISTERS: @VS49571 35645000 * @VS49571 35647000 * REG 0 - UNPREDICTABLE @VS49571 35649000 * REG 1 - VALUE AT INPUT @VS49571 35651000 * REG 2-4 - UNPREDICTABLE @VS49571 35653000 * REG 5 - ADDRESS OF AN INITIALIZED REL/WORKAREA@VS49571 35655000 * OR ZERO. IF REGISTER 5 IS ZERO, THEN @VS49571 35657000 * THE PENDING FLAG IS SET FOR THAT REQUEST. 35659000 * @VS49571 35668000 ***************************************************************@VS49571 35669000 SPACE 2 @VS49571 35670000 GETRPL EQU * @VS49571 35671000 SPACE 2 @VS49571 35672000 ST R14,SUBSAV14 SAVE RETURN ADDR @VS49571 35673000 LR R14,R1 SAVE R1 FOR CALLER @VS49571 35674000 SR R2,R2 CLEAR OUT POINTER @VS49571 35675000 TRT RNDXTABL(NUMRPLS),RNDXTABL @VS49571 35676000 * THIS POINTS R1 AT THE @VS49571 35677000 * FIRST ENTRY THAT IS NOT@VS49571 35678000 * ZERO. R2 CONTAINS RPL# @VS49571 35679000 * OF THE FIRST FREE RPL @VS49571 35680000 * SLOT IN RDNXTABL. @VS49571 35681000 LTR R2,R2 WAS A FREE RPL FOUND @VS49571 35682000 BZ NONEFREE NO, CHECK IF WE NEED @VS49571 35683000 * TO USE RPL0 @VS49571 35684000 EJECT @VS49571 35685000 SPACE 9 @VS49571 35686000 * @VS49571 35687000 * A FREE RPL WAS FOUND (NOTE: RPL0 IS NEVER FREE) @VS49571 35688000 * @VS49571 35689000 MVI D0(R1),ZERO INDICATE THIS RPL BUSY @VS49571 35690000 LR R5,R2 PREPARE FOR MULT. @VS49571 35691000 M R4,LNGTHRPL R5 CONTAINS THE @VS49571 35692000 * DISPLACEMENT @VS49571 35693000 A R5,ARPL0 R5 NOW POINTS TO THE RPL@VS49571 35694000 EJECT @VS49571 35695000 SPACE 6 @VS49571 35696000 INITRPL EQU * INITIALIZE THE RPL @VS49571 35697000 MVC IFGRPL(LNIFGRPL),FRESHRPL @VS49571 35698000 * INIT THE RPL AREA @VS49571 35699000 * NOTE THIS MAKES THE RPL ASYNCH @VS49571 35700000 * @VS49571 35701000 MVI WORKSPAC,ZERO MOVE ZERO'S TO THE @VS49571 35702000 * RPL WORK AREA @VS49571 35703000 MVC WORKSPAC+ONE(WORKRPLA),WORKSPAC @VS49571 35704000 MVC WORKSPAC+WORKRPLA(WRPLREST),WORKSPAC @VS49571 35705000 C R5,ARPL0 IS THIS RPL0 @VS49571 35706000 BNE GETRPLND NO, BRANCH @VS49571 35707000 * @VS49571 35708000 * RPL0 MUST BE MADE SYNCH @VS49571 35709000 * @VS49571 35710000 NI RPLOPT1,FF-RPLASY MAKE RPL SYN @VS49571 35711000 OI FLAGS2,SYNCHIO MAKE WORK AREA SYN @VS49571 35712000 SPACE 4 @VS49571 35713000 GETRPLND EQU * @VS49571 35714000 * @VS49571 35715000 * EXIT FROM THE SUBRTN @VS49571 35716000 * @VS49571 35717000 LR R1,R14 RESET R1 @VS49571 35718000 L R14,SUBSAV14 GET RETURN ADDR TO CALLR@VS49571 35719000 BR R14 RETURN TO CALLER @VS49571 35720000 EJECT @VS49571 35721000 SPACE 4 @VS49571 35722000 NONEFREE EQU * @VS49571 35723000 SPACE 2 @VS49571 35724000 LTR R15,R15 IS CALLER 'READEND' EXIT@VS49571 35725000 BNZ SEEIFLGN NO, SEE IF FROM LOGON @VS49571 35726000 SPACE 2 @VS49571 35727000 OI UFLAGS,NEEDREAD INDICATE READ PENDING @VS49571 35728000 SPACE 2 @VS49571 35729000 GOTNONE EQU * @VS49571 35730000 SPACE 2 @VS49571 35731000 SR R5,R5 PASS BACK NO RPL @VS49571 35732000 B GETRPLND GO BACK TO CALLER @VS49571 35733000 SPACE 4 @VS49571 35734000 SEEIFLGN EQU * @VS49571 35735000 SPACE 2 @VS49571 35736000 CH R15,HEXC IS CALLER 'LOGON' EXIT @VS49571 35737000 * TO PUT OUT READ @ZA13651 35787000 BE GOTNONE YES, GIVE NO RPL TO CALLER 36370000 * NO, IT MUST BE RELREQ, @ZA13651 36379000 * LOSTERM OR LOGON TO @ZA13651 36379700 * PUT OUT ERASE WRITE @ZA13651 36380400 SPACE 2 @VS49571 36382000 L R5,ARPL0 POINT TO RPL0 @VS49571 36383000 TM 69(5),X'FF' IS RPL ACTIVE? @ZA43303 36384000 BNO INITRPL INITIALIZE THE RPL @ZA43303 36384200 MVI DUMPFLAG,RPL0CODE MOVE IN DUMP CODE @ZA43303 36384400 B DUMP BRANCH TO DUMP @ZA43303 36384600 TITLE 'READSUB - SUBRTN TO DO READ(ANY)' @VS49571 36385000 *********************************************************************** 36442000 * * 36460000 * READ (ANY) @VS49571 36469000 * @VS49571 36470000 * THIS SUBROUTINE IS ENTERED ONLY WHEN A READ(ANY) IS TO@VS49571 36471000 * BE ISSUED. @VS49571 36472000 * @VS49571 36473000 * INPUT REGISTERS: @VS49571 36474000 * @VS49571 36475000 * REG 10-12 - BASE REGISTERS @VS49571 36476000 * REG 5 - POINTS TO AN ASYNCHRONOUS RPL PLUS @VS49571 36477000 * ITS WORKAREA @VS49571 36478000 * REG 14 - CALLER'S RETURN ADDRESS @VS49571 36479000 * @VS49571 36480000 * OUTPUT REGISTERS: @VS49571 36481000 * @VS49571 36482000 * REG 0-1 - UNPREDICTABLE @VS49571 36483000 * REG 2-14 - VALUE AT INPUT @VS49571 36484000 * REG 15 - UNPREDICTABLE @VS49571 36485000 * @VS49571 36486000 * @VS49571 36487000 * * 36658000 *********************************************************************** 36667000 SPACE 2 @XL03HAJ 36676000 READSUB EQU * @VS49571 36685000 SPACE 2 36694000 ST R14,SUBSAV14 SAVE RETURN ADDR @VS49571 36703000 SPACE 2 @VS49571 36704000 READANY EQU * @VS49571 36705000 SPACE 2 @VS49571 36706000 OI MFLAGS,READA INDICATE READ(ANY) IN PROGRESS 36748000 SPACE 2 @VS49571 36757000 * READ RPL=(PTRRPL), @VS49571* 36758000 * OPTCD=(ASY,ANY), @VS49571 36759000 * AREA=IOAREA, @VS49571 36760000 * AREALEN=L'IOAREA, @VS49571 36761000 * EXIT=READEND @VS49571 36762000 SPACE 2 @VS49571 36763000 READ RPL=(PTRRPL), @VS49571*36764000 OPTCD=(ASY,ANY), @VS49571*36765000 AREA=IOAREA, @VS49571*36766000 AREALEN=L'IOAREA, @VS49571*36767000 EXIT=READEND @VS49571 36768000 SPACE 2 @VS49571 36769000 NI MFLAGS,FF-READA READ(ANY) ISSUED @VS49571 36770000 EJECT @VS49571 36771000 SPACE 2 @VS49571 36772000 *** @VS49571 36773000 * @VS49571 36774000 * ERROR ACTIONS FOR READ(ANY) @VS49571 36775000 * @VS49571 36776000 * ACTION @VS49571 36777000 * RTNCD FDBK2 CODE(S) @VS49571 36778000 * CODE CODE MEANING RETURNED @VS49571 36779000 * (R15 R0) @VS49571 36780000 * @VS49571 36781000 * 00 00 SUCCESSFUL COMPLETION 00 00 @VS49571 36782000 * 08 00 TEMP STORAGE ALLOCATION FAILURE 10 00 @XL03HAJ 37019000 * @XL03HAJ 37028000 *** @XL03HAJ 37037000 SPACE 2 @XL03HAJ 37046000 CH R15,HEX10 VTAM BUFFERS FULL? @XL03HAJ 37055000 * (ONLY POSSIBLE ERROR) @XL03HAJ 37064000 BE READANY YES. REISSUE @XL03HAJ 37073000 LTR R15,R15 READ-ANY ACCEPTED? @XL03HAJ 37082000 BNZ RDEXERR NO. IMPOSSIBLE @ZA32003 37100000 LTR R0,R0 ACCEPTED? (2ND TEST)? @VS49571 37105000 BNZ RDEXERR NO. ERROR @ZA32003 37110000 * @XL03HAJ 37127000 * * * * * * * * END OF READ ERROR HANDLING * * * * * * * * * * @XL03HAJ 37136000 * @XL03HAJ 37145000 SPACE 8 @VS49571 37154000 L R14,SUBSAV14 RESTORE THE RETURN ADDR @VS49571 37155000 BR R14 RETURN TO CALLER @VS49571 37156000 RDEXERR EQU * READ EXIT ERROR @ZA32003 37156200 AIF ('&ABEND' EQ 'YES').SKP1 @ZA32003 37156300 OI MFLAGS2,ERRCON TURN ON SO DUMP TAKEN @ZA32003 37156400 .SKP1 ANOP @ZA32003 37156500 BAL R7,SNOCCUR SHOULD NOT OCCUR @ZA32003 37156600 SPACE 6 @VS49571 37157000 STARTADD DC A(START) FIRST BASE. USED BY @VS49571 37158000 * THE EXIT ROUTINES TO @VS49571 37159000 * ESTABLISH ADDRESSABILITY 38031000 TITLE 'ERREXIT - ERROR OCCURRED' @XL03HAJ 38035000 SPACE 2 38044000 *********************************************************************** 38053000 * * 38062000 * THIS ROUTINE IS ENTERED IF AN ERROR IS DETECTED. @XL03HAJ 38080000 * * 38089000 * INPUT REGS: * 38098000 * * 38107000 * REGISTER 0 CONTAINS A RTNCD CODE (4, 8, C, 10, 14, 18) @VS49571 38116000 * @XL03HAJ 38125000 * REGISTER 1 POINTS TO THE RPL OF THE REQUEST * 38134000 * @XL03HAJ 38143000 * THE FDBK2 FIELD OF THIS RPL CONTAINS A REASON @XL03HAJ 38152000 * CODE WHICH IS A SUBCODE OF THE RTNCD CODE IN @VS49571 38161000 * REGISTER 0. @XL03HAJ 38180000 * * 38186000 * REGISTER 2 - 12 UNMODIFIED BY VTAM * 38199000 * * 38208000 * REGISTER 13 POINTS TO THE SAVE AREA IN USE * 38217000 * * 38226000 * REGISTER 14 CONTAINS RETURN ADDRESS TO VTAM * 38235000 * * 38244000 * REGISTER 15 ERREXIT ROUTINE ADDRESS @VS49571 38253000 * @VS49571 38254000 * @XL03HAJ 38280000 * @XL03HAJ 38289000 * EXIT FROM ERREXIT IS AS FOLLOWS: @XL03HAJ 38298000 * @XL03HAJ 38307000 * THRU ERRETURN TO VTAM, WHICH WILL RETURN TO THE @XL03HAJ 38316000 * MAINLINE OR EXIT ROUTINE NSI. @XL03HAJ 38325000 * @XL03HAJ 38334000 * TO SNOCCUR, WHICH WILL ABNORMALLY TERMINATE @XL03HAJ 38343000 * NETSOL. @XL03HAJ 38352000 * @DA04534 38370000 * TO PROBDEV. @VS49571 38379000 * @XL03HAJ 38388000 * @XL03HAJ 38397000 * OUTPUT REGS: @XL03HAJ 38406000 * @XL03HAJ 38415000 * REGISTER 1-9 UNPREDICTABLE @ZM32689 38424000 * @XL03HAJ 38433000 * REGISTER 10-12 NETSOL BASE REGISTERS @ZM32689 38442000 * @XL03HAJ 38460000 * REGISTER 13 SAVE AREA UPON ENTRY @Z40GKD3 38469000 * @XL03HAJ 38478000 * REGISTER 14 UNPREDICTABLE IF EXIT TO SNOCCUR OR @XL03HAJ 38487000 * RETURN. @XL03HAJ 38496000 * VALUE AT INPUT IF RETURN TO VTAM. @XL03HAJ 38505000 * @XL03HAJ 38514000 * REGISTER 15 THE INPUT RTNCD CODE IF ERREXIT WAS @VS49571 38523000 * ENTERED FROM MAINLINE NETSOL. @XL03HAJ 38532000 * AN ACTION CODE IF ENTERED FROM AN EXIT @XL03HAJ 38550000 * ROUTINE. @XL03HAJ 38559000 * @XL03HAJ 38568000 * REGISTER 0 UNPREDICTABLE IF ENTERED FROM MAINLINE @XL03HAJ 38577000 * NETSOL. @XL03HAJ 38586000 * AN ACTION CODE MODIFIER IF ENTERED FROM AN @XL03HAJ 38595000 * EXIT ROUTINE. @XL03HAJ 38604000 * @XL03HAJ 38613000 * NOTE: REGISTERS 0 AND 15 WILL BE RETURNED THRU VTAM @XL03HAJ 38622000 * TO MAINLINE OR EXIT ROUTINE NSI. @XL03HAJ 38631000 EJECT @XL03HAJ 38650000 * DESCRIPTION OF ACTION CODES AND FLAGS @VS49571 38656000 * @VS49571 38657000 * @VS49571 38658000 * THE ERREXIT ROUTINE COMMUNICATES TO THE ERROR EXIT NSI@VS49571 38659000 * VIA AN ACTION CODE SET IN REG 15 AND, IN SOME CASES, @VS49571 38660000 * AN ACTION CODE MODIFIER SET IN REG 0. IN SOME SPECIAL @VS49571 38661000 * CASES, FLAGS ARE SET TO PASS INFORMATION TOO. @VS49571 38662000 * @VS49571 38663000 * THE ACTION CODES AND MODIFIERS INDICATE APPROPRIATE @VS49571 38664000 * ACTIONS TO BE TAKEN BY THE EXIT ROUTINE. THE EXIT @VS49571 38665000 * ROUTINE MAY, HOWEVER, HANDLE THE ERROR ACTION @VS49571 38666000 * DIFFERENTLY FROM WHAT ERREXIT INDICATES BY ITS ACTION @VS49571 38667000 * CODE, IF IT SO CHOOSES. @VS49571 38668000 * @VS49571 38669000 * ACTION CODES AND MODIFIERS ARE AS FOLLOWS: @VS49571 38670000 * @VS49571 38671000 * 00 MACRO COMPLETED SUCCESSFULLY @VS49571 38672000 * REG 0 MODIFIER=0 @VS49571 38673000 * @VS49571 38674000 * 04 THIS IS A SNO (SHOULD NOT OCCUR) WHICH WILL NOT@VS49571 38675000 * BE SET BY THE ERROR EXIT. IF THIS IS SET AT @VS49571 38676000 * NSI, THE NETWORK SOLICITOR SHOULD ABNORMALLY @VS49571 38677000 * TERMINATE. @VS49571 38678000 * @VS49571 38679000 *TORELES 08 BRANCH TO RELEASE @VS49571 38680000 * @VS49571 38681000 *TOWRITE 0C BRANCH TO WRITEMSG @VS49571 38682000 * REG 0 MODIFIER=MESSAGE NUMBER PLUS X'80' IF @VS49571 38683000 * RESET NEEDED @VS49571 38684000 * @VS49571 38685000 *REISSU 10 RESET AND/OR REISSUE THE REQUEST @VS49571 38686000 * REG 0 MODIFIER=0 REISSUE @VS49571 38687000 *RSETONLY =4 RESET @VS49571 38688000 *RESET1ST =8 RESET AND REISSUE @VS49571 38689000 * @VS49571 38690000 *TOENDREQ 14 BRANCH TO FREERPL @VS49571 38691000 * @VS49571 38692000 *CATCHALL 18 TAKE ACTION ACCORDING TO MODIFIER @VS49571 38693000 *TOSOLIC REG 0 MODIFIER=0 SOLICIT @VS49571 38694000 *NOFLUSH =4 STOP FLUSHING I/O @VS49571 38695000 *IGNORE =8 CHANGE 'GENED' STATUS FROM @VS49571 38696000 * I/O TO INPUT ONLY @VS49571 38697000 * @VS49571 38698000 *RSETSOL 1C BRANCH TO RESET THEN SOLICIT @VS49571 38699000 * @VS49571 38700000 *TOPROBDV 20 BRANCH TO PROBDEV @VS49571 38701000 * @VS49571 38702000 * SINCE NETSOL DOES NOT ISSUE ALL API MACROS, NOT ALL @VS49571 38703000 * RTNCD CODES AND REASON CODES ARE POSSIBLE. THOSE @VS49571 38704000 * FDBK3 CODES WHICH CAN OCCUR FOR THE MACROS ISSUED ARE @VS49571 38705000 * LISTED WITHIN THE SUBSECTIONS OF ERREXIT FOR EACH @VS49571 38706000 * RTNCD CODE. THIS LIST INCLUDES ANY WHICH MAY BE @VS49571 38707000 * IMPOSSIBLE BECAUSE OF CURRENT NETSOL LOGIC. THOSE WHICH @VS49571 38708000 * ARE POSSIBLE ARE INDICATED WITH AN '*'. RECORD ONLY @VS49571 38709000 * CODES ARE NOT LISTED. @VS49571 38710000 * @VS49571 38711000 * @VS49571 38712000 * THE FLAGS SET ARE: @VS49571 38713000 * @VS49571 38714000 * LOOPONCE - REISSUE I/O COMMAND ONE MORE TIME. IF @VS49571 38715000 * THE REISSUED COMMAND IS SUCCESSFUL, THE @VS49571 38716000 * FLAG MUST BE TURNED OFF BY THE MAINLINE @VS49571 38717000 * OR EXIT ROUTINE. IF UNSUCCESSFUL, @VS49571 38718000 * ERREXIT TURNS OFF THE FLAG ON ENTRY TO @VS49571 38719000 * HANDLE THE FAILURE. @VS49571 38720000 * @XL03HAJ 39333000 * RELOPND - RELEASE THE DEVICE THEN OPNDST(ACQUIRE) @XL03HAJ 39342000 * IT, THUS RE-ESTABLISHING A SESSION FOR @XL03HAJ 39360000 * THAT DEVICE. @XL03HAJ 39369000 * @XL03HAJ 39376000 * SHUTDOWN - NETSOL SHUTDOWN IN PROGRESS. IF THIS @XL03HAJ 39390000 * BIT IS ON AT ENTRY TO AN EXIT ROUTINE @XL03HAJ 39397000 * OTHER THAN TPEND, NO PROCESSING IS DONE @XL03HAJ 39404000 * WITHIN THE ROUTINE. THIS WILL RAPIDLY @XL03HAJ 39419000 * FLUSH EXITS REQUESTS ALREADY SCHEDULED @XL03HAJ 39428000 * AT THE TIME A NEED FOR SHUTDOWN IS @XL03HAJ 39437000 * DETECTED. @XL03HAJ 39446000 * NOTE: THIS BIT IS ALSO SET BY THE TPEND @XL03HAJ 39455000 * EXIT, WHICH HAS BEEN SCHEDULED @XL03HAJ 39464000 * PRIOR TO ENTRY TO ERREXIT FOR A @XL03HAJ 39473000 * SHUTDOWN CONDITION. @XL03HAJ 39482000 * @XL03HAJ 39500000 *********************************************************************** 39509000 SPACE 2 39518000 ERREXIT EQU * @XL03HAJ 39527000 SPACE 2 39536000 *********************************************************************** 39545000 * * 39554000 * NO NEED TO ESTABLISH ADDRESSABILITY, SINCE BASE REGISTERS * 39563000 * HAVE NOT BEEN MODIFIED. NOTE THAT ALSO PTRRPL POINTS TO RPL * 39572000 * USED IN EXIT ROUTINE, ALTHOUGH IT IS NOT NECESSARILY THE RPL * 39590000 * IN USE WHEN ERREXIT WAS ENTERED, I. E. SYNCHRPL MAY @VS49571 39599000 * HAVE BEEN IN USE FOR INQUIRE (APPSTAT). @XL03HAJ 39608000 * * 39617000 *********************************************************************** 39626000 SPACE 2 @XL03HAJ 39635000 LR R15,R0 SAVE RTNCD CODE TO @VS49571 39644000 * USE AS RETURN CODE IF @XL03HAJ 39653000 * ENTRY FROM MAINLINE. @XL03HAJ 39662000 STC R15,RTNCD SAVE RTNCD CODE @VS49571 39680000 SPACE 2 @VS49571 39681000 *********************************************************************** 39698000 * * 39707000 * CHECK IF ERREXIT HAS BEEN ENTERED FROM MAIN-LINE OR @XL03HAJ 39716000 * EXIT ROUTINE. IF ERROR IN MAIN-LINE THEN RETURN VIA @XL03HAJ 39725000 * REGISTER 14, AND UPON RETURN TO MAIN-LINE CODE @XL03HAJ 39734000 * APPROPRIATE ACTION WILL BE TAKEN. @XL03HAJ 39743000 * * 39752000 *********************************************************************** 39770000 SPACE 2 39779000 LR R3,R14 SAVE RETURN ADDR @XL03HAJ 39788000 LA R8,SETLRPL IS REQUEST A @VS49571 39797000 CR R1,R8 SETLOGON? @VS49571 39798000 BER R14 YES. IN MAINLINE @VS49571 39799000 * AND RETURN TO VTAM. @VS49571 39800000 SPACE 2 39815000 CH R15,HEX18 18 RPL ECB/EXIT PROBLEM? @XL03HAJ 39824000 BNL SNOCCUR YES. CANNOT VALIDLY @XL03HAJ 39833000 * OCCUR SINCE SHUTDOWN @XL03HAJ 39842000 * SWITCH STOPS EXITS' @XL03HAJ 39860000 * ACTION PRIOR TO THE @XL03HAJ 39869000 * CLSDSTACB. @VS49571 39878000 * NOTE. CODES HIGHER @XL03HAJ 39887000 * THAN 18 DO NOT EXIST @XL03HAJ 39896000 SPACE 2 39905000 ************************************************************** @VS49571 39914000 * @VS49571 39915000 * UPON ENTRY IF R1 ^=> ADDRESS OF RPL0, OR R1 ^= R5, @VS49571 39916000 * THEN R1'S AND R5'S INFORMATION MUST BE COMBINED. @VS49571 39917000 * THE COMMAND THAT CAUSED THE ERROR WAS @VS49571 39918000 * ISSUED USING SYNCHRPL AND R5 IS POINTING TO AN @VS49571 39919000 * ASYNCH RPL. FOR THIS RTN WE NEED SOME INFO IN BOTH. @VS49571 39920000 * @VS49571 39921000 ************************************************************** @VS49571 39922000 SPACE 2 @VS49571 39923000 * XXXXXXXXXXXX @VS49571 39924000 DROP R5 @VS49571 39925000 USING IFGRPL,R1 @VS49571 39926000 * XXXXXXXXXXXX @VS49571 39927000 SPACE 2 @VS49571 39928000 CR R1,R5 ARE WE USING ONE RPL @VS49571 39929000 BE ERRPLOK YES, BRANCH @VS49571 39930000 MVC SYNWORK(WORKRPLA),LNIFGRPL(R5) @VS49571 39931000 MVC SYNWORK+WORKRPLA(WRPLREST),INRPLWRK(R5) @VS49571 39932000 * MOVE THE ASYNCH RPL @VS49571 39933000 * WORKAREA TO THE SYNCH @VS49571 39934000 * RPL WORKAREA @VS49571 39935000 ERRPLOK EQU * @VS49571 39936000 EJECT @VS49571 39937000 *********************************************************************** 40157000 * * 40166000 * GET THE FDBK2 FIELD FROM THE RPL. NOTE THAT R1 AND @VS49571 40175000 * R5 POINT TO THE RPL FOR THE REQUEST THAT FAILED. @VS49571 40176000 * @VS49571 40177000 * GET SENSE FIELD IN CASE OF BISYNCH STATUS ERROR @VS49571 40178000 * MESSAGE FROM 3277, 3275, 3741, OR 3747. @VS49571 40179000 * * 40229000 *********************************************************************** 40238000 SPACE 2 @VS49571 40247000 SR R6,R6 CLEAR REG 6 . @VS49571 40248000 IC R6,RPLFDB2 PICK UP REASON CODE @VS49571 40249000 STC R6,FDBK2 SAVE FOR DEBUGGING. @VS49571 40250000 LR R7,R6 START TO INITIALIZE R7 @VS49571 40251000 * WHICH WILL BE USED AS @VS49571 40252000 * AN INDEX FOR BRANCH @VS49571 40253000 * TABLES @VS49571 40254000 SR R0,R0 SET UP DEFAULT ACTION @VS49571 40255000 * MODIFIER OF ZERO @VS49571 40256000 MVC STATUS2(2),RPLFDBK2 MOVE BI-SYNCH STATUS @VS49571 40257000 * FROM THE RPL. @VS49571 40258000 EJECT @VS49571 40259000 *********************************************************************** 40373000 * * 40382000 * TRANSLATE RTNCD CODE AND FDBK2 CODE INTO ACTION CODE @VS49571 40400000 * @XL03HAJ 40409000 * RTNCD CODES HAVE A GENERAL MEANING AS FOLLOWS: @VS49571 40418000 * @XL03HAJ 40427000 * 04 EXTRAORDINARY COMPLETION @XL03HAJ 40436000 * FUNCTION COMPLETED. ADDITIONAL INFORMATION @XL03HAJ 40445000 * AVAILABLE. PROBABLY HANDLED OUT OF LINE. @XL03HAJ 40454000 * CONDITION SHOULD BE HANDLED BEFORE MAKING @XL03HAJ 40463000 * FURTHER REQUESTS TO THE DEVICE. @XL03HAJ 40472000 * @XL03HAJ 40490000 * 08 REISSUE @XL03HAJ 40499000 * TEMPORARY ENVIRONMENT CONDITION CAUSED @XL03HAJ 40508000 * REQUEST TO BE REJECTED. @XL03HAJ 40517000 * @XL03HAJ 40526000 * 0C DAMAGE @XL03HAJ 40535000 * INTEGRITY OF THE REQUEST OR DEVICE HAS BEEN @XL03HAJ 40544000 * DISTURBED. @XL03HAJ 40553000 * @XL03HAJ 40562000 * 10 ENVIRONMENT ERROR @XL03HAJ 40580000 * REQUEST INCOMPLETE DUE TO ENVIRONMENTAL @XL03HAJ 40589000 * CONDITION. ENVIRONMENT MUST BE ALTERED @XL03HAJ 40598000 * BEFORE RECOVERY CAN BE ATTEMPTED. @XL03HAJ 40607000 * @XL03HAJ 40616000 * 14 USER LOGIC ERROR @XL03HAJ 40625000 * USER ERROR ON THE REQUEST. REQUEST REJECTED @XL03HAJ 40634000 * OR INCOMPLETE. NOT EXECUTABLE IN THE @XL03HAJ 40643000 * PRESENT FORM. @XL03HAJ 40652000 * @XL03HAJ 40670000 * 18 RPL NOT AN RPL OR RPL IS ALREADY ACTIVE. @VS49571 40679000 * @XL03HAJ 40688000 *********************************************************************** 40697000 SPACE 2 @XL03HAJ 40706000 B FEEDTAB(R15) GO TO FEEDBACK CODE @XL03HAJ 40715000 * HANDLING ROUTINE @XL03HAJ 40724000 FEEDTAB BAL R7,SNOCCUR 0 FEEDBACK OF 00 DOESN'T @VS49571 40733000 * ENTER LERAD OR SYNAD @XL03HAJ 40742000 B EXTRAORD 4 EXTRAORDINARY COM- @XL03HAJ 40760000 * PLETION @XL03HAJ 40769000 B REISSUE 8 REISSUE @XL03HAJ 40778000 B DAMAGE C DAMAGE @XL03HAJ 40787000 B ENVIRON 10 ENVIRONMENT ERROR @XL03HAJ 40796000 B LOGIC 14 LOGIC ERROR @XL03HAJ 40805000 TITLE 'ERREXIT - ERROR OCCURRED RTNCD = 04' @VS49571 40814000 SPACE 2 @XL03HAJ 40823000 *** @XL03HAJ 40832000 * @XL03HAJ 40850000 * RTNCD CODE 04 - EXTRAORDINARY COMPLETION @VS49571 40859000 * @XL03HAJ 40868000 * FDBK2 CODE MACRO(S) MEANING @VS49571 40877000 * @XL03HAJ 40886000 * 00 * WRITE(LBT)/CHECK RVI RECEIVED @XL03HAJ 40895000 * @XL03HAJ 40904000 * 01 * READ(ANY)/CHECK ATTENTION OR REVERSE BREAK @XL03HAJ 40913000 * * WRITE(LBT)/CHECK @XL03HAJ 40940000 * @XL03HAJ 40949000 * 02 * READ(ANY)//CHECK BSC STATUS MSG RECEIVED @DA04534 40958000 * * WRITE(LBT)/CHECK @DA04534 40976000 * @XL03HAJ 40985000 *** @XL03HAJ 40994000 SPACE 2 @XL03HAJ 41003000 EXTRAORD EQU * @XL03HAJ 41012000 CH R6,HEX2 IS REASON CODE WITHIN @XL03HAJ 41030000 * LIMITS OF POSSIBILITY? @XL03HAJ 41039000 BH SNOCCUR >2 NO. ERROR @XL03HAJ 41048000 SPACE 2 @XL03HAJ 41057000 AR R7,R7 MULTIPLY REASON CODE BY @XL03HAJ 41066000 AR R7,R6 12 FOR BRANCH TABLE @XL03HAJ 41075000 SLL R7,D2 INDEXING @XL03HAJ 41084000 B RSNTAB4(R7) GO TO REASON @XL03HAJ 41093000 * HANDLING ROUTINE @XL03HAJ 41102000 RSNTAB4 LA R15,REISSU 0 RVI RECEIVED @XL03HAJ 41120000 LA R0,RSETONLY THIS MEANS 'THE WRITE @XL03HAJ 41129000 B ERRETURN WENT OK, BUT PLEASE @XL03HAJ 41138000 * STOP BECAUSE THE NCP @XL03HAJ 41147000 * IS GETTING OVER- @XL03HAJ 41156000 * LOADED', BUT IS NOT A @XL03HAJ 41165000 * DEMAND. THE WRITE WAS @XL03HAJ 41174000 * FOR ONE BLOCK ONLY, SO @XL03HAJ 41183000 * NETSOL NEEDS ONLY TO @XL03HAJ 41192000 * RESET THE ERROR LOCK. @XL03HAJ 41210000 * @XL03HAJ 41219000 LA R15,REISSU 1 ATTENTION OR REVERSE @XL03HAJ 41228000 * BREAK RECEIVED @XL03HAJ 41237000 LA R0,RSETONLY TEMPORARILY ASSUME @XL03HAJ 41246000 B ATTNCHK WRITE, THEN CHECK IT @XL03HAJ 41255000 * @XL03HAJ 41264000 B WHATDEV1 2 BISYNCH STATUS ERR MSG @DA04534 41273000 SPACE 4 @DA04534 41282000 ATTNCHK EQU * @XL03HAJ 41300000 TM MFLAGS,WRITING IF ERROR ON WRITE, THEN @XL03HAJ 41309000 * MUST HAVE BEEN A @XL03HAJ 41318000 * REVERSE BREAK, WHICH @XL03HAJ 41327000 * STOPS THE WRITE TO @XL03HAJ 41336000 * SEND IN DATA TO READ. @XL03HAJ 41345000 * RESET THE ERROR LOCK @XL03HAJ 41354000 BO ERRETURN AND ACT AS IF WRIT WENT@XL03HAJ 41363000 LA R15,RSETSOL YES. MUST HAVE BEEN @ZA38609 41390000 SR R0,R0 @VS49571 41391000 TM MFLAGS,READA IS THIS A READ(ANY) @VS49571 41392000 BO ERRETURN YES, RETURN @VS49571 41393000 BAL R7,SNOCCUR NO OTHER POSSIBILITY @VS49571 41394000 SPACE 4 @DA04534 41499000 WHATDEV1 EQU * @DA04534 41508000 LA R15,TORELES ASSUME DEVICE UNUSABLE @DA04534 41517000 CLI TYPECODE,DEV3277 IS IT A 3277? @DA04534 41526000 BE STAT3270 YES. HANDLE AS A 3270 @DA04534 41535000 CLI TYPECODE,DEV3275 IS IT A 3275? @DA04534 41544000 BE STAT3270 YES. HANDLE AS A 3270 @DA04534 41553000 CLI TYPECODE,DEV3741 IS IT A 3741? @DA04534 41562000 BE STAT3741 YES. HANDLE 3741 @DA04534 41580000 CLI TYPECODE,DEV3747 IS IT A 3747? @DA04534 41589000 BE STAT3747 YES HANDLE 3747 @DA04534 41598000 LA R15,TOPROBDV SOMETHING'S WRONG @Z40GKD3 41607000 B ERRETURN NO. MUST BE ONE OF THE @Z40GKD3 41616000 * ABOVE @DA04534 41625000 SPACE 4 @DA04534 41634000 STAT3270 EQU * HANDLE BISYNCH STATUS @DA04534 41643000 * ERROR MESSAGE FOR A @DA04534 41652000 * 3270 DEVICE @DA04534 41670000 CLC STATUS2,BISTC240 WAS BISYNCH STATUS RET- @DA04534 41679000 * URNED FOR DEVICE END @DA04534 41688000 * (ALONE), WHICH SHOWS @DA04534 41697000 * POWER ON? @DA04534 41706000 BE INTRREQ1 YES, CHECK MORE @VS49571 41715000 CLC STATUS2,BIST4050 NO, CHECK IF INTERUPT @VS49571 41716000 * REQUIRED (DEVICE POWER-@VS49571 41717000 * ED OFF). @VS49571 41718000 BNE ERRETURN IF NOT POWERED OFF, JUST@VS49571 41719000 * RELEASE THE DEVICE. @VS49571 41720000 OI FLAGS,RELOPND RELEASE DEVICE, THEN @ZA28912 41721000 * ATTEMP TO RECONNECT @ZA28912 41721600 B ERRETURN @VS49571 41723000 INTRREQ1 EQU * @VS49571 41724000 LA R15,TOWRITE IN CASE DEVICE PROBLEM @ZA44250 41814000 LA R0,MSG12 WRITE GOOD MORNING MSG @ZA44250 41823000 * TM MFLAGS,READA+WRITING DELETED BY APAR ZA44250 @ZA44250 41832000 * INITIAL READ OR WRITE @DA04534 41841000 * OF AN ERROR MESSAGE? @DA04534 41850000 * BZ ERRETURN DELETED BY APAR ZA44250 @ZA44250 41859000 * FLUSHING @DA04534 41868000 * LA R15,REISSU DELETED BY APAR ZA44250 @ZA44250 41877000 B ERRETURN SOLICIT OR THE WRITE @DA04534 41886000 * AGAIN. R0 ALREADY SET @DA04534 41895000 * FOR REISSUE ONLY. @DA04534 41904000 SPACE 4 @DA04534 41913000 STAT3741 EQU * HANDLE BISYNCH STATUS @DA04534 41922000 * ERROR MESSAGE FOR 3741 @DA04534 41940000 CLC STATUS2,BISTF2 NO RECORD FOUND ON @DA04534 41949000 * DISKETTE? @DA04534 41958000 BE NORECORD YES. NO RECORD. RE- @DA04534 41967000 * ISSUE THE SOLICIT/READ @DA04534 41976000 CLC STATUS2,BISTE2 NO. DID OPERATOR ABORT @DA04534 41985000 * JOB BY PRESSING RESET? @DA04534 41994000 BNE ERRETURN NO. OTHER ERROR. @DA04534 42003000 * RELEASE THE DEVICE. @DA04534 42012000 B ABORTED YES. GO TO 3741/3747 @DA04534 42030000 * COMMON 'ABORTED' ROU- @DA04534 42039000 * TINE @DA04534 42048000 SPACE 2 @DA04534 42057000 NORECORD EQU * @DA04534 42066000 LA R15,TOPROBDV IN CASE DEVICE PROBLEM @Z40GKD3 42075000 TM MFLAGS,READA HAPPEN ON READ(ANY)? @ZA33715 42084000 BZ ERRETURN NO. IMPOSSIBLE @Z40GKD3 42093000 LA R15,TOWRITE YES. ISSUE ERROR MSG @DA04534 42102000 LA R0,MSG02 TO TERMINAL OPERATOR @DA04534 42120000 B ERRETURN @DA04534 42129000 SPACE 4 @DA04534 42138000 STAT3747 EQU * HANDLE BISYNCH STATUS @DA04534 42147000 * ERROR MESSAGE FOR 3747 @DA04534 42156000 CLC STATUS2,BIST50 OPERATOR REQUEST ABORT? @DA04534 42165000 BE ERRETURN NO. OTHER BISYNCH ERR. @DA04534 42174000 * RELEASE THE DEVICE @DA04534 42183000 * YES. FALL THRU TO @DA04534 42192000 * COMMON 3741/3747 ABORT @DA04534 42210000 * ROUTINE @DA04534 42219000 SPACE 4 @DA04534 42228000 ABORTED EQU * COMMON ABORT ROUTINE @DA04534 42237000 LA R15,TOPROBDV IN CASE DEVICE PROBLEM @Z40GKD3 42246000 TM MFLAGS,READA+WRITING HAPPEN ON READ OR WRITE? 42255000 BZ ERRETURN NO. IMPOSSIBLE @Z40GKD3 42264000 LA R15,RSETSOL YES. RESET THEN SOLICIT @DA04534 42273000 B ERRETURN @DA04534 42282000 TITLE 'ERREXIT - ERROR OCCURRED RTNCD = 08' @VS49571 42300000 SPACE 2 #XL03HAJ 42306000 *** #XL03HAJ 42319000 * #XL03HAJ 42328000 * RTNCD CODE 08 - REISSUE @VS49571 42337000 * @XL03HAJ 42346000 * FDBK2 CODE MACRO(S) MEANING @VS49571 42355000 * @XL03HAJ 42364000 * 00 * ALL API MACROS TEMPORARY STORAGE @XL03HAJ 42373000 * (NOT CHECK, ALLOCATION FAILURE @XL03HAJ 42382000 * OPEN, OR CLOSE) @XL03HAJ 42400000 * @XL03HAJ 42409000 *** @XL03HAJ 42418000 SPACE 2 @XL03HAJ 42427000 REISSUE EQU * @XL03HAJ 42434000 LTR R6,R6 ONLY VALID REASON CODE @XL03HAJ 42450000 * IS 0 @XL03HAJ 42456000 BNZ SNOCCUR >0 ERROR IF NOT @XL03HAJ 42469000 LA R15,REISSU 0 ACTION IS TO REISSUE @XL03HAJ 42478000 * REG 0 IS ALREADY SET FOR@XL03HAJ 42487000 * REISSUE ONLY @XL03HAJ 42496000 B ERRETURN RETURN TO EXIT ROUTINE @XL03HAJ 42505000 TITLE 'ERREXIT - ERROR OCCURRED RTNCD = 0C' @VS49571 42514000 SPACE 2 @XL03HAJ 42523000 *** @XL03HAJ 42532000 * @XL03HAJ 42550000 * FEEDBACK CODE 0C - DAMAGE @XL03HAJ 42559000 * @XL03HAJ 42568000 * REASON CODE MACRO(S) MEANING @XL03HAJ 42577000 * @XL03HAJ 42586000 * 00 * READ(ANY)/CHECK I/O ERROR. DEVICE @XL03HAJ 42595000 * * WRITE(LBT)/CHECK @XL03HAJ 42613000 * @XL03HAJ 42622000 * 01 * READ(ANY)/CHECK I/O ERROR. DEVICE @XL03HAJ 42640000 * * WRITE(LBT)/CHECK @XL03HAJ 42658000 * @XL03HAJ 42667000 * 02 * READ(ANY)/CHECK TEST REQUEST SET @XL03HAJ 42676000 * * WRITE(LBT)/CHECK @VS49571 42694000 * @XL03HAJ 42703000 * 03 READ(ANY)/CHECK BUFFER THRESHOLD EXCEEDED. @XL03HAJ 42712000 * @XL03HAJ 42739000 * 04 * WRITE(LBT)/CHECK BUFFER THRESHOLD EXCEEDED. @XL03HAJ 42748000 * * SOLICIT(SPEC)/CHECK @XL03HAJ 42757000 * * RESET(UNCOND)/CHECK @XL03HAJ 42766000 * @XL03HAJ 42775000 * 05 * READ(ANY)/CHECK NCP ABEND. @XL03HAJ 42784000 * * OPNDST(SPEC,ACQUIRE) @XL03HAJ 42793000 * * OPNDST(ACCEPT,ANY) @XL03HAJ 42802000 * * SOLICIT(SPEC)/READ(ANY)/CHECK @XL03HAJ 42820000 * * WRITE(LBT)/CHECK @XL03HAJ 42838000 * * RESET(UNCOND)/CHECK @XL03HAJ 42847000 * * CHANGE @VS49571 42856000 * @XL03HAJ 42865000 * 06 * READ(ANY)/CHECK NCP ABEND. LAST PURGE. @XL03HAJ 42874000 * * WRITE(LBT)/CHECK @XL03HAJ 42892000 * * RESET(UNCOND)/CHECK @XL03HAJ 42910000 * @XL03HAJ 42919000 * 07 @XL03HAJ 42928000 * @XL03HAJ 42937000 * 08 @XL03HAJ 42946000 * @XL03HAJ 42955000 * 09 @XL03HAJ 42964000 * @XL03HAJ 42973000 * 0A * READ(ANY)/CHECK I/O RESET BY USER @XM02215 42982000 * * WRITE(LBT)/CHECK @XL03HAJ 43009000 * @XL03HAJ 43018000 * 0B * READ(ANY)/CHECK CANCELED BY USER CLSDST @XL03HAJ 43027000 * * WRITE(LBT)/CHECK @XL03HAJ 43045000 * * RESET (UNCOND)/CHECK @VS49571 43054000 * * CLSDST/CHECK @VS49571 43055000 * * CHANGE/CHECK @VS49571 43056000 * @XL03HAJ 43063000 * 0C @XL03HAJ 43072000 * @XL03HAJ 43090000 * 0D @XL03HAJ 43099000 * @VS49571 43108000 * 0E * WRITE(LBT)/CHECK @VS49571 43109000 * @VS49571 43110000 * 0F * WRITE(LBT)/CHECK @VS49571 43111000 * @XL03HAJ 43144000 *** @XL03HAJ 43153000 SPACE 2 @XL03HAJ 43162000 DAMAGE EQU * @XL03HAJ 43180000 CH R6,HEXF IS REASON CODE WITHIN @XL03HAJ 43189000 * LIMITS OF POSSIBILITY? @XL03HAJ 43198000 BH SNOCCUR >F NO. ERROR @XL03HAJ 43207000 SPACE 2 @XL03HAJ 43216000 AR R7,R7 MULTIPLY REASON CODE BY @XL03HAJ 43225000 AR R7,R6 12 FOR BRANCH TABLE @XL03HAJ 43234000 SLL R7,D2 INDEXING @XL03HAJ 43243000 B RSNTABC(R7) GO TO REASON CODE @XL03HAJ 43252000 * HANDLING ROUTINE @XL03HAJ 43270000 SPACE 2 @XL03HAJ 43279000 RSNTABC LH R15,STATUS2 0 I/O ERROR (NOT PERM) @VS49571 43288000 B TEMPERR SAVE BISYNCH STATUS @ZA13672 43297000 NOP 0 @ZA13672 43306000 * @XL03HAJ 43324000 LA R15,TORELES 1 PERMANENT I/O ERROR @XL03HAJ 43333000 B ERRETURN RELEASE THE TERMINAL @XL03HAJ 43342000 NOP 0 @XL03HAJ 43360000 * @XL03HAJ 43369000 LA R15,TORELES 2 TEST REQUEST SET @XL03HAJ 43378000 OI FLAGS,RELOPND I/O SATISFIED BY TRM. @XL03HAJ 43387000 B ERRETURN ALL I/O IS NOW STOPPED. @XL03HAJ 43396000 * RELEASE THE DEVICE, @XL03HAJ 43405000 * THEN ACQUIRE IT AGAIN @XL03HAJ 43414000 * SO A VALID LOGON SE- @XL03HAJ 43423000 * QUENCE CAN BE ENTERED @XL03HAJ 43432000 * TO PASS THE DEVICE TO @XL03HAJ 43450000 * TOLTEP. @XL03HAJ 43459000 * @XL03HAJ 43468000 LA R15,TOPROBDV 3 BUFFER THRESHOLD @ZA19873 43477000 B ERRETURN EXCEEDED, RELEASE TERM @ZA19873 43497000 NOP 0 @ZA19873 43517000 * @XL03HAJ 43594000 B EXCEEDED 4 BUFFER THRESHOLD @XL03HAJ 43603000 NOP 0 EXCEEDED @XL03HAJ 43612000 NOP 0 THIS HAPPENS IF A @XL03HAJ 43630000 * RESET, SOLICIT, OR A @XL03HAJ 43639000 * WRITE IS ISSUED AND @XL03HAJ 43648000 * ALL THE READ BUFFERS @XL03HAJ 43657000 * FOR THIS DEVICE ARE @XL03HAJ 43666000 * FULL FROM PREVIOUS I/O @XL03HAJ 43675000 * REQUESTS FOR THIS @XL03HAJ 43684000 * DEVICE. @XL03HAJ 43693000 * NOTE: IF THIS CONDITION @XL03HAJ 43702000 * OCCURS, VTAM HAS AL- @XL03HAJ 43720000 * READY ISSUED A RESET @XL03HAJ 43729000 * TO THE DEVICE. @XL03HAJ 43738000 * @XL03HAJ 43747000 LA R15,REISSU 5 NCP ABENDED. RESTART OK @XL03HAJ 43756000 B ERR0C05 THIS ONLY HAPPENS WHEN @XL03HAJ 43765000 NOP 0 MORE THAN ONE I/O @XL03HAJ 43774000 * COMMAND PER DEVICE. @XL03HAJ 43783000 * @XL03HAJ 43792000 LA R15,REISSU 6 NCP ABENDED. RESTART OK @XL03HAJ 43810000 LA R0,RESET1ST LAST I/O REQ PER THIS @XL03HAJ 43819000 B ERRETURN DEVICE HAS JUST BEEN @XL03HAJ 43828000 * PURGED. RESET AND @XL03HAJ 43837000 * REISSUE ORIGINAL I/O. @XL03HAJ 43846000 * IF ON RESET, JUST RE- @XL03HAJ 43855000 * ISSUE. @XL03HAJ 43864000 * @XL03HAJ 43873000 BAL R7,SNOCCUR 7 (RECORD ONLY) @VS49571 43882000 NOP 0 @XL03HAJ 43900000 NOP 0 @XL03HAJ 43909000 * @XL03HAJ 43918000 BAL R7,SNOCCUR 8 (RECORD ONLY) @VS49571 43927000 NOP 0 @XL03HAJ 43936000 NOP 0 @XL03HAJ 43945000 * @XL03HAJ 43954000 BAL R7,SNOCCUR 9 Q'ED SIMLOGON CANCELLED @VS49571 43963000 NOP 0 SIMLOGON NOT USED @XL03HAJ 43972000 NOP 0 @XL03HAJ 43990000 * @XL03HAJ 43999000 * A I/O RESET BY USER @XM02215 44008000 TM MFLAGS,READA+WRITING+CHANGNIB+RESETU @ZA35053 44017000 BZ SNOCCUR ERROR IF NOT READ(ANY) @XM02215 44026000 B IORESET OR WRITE(LBT) @XM02215 44032000 * ERROR POSSIBLE ON READ @XM02215 44233000 * (ANY) AS FOLLOWS: @XM02215 44242000 * THE PROBLEM CAN OCCUR @XM02215 44260000 * IF THE WRITE GETS A @XM02215 44269000 * CONTENTION ERROR WITH @XM02215 44278000 * UNSOLICITED DATE FROM @XL03HAJ 44287000 * THE DEVICE. THE RESET @XL03HAJ 44296000 * AFTER THE CONTENTION @XL03HAJ 44305000 * CAN CANCEL THE I/O @XL03HAJ 44314000 * FROM THE UNSOLICITED @XL03HAJ 44323000 * DATA. THIS TOO WILL BE@XL03HAJ 44332000 * LATER DETECTED ON A @XL03HAJ 44350000 * READ(ANY). @XM02215 44359000 * EVEN IF THERE IS NO @XM02215 44368000 * CONTENTION ERROR, THIS @XM02215 44377000 * CAN OCCUR ON A RESET @XM02215 44386000 * TO CLEAR AN OUTSTAND- @XM02215 44395000 * ING SOLICIT PRIOR TO @XM02215 44404000 * ISSUEING A WRITE WHILE @XM02215 44413000 * HANDLING UNSOLICITED @XM02215 44422000 * DATA. @XM02215 44440000 * @XL03HAJ 44449000 LA R15,TOENDREQ B USER CLSDST CANCELED @XL03HAJ 44458000 B ERRETURN REQUEST. @XL03HAJ 44467000 NOP 0 @VS49571 44476000 * THIS ERROR CAN OCCUR FOR@VS49571 44477000 * READ, WRITE, OR RESET. @VS49571 44478000 * @VS49571 44479000 BAL R7,SNOCCUR C SHOULD NOT OCCUR @VS49571 44480000 NOP 0 @VS49571 44481000 NOP 0 @VS49571 44482000 * @VS49571 44483000 BAL R7,SNOCCUR D SHOULD NOT OCCUR @VS49571 44484000 NOP 0 @VS49571 44485000 NOP 0 @VS49571 44486000 * @VS49571 44487000 LA R15,REISSU E YIELD TO CONTENTION @VS49571 44488000 LA R0,RESET1ST CAN OCCUR FOR WRITE. @VS49571 44489000 B ERRETURN THE ACTION IS A RESET @VS49571 44490000 * (UNCOND) AND A REISSUE @VS49571 44491000 * OF THE WRITE. NETSOL WANTS 44638000 * THE TERMINAL OPERATOR TO@VS49571 44647000 * RECEIVE THE ERROR MSG @VS49571 44648000 * BEFORE TRYING TO ENTER @VS49571 44649000 * ANOTHER LOGON SEQUENCE, @VS49571 44650000 * SO NETSOL IGNORES WHAT @VS49571 44651000 * THE TERMINAL OPERATOR @VS49571 44652000 * ENTERS WHEN THERE IS @VS49571 44653000 * CONTENTION. @VS49571 44654000 * @VS49571 44655000 LA R15,REISSU F YIELDED TO CONTENTION @VS49571 44656000 LA R0,RESET1ST (ERROR LOCK SET) @VS49571 44657000 B ERRETURN THIS IS ESSENTIALLY THE @VS49571 44658000 * SAME SITUATION AS FOR @VS49571 44659000 * ERROR CONDITION 0C/0E @VS49571 44660000 * AND ERROR ACTION IS THE @VS49571 44661000 * SAME @VS49571 44662000 * @VS49571 44663000 EJECT @VS49571 44664000 SPACE 2 @VS49571 44665000 ERR0C05 EQU * @VS49571 44666000 TM MFLAGS,RESETU IS THIS FOR RESET? @VS49571 44667000 BO ERRETURN YES, JUST REISSUE RESET @VS49571 44668000 LA R0,RESET1ST NO, RESET THEN REISSUE @VS49571 44669000 B ERRETURN GET OUT @VS49571 44670000 SPACE 4 @XL03HAJ 44935000 TEMPERR EQU * @XL03HAJ 44944000 * DELETE CODE TO TEST FOR 3270 TYPE DEVICES @ZA24909 44944800 OI FLAGS2,MODMLOOP TURN ON MODEM LOOP BIT @ZA13672 44948000 SR R8,R8 COMPARE THE NUMBER OF @ZA13672 44953000 IC R8,MODMCNT LOOPS THROUGH THE 0C00 @ZA13672 44958000 CH R8,MAXLOOP INTERVENTION REQUIRED @ZA13672 44963000 BL TEMPERR1 LOW. CONTINUE NORMALLY @ZA13672 44968000 LA R15,TOPROBDV HIGH. IN INFINITE LOOP @ZA13672 44973000 B ERRETURN RELEASE DEVICE AND WTO.@ZA13672 44978000 TEMPERR1 LTR R15,R15 IS THERE RPL SENSE INFO?@ZA13672 44983000 BNZ WHATDEV2 BR IF SENSE INFO @DA04534 44998000 * NO SENSE INFO @DA04534 45007000 LA R15,REISSU TEMPORARILY ASSUME @DA04534 45016000 LA R0,RSETONLY WRITE, THEN CHECK @DA04534 45025000 TM MFLAGS,WRITING ERROR ON OUTPUT? @XL03HAJ 45034000 BZ SEEIFRD NO. CHECK FOR INPUT @XL03HAJ 45043000 TM FLAGS,LOOPONCE YES. TRY REISSUE YET? @XL03HAJ 45052000 BZ REWRITE NO. THEN RETRY ONE TIME @XL03HAJ 45061000 NI FLAGS,X'FF'-LOOPONCE YES. RESET RETRY FLAG. @XL03HAJ 45070000 B ERRETURN DON'T REISSUE ERROR @XL03HAJ 45079000 * MESSAGE AGAIN JUST @XL03HAJ 45088000 * RESET AND GO ON.ACTION @XL03HAJ 45097000 * CODES ALREADY SET @XL03HAJ 45106000 * @XL03HAJ 45115000 REWRITE EQU * @XL03HAJ 45124000 OI FLAGS,LOOPONCE NO. TRY ONE MORE TIME @XL03HAJ 45133000 LA R0,RESET1ST RESET AND REISSUE @XL03HAJ 45142000 B ERRETURN @XL03HAJ 45151000 * @XL03HAJ 45180000 SEEIFRD EQU * @XL03HAJ 45189000 TM MFLAGS,READA INPUT? @XL03HAJ 45198000 BZ SNOCCUR NO. IMPOSSIBLE @XL03HAJ 45207000 LA R15,TOWRITE YES. RESET AND WRITE @XL03HAJ 45216000 LA R0,MSG01+X'80' ERROR MESSAGE @XL03HAJ 45225000 B ERRETURN @XL03HAJ 45270000 SPACE 4 @XL03HAJ 45279000 WHATDEV2 EQU * @DA04534 45288000 LA R15,TORELES ASSUME DEVICE UNUSABLE @DA04534 45297000 CLI TYPECODE,DEV3277 IS IT A 3277? @DA04534 45306000 BE SENS3270 YES. HANDLE AS A 3270 @DA04534 45315000 CLI TYPECODE,DEV3275 IS IT A 3275? @DA04534 45324000 BE SENS3270 YES. HANDLE AS A 3270 @DA04534 45333000 CLI TYPECODE,DEV3741 IS IT A 3741? @DA04534 45342000 BE SENS3741 YES. HANDLE 3741 @DA04534 45360000 CLI TYPECODE,DEV3747 IS IT A 3747? @DA04534 45369000 BE SENS3747 YES HANDLE 3747 @DA04534 45378000 LA R15,TOPROBDV SOMETHING'S WRONG @Z40GKD3 45387000 B ERRETURN NO. MUST BE ONE OF THE @Z40GKD3 45396000 * ABOVE @DA04534 45405000 SPACE 4 @DA04534 45414000 SENS3270 EQU * HANDLE BISYNCH STATUS @DA04534 45423000 * ERROR MESSAGE FOR A @DA04534 45432000 * 3270 DEVICE @DA04534 45450000 CLC STATUS2,BISTC240 WAS BISYNCH STATUS RET- @DA04534 45459000 * URNED FOR DEVICE END @DA04534 45468000 * (ALONE), WHICH SHOWS @DA04534 45477000 * POWER ON? @DA04534 45486000 BE INTRREQ2 YES, CHECK MORE @VS49571 45495000 CLC STATUS2,BIST4050 NO, CHECK IF INTERRUPT @VS49571 45496000 * REQUIRED (DEVICE POWER-@VS49571 45497000 * ED OFF). @VS49571 45498000 BNE ERRETURN NO, (NOT POWER OFF) @VS49571 45499000 * THEN RELEASE THE DEVICE@VS49571 45500000 OI FLAGS,RELOPND RELEASE DEVICE, THEN @ZA28912 45501000 * ATTEMPT TO RECONNECT @ZA28912 45501600 B ERRETURN @VS49571 45503000 INTRREQ2 EQU * @VS49571 45504000 LA R15,TOWRITE YES. SET UP TO WRITE @ZA44250 45594000 LA R0,MSG12 ISSUE THE GOOD MORNING @ZA44250 45603000 * TM MFLAGS,READA+WRITING DELETED BY APAR ZA44250 @ZA44250 45612000 * INITIAL READ OR WRITE @DA04534 45621000 * OF AN ERROR MESSAGE? @DA04534 45630000 * BZ ERRETURN DELETED BY APAR ZA44250 @ZA44250 45639000 * FLUSHING @DA04534 45648000 * LA R15,REISSU DELETED BY APAR ZA44250 @ZA44250 45657000 * LA R0,RESET1ST DELETED BY APAR ZA44250 @ZA44250 45666000 B ERRETURN MSG @ZA44250 45675000 SPACE 4 @DA04534 45684000 SENS3741 EQU * HANDLE BISYNCH STATUS @DA04534 45693000 * ERROR MESSAGE FOR 3741 @DA04534 45702000 CLC STATUS2,BISTF2 NO RECORD FOUND ON @DA04534 45720000 * DISKETTE? @DA04534 45729000 BE NORECRD YES. NO RECORD. RE- @DA04534 45738000 * ISSUE THE SOLICIT/READ @DA04534 45747000 CLC STATUS2,BISTE2 NO. DID OPERATOR ABORT @DA04534 45756000 * JOB BY PRESSING RESET? @DA04534 45765000 BNE ERRETURN NO. OTHER ERROR. @DA04534 45774000 * RELEASE THE DEVICE. @DA04534 45783000 B ABORTED2 YES. GO TO 3741/3747 @DA04534 45792000 * COMMON 'ABORTED' ROU- @DA04534 45810000 * TINE @DA04534 45819000 SPACE 2 @DA04534 45828000 NORECRD EQU * @DA04534 45837000 LA R15,TOPROBDV IN CASE DEVICE PROBLEM @Z40GKD3 45846000 TM MFLAGS,READA HAPPEN ON READ(ANY)? @ZA33715 45855000 BZ ERRETURN NO. IMPOSSIBLE @Z40GKD3 45864000 LA R15,TOWRITE YES. RESET AND ISSUE @DA04534 45873000 LA R0,MSG02+X'80' ERROR MSG TO THE @DA04534 45882000 B ERRETURN TERMINAL OPERATOR @DA04534 45900000 SPACE 4 @DA04534 45909000 SENS3747 EQU * HANDLE BISYNCH STATUS @DA04534 45918000 * ERROR MESSAGE FOR 3747 @DA04534 45927000 CLC STATUS2,BIST50 OPERATOR REQUEST ABORT? @DA04534 45936000 BE ERRETURN NO. OTHER BISYNCH ERR. @DA04534 45945000 * RELEASE THE DEVICE @DA04534 45954000 * YES. FALL THRU TO @DA04534 45963000 * COMMON 3741/3747 ABORT @DA04534 45972000 * ROUTINE @DA04534 45990000 SPACE 4 @DA04534 45999000 ABORTED2 EQU * COMMON ABORT ROUTINE @DA04534 46008000 LA R15,TOPROBDV IN CASE DEVICE PROBLEM @Z40GKD3 46017000 TM MFLAGS,READA+WRITING HAPPEN ON READ OR WRITE? 46026000 BZ ERRETURN NO. IMPOSSIBLE @Z40GKD3 46035000 LA R15,RSETSOL YES. RESET THEN SOLICIT @DA04534 46044000 B ERRETURN @DA04534 46053000 EJECT @DA04534 46062000 *** #XL03HAJ 46080000 * #XL03HAJ 46089000 * THE BUFFER THRESHHOLD EXCEEDED CONDITION CAN OCCUR FOR THE #XL03HAJ 46098000 * VARIOUS OUTPUT REQUESTS AS FOLLOWS: #XL03HAJ 46107000 * #XL03HAJ 46116000 * RESET - THE MOST LIKELY CONDITION IS DUE TO A DEVICE @VS49571 46125000 * PROBLEM AS DESCRIBED UNDER THE WRITE ERROR @VS49571 46126000 * DESCRIPTION. @VS49571 46127000 * @XL03HAJ 46179000 * WRITE - NETSOL LOGIC ATTEMPTS TO ELIMINATE THIS SITUATION @VS49571 46188000 * BY DOING A READ(ANY) WITH THE TRUNC OPTION ON THE @VS49571 46189000 * NIB. @VS49571 46190000 * SOMETIMES, HOWEVER A DEVICE MAY HAVE A @XL03HAJ 46260000 * HARDWARE PROBLEM WHICH CAUSES IT TO ENTER HUGE @XL03HAJ 46269000 * HUNKS OF UNSOLICITED DATA THAT FILL THE BUFFERS @XL03HAJ 46278000 * AFTER THE FLUSHING HAS BEEN DONE BUT BEFORE THE @XL03HAJ 46287000 * WRITE IS ISSUED. (DEPENDING ON TIMING, THE SAME @XL03HAJ 46296000 * THING COULD HAPPEN IF THE DEVICE WERE WORKING @XL03HAJ 46305000 * CORRECTLY, BUT A TERMINAL OPERATOR WITH FAST @XL03HAJ 46314000 * FINGERS PURPOSFULLY ENTERED LOTS OF UNSOLICITED @XL03HAJ 46323000 * DATA. @XL03HAJ 46332000 * @XL03HAJ 46350000 * SOLICIT - HARDWARE ERROR AS DESCRIBED ABOVE UNDER THE WRITE @XL03HAJ 46359000 * ERROR DESCRIPTION. @XL03HAJ 46368000 * @XL03HAJ 46377000 *** @XL03HAJ 46386000 * @XL03HAJ 46395000 EXCEEDED EQU * @XL03HAJ 46404000 SR R15,R15 IF RESET UNCOND, VTAM @XL03HAJ 46413000 TM MFLAGS,RESETU HAS ALREADY ISSUED A @XL03HAJ 46422000 BO ERRETURN RESET, SO ACT AS IF @XL03HAJ 46431000 * VALID COMPLETION. @XL03HAJ 46440000 * @XL03HAJ 46449000 LA R15,TOPROBDV ANY OTHER ERROR IS PRO- @Z40GKD3 46458000 B ERRETURN BABLY DUE TO A BAD @Z40GKD3 46467000 * DEVICE WHICH KEEPS @XL03HAJ 46476000 * ENTERING DATA. @XL03HAJ 46485000 EJECT @XL03HAJ 46494000 IORESET EQU * @XL03HAJ 46503000 TM MFLAGS,READA FOUND ON READ(ANY)? @XM02215 46530000 BO IORESETA YES. HANDLE THAT CASE @XM02215 46536000 * @VS49571 46549000 TM MFLAGS,RESETU IS IT RESET @ZA35053 46549100 BO IORESTB YES HANDLE THAT CASE @ZA35053 46549200 B IOWRITE NO MUST BE WRITE @ZA35053 46549300 IORESTB EQU * @ZA35053 46549400 LA R15,TOENDREQ FREE THE RPL IF RESET @ZA35053 46549500 B ERRETURN HAS BEEN ISSUED @ZA35053 46549600 IOWRITE EQU * @ZA35053 46549900 SR R15,R15 NO, MUST BE ON A WRITE. @VS49571 46550000 B ERRETURN WENT OK. @VS49571 46551000 * @VS49571 46552000 * @VS49571 46553000 IORESETA EQU * @XM02215 46675000 LA R15,CATCHALL REISSUE THE SOLICIT/READ@VS49571 46684000 B ERRETURN NOTE: THERE MAY BE A @XM02215 46693000 * SOLICIT ALREADY OUT- @XM02215 46702000 * STANDING. IF SO, THE @XM02215 46720000 * NEW SOLICIT WILL BE @XM02215 46729000 * IGNORED, AND THE RE- @XM02215 46738000 * SPONSE TO THE SOLICIT @XM02215 46747000 * WILL BE 00/00. @XM02215 46756000 TITLE 'ERREXIT - ERROR OCCURRED RTNCD = 10' @VS49571 46765000 SPACE 2 @XL03HAJ 46774000 *** @XL03HAJ 46783000 * @XL03HAJ 46792000 * RTNCD CODE 10 - ENVIRONMENT @VS49571 46810000 * @XL03HAJ 46819000 * FDBK2 CODE MACRO(S) MEANING @VS49571 46828000 * @XL03HAJ 46837000 * 00 * OPNDST(SPEC,ACQUIRE) DEVICE OR APPLICATION @XL03HAJ 46846000 * * CLSDST(PASS)/CHECK UNAVAILABLE. @XL03HAJ 46855000 * @XL03HAJ 46864000 * 01 @XL03HAJ 46873000 * @XL03HAJ 46882000 * 02 * CLSDST(PASS)/CHECK TARGET APPLICATION @XL03HAJ 46891000 * UNACCEPTABLE. @XL03HAJ 46900000 * @XL03HAJ 46920000 * 03 * OPNDST(SPEC,ACQUIRE) VTAM IS HALTING. @XL03HAJ 46930000 * * OPNDST(ACCEPT,ANY) @XL03HAJ 46939000 * @XL03HAJ 46948000 * 04 * READ(ANY)/CHECK INCOMPATABLE DEFINITION@XL03HAJ 46957000 * * WRITE(LBT)/CHECK BETWEEN VTAM AND NCP. @VS49571 46975000 * * RESET(UNCOND)/CHECK @XL03HAJ 46984000 * @XL03HAJ 46993000 * 05 * OPNDST(SPEC,ACQUIRE) PERMENENT FAILURE @XL03HAJ 47002000 * * READ(ANY)/CHECK IN PATH. @XL03HAJ 47020000 * * WRITE(LBT)/CHECK @XL03HAJ 47038000 * * RESET(UNCOND)/CHECK @XL03HAJ 47045000 * * CHANGE/CHECK @VS49571 47060000 * @XL03HAJ 47066000 * 06 * OPNDST(SPEC,ACQUIRE) AUTO NETWORK SHUTDOWN @XL03HAJ 47078000 * * READ(ANY)/CHECK @XL03HAJ 47086000 * * WRITE(LBT)/CHECK @XL03HAJ 47110000 * * RESET(UNCOND)/CHECK @XL03HAJ 47118000 * * CHANGE/CHECK @VS49571 47125000 * @XL03HAJ 47140000 * 07 READ(ANY)/CHECK VARY DEACTIVATE @XL03HAJ 47150000 * * WRITE(LBT)/CHECK @XL03HAJ 47168000 * * RESET(UNCOND)/CHECK @XL03HAJ 47177000 * @XL03HAJ 47186000 * 08 * READ(ANY)/CHECK DIAL DISCONNECT @VS49571 47195000 * * SOLICIT @VS49571 47196000 * * WRITE(LBT)/CHECK @XL03HAJ 47213000 * @XL03HAJ 47222000 * 09 (RECORD ONLY) @XL03HAJ 47240000 * @XL03HAJ 47249000 * 0A * OPNDST(SPEC,ACQUIRE) APPARENT VTAM ERROR @XL03HAJ 47258000 * * CLSDST(RELEASE)/CHECK @XL03HAJ 47267000 * * CLSDST(PASS)/CHECK @XL03HAJ 47276000 * * INQUIRE(DEVCHAR) @XL03HAJ 47285000 * * INQUIRE(CIDXLATE) @XL03HAJ 47294000 * * INTRPRET @XL03HAJ 47303000 * * CHANGE/CHECK @VS49571 47312000 * * INQUIRE(APPSTAT) @VS49571 47313000 * @XL03HAJ 47339000 * 0B * READ(ANY)/CHECK DIAL-OUT DISCONNECT @VS49571 47348000 * * WRITE(LBT)/CHECK @XL03HAJ 47366000 * @XL03HAJ 47375000 * 0C * READ(ANY)/CHECK DIAL-IN DISCONNECT @VS49571 47384000 * * WRITE(LBT)/CHECK @XL03HAJ 47402000 * @XL03HAJ 47411000 * 0D ALL API MACROS VTAM NOT ACTIVE TO @XL03HAJ 47420000 * APPLICATION @XL03HAJ 47440000 * @XL03HAJ 47446000 * 0E * ALL API MACROS ABEND IN VTAM @XL03HAJ 47459000 * @XL03HAJ 47468000 * @XL03HAJ 47477000 *** @XL03HAJ 47486000 SPACE 2 @XL03HAJ 47495000 ENVIRON EQU * @XL03HAJ 47504000 CH R6,HEXE IS RSN CODE VALID SIZE? @XL03HAJ 47513000 BH SNOCCUR >E NO. ERROR @XL03HAJ 47522000 SPACE 2 @XL03HAJ 47540000 *** @XL03HAJ 47549000 * @XL03HAJ 47558000 * HANDLE FIRST THREE REASON CODES WITHOUT BRANCH TABLE. @XL03HAJ 47567000 * @XL03HAJ 47576000 *** @XL03HAJ 47585000 SPACE 2 @XL03HAJ 47594000 LTR R6,R6 CHECK FOR TERMINAL OR @XL03HAJ 47603000 * APPLICATION NOT @XL03HAJ 47612000 * AVAILABLE. @XL03HAJ 47630000 BNZ CHKQUIES ^0 IF NOT, NEXT CHECK @XL03HAJ 47639000 * @XL03HAJ 47648000 TM MFLAGS,OPNDSPEC 0 ERROR ON OPNDST(SPEC)? @XL03HAJ 47657000 BO TERMUNAV YES. HANDLE THAT CASE @XL03HAJ 47666000 LA R15,TOWRITE NO. APPLICATION UNAVAIL-@XL03HAJ 47675000 LA R0,MSG07 ABLE WRITE ERROR MSG @XL03HAJ 47684000 B ERRETURN @XL03HAJ 47693000 TERMUNAV EQU * @XL03HAJ 47702000 LA R15,TOENDREQ TERMINAL UNAVAILABLE FOR@VS49571 47720000 B ERRETURN FOR OPNDST(SPEC) AFTER @XL03HAJ 47729000 * CLSDST(PASS) BECAUSE @XL03HAJ 47738000 * CLSDST(PASS) FAILED @XL03HAJ 47747000 * AND THE NETWORK OPER- @XL03HAJ 47756000 * ATOR VARRIED OFF THE @XL03HAJ 47765000 * TERMINAL. @XL03HAJ 47774000 SPACE 2 @XL03HAJ 47783000 CHKQUIES EQU * @XL03HAJ 47792000 LA R15,TORELES PREPARE ACTION CODE @XL03HAJ 47810000 SLL R7,D2 AND BRANCH TABLE INDEX @XL03HAJ 47819000 * IN CASE REASON CODE @XL03HAJ 47828000 * GREATER THAN 2 @XL03HAJ 47837000 CH R6,HEX2 CHECK FOR 1 OR 2 @XL03HAJ 47846000 * @XL03HAJ 47855000 BL SNOCCUR 1 (RECORD ONLY) @XL03HAJ 47864000 * @XL03HAJ 47873000 BH RSNTAB10(R7) >2 GO TO REASON CODE @XL03HAJ 47882000 * HANDLING ROUTINE @XL03HAJ 47900000 * @XL03HAJ 47909000 LA R15,TOWRITE 2 APPLICATION IS QUIESCING@XL03HAJ 47918000 LA R0,MSG09 OR NEVER ACCEPTS LOGONS@XL03HAJ 47927000 * BUT QUIESCE IS MORE @XL03HAJ 47936000 * LIKELY SINCE 'NEVER @XL03HAJ 47945000 * ACCEPTS WOULD PROBABLY @XL03HAJ 47954000 * HAVE BEEN FOUND ON THE @XL03HAJ 47963000 * INQUIRE. EITHER CAN @XL03HAJ 47972000 * HAPPEN IF THE OTHER @XL03HAJ 47990000 * APPLICATION CHANGES ITS@XL03HAJ 47999000 * STATUS AFTER NETSOL'S @XL03HAJ 48008000 * INQUIRE(APPSTAT) BUT @XL03HAJ 48017000 * PRIOR TO THE LATER @XL03HAJ 48026000 * CLSDST(PASS). @XL03HAJ 48035000 B ERRETURN WRITE ERROR MESSAGE @XL03HAJ 48044000 SPACE 2 @XL03HAJ 48053000 RSNTAB10 EQU *-(3*4) START TABLE AT R6=3 @XL03HAJ 48062000 * @XL03HAJ 48080000 B QUIKHALT 3 VTAM IS HALTING. @XL03HAJ 48089000 * NETSOL CAN NO LONGER @XL03HAJ 48098000 * COMMUNICATE WITH @XL03HAJ 48107000 * DEVICES. TPEND NOTIFIED@XL03HAJ 48116000 * @XL03HAJ 48125000 B INCOMPAT 4 INCOMPATIBLE DEFINITION @Z40GKD3 48134000 * SOMETHING IS WRONG WITH @XL03HAJ 48143000 * NCP OR VTAM GEN OF @XL03HAJ 48152000 * NETWORK FOR THIS @XL03HAJ 48170000 * DEVICE. @XL03HAJ 48179000 * @XL03HAJ 48188000 B ERRETURN 5 PERMANENT PATH FAILURE @XL03HAJ 48197000 * ACTION CODE ALREADY SET @XL03HAJ 48206000 * UP TO RELEASE DEVICE @XL03HAJ 48215000 * @XL03HAJ 48224000 B ERRETURN 6 AUTO NETWORK SHUTDOWN @XL03HAJ 48233000 * ACTION CODE ALREADY SET @XL03HAJ 48242000 * UP TO RELEASE DEVICE @XL03HAJ 48260000 * @XL03HAJ 48269000 B ERRETURN 7 VARY DEACT. IMMEDIATE @XL03HAJ 48278000 * LOSTERM WAS SCHEDULED @XL03HAJ 48287000 * ACTION CODE ALREADY SET @XL03HAJ 48296000 * UP TO RELEASE DEVICE @XL03HAJ 48305000 * @XL03HAJ 48314000 B ERR1008 8 DIAL DISCONNECT @XL03HAJ 48323000 * CAN OCCUR FOR READ OR @VS49571 48332000 * WRITE MACRO. TRY TO @VS49571 48333000 * REESTABLISH CONNECTION @VS49571 48334000 * WITH TERMINAL BY REISSUING 48359000 * THE I/O COMMAND (ONE TIME). 48368000 * IF NO-GO, RELEASE THE RPL 48390000 * AND RETURN TO VTAM. @VS49571 48396000 * @XL03HAJ 48408000 BAL R7,SNOCCUR 9 (RECORD ONLY) @VS49571 48416000 * @XL03HAJ 48424000 B VTAMERR A VTAM ERROR FOR DEVICE @ZA19916 48440000 * @XL03HAJ 48448000 B RECONECT B DIAL-OUT DISCONNECT @XL03HAJ 48456000 * LOSTERM NOT SCHEDULED @XL03HAJ 48464000 * TRY TO RECONNECT ONCE @XL03HAJ 48480000 * @XL03HAJ 48486000 B ERRETURN C DIAL-IN DISCONNECT @XL03HAJ 48499000 * LOSTERM WAS SCHEDULED @XL03HAJ 48508000 * ACTION CODE ALREADY SET @XL03HAJ 48517000 * UP TO RELEASE DEVICE @XL03HAJ 48526000 B SNOCCUR D VTAM INACTIVE TO YOUR @VS49571 48535000 * ACB. SHOULD NOT OCCUR @VS49571 48536000 * @VS49571 48537000 B ERR100E E VTAM INACTIVE TO YOUR @VS49571 48538000 * ACB. CAN OCCUR FOR ANY @VS49571 48539000 * API MACRO. ACTION IS TO @VS49571 48540000 * FREE THE RPL, AND RETURN@VS49571 48541000 * TO VTAM. @VS49571 48542000 * @VS49571 48543000 SPACE 4 @XL03HAJ 48625000 QUIKHALT EQU * @XL03HAJ 48634000 LA R15,TOENDREQ INDICATE RETURN TO VTAM @VS49571 48643000 MVI UFLAGS,SHUTDOWN TURN ON SHUTDOWN @ZA33715 48652000 B ERRETURN @VS49571 48670000 * @VS49571 48671000 SPACE 4 @XL03HAJ 48688000 INCOMPAT EQU * INCOMPATIBLE NCP/VTAM @Z40GKD3 48697000 LA R15,TOPROBDV SOMETHING'S WRONG @Z40GKD3 48706000 B ERRETURN BRANCH TO PROBDEV @Z40GKD3 48715000 SPACE 2 @Z40GKD3 48724000 VTAMERR EQU * ON 100A RTNCD JUST @ZA19916 48725000 LA R15,TOPROBDV RELEASE THE TERMINAL. @ZA19916 48726000 B ERRETURN @ZA19916 48727000 SPACE 2 @ZA19916 48728000 RECONECT EQU * @XL03HAJ 48733000 TM FLAGS,LOOPONCE ALREADY RETRY I/O? @XL03HAJ 48742000 BZ WHATIO NO. DO SO, BUT FIRST @XL03HAJ 48760000 * CHECK WHAT KIND. @XL03HAJ 48768000 NI FLAGS,X'FF'-LOOPONCE YES. RESET RETRY FLAG. @XL03HAJ 48776000 B ERRETURN ACTION CODE ALREADY SET @XL03HAJ 48784000 * UP TO RELEASE DEVICE. @XL03HAJ 48800000 * @XL03HAJ 48808000 WHATIO EQU * @XL03HAJ 48816000 OI FLAGS,LOOPONCE INDICATE RETRY I/O @XL03HAJ 48824000 LA R15,REISSU SET ACTION FOR RE-ISSUE @XL03HAJ 48832000 * IN CASE ERROR ON WRITE.@XL03HAJ 48840000 * R0 ALREADY SET UP FOR @XL03HAJ 48859000 * RE-ISSUE ONLY. @XL03HAJ 48868000 TM MFLAGS,WRITING DISCONNECT ON WRITE? @XL03HAJ 48877000 BO ERRETURN YES. REISSUE I/O. @XL03HAJ 48886000 * @XL03HAJ 48895000 LA R15,TOWRITE ACTION FOR READ(ANY) IS @XL03HAJ 48913000 LA R0,MSG01 TO DO RETRY VIA WRITE @XL03HAJ 48922000 * OF ERROR MESSAGE. @XL03HAJ 48940000 TM MFLAGS,READA ERROR ON READ(ANY)? @XL03HAJ 48949000 BO ERRETURN YES. WRITE ERROR MSG @XL03HAJ 48958000 * @XL03HAJ 48965000 SR R15,R15 YES. GIVE NORMAL @XL03HAJ 48996000 B ERRETURN RETURN. THE RETRY OF @XL03HAJ 49004000 * I/O WILL BE NEW WRITE @XL03HAJ 49012000 * I/O. @XL03HAJ 49020000 SPACE 2 @VS49571 49037000 ERR1008 EQU * LOSTERM WILL CLOSE THE @VS49571 49038000 * THE DEVICE LATER @VS49571 49039000 * @VS49571 49040000 LA R15,TOENDREQ INDICATE END OF REQUEST @VS49571 49041000 TM FLAGS,LOOPONCE WAS THIS ALREADY DONE @VS49571 49042000 * ONCE? @VS49571 49043000 BO ERRETURN YES, DON'T RETRY AGAIN @VS49571 49044000 OI FLAGS,LOOPONCE INDICATE DONE ONCE @VS49571 49045000 LA R15,REISSU RETRY THE COMMAND ONCE @VS49571 49046000 B ERRETURN @VS49571 49047000 SPACE 2 @VS49571 49048000 ERR100E EQU * @VS49571 49049000 LA R15,TOENDREQ @VS49571 49050000 B ERRETURN @VS49571 49051000 TITLE 'ERREXIT - ERROR OCCURRED RTNCD = 14' @VS49571 49052000 SPACE 2 @XL03HAJ 49196000 *** @XL03HAJ 49205000 * @XL03HAJ 49214000 * RTNCD CODE 14 - LOGIC @VS49571 49223000 * @XL03HAJ 49232000 * FDBK2 CODE MACRO(S) MEANING @VS49571 49250000 * @XL03HAJ 49259000 * 00 ALL API MACROS NON-VTAM REQUEST CODE @XL03HAJ 49268000 * (NOT CHECK, OPEN, @XL03HAJ 49277000 * OR CLOSE) @XL03HAJ 49286000 * @XL03HAJ 49295000 * 01 RESERVED @XL03HAJ 49304000 * @XL03HAJ 49313000 * 02 ALL API MACROS EXIT ADDRESS IS ZERO @XL03HAJ 49322000 * (NOT CHECK, OPEN, @XL03HAJ 49340000 * OR CLOSE) @XL03HAJ 49349000 * @XL03HAJ 49358000 * 03 ALL API MACROS ECB ADDRESS IS ZERO @XL03HAJ 49366000 * (NOT CHECK, OPEN, @XL03HAJ 49374000 * OR CLOSE) @XL03HAJ 49382000 * @XL03HAJ 49400000 * 04 CHECK RPL IS NOT ACTIVE @XL03HAJ 49410000 * @XL03HAJ 49417000 * 05-0F RESERVED @XL03HAJ 49424000 * @XL03HAJ 49440000 * 10 ALL API MACROS INVALID ACB @XL03HAJ 49450000 * (NOT CHECK, OPEN, @XL03HAJ 49457000 * OR CLOSE) @XL03HAJ 49464000 * @XL03HAJ 49480000 * 11 @XL03HAJ 49490000 * @XL03HAJ 49498000 * 12 * OPNDST(ACQUIRE, CLSDST IN PROGRESS @XL03HAJ 49506000 * SPEC)/CHECK @VS49571 49514000 * * OPNDST(ACCEPT, @VS49571 49515000 * ANY)/CHECK @VS49571 49516000 * * CLSDST(PASS)/CHECK @VS49571 49517000 * * CLSDST(RELEASE)/CHECK @VS49571 49518000 * * SOLICIT(SPEC)/CHECK @VS49571 49519000 * * READ(ANY)/CHECK @VS49571 49520000 * * WRITE(LBT)/CHECK @VS49571 49521000 * * RESET(UNCOND)/CHECK @VS49571 49522000 * * CHANGE @VS49571 49523000 * @XL03HAJ 49626000 * 13 * CLSDST(PASS)/CHECK CID INVALID @VS49571 49639000 * * CLSDST(RELEASE)/CHECK @VS49571 49640000 * INQUIRE(DEVCHAR)/CHECK @VS49571 49641000 * * INQUIRE(CIDXLATE) @VS49571 49642000 * INQUIRE(APPSTAT) @VS49571 49643000 * * INTRPRET @XL03HAJ 49684000 * * SOLICIT(SPEC) @XL03HAJ 49693000 * * WRITE(LBT)/CHECK @VS49571 49720000 * * RESET(UNCOND)/CHECK @VS49571 49721000 * * CHANGE @VS49571 49722000 * @XL03HAJ 49747000 * 14 @XL03HAJ 49756000 * @XL03HAJ 49765000 * 15 @XL03HAJ 49774000 * @XL03HAJ 49783000 * 16 SOLICIT(SPEC) SOLICIT SPECIFIC TO @XL03HAJ 49792000 * OUTPUT ONLY @XL03HAJ 49810000 * @XL03HAJ 49819000 * 17 @VS49571 49828000 * @XL03HAJ 49837000 * 18 @VS49571 49846000 * @XL03HAJ 49855000 * 19 @XL03HAJ 49864000 * @XL03HAJ 49873000 * 1A @XL03HAJ 49882000 * @XL03HAJ 49900000 * 1B @XL03HAJ 49908000 * @XL03HAJ 49916000 * 1C @XL03HAJ 49924000 * @XL03HAJ 49940000 * 1D @XL03HAJ 49950000 * @XL03HAJ 49959000 * 1E INQUIRE(DEVCHAR) INVALID DATA AREA @XL03HAJ 49968000 * INQUIRE(APPSTAT) OR LENGTH @XL03HAJ 49977000 * INQUIRE(CIDXLATE) @XL03HAJ 49986000 * INTRPRET @XL03HAJ 49995000 * READ(ANY)/CHECK @VS49571 50004000 * WRITE(LBT)/CHECK @VS49571 50005000 * @XL03HAJ 50031000 * 1F @XL03HAJ 50050000 * @XL03HAJ 50056000 * 20 @XL03HAJ 50069000 * @XL03HAJ 50078000 * 21 @XL03HAJ 50087000 * @XL03HAJ 50096000 * 22 @XL03HAJ 50105000 * @XL03HAJ 50114000 * 23 ALL API MACROS INVALID MACRO REQUEST @XL03HAJ 50123000 * (NOT CHECK, OPEN, TYPE @XL03HAJ 50132000 * OR CLOSE) @XL03HAJ 50150000 * @XL03HAJ 50159000 * 24 @XL03HAJ 50166000 * @XL03HAJ 50180000 * 25 @XL03HAJ 50190000 * @XL03HAJ 50199000 * 26 @XL03HAJ 50208000 * @XL03HAJ 50217000 * 27 RESET(UNCOND) RESET OPTION CODE @XL03HAJ 50226000 * INVALID @XL03HAJ 50235000 * @XL03HAJ 50244000 * 28 @XL03HAJ 50253000 * @XL03HAJ 50262000 * 29 @XL03HAJ 50280000 * @XL03HAJ 50289000 * 2A @XL03HAJ 50298000 * @XL03HAJ 50307000 * 2B @XL03HAJ 50316000 * @XL03HAJ 50325000 * 2C WRITE(LBT) OUTPUT NOT PRECEEDED @XL03HAJ 50334000 * RESET(UNCOND) BY INPUT @XL03HAJ 50343000 * @XL03HAJ 50352000 * 2D @XL03HAJ 50370000 * @XL03HAJ 50379000 * 2E @XL03HAJ 50388000 * @XL03HAJ 50397000 * 2F @XL03HAJ 50406000 * @XL03HAJ 50415000 * 30 @XL03HAJ 50424000 * @XL03HAJ 50433000 * 31 WRITE(LBT) INVALID DATA AREA @XL03HAJ 50442000 * OR LENGTH @XL03HAJ 50460000 * @XL03HAJ 50469000 * 32 * SOLICIT(SPEC)/ REQUEST INVALID FOR @VS49571 50478000 * * READ(ANY)/CHECK @VS49571 50479000 * * WRITE(SPEC)/CHECK SPECIFIED DEVICE @VS49571 50480000 * * RESET(UNCOND)/CHECK @VS49571 50481000 * @XL03HAJ 50523000 * 33 @XL03HAJ 50532000 * @XL03HAJ 50550000 * 34 WRITE(LBT) NO READ WHERE REQUIRED @VS49571 50559000 * RESET(UNCOND) @VS49571 50560000 * @XL03HAJ 50577000 * 35 @XL03HAJ 50586000 * @XL03HAJ 50595000 * 36 @XL03HAJ 50604000 * @XL03HAJ 50613000 * 37 @XL03HAJ 50622000 * @XL03HAJ 50640000 * 38 @XL03HAJ 50649000 * @XL03HAJ 50658000 * 39 SOLICT(SPEC) FIRST I/O FAILED DUE @XL03HAJ 50667000 * READ(ANY)/CHECK TO INVALID PROCESSING @XL03HAJ 50676000 * WRITE(LBT) OPTIONS @VS49571 50694000 * RESET(UNCOND) @XL03HAJ 50703000 * @XL03HAJ 50712000 * 3A-49 @XL03HAJ 50730000 * @XL03HAJ 50739000 * 4A * INTRPRET NO INTRPRET ROUTINE @XL03HAJ 50748000 * @XL03HAJ 50757000 * 4B * INTRPRET INVALID LOGON SEQUENCE @XL03HAJ 50766000 * @XL03HAJ 50775000 * 4C * INQUIRE(APPSTAT) NO TERMINAL OR @XL03HAJ 50784000 * INQUIRE(DEVCHAR) APPLICATION PROGRAM @XL03HAJ 50793000 * INTRPRET NAME @XL03HAJ 50802000 * @XL03HAJ 50811000 * 4D * INTRPRET NO INTRPRET TABLE @XL03HAJ 50820000 * @XL03HAJ 50829000 * 4E OPNDST(ACCEPT,ANY) INVALID NIB LIST @XL03HAJ 50838000 * @XL03HAJ 50860000 * 4F OPNDST(ACCEPT,ANY) INVALID OPNDST TYPE @XL03HAJ 50870000 * OPNDST(ACQUIRE,SPEC) @XL03HAJ 50879000 * @XL03HAJ 50888000 * 50 OPNDST(ACCEPT,ANY) @XL03HAJ 50897000 * OPNDST(ACQUIRE,SPEC) @XL03HAJ 50906000 * @XL03HAJ 50915000 * 51 OPNDST(ACCEPT,ANY) APPLICATION NEVER @XL03HAJ 50924000 * OPNDST(ACQUIRE,SPEC) ACCEPTS LOGON @XL03HAJ 50933000 * @XL03HAJ 50942000 * 52 OPNDST(ACCEPT,ANY) INVALID NIB @XL03HAJ 50960000 * OPNDST(ACQUIRE,SPEC) @XL03HAJ 50969000 * CLSDST(RELEASE) @XL03HAJ 50978000 * INQUIRE(APPSTAT) @XL03HAJ 50987000 * @XL03HAJ 50996000 * 53 OPNDST(ACCEPT,ANY) SYMBOLIC NAME UNKNOWN @XL03HAJ 51005000 * OPNDST(ACQUIRE,SPEC) @XL03HAJ 51014000 * * CLSDST(RELEASE) @VS49571 51023000 * * INQUIRE(APPSTAT) @XM09467 51032000 * @XL03HAJ 51050000 * 54 OPNDST(ACQUIRE,SPEC) DESTINATION UNOPENABLE@XL03HAJ 51057000 * @XL03HAJ 51064000 * 55 OPNDST(ACCEPT,ANY) NO OPNDST AUTHORIZATION@XL03HAJ 51080000 * * OPNDST(ACQUIRE,SPEC) @XL03HAJ 51086000 * * CLSDST(RELEASE)/CHECK @VS49571 51099000 * * CLSDST(PASS)/CHECK @XL03HAJ 51108000 * OR @VS49571 51117000 * * INTRPRET INTRPRET ROUTINE FAILED@X50BHD3 51126000 * TO RETURN APLICATION @X50BHD3 51135000 * NAME. @X50BHD3 51144000 * @X50BHD3 51153000 * 56 OPNDST(ACCEPT,ANY) CONFLICT BETWEEN MODE @VS49571 51162000 * OPNDST(ACQUIRE,SPEC) AND DEVICE TYPE @XL03HAJ 51180000 * @XL03HAJ 51189000 * 57 OPNDST(ACCEPT,ANY) INVALID MODE @XL03HAJ 51198000 * OPNDST(ACQUIRE,SPEC) @XL03HAJ 51207000 * @XL03HAJ 51216000 * 58 @XL03HAJ 51225000 * @XL03HAJ 51234000 * 59 @XL03HAJ 51243000 * @XL03HAJ 51252000 * 5A @XL03HAJ 51270000 * @XL03HAJ 51279000 * 5B CLSDST(PASS) INVALID LOGON DATA ADR @XL03HAJ 51288000 * @XL03HAJ 51297000 * 5C @XL03HAJ 51306000 * @XL03HAJ 51315000 * 5D * CLSDST(PASS)/CHECK DESTINATION NOT OPENED @VS49571 51324000 * * CLSDST(RELEASE)/CHECK @VS49571 51325000 * * SOLICIT(SPEC) @VS49571 51326000 * * READ(ANY)/CHECK @VS49571 51327000 * * WRITE(LBT)/CHECK @VS49571 51328000 * * RESET(UNCOND)/CHECK @VS49571 51329000 * * CHANGE @VS49571 51330000 * @XL03HAJ 51405000 * 5E CLSDST(PASS) NO PASS AUTHORIZATION @XL03HAJ 51414000 * @XL03HAJ 51423000 * 5F * CLSDST(PASS)/CHECK RESOURCE NOT OWNED @XL03HAJ 51432000 * @XL03HAJ 51450000 * 60 * CLSDST(RELEASE)/ RESOURCE NOT CLOSABLE @VS49571 51459000 * CHECK @VS49571 51460000 * @XL03HAJ 51477000 * 61 SETLOGON(START) INVALID SETLOGON @XL03HAJ 51486000 * @XL03HAJ 51495000 * 62 SOLICIT(SPEC) MACRO NOT VALID FOR @XL03HAJ 51504000 * READ(ANY)/CHECK SPECIFIED DEVICE TYPE @XL03HAJ 51513000 * WRITE(LBT) @XL03HAJ 51540000 * RESET(UNCOND) @XL03HAJ 51549000 * @XL03HAJ 51558000 *** @XL03HAJ 51567000 SPACE 2 @XL03HAJ 51576000 LOGIC EQU * @XL03HAJ 51585000 CH R6,HEX60 IS REASON CODE WITHIN @XL03HAJ 51594000 * LIMITS OF POSSIBILITY? @XL03HAJ 51603000 * X'60' IS HIGHEST VALID @XL03HAJ 51612000 * VALUE TO BE EXPECTED. @XL03HAJ 51630000 BH SNOCCUR >60 NO. ERROR @XL03HAJ 51639000 CH R6,HEX4A IF REASON CODE AT LEAST @XL03HAJ 51648000 BNL CHK56X >=4A X'4A', DO SEPARATELY @XL03HAJ 51657000 SPACE 2 @XL03HAJ 51666000 LA R15,TOENDREQ PREPARE ACTION FOR @VS49571 51675000 * REASON CODES OF 12 & 13@VS49571 51676000 CH R6,HEX12 CLSDST IN PROGRESS? @VS49571 51677000 BE ERRETURN 12 YES, ACTION CODE @VS49571 51678000 * ALREADY SET @VS49571 51679000 SPACE 2 @VS49571 51680000 CH R6,HEX13 IS REASON CODE 13? @XL03HAJ 51738000 BE ERRETURN 13 CID INVALID @XL03HAJ 51747000 * PROBABLY ALREADY @XL03HAJ 51756000 * RELEASED THE TERMINAL. @XL03HAJ 51765000 * IGNORE. @XL03HAJ 51774000 CH R6,HEX16 16 OUTPUT ONLY @ZA19859 51777000 BE INVDEV YES, RELEASE @ZA19859 51780000 SPACE 2 @XL03HAJ 51783000 CH R6,HEX1E 1E INVALID DATA @ZA37625 51785000 BE SEEIFRD @ZA37625 51786000 SPACE 2 @ZA37625 51787000 CH R6,HEX32 REQUEST INVALID FOR @VS49571 51792000 * SPECIFIED DEVICE? @VS49571 51793000 BNE SNOCCUR ^VALID NO, WRONG CODE @VS49571 51794000 * @VS49571 51795000 TM MFLAGS,WRITING 32 IS THIS WRITE @VS49571 51796000 BNZ ERRINPUT YES, ERROR WAS ON OUTPUT@VS49571 51797000 * DEVICE I.E. INPUT ONLY @VS49571 51798000 * NO, DEVICE IS OUTPUT ONLY 51864000 INVDEV LA R15,TORELES RELEASE THE DEVICE @VS49571 51873000 B ERRETURN @VS49571 51874000 SPACE 2 @VS49571 51875000 ERRINPUT EQU * DEVICE IS INPUT ONLY @VS49571 51876000 LA R15,CATCHALL USE CATCHALL @VS49571 51877000 LA R0,IGNORE BUT REALLY ONLY @VS49571 51878000 * IGNORE THE @VS49571 51879000 * WRITE THAT CAUSED THE @VS49571 51880000 B ERRETURN ERROR @VS49571 51881000 EJECT @XL03HAJ 51963000 CHK56X EQU * @XL03HAJ 51972000 CH R6,HEX56 IF REASON CODE MORE THAN@XL03HAJ 51990000 BH CHK5DX >56 X'56', DO SEPARATELY @XL03HAJ 51999000 SPACE 2 @XL03HAJ 52008000 LA R15,TOWRITE PREPARE DEFAULT ACTION @XL03HAJ 52017000 SLL R7,D3 AND BRANCH TABLE INDEX @XL03HAJ 52026000 B RSNTAB14(R7) GO TO REASON CODE @XL03HAJ 52035000 * HANDLING ROUTINE @XL03HAJ 52044000 SPACE 2 @XL03HAJ 52053000 RSNTAB14 EQU *-(8*(X'4A')) START TABLE W/ R6=X'4A' @XL03HAJ 52062000 LA R0,MSG04 4A NO INTERPRET ROUTINE @XL03HAJ 52080000 B ERRETURN @XL03HAJ 52089000 * @XL03HAJ 52098000 LA R0,MSG02 4B INVALID LOGON SEQUENCE @XL03HAJ 52107000 B ERRETURN @XL03HAJ 52116000 * @XL03HAJ 52125000 LA R0,MSG06 4C NO SYMBOLIC NAME (FOR @XM09467 52134000 B TSTINQA APPLICATION) @XM09467 52143000 * ASSUME INQUIRE(APPSTAT) @XM09467 52152000 * THEN CHECK FOR IT @XM09467 52170000 * @XL03HAJ 52179000 LA R0,MSG03 4D NO INTRPRET TABLE @XL03HAJ 52188000 B STDLOGON ASSUME ERROR, THEN CHECK@XL03HAJ 52197000 * FOR VALID STANDARD LOGON@XL03HAJ 52206000 * @XL03HAJ 52215000 BAL R7,SNOCCUR 4E @VS49571 52224000 NOP 0 @XL03HAJ 52233000 * @XL03HAJ 52242000 BAL R7,SNOCCUR 4F @VS49571 52260000 NOP 0 @XL03HAJ 52269000 * @XL03HAJ 52278000 BAL R7,SNOCCUR 50 @VS49571 52287000 NOP 0 @XL03HAJ 52296000 * @XL03HAJ 52305000 BAL R7,SNOCCUR 51 APPLICATION NEVER @VS49571 52314000 NOP 0 ACCEPTS LOGONS @XL03HAJ 52323000 * MEANS NETSOL NEVER @XL03HAJ 52332000 * ACCEPTS LOGON. @XL03HAJ 52350000 * @XL03HAJ 52359000 BAL R7,SNOCCUR 52 @VS49571 52368000 NOP 0 @XL03HAJ 52377000 * @XL03HAJ 52386000 LA R0,MSG06 53 SYMBOLIC (APPLICATION) @XM09467 52395000 B TSTINQA NAME NOT KNOWN @XM09467 52404000 * ASSUME INQUIRE(APPSTAT) @XM09467 52413000 * THEN CHECK FOR IT @XM09467 52422000 * @XL03HAJ 52440000 BAL R7,SNOCCUR 54 @VS49571 52449000 NOP 0 @XL03HAJ 52458000 * @XL03HAJ 52467000 LA R0,MSG05 55 TERMINAL UNAUTHORIZED @XL03HAJ 52476000 B OTHERAPL FOR APPLICATION @XL03HAJ 52485000 * OR @VS49571 52494000 * AN INSTALLATION-SUPPLIED@VS49571 52495000 * INTERPRET ROUTINE HAS @VS49571 52496000 * REFUSED TO GRANT THE @VS49571 52497000 * TERMINAL ACCESS TO AN @VS49571 52498000 * APPLICATION CORRESPONDING 52548000 * TO THE TERMINAL-OPERATOR 52557000 * SUPPLIED LOGON SEQUENCE. 52566000 * ASSUME CLSDST(PASS), @XL03HAJ 52575000 * THEN CHECK FOR IT. @XL03HAJ 52584000 * @XL03HAJ 52593000 BAL R7,SNOCCUR 56 CONFLICT BETWEEN MODE @VS49571 52602000 NOP 0 AND DEVICE TYPE. @XL03HAJ 52620000 * TRIED TO OPNDST FOR @XL03HAJ 52629000 * A RECORD DEVICE. @XL03HAJ 52638000 * NETSOL ONLY SUPPORTS @XL03HAJ 52647000 * BASIC DEVICES. @VS49571 52656000 * CAN NOT OCCUR IN NETSOL @VS49571 52657000 SPACE 2 @XL03HAJ 52674000 CHK5DX EQU * @VS49571 52683000 CH R6,HEX5D OPNDST INVALID (TERMINAL@VS49571 52684000 * NOT CONNECTED) @VS49571 52685000 BNE CHK5FX ^5D NOT X'5D', CHECK FURTHER@VS49571 52686000 LA R15,TOENDREQ 5D ACTION, RELEASE RPL AND @VS49571 52687000 B ERRETURN RETURN TO VTAM @VS49571 52688000 SPACE 2 @VS49571 52689000 CHK5FX EQU * @XL03HAJ 52755000 CH R6,HEX5F LESS THAN X'5F' NOT @XL03HAJ 52764000 BL SNOCCUR <5F VALID @XL03HAJ 52773000 * @XL03HAJ 52782000 LA R15,TOENDREQ 5F 60 REASON CODES OF 5F @VS49571 52791000 B ERRETURN AND 60 ARE POSSIBLE IF @XL03HAJ 52800000 * A RELREQ OR READEND @XL03HAJ 52809000 * EXIT IS PROCESSED @XL03HAJ 52818000 * AFTER THE DEVICE WAS @XL03HAJ 52827000 * PASSED TO ANOTHER @XL03HAJ 52836000 * APPLICATION. THIS CAN @XL03HAJ 52845000 * HAPPEN BECAUSE THE @XL03HAJ 52854000 * CLSDST(PASS) WILL NOT @XL03HAJ 52863000 * PURGE AN ALREADY @XL03HAJ 52872000 * SCHEDULED EXIT. @XL03HAJ 52881000 EJECT @XL03HAJ 52890000 SPACE 4 @XL03HAJ 52899000 TSTINQA EQU * @XL03HAJ 52930000 TM MFLAGS,INQAPPST INQUIRE OF APPLICATION @XL03HAJ 52936000 * STATUS MEANS THE @XL03HAJ 52949000 * APPLICATION WAS UN- @XL03HAJ 52958000 * KNOWN TO VTAM. @XL03HAJ 52967000 BO ERRETURN PUT OUT ERROR MESSAGE @XL03HAJ 52976000 BAL R7,SNOCCUR ANY OTHER CAUSE OF @VS49571 52985000 * ERROR IS IMPOSSIBLE @XL03HAJ 52994000 SPACE 4 @XL03HAJ 53003000 OTHERAPL EQU * @XL03HAJ 53012000 TM MFLAGS,INTRPRT ERROR ON INTRPRET? @X50BHD3 53030000 BZ OPNDSPC NO. @X50BHD3 53039000 LA R0,MSG02 YES. WRITE THE MESSAGE @X50BHD3 53048000 * 'INPUT NOT RECOGNIZED'.@X50BHD3 53057000 B ERRETURN @X50BHD3 53066000 OPNDSPC EQU * 53075000 TM MFLAGS,OPNDSPEC ERROR ON OPNDST(SPEC)? @XL03HAJ 53084000 BO SNOCCUR YES. THEN THE INSTAL- @XL03HAJ 53093000 * LATION AUTHORIZATION @XL03HAJ 53102000 * ROUTINE DOES NOT ALLOW @XL03HAJ 53120000 * NETSOL TO BE CONNECTED @XL03HAJ 53129000 TM MFLAGS2,CLSDST WAS THIS A CLOSE @VS49571 53138000 BO ERRETURN YES, THEN HAPPENED ON @VS49571 53139000 * CLDST(PASS). OHER @XL03HAJ 53156000 * APPLICATION CAN'T BE @XL03HAJ 53165000 * CONNECTED AS REQUESTED @XL03HAJ 53174000 * IN RELREQ OR READEND. @XL03HAJ 53183000 * ISSUE ALREADY PREPARED @XL03HAJ 53192000 * ERROR MESSAGE. @XL03HAJ 53210000 BAL R7,SNOCCUR NO, ANY OTHER CAUSE @VS49571 53219000 * IS IMPOSSIBLE @VS49571 53220000 EJECT @VS49571 53221000 STDLOGON EQU * @XL03HAJ 53246000 SPACE 2 @XL03HAJ 53255000 AIF ('&SYSTEM' NE 'DOS').NDOS6 @D31JKAX 53264000 SPACE 2 53273000 *********************************************************************** 53282000 * * 53291000 * NO ROUTINE TO SCAN STANDARD LOGON SEQUENCE IN DOS/VS @D31JKAJ 53300000 * * 53309000 *********************************************************************** 53330000 .NDOS6 AIF ('&SYSTEM' NE 'VS1').NVS16 @D31JKAX 53335000 SPACE 2 53346000 *********************************************************************** 53352000 * 53370000 * NSYSCODE -- OS/VS1 SYSTEM DEPENDENT 53380000 * * 53390000 * SCAN INPUT FOR STANDARD LOGON SEQUENCE * 53396000 * * 53402000 * STANDARD LOGON SEQUENCE IS AS FOLLOWS: @XM07051 53420000 * ANY NUMBER OF BLANKS @XM07051 53429000 * 'LOGON ' OR 'LOGON,' @XM07051 53438000 * OPTIONAL OTHER DATA ENDING IN ' ' OR ',' @XM07051 53447000 * 'APPLID(' @XM07051 53456000 * ONE TO EIGHT ALAPHANUMERIC CHARACTERS SIGNIFYING @XM07051 53465000 * THE APPLICATION NAME @XM07051 53474000 * ')' @XM07051 53483000 * AN OPTIONAL ' ' OR ',' FOLLOWED BY OTHER DATA @XM07051 53492000 * 53510000 *********************************************************************** 53519000 SPACE 2 53528000 * @VS49571 53537000 * XXXXXXXXXX @VS49571 53538000 DROP PTRNIB REG 8 IS NO LONGER NIB @VS49571 53539000 * XXXXXXXXXX DSECT BASE REG. @VS49571 53540000 * @VS49571 53541000 SR RECLENG,RECLENG LENGTH OF LOGON MESSAGE @XM06788 53582000 IC RECLENG,DATASEQL @XM06788 53600000 LA RCUR,DATASEQ POINT TO LOGON MESSAGE @XM07051 53609000 LR REND,RCUR POINT BEYOND END OF @XM07051 53618000 AR REND,RECLENG LOGON MESSAGE 53627000 BCTR RCUR,0 BACKSPACE 1 FOR LOOP @XM07051 53636000 * ACTION @XL03HAJ 53645000 * BELOW @XM07051 53654000 SPACE 2 53663000 NEXTCHAR EQU * 53672000 SPACE 2 53690000 LA RCUR,1(,RCUR) NEXT CHARACTER 53699000 LA RENDMIN,L'CLOGON+L'CAPPLID+3(,RCUR) MINIMUM END @XM07051 53708000 CR RENDMIN,REND CAN STANDARD SEQUENCE @XM07051 53717000 * FIT IN DATA AREA? @XM07051 53726000 BH INVALID NO. ERROR @XM07051 53735000 SPACE 2 53744000 CLI 0(RCUR),C' ' IGNORE LEADING BLANKS 53753000 BE NEXTCHAR 53762000 SPACE 2 53780000 SECNDPAS EQU * @VS49571 53789000 CLC CLOGON,0(RCUR) IS FIRST WORD LOGON? @XM07051 53798000 BE FOUNDLOG YES, CONTINUE PROCESSING@VS49571 53807000 TM FLAGS2,LWRCASE ALREADY TRIED LOWERCASE?@VS49571 53808000 BO INVALID YES, THEN NOT LOWERCASE@VS49571 53809000 OI FLAGS2,LWRCASE INDICATE TRYING LOWER @VS49571 53810000 TR DATASEQ,TRTAB2 TRANSLATE LOWER TO UPPER@VS49571 53811000 B SECNDPAS TRY AGAIN @VS49571 53812000 SPACE 2 53870000 * 'LOGON' HAS BEEN FOUND.SEARCH FOR APPLID(NAME) 53879000 SPACE 2 53888000 FOUNDLOG EQU * @VS49571 53897000 LA RCUR,L'CLOGON(,RCUR) NEXT CHAR BEYOND LOGON @XM07051 53906000 CLI 0(RCUR),C' ' NEXT CHAR MUST BE @XM07051 53915000 BE APPLSCAN EITHER BLANK OR A @XM07051 53924000 CLI 0(RCUR),C',' COMMA @XM07051 53933000 BNE INVALID 53942000 SPACE 2 53960000 APPLSCAN EQU * 53969000 SPACE 2 53978000 LA RCUR,1(,RCUR) NEXT CHAR 53987000 LA RENDMIN,L'CAPPLID+2(,RCUR) MINIMUM END @XM07051 53996000 CR RENDMIN,REND CAN STANDARD SEQUENCE @XM07051 54005000 * FIT IN DATA AREA? @XM07051 54014000 BH INVALID NO. ERROR @XM07051 54023000 SPACE 2 54032000 CLC CAPPLID,0(RCUR) IS THIS APPLID(? 54050000 BNE APPLSCAN 54059000 SPACE 2 54068000 * APPLID( FOUND--ENSURE THAT BLANK OR COMMA PRECEDES IT 54077000 * AND THAT ITS WITHIN BOUNDS OF MESSAGE 54086000 SPACE 2 54095000 BCTR RCUR,0 BACKSPACE ONE 54104000 CLI 0(RCUR),C' ' IS IT A BLANK? 54113000 BE STARTSOK CONTINUE IF SO 54122000 SPACE 2 54140000 CLI 0(RCUR),C',' IS IT A COMMA? 54149000 BE STARTSOK CONTINUE IF SO 54158000 SPACE 2 54167000 LA RCUR,L'CAPPLID+1(,RCUR) NEXT CHAR PAST APPLID( @XM07051 54176000 B APPLSCAN CONTINUE SCAN FOR APPLID( 54185000 SPACE 2 54194000 STARTSOK EQU * 54203000 SPACE 2 54212000 LA RCUR,L'CAPPLID+1(,RCUR) GO PAST APPLID( @XM07051 54230000 CLI 0(RCUR),C')' NULL APPL NAME? 54239000 BE APPLSCAN YES. LOOK FOR VALID @XM07051 54248000 * APPLID( @XM07051 54257000 SPACE 2 54266000 * FIND RIGHT PARENTHESIS 54275000 SPACE 2 54284000 LR RAPPL,RCUR ADDRESS POTENTIAL APPLID NAME 54293000 SPACE 2 54302000 FNDPAREN EQU * 54320000 SPACE 2 54329000 LA RCUR,1(,RCUR) POINT TO NEXT CHAR 54338000 CR RCUR,REND END REACHED? @XM07051 54347000 BNL INVALID YES 54356000 SPACE 2 54365000 CLI 0(RCUR),C')' IS THIS RIGHT PAREN.? 54374000 BNE FNDPAREN NO,CONTINUE SCAN 54383000 LA RENDMIN,1(,RCUR) MINIMUM END @XM07051 54392000 CR RENDMIN,REND END OF DATA @XM07051 54410000 BE NAMELENG YES. CAN CHECK FOR @XM07051 54419000 * APPL NAME @XM07051 54428000 SPACE 2 @XM07051 54437000 CLI 1(RCUR),C' ' NO. NEXT CHARACTER MUST @XM07051 54446000 BE NAMELENG BE BLANK OR COMMA, @XL03HAJ 54455000 CLI 1(RCUR),C',' ELSE CONTINUE SCAN FOR @XM07051 54464000 BNE APPLSCAN VALID APPLID @XM07051 54473000 SPACE 2 @XM07051 54482000 NAMELENG EQU * @XM07051 54500000 SPACE 2 54509000 * IF THIS POINT REACHED APPLID WITH LEFT AND RT. PAREN FOUND 54518000 * AND IT IS FOLLOWED BY A BLANK OR A COMMA OR NO MORE DATA 54527000 SPACE 2 54536000 SR RCUR,RAPPL LENGTH OF APPL NAME IN RCUR 54545000 CH RCUR,LAPPLID IS NAME TOO BIG? 54554000 BNH EXTRAPPL NO. EXTRACT APPL NAME @XM07051 54563000 LR RCUR,RAPPL YES. CONTINUE SCAN FOR @XM07051 54572000 B APPLSCAN VALID APPLID( @XL03HAJ 54590000 SPACE 2 54599000 EXTRAPPL EQU * @XM07051 54608000 SPACE 2 54617000 BCTR RCUR,D0 DECREMENT FOR EXECUTE @XL03HAJ 54626000 MVC APPLID,BLANK8 CLEAR OUT TO MOVE NAME @XL03HAJ 54635000 EX RCUR,MVCNAME EXEC MVC WITH CORRECT LENGTH 54644000 SR R15,R15 INDICATE THAT LOGON SEQ @XL03HAJ 54653000 SR R0,R0 WAS INTERPRETED OK @XL03HAJ 54662000 B ERRETURN RETURN TO EXIT ROUTINE @XL03HAJ 54671000 SPACE 3 54680000 BLANK8 DC CL8' ' BLANKS FOR NAME @XL03HAJ 54689000 CLOGON DC C'LOGON' 54698000 CAPPLID DC C'APPLID(' 54707000 LAPPLID DC AL2(L'APPLID) LENGTH OF APPLID NAME @XM07051 54730000 MVCNAME MVC APPLID(0),0(RAPPL) @XM07051 54734000 SPACE 3 54750000 INVALID EQU * 54752000 SPACE 2 54770000 .NVS16 AIF ('&SYSTEM' NE 'VS2').NVS26 @D31JKAX 54779000 SPACE 2 @D31JKAJ 54788000 *********************************************************************** 54797000 * @D31JKAJ 54806000 * NSYSCODE -- OS/VS2 SYSTEM DEPENDENT @D31JKAJ 54815000 * * 54824000 * SCAN INPUT FOR STANDARD LOGON SEQUENCE * 54833000 * * 54842000 * STANDARD LOGON SEQUENCE IS AS FOLLOWS: @D31JKAJ 54860000 * ANY NUMBER OF BLANKS @D31JKAJ 54869000 * 'LOGON ' OR 'LOGON,' @D31JKAJ 54878000 * OPTIONAL OTHER DATA ENDING IN ' ' OR ',' @D31JKAJ 54887000 * 'APPLID(' @D31JKAJ 54896000 * ONE TO EIGHT ALAPHANUMERIC CHARACTERS SIGNIFYING @D31JKAJ 54905000 * THE APPLICATION NAME @D31JKAJ 54914000 * ')' @D31JKAJ 54923000 * AN OPTIONAL ' ' OR ',' FOLLOWED BY OTHER DATA @D31JKAJ 54932000 * @Z30APGV 54950000 * NOTE: FOR VS2 @Z30APGV 54959000 * 'LOGON' OR 'LOGON ' OR 'LOGON,' @Z30APGV 54968000 * IS SUFFICIENT TO LOGON @Z30APGV 54977000 * TO TCAM @Z30APGV 54986000 * @D31JKAJ 54995000 *********************************************************************** 55004000 SPACE 2 @D31JKAJ 55013000 * @VS49571 55022000 * XXXXXXXXXX @VS49571 55023000 DROP PTRNIB REG 8 IS NO LONGER NIB @VS49571 55024000 * XXXXXXXXXX DSECT BASE REG. @VS49571 55025000 * @VS49571 55026000 SR RECLENG,RECLENG LENGTH OF LOGON MESSAGE @D31JKAJ 55076000 IC RECLENG,DATASEQL @D31JKAJ 55085000 LA RCUR,DATASEQ POINT TO LOGON MESSAGE @D31JKAJ 55094000 LR REND,RCUR POINT BEYOND END OF @D31JKAJ 55103000 AR REND,RECLENG LOGON MESSAGE @D31JKAJ 55112000 BCTR RCUR,0 BACKSPACE 1 FOR LOOP @D31JKAJ 55130000 * ACTION @D31JKAJ 55139000 * BELOW @D31JKAJ 55148000 SPACE 2 @D31JKAJ 55157000 NEXTCHAR EQU * @D31JKAJ 55166000 SPACE 2 @D31JKAJ 55175000 LA RCUR,1(,RCUR) NEXT CHARACTER @D31JKAJ 55184000 CLI 0(RCUR),C' ' IGNORE LEADING BLANKS @D31JKAJ 55193000 BNE SECNDPAS NON BLANK CONTINUE @ZA17038 55202000 BCT RECLENG,NEXTCHAR ALL BLANKS? @ZA17038 55206000 B INVALID YES, EXIT @ZA17038 55210000 SPACE 2 @D31JKAJ 55220000 SECNDPAS EQU * @VS49571 55229000 CLC CLOGON,0(RCUR) IS FIRST WORD LOGON? @XM07051 55238000 BE FOUNDLOG YES, CONTINUE PROCESSING@VS49571 55247000 TM FLAGS2,LWRCASE ALREADY TRIED LOWERCASE?@VS49571 55248000 BO INVALID YES, THEN NOT LOWERCASE@VS49571 55249000 OI FLAGS2,LWRCASE INDICATE TRYING LOWER @VS49571 55250000 TR DATASEQ,TRTAB2 TRANSLATE LOWER TO UPPER@VS49571 55251000 B SECNDPAS TRY AGAIN @VS49571 55252000 SPACE 2 55310000 FOUNDLOG EQU * @VS49571 55319000 LA RENDMIN,L'CLOGON+L'CAPPLID+3(,RCUR) MINIMUM END @Z30APGV 55328000 CR RENDMIN,REND CAN STANDARD SEQUENCE @Z30APGV 55337000 * FIT IN DATA AREA? @Z30APGV 55346000 BH VS2CONT NO. ERROR @Z30APGV 55355000 SPACE 2 @Z30APGV 55364000 * 'LOGON' HAS BEEN FOUND.SEARCH FOR APPLID(NAME) @D31JKAJ 55373000 SPACE 2 @D31JKAJ 55382000 LA RCUR,L'CLOGON(,RCUR) NEXT CHAR BEYOND LOGON @D31JKAJ 55400000 CLI 0(RCUR),C' ' NEXT CHAR MUST BE @D31JKAJ 55409000 BE APPLSCAN EITHER BLANK OR A @D31JKAJ 55418000 CLI 0(RCUR),C',' COMMA @D31JKAJ 55427000 BNE INVALID @D31JKAJ 55436000 SPACE 2 @D31JKAJ 55445000 APPLSCAN EQU * @D31JKAJ 55454000 SPACE 2 @D31JKAJ 55463000 LA RCUR,1(,RCUR) NEXT CHAR @D31JKAJ 55472000 LA RENDMIN,L'CAPPLID+2(,RCUR) MINIMUM END @D31JKAJ 55490000 CR RENDMIN,REND CAN STANDARD SEQUENCE @D31JKAJ 55499000 * FIT IN DATA AREA? @D31JKAJ 55508000 BH INVALID NO. ERROR @D31JKAJ 55517000 SPACE 2 @D31JKAJ 55526000 CLC CAPPLID,0(RCUR) IS THIS APPLID(? @D31JKAJ 55535000 BNE APPLSCAN @D31JKAJ 55544000 SPACE 2 @D31JKAJ 55553000 * APPLID( FOUND--ENSURE THAT BLANK OR COMMA PRECEDES IT @D31JKAJ 55562000 * AND THAT ITS WITHIN BOUNDS OF MESSAGE @D31JKAJ 55580000 SPACE 2 @D31JKAJ 55589000 BCTR RCUR,0 BACKSPACE ONE @D31JKAJ 55598000 CLI 0(RCUR),C' ' IS IT A BLANK? @D31JKAJ 55607000 BE STARTSOK CONTINUE IF SO @D31JKAJ 55616000 SPACE 2 @D31JKAJ 55625000 CLI 0(RCUR),C',' IS IT A COMMA? @D31JKAJ 55634000 BE STARTSOK CONTINUE IF SO @D31JKAJ 55643000 SPACE 2 @D31JKAJ 55652000 LA RCUR,L'CAPPLID+1(,RCUR) NEXT CHAR PAST APPLID( @D31JKAJ 55670000 B APPLSCAN CONTINUE SCAN FOR APPLID( 55679000 SPACE 2 @D31JKAJ 55688000 STARTSOK EQU * @D31JKAJ 55697000 SPACE 2 @D31JKAJ 55706000 LA RCUR,L'CAPPLID+1(,RCUR) GO PAST APPLID( @D31JKAJ 55715000 CLI 0(RCUR),C')' NULL APPL NAME? @D31JKAJ 55724000 BE APPLSCAN YES. LOOK FOR VALID @D31JKAJ 55733000 * APPLID( @D31JKAJ 55742000 SPACE 2 @D31JKAJ 55760000 * FIND RIGHT PARENTHESIS @D31JKAJ 55769000 SPACE 2 @D31JKAJ 55778000 LR RAPPL,RCUR ADDRESS POTENTIAL APPLID NAME 55787000 SPACE 2 @D31JKAJ 55796000 FNDPAREN EQU * @D31JKAJ 55805000 SPACE 2 @D31JKAJ 55814000 LA RCUR,1(,RCUR) POINT TO NEXT CHAR @D31JKAJ 55823000 CR RCUR,REND END REACHED? @D31JKAJ 55832000 BNL INVALID YES @D31JKAJ 55850000 SPACE 2 @D31JKAJ 55859000 CLI 0(RCUR),C')' IS THIS RIGHT PAREN.? @D31JKAJ 55868000 BNE FNDPAREN NO,CONTINUE SCAN @D31JKAJ 55877000 LA RENDMIN,1(,RCUR) MINIMUM END @D31JKAJ 55886000 CR RENDMIN,REND END OF DATA @D31JKAJ 55895000 BE NAMELENG YES. CAN CHECK FOR @D31JKAJ 55904000 * APPL NAME @D31JKAJ 55913000 SPACE 2 @D31JKAJ 55922000 CLI 1(RCUR),C' ' NO. NEXT CHARACTER MUST @D31JKAJ 55940000 BE NAMELENG BE BLANK OR COMMA, @D31JKAJ 55949000 CLI 1(RCUR),C',' ELSE CONTINUE SCAN FOR @D31JKAJ 55958000 BNE APPLSCAN VALID APPLID @D31JKAJ 55967000 SPACE 2 @D31JKAJ 55976000 NAMELENG EQU * @D31JKAJ 55985000 SPACE 2 @D31JKAJ 55994000 * IF THIS POINT REACHED APPLID WITH LEFT AND RT. PAREN FOUND 56003000 * AND IT IS FOLLOWED BY A BLANK OR A COMMA OR NO MORE DATA 56012000 SPACE 2 @D31JKAJ 56030000 SR RCUR,RAPPL LENGTH OF APPL NAME IN RCUR 56039000 CH RCUR,LAPPLID IS NAME TOO BIG? @D31JKAJ 56048000 BNH EXTRAPPL NO. EXTRACT APPL NAME @D31JKAJ 56057000 LR RCUR,RAPPL YES. CONTINUE SCAN FOR @D31JKAJ 56066000 B APPLSCAN VALID APPLID( @D31JKAJ 56075000 SPACE 2 56084000 * VS2 CODE FOR TCAM @Z30APGV 56093000 VS2CONT LA RENDMIN,L'CLOGON+0(,RCUR) GET MIN. LOGON @ZM32671 56102000 CR RENDMIN,REND IS IT OK @Z30APGV 56120000 BH INVALID BR IF NO, ERROR @ZM32912 56129000 BE VS2NTCAM BR IF OK @Z30APGV 56138000 * DETERMINE IF FOLLOWED BY TRAILING'' OR ',' @Z30APGV 56147000 LA RCUR,L'CLOGON(,RCUR) GET NEXT CHAR @ZA17038 56156000 CLI 0(RCUR),C' ' IS IT BLANK @Z30APGV 56165000 BE VS2NTCAM BR IF YES @Z30APGV 56174000 CLI 0(RCUR),C',' IS IT A COMMA @Z30APGV 56183000 BNE INVALID BR IF NO, ERROR @Z30APGV 56192000 * LOGON IS FOR TCAM @Z30APGV 56210000 VS2NTCAM MVC APPLID,CTCAM MOVE NAME @Z30APGV 56219000 B VS2ISOK GO SET GOOD CODE @Z30APGV 56228000 SPACE 2 @D31JKAJ 56237000 EXTRAPPL EQU * @D31JKAJ 56246000 SPACE 2 @D31JKAJ 56255000 BCTR RCUR,D0 DECREMENT FOR EXECUTE @D31JKAJ 56264000 MVC APPLID,BLANK8 CLEAR OUT TO MOVE NAME @D31JKAJ 56273000 EX RCUR,MVCNAME EXEC MVC WITH CORRECT LENGTH 56282000 VS2ISOK SR R15,R15 INDICATE THAT LOGON SEQ @Z30APGV 56300000 SR R0,R0 WAS INTERPRETED OK @D31JKAJ 56309000 B ERRETURN RETURN TO EXIT ROUTINE @D31JKAJ 56318000 SPACE 3 @D31JKAJ 56327000 BLANK8 DC CL8' ' BLANKS FOR NAME @D31JKAJ 56336000 CLOGON DC C'LOGON' @D31JKAJ 56345000 CTCAM DC C'TCAM ' @Z30APGV 56354000 CAPPLID DC C'APPLID(' @D31JKAJ 56363000 LAPPLID DC AL2(L'APPLID) LENGTH OF APPLID NAME @D31JKAJ 56372000 MVCNAME MVC APPLID(0),0(RAPPL) @D31JKAJ 56390000 SPACE 3 @D31JKAJ 56399000 INVALID EQU * @D31JKAJ 56408000 .NVS26 ANOP @D31JKAX 56417000 SPACE 2 @D31JKAJ 56426000 B ERRETURN TAKE APPROPRIATE @XL03HAJ 56435000 * DEBUGGING #XM09020 56444000 * ACTION @XL03HAJ 56453000 TITLE 'ERREXIT - ERROR OCCURRED ERRETURN' @VS49571 56462000 SPACE 2 @XL03HAJ 56480000 ERRETURN EQU * @XL03HAJ 56489000 STC R15,ACTIONS SAVE ACTION CODES FOR @XM09020 56498000 STC R0,ACTIONS+ONE DEBUGGING @XM09020 56507000 SPACE 2 @VS49571 56516000 CR R1,R5 DO WE HAVE BOTH A SYNCH @VS49571 56517000 * RPL AND A ASYNCH RPL @VS49571 56518000 BE ERROUT NO, SKIP THE MOVE OF THE@VS49571 56519000 * RPL WORKAREA @VS49571 56520000 MVC LNIFGRPL(WORKRPLA,R5),SYNWORK SAVE THE WORKAREA @VS49571 56521000 MVC INRPLWRK(WRPLREST,R5),SYNWORK+WORKRPLA @VS49571 56522000 OI FLAGS2,SYNCHIO RESET SW IN SYNCHRPL @VS49571 56523000 * @VS49571 56524000 * XXXXXXXXXXXXXXX @VS49571 56525000 DROP R1 @VS49571 56526000 USING IFGRPL,R5 @VS49571 56527000 * XXXXXXXXXXXXXXX @VS49571 56528000 * @VS49571 56529000 ERROUT EQU * @VS49571 56530000 LR R14,R3 RESTORE ADDR AND RETURN @XL03HAJ 56669000 BR R14 VTAM WHICH WILL RETURN @XL03HAJ 56678000 * TO THE NSI AFTER THE @XL03HAJ 56687000 * COMMAND WHICH CAUSED @XL03HAJ 56696000 * ERREXIT TO BE ENTERED. @XL03HAJ 56705000 TITLE 'NETWORK SOLICITOR - CONSTANTS AND EQUATES' 56714000 * EQUATES AND CONSTANTS FOR MAIN NETSOL CODE @VS49571 56732000 SPACE 1 56750000 R0 EQU 0 MACRO WORK REGISTER, AND 56759000 * CONTAINS REASON CODE UPON 56768000 * ABNORMAL TERMINATION 56777000 SPACE 1 56786000 R1 EQU 1 PARAMETER REGISTER, 56795000 * CORRUPTED BY API MACROS 56804000 SPACE 1 56813000 R2 EQU 2 WORK REGISTER 56822000 SPACE 1 56840000 R3 EQU 3 WORK REGISTER 56849000 SPACE 1 56858000 R4 EQU 4 WORK REGISTER 56867000 SPACE 1 56876000 R5 EQU 5 POINTER TO CURRENT RPL, IT 56885000 * IS NOT USED FOR ANY OTHER 56894000 * PURPOSE 56903000 SPACE 1 56912000 PTRRPL EQU R5 AS ABOVE @VS49571 56930000 SPACE 1 56939000 R6 EQU 6 WORK REGISTER 56948000 RENDMIN EQU 6 MINIMUM END OF LOGON @XM07051 56957000 * MESSAGE @XM07051 56966000 SPACE 1 56975000 R7 EQU 7 WORK REG 56984000 REND EQU 7 END OF LOGON MESSAGE @XM09031 56993000 SPACE 1 57002000 R8 EQU 8 NIB POINTER @VS49571 57020000 PTRNIB EQU 8 EXCEPT IN STD LOGON. @VS49571 57021000 RECLENG EQU 8 VS1/2 ONLY LOGON MESSAGE LENGTH 57038000 RAPPL EQU 8 VS1/2 ONLY APPLICATION NAME ADDRESS 57047000 SPACE 1 57056000 R9 EQU 9 WORK REG 57065000 RCUR EQU 9 CHARACTER BEING SCANNED @XM09031 57074000 SPACE 1 57083000 R10 EQU 10 THIRD BASE REGISTER @ZM32689 57092000 SPACE 1 57110000 R11 EQU 11 SECOND BASE REGISTER 57119000 SPACE 1 57128000 R12 EQU 12 FIRST BASE REGISTER 57137000 SPACE 1 57146000 R13 EQU 13 SAVE AREA POINTER 57155000 SPACE 1 57164000 R14 EQU 14 RETURN REGISTER 57173000 SPACE 1 57182000 R15 EQU 15 RETURN CODE AND EXIT ENTRY 57200000 * POINTER 57209000 EJECT @VS49571 57218000 ************************************************************** @VS49571 57219000 * @VS49571 57220000 * FLAGS INDEPENDENT OF A SPECIFIC REQUEST @VS49571 57221000 * @VS49571 57222000 ************************************************************** @VS49571 57223000 SPACE 2 @VS49571 57224000 UFLAGS DC X'02' INITIALLY NEEDREAD FLAG ON 57290000 SHUTDOWN EQU X'01' SHUTDOWN IN PROGRESS @VS49571 57299000 NEEDREAD EQU X'02' ON WHEN A READ (ANY) IS PENDING 57308000 SNOCCURM EQU X'04' SET WHEN 'SHOULD NOT @ZA27846 57317000 * OCCUR' CONDITION HAPPEN @ZA27846 57317300 * EQU X'08' RESERVED @VS49571 57318000 * EQU X'10' RESERVED @VS49571 57319000 * EQU X'20' RESERVED @VS49571 57320000 * EQU X'40' RESERVED @VS49571 57321000 * EQU X'80' RESERVED @VS49571 57322000 * @VS49571 57323000 UFLAGS2 DC X'00' RESERVED FLAGS @VS49571 57324000 * EQU X'01' RESERVED @VS49571 57325000 * EQU X'02' RESERVED @VS49571 57326000 * EQU X'04' RESERVED @VS49571 57327000 * EQU X'08' RESERVED @VS49571 57328000 * EQU X'10' RESERVED @VS49571 57329000 * EQU X'20' RESERVED @VS49571 57330000 * EQU X'40' RESERVED @VS49571 57331000 * EQU X'80' RESERVED @VS49571 57332000 * @VS49571 57333000 DUMPFLAG DC X'00' REASON CODE FOR DUMPING @VS49571 57334000 * DUMP REASON CODES 57704000 SPACE 2 57713000 OPENCODE EQU 1 OPEN ACB FAILURE 57722000 SETLCODE EQU 2 SETLOGON FAILURE 57731000 CBLKCODE EQU 4 CONTROL BLOCK FAILURE 57740000 RPL0CODE EQU 5 RPL0 ACTIVE CAN NOT USE @ZA43303 57744400 DEVPCODE EQU 7 DEVICE/DEFINITION PROB @XL03HAJ 57749000 SPACE 8 @VS49571 57767000 AIF ('&ABEND' NE 'NO').IPLT @ZA32003 57767200 TEMP1 DC XL3'00' TEMP1 @ZA32003 57767800 TEMP2 DC XL5'00' TEMP2 @ZA32003 57768400 TRTBL DC C'0123456789ABCDEF' TRANSLATE TABLE @ZA32003 57769000 .IPLT ANOP @ZA32003 57769600 IPLTIME DC F'0' TIME NO LOGON WRITE @ZA25713 57771200 * IS ISSUED IN .01 SECS @ZA25713 57772200 TIMECONV DC F'6000' TIME CONVERSION @ZA32555 57773200 NOLOGWRT DC X'FF' FLAG TO SKIP LOGON WRITE@ZA25713 57774200 SNOREGS DC 16F'0' REGS FOR SNO CONDITIONS @VS49571 57784000 RETVTAM@ DS F SAVE AREA FOR EXIT RETURN ADDR 57785000 GENSAVE DS 18F SAVE AREA FOR EXIT ROUTINES 57794000 * @VS49571 57803000 SUBSAV14 DC F'0' SAVE AREA FOR REG 14 @VS49571 57804000 * USED BY SUBROUTINES @VS49571 57805000 ARPL0 DC A(RPL0) ADDR OF FIRST RPL IN TAB@VS49571 57806000 DCZEROS DC 2F'0' ZEROS NEEDED FOR COMPARE@VS49571 57807000 FINISECB DC F'0' ECB THAT MAIN-LINE CODE WAITS 57848000 * ON, IT IS POST'ED BY TPEND EXIT 57890000 TABDEV@ DC A(TABDEV) ADDRESS FOR THE INDEX @VS49571 57897000 INQDCHAR DC XL8'00' WORK AREA USED FOR @VS49571 57898000 * INQUIRE(DEVCHAR). IT @DA04534 57911000 * IS ADDRESSABLE VIA THE @DA04534 57925000 * ISTDVCHR DSECT @DA04534 57932000 * @VS49571 57946000 * DEBUG AREA FOR INQUIRE APPSTAT. @VS49571 57947000 * @VS49571 57948000 APPLSTAT DC X'0' FOR RPL FDBK FIELD @VS49571 57949000 EJECT @VS49571 57950000 * MISCELLANEOUS CONSTANTS AND MASKS. 57995000 SPACE 2 58002000 NUL EQU X'00' NO BITS ON DEVICE CON- @DA04534 58016000 * TROL CHARACTER (USED @DA04534 58030000 * BY 3735) @DA04534 58037000 PF01 EQU X'F1' 3270 PROGRAM FUNCTION KEY 1 58044000 PF09 EQU X'F9' 3270 PROGRAM FUNCTION KEY 9 58051000 PF10 EQU X'7A' 3270 PROGRAM FUNCTION KEY 10 58065000 PF12 EQU X'7C' 3270 PROGRAM FUNCTION KEY 12 58072000 PA1 EQU X'6C' 3270 PROGRAM ACCESS KEY 1 58086000 PA2 EQU X'6E' 3270 PROGRAM ACCESS KEY 2 58100000 PA3 EQU X'6B' 3270 PROGRAM ACCESS KEY 3 58107000 SBA EQU X'11' 3270 SET BUFFER @ FIELD @DM07616 58114000 CLEARKEY EQU X'6D' 3270 CLEAR KEY 58121000 LCTLSEQ EQU 3 LENGTH OF LEADING DEVICE CONTROL 58135000 * CHARACTERS FOR 3270 @DA04534 58142000 * AND 3735 @DA04534 58156000 TRAILMSK EQU B'1111' MASK FOR TRAILING CONTROL STRING 58170000 SPACE 2 58177000 FF EQU X'FF' USED TO TURN OFF SWITCHES 58184000 SPACE 2 @VS49571 58191000 D0 EQU 0 DISPLACEMENT VALUE 58205000 D1 EQU 1 DISPLACEMENT VALUE 58212000 D2 EQU 2 DISPLACEMENT VALUE 58226000 D3 EQU 3 DISPLACEMENT VALUE @XL03HAJ 58240000 D4 EQU 4 DISPLACEMENT VALUE 58247000 D8 EQU 8 DISPLACEMENT VALUE @XL03HAJ 58254000 D9 EQU 9 DISPLACEMENT VALUE 58261000 D12 EQU 12 DISPLACEMENT VALUE @DM14112 58275000 ZERO EQU 0 VALUE OF ZERO @VS49571 58282000 ONE EQU 1 VALUE OF ONE @VS49571 58283000 TWO EQU 2 VALUE OF TWO @VS49571 58284000 THREE EQU 3 VALUE OF 3 @VS49571 58285000 FOUR EQU 4 VALUE OF 4 @VS49571 58286000 FIVE EQU 5 VALUE OF 5 @VS49571 58287000 SIX EQU 6 VALUE OF 6 @VS49571 58288000 SEVEN EQU 7 VALUE OF 7 @VS49571 58289000 EIGHT EQU 8 VALUE OF 8 @VS49571 58290000 NINE EQU 9 VALUE OF 9 @VS49571 58291000 TEN EQU 10 VALUE OF 10 @VS49571 58292000 ELEVEN EQU 11 VALUE OF 11 @VS49571 58293000 TWELVE EQU 12 VALUE OF 12 @VS49571 58294000 SPACE 2 @VS49571 58295000 * EQUATES FOR ACTION CODES AND MODIFIERS @XL03HAJ 58422000 SPACE 2 @XL03HAJ 58436000 TORELES EQU 8 BRANCH TO RELEASE @XL03HAJ 58450000 TOWRITE EQU X'0C' BRANCH TO WRITE @XL03HAJ 58457000 REISSU EQU X'10' REISSUE COMMAND @XL03HAJ 58464000 RSETONLY EQU 4 MODIFIER RESET ONLY,DON'T REISSUE@XL03HAJ 58471000 RESET1ST EQU 8 MODIFIER RESET 1ST, THEN REISSUE @XL03HAJ 58485000 TOENDREQ EQU X'14' BRANCH TO FREERPL @VS49571 58492000 CATCHALL EQU X'18' TAKE ACTION ACCORDING TO RTN 58506000 TOSOLIC EQU X'00' MODIFIER BRANCH TO SOLICIT @VS49571 58520000 NOFLUSH EQU X'04' MODIFIER NO FLUSING NEEDED @VS49571 58521000 IGNORE EQU X'08' MODIFIER IGNORE THE DIAGNOSTIC @VS49571 58522000 RSETSOL EQU X'1C' BRANCH TO RESET THEN @DA04534 58541000 * SOLICIT/READ @DA04534 58555000 TOPROBDV EQU X'20' BRANCH TO PROBDEV @Z40GKD3 58562000 * @DA04534 58576000 * @DA04534 58590000 * OTHER BIT EQUATES 58597000 SPACE 2 58604000 BIT0 EQU B'10000000' 58611000 BIT1 EQU B'01000000' 58620000 BIT2 EQU B'00100000' 58629000 BIT3 EQU B'00010000' 58638000 BIT4 EQU B'00001000' 58647000 BIT5 EQU B'00000100' 58656000 BIT6 EQU B'00000010' 58665000 BIT7 EQU B'00000001' 58674000 SPACE 6 @VS49571 58710000 * HEX VALUES FOR FEEDBACK AND RETURN CODE COMPARES @XL03HAJ 58719000 SPACE 2 @XL03HAJ 58728000 DS 0H @XL03HAJ 58737000 HEX2 DC XL2'2' @XL03HAJ 58746000 HEX3 DC XL2'3' @XL03HAJ 58755000 HEX4 DC XL2'4' @XL03HAJ 58764000 HEX7 DC XL2'7' @VS49571 58773000 HEX8 DC XL2'8' @XL03HAJ 58782000 HEX9 DC XL2'9' @XL03HAJ 58800000 HEXA DC XL2'A' @XL03HAJ 58809000 HEXB DC XL2'B' @XL03HAJ 58818000 HEXC DC XL2'C' @XL03HAJ 58827000 HEXE DC XL2'E' @VS49571 58836000 HEXF DC XL2'F' @VS49571 58837000 HEX10 DC XL2'10' @XL03HAJ 58854000 HEX12 DC XL2'12' @XL03HAJ 58863000 HEX13 DC XL2'13' @XL03HAJ 58872000 HEX14 DC XL2'14' @XL03HAJ 58890000 HEX16 DC XL2'16' @XL03HAJ 58899000 HEX18 DC XL2'18' @XL03HAJ 58908000 HEX1C DC XL2'1C' @DA04534 58917000 HEX1E DC XL2'1E' @ZA37625 58921000 HEX20 DC XL2'20' @Z40GKD3 58926000 HEX28 DC XL2'28' @DM14112 58935000 HEX32 DC XL2'32' @VS49571 58944000 HEX4A DC XL2'4A' @XL03HAJ 58953000 HEX56 DC XL2'56' @XL03HAJ 58962000 HEX5D DC XL2'5D' @VS49571 58980000 HEX5F DC XL2'5F' @XL03HAJ 58989000 HEX60 DC XL2'60' @XL03HAJ 58998000 * @ZA13672 58999000 * @ZA13672 59000000 MAXLOOP DC XL2'20' MAX # LOOPS ALLOWED FOR @ZA13672 59001000 * INTERVENTION REQUIRED @ZA13672 59002000 EJECT @VS49571 59007000 * BISYNCH STATUS ERROR MESSAGE CODES @DA04534 59016000 * @DA04534 59025000 * @DA04534 59034000 DS 0H @DA04534 59043000 BIST4050 DC XL2'4050' 3270 -- INTERRUPTION @VS49571 59052000 * REQUIRED BECAUSE DEVICE@VS49571 59053000 * POWERED OFF. @VS49571 59054000 BISTC240 DC XL2'C240' 3270 -- DEVICE END @DA04534 59079000 * (ALONE), MEANING THAT @DA04534 59088000 * THE DEVICE IS POWERED @DA04534 59110000 * ON AND OK TO USE. @DA04534 59116000 BISTE2 DC XL2'E2' 3741 -- TERMINAL OP- @DA04534 59129000 * ERATOR ABORTED JOB BY @DA04534 59138000 * PRESSING RESET @DA04534 59147000 BISTF2 DC XL2'F2' 3741 -- NO RECORD FOUND @DA04534 59156000 * ON DISKETTE @DA04534 59165000 BIST50 DC XL2'50' 3747 -- TERMINAL OP- @DA04534 59174000 * ERATOR REQUESTED ABORT @DA04534 59183000 SPACE 6 #XL03HAJ 59192000 * LITERAL POOL 59210000 SPACE 2 59219000 LTORG 59228000 EJECT 59237000 SPACE 2 59246000 * EQUATES ETC FOR ERROR MESSAGE NUMBERS AND REASON-CODES 59255000 SPACE 2 59264000 VCONMSGS DC V(&AMSG) NAME OF MESSAGE CSECT 59273000 SPACE 2 59282000 MSG01 EQU 1 I/O ERROR ON READ 59300000 MSG02 EQU 2 LOGON DATA NOT IN INTRPRET TBLE. 59309000 MSG03 EQU 3 NO INTRPRET TABLE 59318000 MSG04 EQU 4 NO ROUTINE TO FIND APPL NAME 59327000 MSG05 EQU 5 NOT AUTHORIZED FOR APPLICATION 59336000 MSG06 EQU 6 APPLICATION NOT KNOWN 59345000 MSG07 EQU 7 APPLICATION DEACTIVATED 59354000 MSG08 EQU 8 APPLICATION INACTIVE 59363000 MSG09 EQU 9 APPLICATION QUIESCING 59372000 MSG10 EQU 10 APPLICATION NEVER ACCEPTS LOGONS 59381000 MSG11 EQU 11 APPLICATION TEMPORARILY NOT 59390000 * ACCEPTING LOGONS. 59410000 MSG12 EQU 12 THIS TERMINAL LOGGED ON @YYYYYY 59412000 * TO NETWORK SOLICITOR @YYYYYY 59414000 EJECT 59416000 AIF ('&SYSTEM' EQ 'DOS').DOSJG5A @VS49571 59429000 *********************************************************************** 59438000 * * 59447000 * LIST FORMS OF MACROS @Z40GKD3 59456000 * * 59465000 *********************************************************************** 59474000 SPACE 2 @Z40GKD3 59483000 * LIST FORM OF WRITE TO OPERATOR FROM PROBDEV @Z40GKD3 59492000 SPACE 2 @Z40GKD3 59510000 *LISTWTO WTO 'IST800I TERM XXXXXXXX HAS BEEN RELEASED BY NETSOL DUE * 59519000 * TO I/O ERROR', * 59528000 * ROUTCDE=(8),DESC=(7),MF=L @Z40GKD3 59537000 LISTWTO WTO 'IST800I TERM XXXXXXXX HAS BEEN RELEASED BY NETSOL DUE T*59546000 O I/O ERROR', *59555000 ROUTCDE=(8),DESC=(7),MF=L @Z40GKD3 59564000 *LISTWTO1 WTO 'IST249I RC=42 ON NETSOL CLOSE ACB', @ZA19857*59565000 ROUTCDE=(8),DESC=(7),MF=L @ZA19857 59566000 LISTWTO1 WTO 'IST249I RC=42 ON NETSOL CLOSE ACB', *59567000 ROUTCDE=(8),DESC=(7),MF=L 59568000 *LISTWTO2 WTO 'IST806I TERMINAL UNKNOWN IS BEING RELEASE BECAUSE OF 59570000 * AN ERROR REQUEST TYPE XX RETURN CODE XXXX', 59570200 * ROUTCDE=(8),DESC=(7),MF=L @ZA32003 59570400 LISTWTO2 WTO 'IST806I TERMINAL UNKNOWN IS BEING RELEASED BECAUSE OF *59570600 AN ERROR REQUEST TYPE XX RETURN CODE XXXX', *59571400 ROUTCDE=(8),DESC=(7),MF=L @ZA32003 59571900 EJECT @VS49571 59573000 .DOSJG5A ANOP @Z40GKD3 59582000 *********************************************************************** 59600000 * * 59609000 * WORK AREAS, TABLES, AND CONTROL BLOCKS * 59618000 * * 59627000 *********************************************************************** 59636000 SPACE 2 @VS49571 59645000 ********************************************************************** 59663000 * FOLLOWING ARE TABLES AND CONSTANTS FOR DEVICE DEPENDENCIES. 59672000 ********************************************************************** 59690000 SPACE 2 59699000 * DEVICE CONTROL CHARACTER TABLE. CONTAINS STRINGS 59708000 * OF DEVICE CONTROL CHARACTERS FOR INSERTION BEFORE AND AFTER 59717000 * ERROR MESSAGES. 59726000 * @DA04534 59735000 * @DA04534 59744000 * DISCRIPTIONS OF DEVICE CONTROL CHARACTER STRINGS WILL USE @DA04534 59753000 * THE FOLLOWING ACRONYMS AND ABBREVIATIONS: @DA04534 59762000 * @DA04534 59771000 * NL - NEW LINE @DA04534 59790000 * CR - CARRIAGE RETURN @DA04534 59796000 * LF - LINE FEED @DA04534 59808000 * IRS - INTER-RECORD SEPARATOR @DA04534 59816000 * SMM - START MANUAL MESSAGE @DA04534 59824000 * ESC - ESCAPE CHARACTER (MEANS A VARIABLE CONTROL WILL @DA04534 59840000 * FOLLOW) @DA04534 59845000 * NUL - NULL (NO BITS ON) @DA04534 59856000 * WCC - WRITE CONTROL CHARACTER @DA04534 59870000 * @ - AN ADDRESS @DA04534 59876000 * SBA - START BUFFER ADDRESS @DA04534 59888000 * IC - INSERT CURSOR @DA04534 59896000 * ATT - ATTRIBUTE @DA04534 59904000 * RA - REPEAT TO ADDRESS @DA04534 59920000 * @DA04534 59928000 * @DA04534 59936000 CHTAB EQU * 59944000 * @DA04534 59960000 * @DA04534 59970000 * LEADING CONTROL CHARACTERS @DA04534 59979000 * @DA04534 59988000 CC2780 DC X'27',X'61' ESC, / (SKIP TO CHANNEL) 59997000 CC3735 DC X'00',C'I',X'00' NUL, I, NUL @DA04534 60006000 CC2265L DC X'15' NL @DA04534 60015000 CC3270L DC X'C3',X'11',X'4040',X'13',X'11',X'C36F',X'1D',X'60' 60024000 * WCC, SBA, @, IC, SBA, @, SF, ATT(PROT) 60033000 CCTWX DC X'0D',X'25' CR,LF @ZA31003 60037000 * WRITES PROTECTED ERROR @DA04534 60042000 * MSG ON LINE 4 (OR LINE 8) 60051000 * OF DISPLAY @DA04534 60070000 * @DA04534 60080000 * @DA04534 60086000 * TRAILING CONTROL CHARACTERS @DA04534 60100000 * @DA04534 60106000 NL DC X'15' NL @DA04534 60118000 CRLF DC X'26',X'15' CR, LF @DA04534 60126000 CRLFWTTY DC X'15',X'25' CR, LF @DA04534 60134000 IRS DC X'1E' IRS @DA04534 60142000 CC2265T DC X'0A' SMM @DA04534 60160000 CC3270T DC X'3C',X'C5E8',X'00',X'1D',X'40' @DA04534 60166000 * RA, @, NUL, SF, ATT(UNPROTECT) @DA04534 60179000 * SET REST OF SCREEN UN- @DA04534 60188000 * PROTECTED PAST LONGEST @DA04534 60197000 * POSSIBLE MSG TEXT @DA04534 60206000 SPACE 4 @DA04534 60215000 * LENGTHS OF THE CONTROL CHARACTER STRINGS ARE AS FOLLOWS: @DA04534 60224000 * @DA04534 60233000 LCC2780 EQU 2 @DA04534 60242000 LCC3735 EQU 3 @DA04534 60260000 LCC2265L EQU 1 @DA04534 60269000 LCC3270L EQU 10 @DA04534 60278000 LNL EQU 1 @DA04534 60287000 LCRLF EQU 2 @DA04534 60296000 LCRLFWTT EQU 2 @DA04534 60305000 LIRS EQU 1 @DA04534 60314000 LCC2265T EQU 1 @DA04534 60323000 LCC3270T EQU 6 @DA04534 60332000 SPACE 4 @DA04534 60350000 * DEVICES USING THE ABOVE TABLES ARE AS FOLLOWS: @DA04534 60355000 * @DA04534 60367000 * *NL *CRLF *CRLFWTTY *IRS *CC2780 @DA04534 60374000 * 2740 TWX WTTY 5496 2780 @DA04534 60390000 * 2741 115A @DA04534 60395000 * 1050 83B3 @DA04534 60407000 * 2770 *CC3270L *CC2370T *CC3735 @DA04534 60414000 * 3780 3277 3277 3735 @DA04534 60430000 * 2980 *CC2265 3275 3275 @DA04534 60435000 * 1052 2265 @DA04534 60447000 EJECT @DA04534 60454000 ********************************************************************** 60470000 * @DA04534 60480000 * DEVICE TABLE. EQUATES THE DEVICE CHARACTERISTICS RETURNED BY 60487000 * INQUIRE DEVCHAR (IE DEVCHAR2) WITH A 4 BYTE USERFLD AS FOLLOWS:- 60494000 SPACE 2 60510000 * 0 1 2 3 4 60515000 * --------------------------------------------------------------- 60527000 * | | | | | | 60534000 * | DEVICE CODE | LNGTH | LNGTH | OFFSET LEAD | OFFSET TRAIL | 60550000 * | | LEAD | TRAIL | STRING | STRING | 60556000 * | | STRNG | STRNG | | | 60569000 * | | | | | | 60578000 * ---------------------------------------------------------------- 60587000 * @DA04534 60596000 * @DA04534 60605000 * @DA04534 60614000 * THE FIRST BYTE OF EACH 4 BYTE ENTRY IS IDENTICAL TO THE @DA04534 60623000 * DEVCHAR2 FIELD RETURNED BY INQUIRE(DEVCHAR). THE REMAIN- @DA04534 60632000 * ING 3 BYTES OF EACH ENTRY ARE THE DESIRED RPLUSFLD @DA04534 60650000 * SETTINGS AS ILLUSTRATED IN THE ABOVE DIAGRAM. @DA04534 60659000 * @DA04534 60668000 * @DA04534 60677000 * THE FOLLOWING DSECT DESCRIBE A TABLE ENTRY. 60686000 * @DA04534 60695000 * NOTE: @VS49571 60704000 * THIS TABLE SHOULD NOT GET LARGER THAN 255 BYTES @VS49571 60705000 * DUE TO THE FACT THAT A ONE BYTE INDEX IS KEPT @VS49571 60706000 * IN THE RPL TO FIND THE CORRECT DEVICE ENTRY. @VS49571 60707000 * THE INDEX IS GOTTEN IN THE LOGON EXIT RTN. AND @VS49571 60708000 * PUT IN THE NCB USER FIELD AND IS THEN AVAILABLE @VS49571 60709000 * AS LONG AS THE TERMINAL IS OPEN TO NETSOL. @VS49571 60710000 * @VS49571 60711000 * @DA04534 60785000 TABENT DSECT @DA04534 60794000 TABENTRY DS XL4 ENTRY FOR EACH DEVICE @DA04534 60803000 ORG TABENTRY @DA04534 60812000 TABNSCDE DS XL4 NETSOL'S 4 BYTE DEVICE CODE 60830000 * DESCRIBED ABOVE 60839000 ORG TABNSCDE @DA04534 60848000 TABCHAR DS X SAME AS DEVCHAR2 IN @DA04534 60857000 * ISTDEVCH DSECT @DA04534 60866000 ORG TABNSCDE+L'TABNSCDE @DA04534 60875000 TABNEXT EQU * POSITION OF NEXT DEVTAB ENTRY 60884000 * @DA04534 60893000 * @DA04534 60902000 * @DA04534 60920000 * @DA04534 60929000 &ALABEL CSECT RESUME MAIN CONTROL SECTION 60938000 EJECT @DA04534 60947000 ********************************************************************** 60956000 * @DA04534 60965000 * DEVICE TABLE 60974000 * @DA04534 60983000 * @DA04534 60992000 TABDEV DS 0F @VS49571 61010000 * @DA04534 61019000 * 2740 COMMUNICATIONS TERMINAL 61028000 DVT2740 DC AL1(DEV2740),AL.4(0,LNL),AL1(0,NL-CHTAB) @DA04534 61037000 * @DA04534 61046000 * @DA04534 61055000 * 2741 COMMUNICATIONS TERMINAL 61064000 DVT2741 DC AL1(DEV2741),AL.4(0,LNL),AL1(0,NL-CHTAB) @DA04534 61073000 * @DA04534 61082000 * @DA04534 61100000 * 1050 DATA COMMUNICATIONS 61109000 * SYSTEM @DA04534 61118000 DVT1050 DC AL1(DEV1050),AL.4(0,LNL),AL1(0,NL-CHTAB) @DA04534 61127000 * @DA04534 61136000 * @DA04534 61145000 * 1052 PRINTER-KEYBOARD @DA04534 61154000 DVT1052 DC AL1(DEV1052),AL.4(0,LNL),AL1(0,NL-CHTAB) @DA04534 61163000 * @DA04534 61172000 * @DA04534 61190000 * AT&T TELETYPE MODEL 33/35 61199000 DVTTWX DC AL1(DEVTWX),AL.4(LCRLF,LCRLF),AL1(CCTWX-CHTAB,CCTWX-CHTA*61208000 B) @XA31003 61211000 * @DA04534 61217000 * @DA04534 61226000 * WORLD TRADE TELEGRAPH STATION 61235000 DVTWTTY DC AL1(DEVWTTY),AL.4(0,LCRLFWTT),AL1(0,CRLFWTTY-CHTAB) 61244000 * @DA04534 61253000 * @DA04534 61262000 * WU PLAN 115A OUTSTATION 61280000 DVT115A DC AL1(DEV115A),AL.4(0,LCRLF),AL1(0,CRLF-CHTAB) @DA04534 61289000 * @DA04534 61298000 * @DA04534 61307000 * AT&T 83B3 STATION 61316000 DVT83B3 DC AL1(DEV83B3),AL.4(0,LCRLF),AL1(0,CRLF-CHTAB) @DA04534 61325000 * @DA04534 61334000 * @DA04534 61343000 * 1054 PAPAR TAPE READER @DA04534 61352000 DVT1054 DC AL1(DEV1054),AL.4(0,0),AL1(0,0) INPUT ONLY @DA04534 61370000 * @DA04534 61379000 * @DA04534 61388000 * 1056 CARD READER @DA04534 61397000 DVT1056 DC AL1(DEV1056),AL.4(0,0),AL1(0,0) INPUT ONLY @DA04534 61406000 * @DA04534 61415000 * @DA04534 61424000 * 1092 PROGRAMMED KEYBOARD 61433000 DVT1092 DC AL1(DEV1092),AL.4(0,0),AL1(0,0) INPUT ONLY @DA04534 61442000 * @DA04534 61460000 * @DA04534 61469000 * 1093 PROGRAMMED KEYBOARD 61478000 DVT1093 DC AL1(DEV1093),AL.4(0,0),AL1(0,0) INPUT ONLY @DA04534 61487000 * @DA04534 61496000 * @DA04534 61505000 * 2770 DATA COMMUNICATIONS 61514000 * TERMINAL @DA04534 61523000 DVT2770 DC AL1(DEV2770),AL.4(0,LNL),AL1(0,NL-CHTAB) @DA04534 61532000 * @DA04534 61550000 * @DA04534 61559000 * 2265 DISPLAY STATION (COMP 2770) 61568000 DVT2265 DC AL1(DEV2265),AL.4(LCC2265L,LCC2265T),AL1(CC2265L-CHTAB,C*61577000 C2265T-CHTAB) @DA04534 61586000 * @DA04534 61595000 * @DA04534 61604000 * 2780 DATA TRANSMISSION @DA04534 61613000 * TERMINAL @DA04534 61622000 DVT2780 DC AL1(DEV2780),AL.4(LCC2780,0),AL1(CC2780-CHTAB,0) 61640000 * @DA04534 61649000 * @DA04534 61658000 * 2980 GENERAL BANKING TERMINAL 61667000 DVT2980 DC AL1(DEV2980),AL.4(0,LNL),AL1(0,NL-CHTAB) @DA04534 61676000 * @DA04534 61685000 * @DA04534 61694000 * 3275 DISPLAY STATION @DA04534 61703000 DVT3275 DC AL1(DEV3275),AL.4(LCC3270L,LCC3270T),AL1(CC3270L-CHTAB,C*61712000 C3270T-CHTAB) @DA04534 61730000 * @DA04534 61739000 * @DA04534 61748000 * 3277 DISPLAY STATION @DA04534 61757000 DVT3277 DC AL1(DEV3277),AL.4(LCC3270L,LCC3270T),AL1(CC3270L-CHTAB,C*61766000 C3270T-CHTAB) @DA04534 61775000 * @DA04534 61784000 * @DA04534 61793000 * SYSTEM 3 CPU @DA04534 61802000 DVTSYS3 DC AL1(DEVSYS3),AL.4(0,0),AL1(0,0) NO CHARS @DA04534 61811000 * @DA04534 61820000 * @DA04534 61829000 * 3735 PROGRAMMABLE @DA04534 61838000 * BUFFERED TERMANAL @DA04534 61847000 DVT3735 DC AL1(DEV3735),AL.4(LCC3735,0),AL1(CC3735-CHTAB,0) 61856000 * @DA04534 61865000 * @DA04534 61874000 * 3780 DATA TRANSMISSION @DA04534 61883000 * TERMINAL @DA04534 61892000 DVT3780 DC AL1(DEV3780),AL.4(0,LNL),AL1(0,NL-CHTAB) @DA04534 61901000 * @DA04534 61910000 * @DA04534 61940000 * 3741 DATA STATION @DA04534 61950000 DVT3741 DC AL1(DEV3741),AL.4(0,0),AL1(0,0) NO CHARS @DA04534 61959000 * @DA04534 61968000 * @DA04534 61977000 * 3747 DATA CONVERTER @DA04534 61986000 DVT3747 DC AL1(DEV3747),AL.4(0,0),AL1(0,0) NO CHARS @DA04534 61995000 * @DA04534 62004000 * @DA04534 62013000 * 2502 CARD READER @DA04534 62022000 DVT2502 DC AL1(DEV2502),AL.4(0,0),AL1(0,0) INPUT ONLY @DA04534 62040000 * @DA04534 62049000 * @DA04534 62058000 * 50 MAGNETIC DATA INSCRIBER @DA04534 62067000 DVT50 DC AL1(DEV50),AL.4(0,0),AL1(0,0) INPUT ONLY @DA04534 62076000 * @DA04534 62085000 * @DA04534 62094000 * 1255 MAGNETIC CHARACTER READER 62103000 DVT1255 DC AL1(DEV1255),AL.4(0,0),AL1(0,0) INPUT ONLY @DA04534 62112000 * @DA04534 62130000 * @DA04534 62139000 * 5496 DATA RECORDER @DA04534 62148000 DVT5496 DC AL1(DEV5496),AL.4(0,LIRS),AL1(0,IRS-CHTAB) @DA04534 62157000 * @DA04534 62166000 SPACE 2 62175000 TABDEVF EQU * END OF DEVICE TABLE @DA04534 62184000 SPACE 2 62193000 NTABENT EQU (TABDEVF-TABDEV)/L'TABENTRY NUMBER OF ENTRIES IN TABDEV 62202000 T3275 EQU DVT3275-TABDEV @VS49571 62203000 T3277 EQU DVT3277-TABDEV @VS49571 62204000 EJECT @XM09031 62220000 SPACE 2 @XM09031 62229000 *** @XM09031 62238000 * @XM09031 62247000 * TRANSLATE TABLE TO CONVERT DEVICE CONTROL CHARACTERS @XM09031 62256000 * (ACTUALLY NON-PRINTIBLES) TO BLANKS. @XM09031 62265000 * @XM09031 62274000 *** @XM09031 62283000 * @XM09031 62292000 TRTAB1 EQU * @XM09031 62310000 DC 74C' ' 00-49 BLANK OUT CONTROL CHARS @DA04534 62319000 DC X'4A' CENT OR LEFT ARROW @XM09031 62328000 DC C'.<(+|' @XM09031 62337000 DC X'50' AMPERSAND @XM09031 62346000 DC X'515253545556575859' @DA04534 62355000 DC X'5A' EXCLAMATION POINT @XM09031 62364000 DC C'$*);^-/' @XM09031 62373000 DC X'6263646566676869' @DA04534 62382000 DC X'6A' VERTICLE LINE (NOT |) @XM09031 62400000 DC C',%_>?' @XM09031 62409000 DC X'707172737475767778' @DA04534 62418000 DC X'79' GRAVE ACCENT @XM09031 62427000 DC C':#@' @XM09031 62436000 DC X'7D' SINGLE QUOTE @XM09031 62445000 DC C'="' @XM09031 62454000 DC X'80' @DA04534 62463000 DC C'abcdefghi' SMALL LETTERS @XM09031 62472000 DC X'8A8B8C8D8E8F90' @DA04534 62490000 DC C'jklmnopqr' SMALL LETTERS @XM09031 62499000 DC X'9A9B9C9D9E9FA0' @DA04534 62508000 DC X'A1' TILDE @XM09031 62517000 DC C'stuvwxyz' SMALL LETTERS @XM09031 62526000 DC X'AAABACADAEAF' @DA04534 62535000 DC X'B0B1B2B3B4B5B6B7B8B9' @DA04534 62544000 DC X'BABBBCBDBEBF' @DA04534 62553000 DC X'C0' LEFT BRACE #XM09031 62562000 DC C'ABCDEFGHI' CAPITAL LETTERS #XM09031 62580000 DC X'CACB' @DA04534 62589000 DC X'CC' HOOK #XM09031 62598000 DC X'CD' @DA04534 62607000 DC X'CE' FORK #XM09031 62616000 DC X'CF' @DA04534 62625000 DC X'D0' RIGHT BRACE #XM09031 62634000 DC C'JKLMNOPQR' CAPITAL LETTERS #XM09031 62643000 DC X'DADBDCDDDEDF' @DA04534 62652000 DC X'E0' REVERSE SLANT #XM09031 62670000 DC X'E1' @DA04534 62679000 DC C'STUVWXYZ' CAPITAL LETTERS #XM09031 62688000 DC X'EAEB' @DA04534 62697000 DC X'EC' CHAIR #XM09031 62706000 DC X'EDEEEF' @DA04534 62715000 DC C'0123456789' #XM09031 62724000 DC X'FA' LONG VERTICLE LINE (NOT #XM09031 62733000 * | OR VERTICLE LINE) #XM09031 62742000 DC X'FBFCFDFEFF' @DA04534 62760000 AIF ('&SYSTEM' EQ 'DOS').NDOSTRT 62769000 EJECT @VS49571 62778000 * 62787000 * TRANSLATE TABLE FOR LOWER CASE LOGON 62796000 * TRANSLATION TO UPPER CASE. 62805000 * 62814000 TRTAB2 EQU * @VS49571 62823000 DC 74C' ' 00-49 BLANK OUT CONTROL CHARS @VS49571 62824000 DC X'4A' CENT OR LEFT ARROW @VS49571 62825000 DC C'.<(+|' @VS49571 62826000 DC X'50' AMPERSAND @VS49571 62827000 DC X'515253545556575859' @VS49571 62828000 DC X'5A' EXCLAMATION POINT @VS49571 62829000 DC C'$*);^-/' @VS49571 62830000 DC X'6263646566676869' @VS49571 62831000 DC X'6A' VERTICLE LINE (NOT |) @VS49571 62832000 DC C',%_>?' @VS49571 62833000 DC X'707172737475767778' @VS49571 62834000 DC X'79' GRAVE ACCENT @VS49571 62835000 DC C':#@' @VS49571 62836000 DC X'7D' SINGLE QUOTE @VS49571 62837000 DC C'="' @VS49571 62838000 DC X'80' @VS49571 62839000 DC C'ABCDEFGHI' SMALL LETTERS @VS49571 62840000 DC X'8A8B8C8D8E8F90' @VS49571 62841000 DC C'JKLMNOPQR' SMALL LETTERS @VS49571 62842000 DC X'9A9B9C9D9E9FA0' @VS49571 62843000 DC X'A1' TILDE @VS49571 62844000 DC C'STUVWXYZ' SMALL LETTERS @VS49571 62845000 DC X'AAABACADAEAF' @VS49571 62846000 DC X'B0B1B2B3B4B5B6B7B8B9' @VS49571 62847000 DC X'BABBBCBDBEBF' @VS49571 62848000 DC X'C0' LEFT BRACE @VS49571 62849000 DC C'ABCDEFGHI' CAPITAL LETTERS @VS49571 62850000 DC X'CACB' @VS49571 62851000 DC X'CC' HOOK @VS49571 62852000 DC X'CD' @VS49571 62853000 DC X'CE' FORK @VS49571 62854000 DC X'CF' @VS49571 62855000 DC X'D0' RIGHT BRACE @VS49571 62856000 DC C'JKLMNOPQR' CAPITAL LETTERS @VS49571 62857000 DC X'DADBDCDDDEDF' @VS49571 62858000 DC X'E0' REVERSE SLANT @VS49571 62859000 DC X'E1' @VS49571 62860000 DC C'STUVWXYZ' CAPITAL LETTERS @VS49571 62861000 DC X'EAEB' @VS49571 62862000 DC X'EC' CHAIR @VS49571 62863000 DC X'EDEEEF' @VS49571 62864000 DC C'0123456789' @VS49571 62865000 DC X'FA' LONG VERTICLE LINE (NOT @VS49571 62866000 * | OR VERTICLE LINE) @VS49571 62867000 DC X'FBFCFDFEFF' @VS49571 62868000 .NDOSTRT ANOP 63282000 SPACE 8 @VS49571 63300000 ********************************************************************** 63309000 * END OF DEVICE DEPENDENT TABLES AND CONSTANTS. 63318000 ********************************************************************* 63327000 EJECT 63336000 * VTAM CONTROL BLOCK DEFINITIONS 63345000 SPACE 2 @VS49571 63354000 *********************************************************************** 63363000 * * 63372000 * THE FOLLOWING IS THE TABLE USED TO INDEX INTO THE RPL CSECT * 63390000 * TO LOCATE FREE RPL'S. IF THE ENTRY IN THE TABLE IS ZERO, * 63399000 * THAT RPL IS IN USE. (RPL0 IS ALWAYS IN USE DUE TO THE FACT * 63408000 * THAT IT IS RESERVED FOR SYNCH USE.) * 63417000 * * 63426000 *********************************************************************** 63435000 SPACE 2 @VS49571 63444000 RNDXTABL DS 0F START OF TABLE @VS49571 63445000 .RINDEX ANOP @VS49571 63446000 DC AL1(&TABCONT) INDEX TO RPLS @VS49571 63447000 &TABCONT SETA &TABCONT+1 @VS49571 63448000 AIF (&TABCONT LT &NUM).RINDEX @VS49571 63449000 * @VS49571 63450000 * END OF INDEX TABLE @VS49571 63451000 * @VS49571 63452000 SPACE 2 63534000 NSNAME EQU * 63543000 DC AL1(8) LENGTH OF ID SEQUENCE 63552000 DC CL8'&ALABEL' NETSOL MACRO LABEL AS ID 63570000 EJECT @VS49571 63579000 .* 63588000 .* 63597000 AIF ('&PRTCT' EQ '').NOPRTCT TEST FOR PASSWORD SPECIFIED ON 63606000 .* NETSOL MACRO. 63615000 .* 63624000 .* 63633000 PASSWD EQU * 63642000 DC AL1(&KPRTCT) LENGTH OF PASSWORD 63660000 DC C'&APRTCT' PASSWORD 63669000 SPACE 2 63678000 *ACB ACB AM=VTAM, * 63687000 * APPLID=NSNAME, * 63696000 * PASSWD=PASSWD, * 63705000 * EXLST=EXLST, * 63714000 * MACRF=LOGON 63723000 ACB ACB AM=VTAM, *63732000 APPLID=NSNAME, @VS49571*63750000 PASSWD=PASSWD, *63759000 EXLST=EXLST, *63768000 MACRF=LOGON 63777000 AGO .EXLSTL 63786000 .* 63795000 .NOPRTCT ANOP 63804000 *ACB ACB AM=VTAM, * 63813000 * APPLID=NSNAME, * 63822000 * EXLST=EXLST, * 63840000 * MACRF=LOGON 63849000 ACB ACB AM=VTAM, *63858000 APPLID=NSNAME, @VS49571*63867000 EXLST=EXLST, *63876000 MACRF=LOGON 63885000 .* 63894000 .EXLSTL ANOP 63903000 EJECT 63912000 SPACE 2 63930000 * EXIT ROUTINES TO BE SCHEDULED IN RESPONSE TO VTAM EVENTS 63939000 * 63948000 * * ERREXIT ENTERED FOR ERROR CONDITIONS. @XL03HAJ 63957000 * * TPEND SCHEDULED WHEN VTAM SHUTS DOWN 63966000 * * LOGON SCHEDULED WHEN A TERMINAL LOGS ON 63975000 * * LOSTERM SCHEDULED WHEN A TERMINAL IS LOST 63984000 AIF ('&AACQ' EQ 'NO').EXLST2 63993000 * * RELREQ SCHEDULED WHEN ANOTHER APPLICATION ACQUIRES 64002000 * A TERMINAL CURRENTLY LOGGED ON TO NETSOL. 64011000 SPACE 2 64020000 *EXLST EXLST LERAD=ERREXIT, @XL03HAJ* 64029000 * SYNAD=ERREXIT, @XL03HAJ* 64038000 * TPEND=TPEND, * 64047000 * RELREQ=RELREQ, * 64056000 * LOGON=LOGON, * 64065000 * LOSTERM=LOSTERM, * 64074000 * AM=VTAM 64083000 EXLST EXLST LERAD=ERREXIT, @XL03HAJ*64092000 SYNAD=ERREXIT, @XL03HAJ*64101000 TPEND=TPEND, *64110000 RELREQ=RELREQ, *64119000 LOGON=LOGON, *64128000 LOSTERM=LOSTERM, *64137000 AM=VTAM 64146000 AGO .NSTABLE 64155000 .EXLST2 ANOP 64164000 SPACE 2 64173000 *EXLST EXLST LERAD=ERREXIT, @XL03HAJ* 64182000 * SYNAD=ERREXIT, @XL03HAJ* 64220000 * TPEND=TPEND, * 64223000 * LOGON=LOGON, * 64240000 * LOSTERM=LOSTERM, * 64249000 * AM=VTAM 64258000 EXLST EXLST LERAD=ERREXIT, @XL03HAJ*64267000 SYNAD=ERREXIT, @XL03HAJ*64276000 TPEND=TPEND, *64285000 LOGON=LOGON, *64294000 LOSTERM=LOSTERM, *64303000 AM=VTAM 64312000 .NSTABLE ANOP 64330000 EJECT @DA04534 64339000 SPACE 2 64348000 *********************************************************************** 64357000 * * 64366000 * THE FOLLOWING NIB IS USED FOR ALL OPERATIONS NEEDING * 64375000 * A NIB. @VS49571 64383000 * * 64400000 *********************************************************************** 64408000 SPACE 2 64416000 *SYNCHNIB NIB MODE=BASIC,PROC=TRUNC, @VS49571 64424000 * LISTEND=YES 64432000 SPACE 2 @VS49571 64440000 SYNCHNIB NIB MODE=BASIC,PROC=TRUNC, @VS49571*64441000 LISTEND=YES 64468000 EJECT 64476000 SPACE 2 @VS49571 64484000 ********************************************************************** 64492000 * * 64510000 * THIS RPL IS USED EXCLUSIVELY FOR REFRESHING THE ASYNC * 64518000 * RPL'S IN THE RPL CSECT. IT IS NOT ITSELF USED IN ANY * 64526000 * MACRO. * 64534000 ********************************************************************** 64542000 SPACE 2 @VS49571 64560000 *FRESHRPL RPL ACB=ACB, * 64568000 * AM=VTAM, * 64576000 * OPTCD=ASY @VS49571 64584000 FRESHRPL RPL ACB=ACB, @VS49571*64585000 AM=VTAM, @VS49571*64586000 OPTCD=ASY @VS49571 64587000 TITLE 'NETWORK SOLICITOR - NIB + RPL/WORK-AREA DSECTS' 64626000 ***************************************************************@VS49571 64634000 * @VS49571 64635000 * VTAM DSECT DEFINITIONS @VS49571 64636000 * @VS49571 64637000 ***************************************************************@VS49571 64638000 SPACE 2 @VS49571 64639000 * @VS49571 64640000 * DSECT FOR THE NIB @VS49571 64641000 * @VS49571 64642000 * ISTDNIB @VS49571 64643000 SPACE 2 @VS49571 64644000 ISTDNIB @VS49571 64645000 EJECT @VS49571 64646000 ************************************************************** @VS49571 64647000 * * @VS49571 64648000 * DESECT FOR RPL'S IN RPLAREA * @VS49571 64649000 * * @VS49571 64650000 ************************************************************** @VS49571 64651000 IFGRPLX DSECT @VS49571 64652000 STSECT DS 0D START DSECT ON D-WORD @VS49571 64653000 * IFGRPL DSECT=NO,AM=VTAM @VS49571 64654000 IFGRPL DSECT=NO,AM=VTAM @VS49571 64655000 *************** END OF RPL DSECT AND START OF RPL WORK AREA @VS49571 64656000 EJECT @VS49571 64657000 ************************************************************** @VS49571 64658000 * @VS49571 64659000 * NOTE: DSECT IS NOW 260 BYTES WITH 3 BYTES RESERVED @VS49571 64660000 * FOR GROWTH. IF MORE ROOM IS NEEDED, THE WIPEOUTS @VS49571 64661000 * (MVC WORKSPAC+ONE(WORKRPLA),WORKSPAC AND @VS49571 64662000 * MVC WORKSPAC+WORKRPLA(WORKRPLB),WORKSPAC AND @VS49571 64663000 * ALL OTHER TYPES OF WORK-AREA WIPEOUT OR SAVE) @VS49571 64664000 * WILL HAVE TO BE CHECKED AND CHANGED IF NECESSARY. @VS49571 64665000 * @VS49571 64666000 ************************************************************** @VS49571 64667000 SPACE 2 @VS49571 64668000 ORG 64984000 SPACE 2 @VS49571 64992000 WORKSPAC DS 0D START OF RPL WORK AREA @VS49571 64993000 TABLINFO DS XL4 NETSOL DEVICE CODE @VS49571 64994000 ORG TABLINFO @VS49571 64995000 TYPECODE DS X NETSOL DEVICE TYPE @VS49571 64996000 LENGCC DS X LENGTHS OF LEADING AND @VS49571 64997000 * TRAILING DEVICE CON- @VS49571 64998000 * TROL CHARACTER STRINGS @VS49571 64999000 LEADCC DS X OFFSET TO LEADING CC @VS49571 65000000 * STRING IN CHTAB @VS49571 65001000 TRAILCC DS X OFFSET TO TRAILING CC @VS49571 65002000 * STRING IN CHTAB @VS49571 65003000 ORG 65118000 SPACE 2 @VS49571 65126000 NAMEDEV DS CL8 SYMBOLIC DEVICE NAME @VS49571 65127000 * TRANSLATED FROM CID BY @VS49571 65128000 * INQUIRE(CIDXLATE) @VS49571 65129000 CID DS F CID OF READ DEVICE @VS49571 65130000 CIDLOC EQU CID-STSECT DISPLACEMENT TO CID @VS49571 65131000 USERWORD DS F DEVICE DEPENDENT INFO @VS49571 65132000 ORG USERWORD @VS49571 65133000 TABINDEX DS X INDEX TO TABLINFO WITHIN TABDEV 65210000 DFLAGS DS X DEVICE STATUS FLAGS @VS49571 65218000 IODEV EQU X'01' I/O STATUS FLAG @VS49571 65219000 * IF ZERO TERM IS INPUT ONLY 65234000 * IF ONE TERM IS INTERACTIVE 65242000 MODMCNT DS X COUNT FOR INT REQ LOOP @ZA13672 65251000 DS X RESERVED @VS49571 65260000 ORG 65268000 APPLID DS CL8 NAME OF APPLICATION @VS49571 65276000 RTNSAVE DS F RETURN ADDRESS FOR RESETSUB 65284000 RECLEN DS F FOR READ RECLEN FIELD @ZA13651 65292000 WRITELEN DS F FOR WRITE RECLEN FIELD @ZA13651 65292300 STATUS2 DS H 2 BYTES OF BISYNCH DONE @VS49571 65293000 RDATAFLG DS X DATA FLAGS(RPL FDBK FIELD) 65318000 RTNCD DS X FOR RPL RTNCD FIELD @VS49571 65326000 FDBK2 DS X FOR RPL FDBK2 FIELD @VS49571 65327000 MSGINDEX DS X NUMBER OF ERROR MESSAGE WRITTEN 65342000 RESETIND EQU X'80' INDICATE NEED A RESET @VS49571 65360000 ACTIONS DS 2X SAVE AREA FOR ERROR @VS49571 65361000 * ACTION CODES @VS49571 65362000 * INTERNAL FLAG BYTES @VS49571 65363000 SPACE 2 @VS49571 65364000 FLAGS DS X FLAG BYTE @VS49571 65365000 * @VS49571 65366000 *RESERVEDEQU X'80' RESERVED @VS49571 65367000 LOOPONCE EQU X'40' COMMAND REISSUED ALREADY@VS49571 65368000 RELOPND EQU X'20' RELEASE DEVICE, THEN @VS49571 65369000 * ATTEMPT TO RECONNECT @VS49571 65370000 * VIA OPNDST @VS49571 65371000 *RESERVEDEQU X'10' RESERVED @VS49571 65372000 *RESERVEDEQU X'08' RESERVED @VS49571 65373000 *RESERVEDEQU X'04' RESERVED @VS49571 65374000 *RESERVEDEQU X'02' RESERVED @VS49571 65375000 ONERESET EQU X'01' AT LEAST ONE RESET DONE @VS49571 65376000 * SINCE ENTRY TO READEND @VS49571 65377000 SPACE 4 @VS49571 65378000 FLAGS2 DS X SECOND FLAG BYTE @VS49571 65379000 BADEVICE EQU X'80' PROBLEM WITH DEVICE @VS49571 65380000 SYNCHIO EQU X'40' IF 1, RPL IS SYNCH @VS49571 65381000 LWRCASE EQU X'20' STANDARD LOGON IN @VS49571 65382000 * LOWERCASE CHARACTERS @VS49571 65383000 MODMLOOP EQU X'10' FLAG TO UPDATE COUNT OF @ZA13672 65383200 * READ LOOPS BECAUSE OF @ZA13672 65383400 * BAD MODEM SENDING OUT @ZA13672 65383600 * INTERVENTION REQUIRED @ZA13672 65383800 LOGWRITE EQU X'08' ERASE WRITE @ZA13651 65384000 * FROM LOGON EXIT @ZA13651 65384200 SPACE 2 @VS49571 65384900 EXITFLAG DS X CONTAINS FLAGS TO @VS49571 65385000 * INDICATE WHAT EXITS @VS49571 65386000 * HAVE BEEN ENTERED @VS49571 65387000 LOGONEX EQU X'01' ENTERED THE LOGON EXIT @VS49571 65388000 READEX EQU X'02' ENTERED THE READEND EXIT@VS49571 65389000 PASSEX EQU X'04' ENTERED THE CLSDST(PASS) EXIT 65660000 WRITEX EQU X'08' ENTERED THE WRITE EXIT @VS49571 65668000 RELREQEX EQU X'10' ENTERED THE RELREQ EXIT @VS49571 65669000 LOSTEX EQU X'20' ENTERED THE LOSTERM EXIT@VS49571 65670000 CLOSEX EQU X'40' ENTERED THE CLSDST(RELEASE)EXIT 65692000 RESETEX EQU X'80' ENTERED THE RESET EXIT @VS49571 65710000 * @VS49571 65711000 EXITFLA2 DS X EXTENSION OF EXITFLAG @VS49571 65712000 * @VS49571 65713000 *RESERVEDEQU X'01' RESERVED @VS49571 65714000 SPACE 2 @VS49571 65715000 DS 1X RESERVED @VS49571 65716000 SPACE 2 @VS49571 65717000 MFLAGS DS X FLAG BYTE FOR WHICH @VS49571 65718000 * MACRO JUST ISSUED @VS49571 65719000 * @VS49571 65720000 OPNDSPEC EQU X'01' OPNDST(SPEC) @VS49571 65721000 INQAPPST EQU X'02' INQUIRE(APPSTST) IN @VS49571 65722000 * PROGRESS @VS49571 65723000 WRITING EQU X'04' WRITE IN PROGRESS @VS49571 65724000 READA EQU X'08' READ(ANY) IN PROGRESS @VS49571 65725000 RESETU EQU X'20' RESET(UNCOND) INDICATOR @VS49571 65726000 INTRPRT EQU X'40' INTRPRET IN PROGRESS @VS49571 65727000 CHNGENIB EQU X'80' CHANGE IN PROGRESS @ZA13672 65728000 SPACE 2 @VS49571 65729000 MFLAGS2 DS X FLAG BYTE FOR WHICH @VS49571 65730000 * MACRO JUST ISSUED @VS49571 65731000 * @VS49571 65732000 *RESERVEDEQU X'01' RESERVED @VS49571 65733000 CLSDST EQU X'02' CLSDST @VS49571 65734000 *RESERVEDEQU X'04' RESERVED @VS49571 65735000 INQUIRE EQU X'08' INQUIRE (NOT APPSTAT) @VS49571 65736000 SOLICITS EQU X'10' A SOLICIT(SPEC) @VS49571 65737000 AIF ('&ABEND' EQ 'YES').SKP2 @ZA32003 65738000 ERRCON EQU X'20' ERROR CONDICTION @ZA32003 65738200 .SKP2 ANOP @ZA32003 65738400 *RESERVEDEQU X'40' RESERVED @VS49571 65739000 *RESERVEDEQU X'80' RESERVED @VS49571 65740000 SPACE 2 @VS49571 65741000 MACFLAGS DC X'00' INDICATE WHITCH MACROS @VS49571 65742000 * HAVE BEEN CALLED @VS49571 65743000 INQDEVCH EQU X'02' WILL DO INQUIRE (DEVCHAR) 66028800 CLSREL EQU X'04' WILL DO CLSDST(RELEASE) @VS49571 66029200 OPNSPEC EQU X'08' WILL DO OPEN(SPEC) @VS49571 66029400 SOLIC EQU X'10' WILL DO SOLICIT @VS49571 66029600 INQCIDX EQU X'80' WILL DO INQUIRE (CIDXLATE) 66030400 * @VS49571 66030800 MACFLAG2 DC X'00' EXTEND MACFLAGS @VS49571 66031200 INTAPPID EQU X'01' WILL DO INTERP (APPLID) @VS49571 66031600 INQAPPS EQU X'04' WILL DO INQUIRE(APPSTAT)@VS49571 66032000 CLOSPASS EQU X'08' WILL DO CLSDST(PASS) @VS49571 66032400 WRITLBT EQU X'20' WILL DO WRITE @VS49571 66032800 RESETUN EQU X'40' WILL DO RESET @VS49571 66033200 CHANGNIB EQU X'80' WILL DO CHANGE @ZA13672 66033600 EJECT @VS49571 66034000 AIF ('&ASTRIP' EQ 'YES').STRIP4 66035000 STRIPLEN DS X DATA LENGTH WITH DEVICE @ZA07805 66036000 * CONTROL CHARACTERS @ZA07805 66037000 NOSTRIPA DS CL80 DATA WITH DEVICE @ZA07805 66038000 * CONTROL CHARACTERS @ZA07805 66039000 .STRIP4 ANOP 66041000 DATASEQL DS X X-LATED DATA SEQ-LENGTH @VS49571 66042000 DATASEQ DS CL80 TRANSLATED DATA SEQUENC @VS49571 66043000 SPACE 2 @VS49571 66044000 IOAREA DS CL80 @VS49571 66045000 CID2 DS CL4 CID IS PUT HERE BEFORE @VS49571 66046000 * IT IS WIPED OUT IN @VS49571 66047000 * FREERPL @VS49571 66048000 ORG 66126000 ENDSECT DS 0D END DSECT ON D-WORD @VS49571 66134000 WORKRPLA EQU IOAREA-WORKSPAC USED TO CLEAR OUT WORKAREA @VS49571 66135000 WRPLREST EQU ENDSECT-IOAREA USED IN MOVES OF THE @VS49571 66136000 * RPL-WORKAREA @VS49571 66137000 WORKRPL EQU ENDSECT-WORKSPAC SIZE OF RPL-WORKAREA @VS49571 66138000 LNIFGRPL EQU WORKSPAC-STSECT LENGTH OF ONE RPL AREA @VS49571 66139000 * WITHOUT THE WORKAREA @VS49571 66140000 INRPLWRK EQU LNIFGRPL+WORKRPLA USED IN MOVE OF WORKAREA @VS49571 66141000 NUMRPLS EQU &NUM NUMBER OF RPLS BEING @VS49571 66142000 * GENERATED @VS49571 66143000 EJECT @VS49571 66144000 &ALABEL CSECT @VS49571 66145000 SPACE 2 66260000 *********************************************************************** 66268000 * * 66276000 * THE FOLLOWING RPL IS USED FOR ALL SYNCHRONOUS COMMANDS@VS49571 66284000 * * 66292000 *********************************************************************** 66310000 SPACE 2 66320000 DS 0D ALIGN TO D-WORD @VS49571 66321000 *SYNCHRPL RPL ACB=ACB,OPTCD=SYN, @VS49571 66322000 * AM=VTAM 66340000 SYNCHRPL RPL ACB=ACB,OPTCD=SYN, @VS49571*66350000 AM=VTAM 66360000 * XXXXXXXXX @VS49571 66368000 ORG 66376000 DS 0D ALIGN TO D-WORD @VS49571 66384000 * XXXXXXXXX @VS49571 66385000 SYNWORK DC (WORKRPL)X'00' RPL WORK AREA @VS49571 66386000 LNGTHRPL DC A(ENDSECT-STSECT) LENGTH OF ONE RPL + ITS @VS49571 66387000 * OWN WORKAREA @VS49571 66388000 SYNARG EQU SYNCHRPL+RPLARG-IFGRPL DISPLACEMENT TO THE ARG @VS49571 66389000 * WITHIN SYNCHRPL @VS49571 66390000 SYNFDB3 EQU SYNCHRPL+RPLFDB3-IFGRPL DISPLACEMENT TO FDB3 @VS49571 66391000 * IN SYNCHRPL'S WORKAREA @VS49571 66392000 SYNCID EQU SYNCHRPL+CID-IFGRPL DISPLACEMENT TO THE CID @VS49571 66393000 * WITHIN SYNCHRPL'S @VS49571 66394000 * WORKAREA @VS49571 66395000 SYNUSFLD EQU SYNCHRPL+RPLUSFLD-IFGRPL DISPLACEMENT TO USERFLD@ZA13651 66395300 * WITHIN SYNCHRPL @ZA13651 66395500 SRPLEXT1 EQU SYNCHRPL+RPLEXTD1-IFGRPL DISPLACEMENT TO 'NIB@ @VS49571 66396000 * IN ARG FIELD' BIT @VS49571 66397000 SYNFDB2 EQU SYNCHRPL+RPLFDB2-IFGRPL DISPLACEMENT TO FDB2 @ZA30101 66427000 * IN SYNRPL WORKAREA @ZA30101 66457000 EJECT 66510000 ***************************************************************@VS49571 66510100 * SETLOGON RPL - A SEPARATE RPL IS NECESSARY BECAUSE @VS49571 66510200 * THE LOGON EXIT CAN BE DRIVEN BEFORE THE SETLOGON @VS49571 66510300 * COMPLETES. @VS49571 66510400 ***************************************************************@VS49571 66510500 * @VS49571 66510600 *SETLRPL RPL ACB=ACB,OPTCD=SYN, @VS49571 66510700 * AM=VTAM 66511000 SETLRPL RPL ACB=ACB,OPTCD=SYN, @VS49571*66511200 AM=VTAM 66511400 EJECT 66517000 SPACE 9 @VS49571 66518000 *********************************************************************** 66526000 * * 66534000 * PATCH AREA = 100 BYTES 66542000 * * 66560000 *********************************************************************** 66568000 SPACE 2 66576000 DS 0H ALIGN ON INSTRUCTION BOUNDARY 66584000 PATCH DC CL8'NS PATCH',12FL8'0' @DA04534 66592000 EJECT @VS49571 66610000 RWKAREAS CSECT @VS49571 66611000 &TABCONT SETA 0 @VS49571 66612000 .RPLLOOP ANOP @VS49571 66613000 RPL&TABCONT DC (ENDSECT-STSECT)X'00' ONE RPL WORK AREA @VS49571 66614000 &TABCONT SETA &TABCONT+1 INCROMENT LABEL COUNT @VS49571 66615000 &NUM SETA &NUM-1 DECREMENT RPL COUNT @VS49571 66616000 AIF (&NUM GT 0).RPLLOOP @VS49571 66617000 *END OF RPL CSECT @VS49571 66618000 EJECT @VS49571 66619000 &ALABEL CSECT RESUME MAIN CSECT @VS49571 66620000 .* 66718000 .* CHECK IF STANDARD MESSAGE CSECT IS TO BE GENERATED 66726000 .* 66734000 AIF ('&MESSAGE' EQ 'IBMMSG').MSGS 66742000 MEXIT 66760000 .* 66768000 .* 66776000 .MSGS ANOP 66784000 .* 66792000 .* 66810000 TITLE 'MSGCSECT - MESSAGE CONTROL SECTION' 66818000 SPACE 2 66826000 MSGCSECT CSECT 66834000 SPACE 2 66842000 *********************************************************************** 66860000 * * 66868000 * MESSAGE TABLE INDEX * 66876000 * * 66884000 *********************************************************************** 66892000 SPACE 2 66910000 DC AL2(L'AMSG01,AMSG01-MSGCSECT) 66918000 DC AL2(L'AMSG02,AMSG02-MSGCSECT) 66926000 DC AL2(L'AMSG03,AMSG03-MSGCSECT) 66934000 DC AL2(L'AMSG04,AMSG04-MSGCSECT) 66942000 DC AL2(L'AMSG05,AMSG05-MSGCSECT) 66960000 DC AL2(L'AMSG06,AMSG06-MSGCSECT) 66968000 DC AL2(L'AMSG07,AMSG07-MSGCSECT) 66976000 DC AL2(L'AMSG08,AMSG08-MSGCSECT) 66984000 DC AL2(L'AMSG09,AMSG09-MSGCSECT) 66992000 DC AL2(L'AMSG10,AMSG10-MSGCSECT) 67010000 DC AL2(L'AMSG11,AMSG11-MSGCSECT) 67018000 DC AL2(L'AMSG12,AMSG12-MSGCSECT) 67022000 SPACE 2 67026000 *********************************************************************** 67034000 * * 67042000 * MESSAGE TEXTS * 67060000 * * 67068000 *********************************************************************** 67076000 SPACE 2 67084000 AMSG01 DC C'ERROR WHEN READING INPUT MESSAGE' @ZA37625 67092000 AMSG02 DC C'INPUT NOT RECOGNIZED' 67110000 AMSG03 DC C'NO INTERPRET TABLE' @XL03HAJ 67118000 AMSG04 DC C'NO ROUTINE TO RECOGNIZE APPLICATION' 67126000 AMSG05 DC C'USER UNAUTHORIZED FOR THIS APPLICATION' 67134000 AMSG06 DC C'APPLICATION UNKNOWN TO VTAM' 67142000 AMSG07 DC C'APPLICATION DEACTIVATED BY NETWORK OPERATOR' 67160000 AMSG08 DC C'APPLICATION IS INACTIVE' 67168000 AMSG09 DC C'APPLICATION IS CLOSING DOWN' 67176000 AMSG10 DC C'APPLICATION NEVER ACCEPTS LOGONS' 67184000 AMSG11 DC C'APPLICATION IS NOT ACCEPTING LOGONS' 67192000 AMSG12 DC C'THIS TERMINAL IS LOGGED ON TO THE NETWORK SOLICITOR' 67201000 EJECT @VS49571 67210000 &ALABEL CSECT @ZA37922 67211000 * THIS CSECT IS JUST INCASE THE USER @VS49571 67261000 * WISHES TO ADD CODE TO NETSOL @VS49571 67311000 MEND 67361000