ibm:vm370-lib:cp:dmknet.assemble_src
Table of Contents
DMKNET Source
References
- Fixes Applied : 5
- This Source Date : Thursday, December 7, 1978
- Last Fix ID : [R14433DK]
Source Listing
- DMKNET.ASSEMBLE.txt
- NET TITLE 'DMKNET (CP) VM/370 - RELEASE 6' 00001000
- ISEQ 73,80 VALIDATE SEQUENCING OF INPUT 00002000
- COPY OPTIONS @V200820 00003000
- COPY LOCAL OPTIONS @V306638 00004000
- SPACE 2 00005000
- *. 00006000
- * MODULE NAME - 00007000
- * 00008000
- * DMKNET 00009000
- * 00010000
- * CONTENTS - 00011000
- * 00012000
- * DMKNETWK - PROCESS THE 'NETWORK' CONSOLE FUNCTION COMMAND 00013000
- *. 00014000
- SPACE 2 00015000
- DMKNET START 0 @V200820 00016000
- SPACE 00017000
- USING PSA,0 @V200820 00018000
- USING VMBLOK,R11 @V200820 00019000
- USING SAVEAREA,R13 @V200820 00020000
- SPACE 2 00021000
- EXTRN DMKNLDR,DMKNLEMP @V407511 00022100
- EXTRN DMKNESHD,DMKNESDS,DMKNESEP,DMKNESWN @VA13376 00023000
- EXTRN DMKRNHND,DMKERMSG,DMKRGBEN,DMKNESPL @V305798 00024000
- EXTRN DMKSCNFD,DMKCVTHB,DMKSCNRU,DMKCVTBH,DMKSCNRD @V200820 00025000
- EXTRN DMKRIORN DEVICE TABLE FOR SYSTEM 370X'S @V200820 00026000
- EXTRN DMKIOESR SYNCHRONOUS OBR PROCESSING @VA03757 00026100
- SPACE 00027000
- MODID DC CL8'DMKNET ' PAGEABLE MODULE IDENTIFIER @V200820 00028000
- EJECT 00029000
- *. 00030000
- * SUBROUTINE NAME - 00031000
- * 00032000
- * DMKNETWK 00033000
- * 00034000
- * FUNCTION - 00035000
- * 00036000
- * TO PROVIDE OPERATOR CONTROL FUNCTIONS FOR THE USE OF THE 3704 00037000
- * AND 3705 PROGRAMMABLE COMMUNICATIONS CONTROL UNITS AND THE 00038000
- * 3270 REMOTE DISPLAY SYSTEM. 00039000
- * 00040000
- * ATTRIBUTES - 00041000
- * 00042000
- * RE-ENTRANT, PAGEABLE, CALLED VIA SVC FROM DMKCFM 00043000
- * 00044000
- * COMMAND FORMAT - 00045000
- * 00046000
- * +----------+-------------------------------------------------+ 00047000
- * | | | 00048000
- * | NETWORK | LOAD RADDR NCPNAME | 00049000
- * | NET | DUMP RADDR < IMMED | AUTO | OFF > | 00050000
- * | | ENABLE < ALL | RESOURCE < RESOURCE...>> | 00051000
- * | | DISABLE < ALL | RESOURCE < RESOURCE...>> | 00052000
- * | | QUERY < RESOURCE < RESOURCE ... >> | 00053000
- * | | < ACTIVE | FREE | OFFLINE | ALL > | 00054000
- * | | DISPLAY RADDR HEXLOC1 < :|- < HEXLOC2|END >> | 00055000
- * | | VARY RESOURCE < ONLINE|OFFLINE|EP|NCP > | 00056000
- * | | SHUTDOWN RADDR | ALL | 00059000
- * | | POLLDLAY NNNN RADDR | ALL | 00060000
- * | | | 00061000
- * +----------+-------------------------------------------------+ 00062000
- * 00063000
- * ENTRY CONDITIONS - 00064000
- * 00065000
- * GPR 13 = ADDRESS OF A STANDARD SAVE AREA 00066000
- * GPR 12 = ADDRESS OF DMKNETWK 00067000
- * GPR 11 = VMBLOK ADDRESS 00068000
- * GPR 9 = CONBUF ADDRESS (COMMAND BUFFER) 00069000
- * 00070000
- * EXIT CONDITIONS - 00071000
- * 00072000
- * GPRS 0-1, 3-13 RESTORED 00073000
- * GPR 2 CONTAINS AN ERROR CODE (IF ANY ERROR) 00074000
- * 00075000
- EJECT 00076000
- * CALLS TO OTHER ROUTINES - 00077000
- * 00078000
- * DMKNLDR - TO PERFORM THE NETWORK LOAD FUNCTION 00079000
- * DMKNLDMP - TO PERFORM THE NETWORK DUMP FUNCTION 00080000
- * DMKNESHD - TO PERFORM THE NETWORK SHUTDOWN FUNCTION 00081000
- * DMKNESDS - TO PERFORM THE NETWORK DISPLAY FUNCTION 00083000
- * DMKNESEP - TO PERFORM THE NETWORK VARY EP FUNCTION 00084000
- * DMKNESWN - TO PERFORM THE NETWORK VARY NCP FUNCTION 00085000
- * DMKNESPL - TO PERFORM THE NETWORK POLLDLAY FUNCTION 00086000
- * DMKRGBEN - TO EXECUTE 3270 REMOTE CONTROL FUNCTIONS 00087000
- * DMKERMSG - TO FORMAT AND TYPE ERROR MESSAGES 00088000
- * DMKQCNWT - TO TYPE RESPONSE MESSAGES FOR THE USER 00089000
- * DMKFREE - TO ALLOCATE FREE STORAGE WORK AREAS 00090000
- * DMKFRET - TO RELEASE FREE STORAGE WORK AREAS 00091000
- * DMKRNHND - TO EXECUTE 370X NCP CONTROL COMMANDS 00092000
- * DMKSCNFD - TO SCAN PARAMETERS FROM THE COMMAND LINE 00093000
- * DMKSCNRU - TO LOCATE REAL DEVICE CONTROL BLOCKS 00094000
- * DMKSCNRD - TO DETERMINE A REAL DEVICE ADDRESS 00095000
- * DMKCVTBH - TO CONVERT BINARY VALUES FOR OUTPUT 00096000
- * DMKCVTHB - TO CONVERT HEXADECIMAL VALUES TO BINARY 00097000
- * DMKQCNCL - TO CLEAR THE CONTASK STACK FOR A DEVICE 00098000
- * DMKQCNTO - TO DISCONNECT AN ACTIVE VIRTUAL MACHINE 00099000
- * 00100000
- * EXTERNAL REFERENCES - 00101000
- * 00102000
- * DMKRIORN - TABLE OF 370X RDEVBLOK'S DEFINED IN DMKRIO 00104000
- * 00105000
- * TABLES / WORK AREAS - NONE 00106000
- * 00107000
- * REGISTER USAGE - 00108000
- * 00109000
- * GPR 14-15 ARE EXTERNAL LINK REGISTERS 00110000
- * GPR 13 = SAVEAREA ADDRESSABILITY 00111000
- * GPR 12 = MODULE BASE ADDRESSABILITY 00112000
- * GPR 11 = VMBLOK ADDRESSABILITY 00113000
- * GPR 10 = IOBLOK ADDRESSABILITY 00114000
- * GPR 9 = CONBUF ADDRESSABILITY 00115000
- * GPR 8 = RDEVBLOK ADDRESSABILITY 00116000
- * GPR 7 = NICBLOK ADDRESSABILITY 00117000
- * GPRS 0-6 ARE WORK REGISTERS 00118000
- * 00119000
- * NOTES - NONE 00120000
- * 00121000
- EJECT 00122000
- * OPERATION - 00123000
- * 00124000
- * NETWORK DUMP - CALL DMKNLDMP 00125000
- * NETWORK LOAD - CALL DMKNLDR 00126000
- * NETWORK SHUTDOWN - CALL DMKNESHD 00127000
- * NETWORK DISPLAY - CALL DMKNESDS 00129000
- * NETWORK POLLDLAY - CALL DMKNESPL 00130000
- * 00131000
- * NETWORK QUERY - IF NO OPTION SPECIFIED, ASSUME 'ACTIVE' 00132000
- * 1. FOR 'ACTIVE', SEARCH ALL 370X'S AND RESOURCES FOR 00133000
- * TERMINAL RESOURCES WITH LOGGED-ON USERS, AND FORMAT 00134000
- * THE OUTPUT LINES FOR LATER TYPING BY DMKCFM. 00135000
- * 2. FOR 'FREE', SEARCH FOR TERMINAL RESOURCES WHICH ARE 00136000
- * NEITHER ACTIVE NOR OFFLINE, AND FORMAT THE OUTPUT. 00137000
- * 3. FOR 'OFFLINE', SEARCH FOR OFFLINE TERMINAL RESOURCES. 00138000
- * 4. FOR 'ALL', DO STEPS 1, 2, AND 3, IN THAT ORDER. 00139000
- * 5. FOR A SPECIFIC RESOURCE, FORMAT THE OUTPUT ACCORDING 00140000
- * TO THE RESOURCE STATUS, INDICATING WHETHER THE RESOURCE 00141000
- * IS A LINE OR A TERMINAL (DEV). 00142000
- * 00143000
- * NETWORK ENABLE - IF NO OPTION SPECIFIED, ASSUME 'ALL' 00144000
- * 1. 'ENABLE ALL' - SCAN ALL 370X'S (VIA DMKRIORN TABLE) 00145000
- * FOR TERMINAL RESOURCES WHICH ARE NOT ALREADY ENABLED 00146000
- * AND ARE NOT CURRENTLY ACTIVE OR OFFLINE. 00147000
- * 2. 'ENABLE XXXX' - VALIDATE THAT THE RESOURCE IS A 00148000
- * TERMINAL, AND THAT IT IS NOT OFFLINE. 00149000
- * 3. FOR EACH VALID TERMINAL RESOURCE - ACTIVATE THE LINE 00150000
- * ASSOCIATED WITH THE TERMINAL (IF NECESSARY), AND START 00151000
- * THE ENABLE SEQUENCE BY ISSUING A 'CONTACT' COMMAND. 00152000
- * 00153000
- * NETWORK DISABLE - IF NO OPTION SPECIFIED, ASSUME 'ALL' 00154000
- * 1. 2. - SAME AS NETWORK ENABLE 00155000
- * 3. FOR EACH VALID TERMINAL RESOURCE - TURN ON 'NICDISB' 00156000
- * FLAG TO INDICATE DISABLE REQUEST. IF THERE IS NOT 00157000
- * AN ACTIVE USER, RESET THE 'CONTACT' COMMAND VIA A 00158000
- * 'RESET IMMEDIATE' - ISSUED VIA CALL DMKRNHND. 00159000
- * 00160000
- * NETWORK VARY - 00161000
- * 1. 'EP' OPTION - CALL DMKNESEP 00162000
- * 2. 'NCP' OPTION - CALL DMKNESWN 00163000
- * 3. 'ONLINE' OPTION - FOR A LINE RESOURCE, ISSUE THE 00164000
- * 'ACTIVATE LINE' COMMAND VIA CALL DMKRNHND. 00165000
- * FOR A TERMINAL RESOURCE, MAKE SURE THE LINE IS 00166000
- * ACTIVE, THEN VARY ONLINE BY RESETTING 'NICDISA'. 00167000
- * 4. 'OFFLINE' OPTION - FOR A LINE RESOURCE, CHECK FOR 00168000
- * ANY ACTIVE TERMINALS ON THE LINE. IF NONE, ISSUE 00169000
- * THE 'DEACTIVATE LINE' COMMAND VIA CALL DMKRNHND. 00170000
- * FOR A TERMINAL RESOURCE, TURN ON 'NICDISA'. 00171000
- * 00172000
- * 00174000
- EJECT 00175000
- * RESPONSES - 00176000
- * 00177000
- * FOR NETWORK ENABLE, DISABLE, VARY: 00178000
- * COMMAND COMPLETE 00179000
- * 00180000
- * FOR NETWORK QUERY: 00184000
- * LINE XXXX ACTIVE 00185000
- * LINE XXXX OFFLINE 00186000
- * LINE XXXX EP-MODE XXX 00187000
- * DEV XXXX LOGON AS USERIDXX 00188000
- * DEV XXXX ENABLED, DEV XXXX DISABLE, DEV XXXX OFFLINE, . . . 00189000
- * 00190000
- * RESOURCE(S) NOT FOUND 00191000
- * ACTIVE RESOURCE(S) NOT FOUND 00192000
- * FREE RESOURCE(S) NOT FOUND 00193000
- * OFFLINE RESOURCE(S) NOT FOUND 00194000
- * 00195000
- * ERROR MESSAGES - 00196000
- * 00197000
- * DMKNET002E INVALID OPERAND - OPERAND 00198000
- * DMKNET003E INVALID OPTION - OPTION 00199000
- * DMKNET006E INVALID DEVICE TYPE - XXXX 00200000
- * DMKNET026E OPERAND MISSING OR INVALID 00201000
- * DMKNET040E DEV XXXX DOES NOT EXIST 00202000
- * DMKNET046E DEV XXXX OFFLINE 00203000
- * DMKNET046E CTLR RADDR OFFLINE 00204000
- * DMKNET046E LINE RADDR OFFLINE 00205000
- * DMKNET049E DEV XXXX IN USE 00206000
- * DMKNET140E CTLR RADDR ATTACHED TO USERIDXX 00207000
- *. 00208000
- EJECT 00209000
- DMKNETWK RELOC , PROCESS THE 'NETWORK' COMMAND @V200820 00210000
- SLR R0,R0 @V200820 00211000
- ST R0,SAVEWRK1 CLEAR A FLAG AREA @V200820 00212000
- SPACE 2 00213000
- CALL DMKSCNFD SCAN FOR THE FUNCTION PARAMETER @V200820 00214000
- BNZ NET026E OPERAND MISSING OR INVALID @V200820 00215000
- LR R2,R0 PARAMETER LENGTH @V200820 00216000
- CL R2,F8 GREATER THAN THE MAXIMUM PARM ? @V200820 00217000
- BH NET002E YES - INVALID OPERAND @V200820 00218000
- BCTR R2,0 ...MINUS ONE FOR COMPARE @V200820 00219000
- LA R3,PARMTBL PARAMETER SCAN TABLE @V200820 00220000
- LA R4,PARMENT LENGTH OF ONE ENTRY @V200820 00221000
- LA R5,PARMEND LAST ENTRY IN TABLE @V200820 00222000
- SPACE 00223000
- NETSRCH EQU * SCAN TABLE FOR FUNCTION PARM MATC@V200820 00224000
- EX R2,CLCR1R3 "CLC 0(*-*,R1),0(R3)" @V200820 00225000
- BNE NEXSRCH NO MATCH - SKIP TO NEXT ENTRY @V200820 00226000
- CLM R2,1,9(R3) CHECK FOR MINIMUM ABBREVIATION @V200820 00227000
- BL NEXSRCH NO MATCH - SKIP TO NEXT ENTRY @V200820 00228000
- SLR R6,R6 @V200820 00229000
- ICM R6,8,VMCLEVEL CHECK FOR ALLOWED COMMAND @V200820 00230000
- N R6,8(0,R3) . . .IN CASE RESTRICTED @V200820 00231000
- BZ NET002E INVALID OPERAND IF IT IS @V200820 00232000
- LH R4,10(0,R3) PICK UP VECTOR DISPLACEMENT @V200820 00233000
- B DMKNET(R4) GO TO FUNCTIONAL SUBROUTINE @V200820 00234000
- NEXSRCH EQU * SKIP TO NEXT TABLE ENTRY @V200820 00235000
- BXLE R3,R4,NETSRCH ... @V200820 00236000
- B NET002E INVALID OPERAND @V200820 00237000
- SPACE 2 00238000
- PARMTBL DS 0F FUNCTION PARAMETER TABLE @V200820 00239000
- DC C'LOAD ',AL1(A+B,3),AL2(NETLOAD-DMKNET) @V200820 00240000
- DC C'DUMP ',AL1(A+B,3),AL2(NETDUMP-DMKNET) @V240820 00241000
- DC C'ENABLE ',AL1(A+B,1),AL2(NETENAB-DMKNET) @V240820 00242000
- DC C'DISABLE ',AL1(A+B,3),AL2(NETDISA-DMKNET) @V240820 00243000
- DC C'QUERY ',AL1(A+B,0),AL2(NETQERY-DMKNET) @V240820 00244000
- DC C'DISPLAY ',AL1(A+B,0),AL2(NETDISP-DMKNET) @V240820 00245000
- DC C'VARY ',AL1(A+B,3),AL2(NETVARY-DMKNET) @V240820 00246000
- DC C'SHUTDOWN',AL1(A,7),AL2(NETKILL-DMKNET) @V240820 00248000
- PARMEND DC C'POLLDLAY',AL1(A+B,3),AL2(NETPOLL-DMKNET) @V2D3931 00250000
- PARMENT EQU *-PARMEND LENGTH OF ONE ENTRY = 12 BYTES @V200820 00251000
- SPACE 00252000
- CLCR1R3 CLC 0(*-*,R1),0(R3) EXECUTED COMPARE @V200820 00253000
- EJECT 00254000
- NETLOAD EQU * "NETWORK LOAD RADDR NCPNAME" @V200820 00255000
- CALL DMKNLDR,PARM=0 CALL THE LOAD PROCESSOR @V200820 00256000
- * HE WILL RETURN DIRECTLY TO DMKCFM 00257000
- SPACE 2 00258000
- NETDUMP EQU * "NETWORK DUMP RADDR IMMED|AUTO|OFF" @V200820 00259000
- CALL DMKNLEMP,PARM=0 CALL THE DUMP PROCESSOR @V407511 00260100
- * HE WILL RETURN DIRECTLY TO DMKCFM 00261000
- SPACE 2 00262000
- NETKILL EQU * NETWORK SHUTDOWN RADDR @VA01918 00263000
- CALL DMKNESHD CALL THE SHUTDOWN PROCESSOR @VA01918 00264000
- B NETCOMP COMPLETE, MSG ALREADY GIVEN @VA01918 00265000
- SPACE 2 00266000
- NETDISP EQU * NETWORK DISPLAY RADDR HEXLOC @VA01918 00271000
- CALL DMKNESDS CALL TO DISPLAY 370X STORAGE @VA01918 00272000
- B NETCOMP COMPLETE, MSG ALREADY GIVEN @VA01918 00273000
- SPACE 2 00274000
- NETPOLL EQU * NETWORK POLLDLAY COMMAND @V2D3931 00275000
- CALL DMKNESPL NETWORK POLLDLAY NNNN RADDR @V2D3931 00276000
- B NETCOMP COMPLETE, MSG ALREADY GIVEN @V2D3931 00277000
- EJECT 00278000
- USING NICBLOK,R7 @V200820 00279000
- USING RDEVBLOK,R8 @V200820 00280000
- NETQERY EQU * NETWORK QUERY RESOURCE @V200820 00281000
- MVI SAVEWRK1,QRYACTV DEFAULT IS QUERY ACTIVE @V200820 00282000
- CALL DMKSCNFD SCAN FOR THIRD OPERAND @V200820 00283000
- BNZ NETQRYS NONE SPECIFIED - USE DEFAULT @V200820 00284000
- CL R0,F8 EIGHT CHARS MAXIMUM @V200820 00285000
- BH NET002E @V200820 00286000
- CL R0,F3 THREE CHARS MINIMUM @V200820 00287000
- BL NET002E @V200820 00288000
- LR R2,R0 OPERAND LENGTH @V200820 00289000
- BCTR R2,0 DECREMENT FOR COMPARES @V200820 00290000
- EX R2,CLCACTV NETWORK QUERY ACTIVE @V200820 00291000
- BE NETQRYS YES --- @V200820 00292000
- MVI SAVEWRK1,QRYALL @V200820 00293000
- EX R2,CLCQALL NETWORK QUERY ALL @V200820 00294000
- BE NETQRYS YES --- @V200820 00295000
- MVI SAVEWRK1,QRYOFFL @V200820 00296000
- EX R2,CLCOFFL NETWORK QUERY OFFLINE @V200820 00297000
- BE NETQRYS YES --- @V200820 00298000
- MVI SAVEWRK1,QRYFREE @V200820 00299000
- EX R2,CLCFREE NETWORK QUERY FREE @V200820 00300000
- BE NETQRYS YES --- @V200820 00301000
- SPACE 00302000
- MVI SAVEWRK1,QRYRIDS MUST BE SPECIFIC RESOURCES @V200820 00303000
- LA R6,SAVEWRK2 POINT TO SAVEAREA BUFFER @V200820 00304000
- SLR R5,R5 BUFFER INDEX SET TO ZERO @V200820 00305000
- MVC SAVEWRK2(8),BLANKS CLEAR THE PSEUDO-BUFFER @V200820 00306000
- MVC SAVEWRK4(24),SAVEWRK2 . . . @V200820 00307000
- BAL R10,SCANCVT CONVERT THE FIRST RESOURCE ID @V200820 00308000
- NETQRYR EQU * FORMAT INDIVIDUAL LINES @V200820 00309000
- BAL R10,QRYFRMT FORMAT ONE OUTPUT LINE @V200820 00310000
- BAL R10,SCANRID SCAN AND CONVERT NEXT RESOURCE @V200820 00311000
- BZ NETQRYR CONTINUE . . . @V200820 00312000
- B RETCOMP . . .UNTIL THERE ARE NO MORE @V200820 00313000
- EJECT 00314000
- NETQRYS EQU * GENERAL NETWORK QUERY @V200820 00315000
- LA R0,9(0,0) SIZE OF BUFFER (DBL-WDS) @V200820 00316000
- CALL DMKFREE GET A FORMATTING BUFFER @V200820 00317000
- LR R6,R1 BASE IT ON GR6 @V200820 00318000
- SLR R5,R5 BUFFER INDEX STARTS AT ZERO @V200820 00319000
- MVC 0(8,R6),BLANKS CLEAR THE BUFFER @V200820 00320000
- MVC 8(8*8,R6),0(R6) . . . @V200820 00321000
- SPACE 00322000
- NETQRYC EQU * NETWORK QUERY BY SITUATION @V200820 00323000
- BAL R10,NETWALL GET THE FIRST 370X WITH AN NCP @V200820 00324000
- BZ NETQRYA THERE IS AT LEAST ONE @V200820 00325000
- LR R5,R6 NO HEADER FOR FAILURE MESSAGE @V200820 00326000
- B NETQRYZ GIVE MSG - NO RESOURCES AT ALL @V200820 00327000
- SPACE 2 00328000
- NETQRYA EQU * FORMAT ACTIVE RESOURCES @V200820 00329000
- TM SAVEWRK1,QRYACTV ACTIVE DEVICES WANTED ? @V200820 00330000
- BZ NETQRYF NO -- CHECK FOR 'FREE' @V200820 00331000
- B NETQRA2 GO HANDLE THE FIRST 370X @V200820 00332000
- SPACE 00333000
- NETQRA1 EQU * PROCESS SUBSEQUENT 370X NCP'S @V200820 00334000
- BAL R10,NETFALL NEXT 370X, IF ANY @V200820 00335000
- BZ NETQRA2 THERE IS ANOTHER ONE - DO IT @V200820 00336000
- NI SAVEWRK1,255-QRYACTV ACTIVE HAS BEEN DONE @V200820 00337000
- BNZ NETQRYC GO GET NEXT SITUATION FORMATTED @V200820 00338000
- MVC 0(8,R6),=C'ACTIVE ' ACTIVE NOT FOUND @V200820 00339000
- LA R5,8(0,R6) START ADDR FOR MESSAGE TEXT @V200820 00340000
- B NETQRYZ GIVE FAILURE MESSAGE TO USER @V200820 00341000
- SPACE 00342000
- NETQRA2 EQU * LOOP THROUGH THE NICBLOK LIST @V200820 00343000
- LH R1,NICNAME CURRENT RESOURCE I.D. @V200820 00344000
- LA R1,1(0,R1) INCREMENT FOR NEXT NICBLOK @V200820 00345000
- CH R1,RDEVMAX HAVE WE REACHED THE END ? @V200820 00346000
- BH NETQRA1 YES - LOOK FOR ANOTHER 370X @V200820 00347000
- AH R7,=AL2(NICSIZE*8) ADVANCE TO NEXT NICBLOK @V200820 00348000
- TM NICTYPE,NICTERM IS THIS A TERMINAL ? @V200820 00349000
- BZ NETQRA2 NO -- SKIP OVER IT @V200820 00350000
- CLC NICUSER(4),ASYSVM IS THERE AN ACTIVE USER ? @V240820 00351000
- BE NETQRA2 NO -- SKIP OVER THIS ONE @V240820 00352000
- BAL R10,QRYFRMT FORMAT AND STACK OUTPUT LINE @V200820 00353000
- B NETQRA2 CONTINUE . . . @V200820 00354000
- EJECT 00355000
- NETQRYF EQU * FORMAT FREE DEVICES @V200820 00356000
- TM SAVEWRK1,QRYFREE FREE DEVICES WANTED ? @V200820 00357000
- BZ NETQRYO NO -- TRY FOR 'OFFLINE' @V200820 00358000
- B NETQRF2 GO HANDLE FIRST 370X @V200820 00359000
- SPACE 00360000
- NETQRF1 EQU * ADVANCE TO NEXT 370X WITH NCP @V200820 00361000
- BAL R10,NETFALL LOCATE ANOTHER NCP @V200820 00362000
- BZ NETQRF2 THERE IS ANOTHER ONE - DO IT @V200820 00363000
- BAL R10,QRYSTAK STACK ANY PARTIAL LINE BUFFER @V200820 00364000
- NI SAVEWRK1,255-QRYFREE FREE HAS BEEN DONE @V200820 00365000
- BNZ NETQRYC GO TRY THE NEXT SITUATION @V200820 00366000
- MVC 0(6,R6),=C'FREE ' FAILURE KEYWORD @V200820 00367000
- LA R5,6(0,R6) START ADDR FOR MESSAGE TEXT @V200820 00368000
- B NETQRYZ GIVE FAILURE MESSAGE TO USER @V200820 00369000
- SPACE 00370000
- NETQRF2 EQU * LOOP THROUGH NICBLOK LIST @V200820 00371000
- LH R1,NICNAME CURRENT RESOURCE I.D. @V200820 00372000
- LA R1,1(0,R1) INCREMENT FOR NEXT NICBLOK @V200820 00373000
- CH R1,RDEVMAX REACHED THE END YET ? @V200820 00374000
- BH NETQRF1 YES - GET THE NEXT 370X NCP @V200820 00375000
- AH R7,=AL2(NICSIZE*8) BUMP TO NEXT NICBLOK @V200820 00376000
- TM NICTYPE,NICTERM IS THIS A TERMINAL ? @V200820 00377000
- BZ NETQRF2 NO -- SKIP OVER IT @V200820 00378000
- TM NICSTAT,NICDISA IS IT CURRENTLY ACTIVE ? @V200820 00379000
- BO NETQRF2 NO -- SKIP OVER IT @V200820 00380000
- CLC NICUSER(4),ASYSVM IS THERE AN ACTIVE USER ? @V240820 00381000
- BNE NETQRF2 YES - SKIP OVER THIS ONE @V240820 00382000
- BAL R10,QRYFRMT FORMAT THE OUTPUT DATA @V200820 00383000
- B NETQRF2 CONTINUE . . . @V200820 00384000
- EJECT 00385000
- NETQRYO EQU * FORMAT OFFLINE RESOURCES @V200820 00386000
- TM SAVEWRK1,QRYOFFL OFFLINE DEVICES WANTED ? @V200820 00387000
- BZ QRYFINS NO -- COMMAND COMPLETE @V200820 00388000
- B NETQRO2 GO HANDLE THE FIRST 370X NCP @V200820 00389000
- SPACE 00390000
- NETQRO1 EQU * PROCESS THE NEXT 370X, IF ANY @V200820 00391000
- BAL R10,NETFALL FIND ANOTHER 370X WITH THE NCP @V200820 00392000
- BZ NETQRO2 THERE IS ANOTHER ONE - DO IT @V200820 00393000
- BAL R10,QRYSTAK STACK ANY PARTIAL LINE BUFFER @V200820 00394000
- NI SAVEWRK1,255-QRYOFFL OFFLINE HAS BEEN DONE @V200820 00395000
- BNZ QRYFINS ALL DONE IF SOMETHING STACKED @V200820 00396000
- MVC 0(8,R6),=C'OFFLINE ' OFFLINE NOT FOUND @V200820 00397000
- LA R5,8(0,R6) START ADDR FOR MESSAGE TEXT @V200820 00398000
- B NETQRYZ GIVE FAILURE MESSAGE TO USER @V200820 00399000
- SPACE 00400000
- NETQRO2 EQU * LOOP THROUGH THE NICBLOK LIST @V200820 00401000
- LH R1,NICNAME CURRENT RESOURCE I.D. @V200820 00402000
- LA R1,1(0,R1) INCREMENT FOR NEXT NICBLOK @V200820 00403000
- CH R1,RDEVMAX REACHED THE END YET ? @V200820 00404000
- BH NETQRO1 YES - GET THE NEXT 370X NCP @V200820 00405000
- AH R7,=AL2(NICSIZE*8) BUMP TO NEXT NICBLOK @V200820 00406000
- TM NICTYPE,NICTERM IS THIS A TERMINAL ? @V200820 00407000
- BZ NETQRO2 NO -- SKIP OVER IT @V200820 00408000
- TM NICSTAT,NICDISA IS IT OFFLINE NOW ? @V200820 00409000
- BZ NETQRO2 NO -- SKIP OVER IT @V200820 00410000
- BAL R10,QRYFRMT FORMAT THE OUTPUT DATA @V200820 00411000
- B NETQRO2 CONTINUE . . . @V200820 00412000
- SPACE 2 00413000
- NETQRYZ EQU * SPECIFIED SITUATION NOT FOUND @V200820 00414000
- MVC 0(21,R5),=C'RESOURCE(S) NOT FOUND' MSG TEXT @V200820 00415000
- SR R5,R6 GET LENGTH OF HEADER @V200820 00416000
- LA R0,21(0,R5) LENGTH OF TOTAL MESSAGE @V200820 00417000
- LR R1,R6 START OF DATA BUFFER @V200820 00418000
- CALL DMKQCNWT,PARM=NORET FAILURE MESSAGE @V200820 00419000
- SPACE 00420000
- QRYFINS EQU * NETWORK QUERY IS COMPLETE @V200820 00421000
- LR R1,R6 START OF FORMATTING BUFFER @V200820 00422000
- LA R0,9(0) SIZE IN DBL-WDS @V200820 00423000
- CALL DMKFRET RELEASE THE BUFFER @V200820 00424000
- B RETCOMP @V200820 00425000
- EJECT 00426000
- QRYFRMT EQU * FORMAT RESOURCE QUERY OUTPUT @V200820 00427000
- OI SAVEWRK1,QRYDONE WILL CREATE SOME OUTPUT @V200820 00428000
- LH R1,NICNAME NCP RESOURCE IDENTIFIER @V200820 00429000
- SLR R14,R14 CLEAR FOR DEVICE CODE @VA04763 00429100
- IC R14,SAVEWRK1+1 GET 370X DEVICE CODE @VA04763 00429200
- SLL R14,12 POSITION FOR CONVERT @VA04763 00429300
- OR R1,R14 ADD DEVICE CODE TO RID. @VA04763 00429400
- CALL DMKCVTBH CONVERT FOR OUTPUT @V200820 00430000
- TM NICTYPE,NICLINE+NICLGRP IS THIS A LINE OR C.U. @VM01055 00432000
- BZ QRYFMTD NO -- PROBABLY A TERMINAL @V200820 00433000
- MVC 0(4,R6),=C'LINE' DEVICE DESCRIPTION @V200820 00434000
- STCM R1,15,5(R6) INSERT THE RESOURCE REFERENCE @V200820 00435000
- TM NICTYPE,NICLGRP IS THIS A CONTROL UNIT FOR DISP.@VM01055 00436000
- BO *+12 YES, SKIP TEST..... @VM01055 00437000
- TM NICSTAT,NICEPMD IS THIS LINE IN EP-MODE ? @V240820 00438000
- BO QRYFMTE YES - SAY SO @V240820 00439000
- LA R5,18(0) COMMON OUTPUT LENGTH @V200820 00440000
- MVC 10(8,R6),=C'OFFLINE ' @V200820 00441000
- TM NICSTAT,NICDISA IS THE LINE ACTIVE ? @V240820 00442000
- BO QRYSTAK NO -- CALL IT OFFLINE @V240820 00443000
- MVC 10(8,R6),=C'ACTIVE ' @V200820 00444000
- B QRYSTAK GO STACK THE OUTPUT @V240820 00445000
- QRYFMTE EQU * LINE RESOURCE IS IN EP-MODE @V240820 00446000
- MVC 10(8,R6),=C'EP-MODE ' @V200820 00447000
- LH R1,NICEPAD EMULATOR LINE ADDRESS @V200820 00448000
- CALL DMKCVTBH CONVERT @V200820 00449000
- STCM R1,7,19(R6) SET IN OUTPUT LINE @V200820 00450000
- LA R5,24(0) LINE LENGTH @V200820 00451000
- B QRYSTAK STACK LINE FOR OUTPUT @V200820 00452000
- SPACE 2 00453000
- QRYFMTD EQU * FORMAT FOR NON-LINE RESOURCES @V200820 00454000
- LA R4,0(R5,R6) GR4 = BUFFER SLOT @V200820 00455000
- CR R4,R6 ARE WE AT THE BEGINNING ? @V200820 00456000
- BE QRYFMT1 YES - ALL SET @V200820 00457000
- MVI 0(R4),C',' ADD OPTICAL DELIMITER @V200820 00458000
- LA R5,2(0,R5) MOVE INDEX OVER A BIT @V200820 00459000
- LA R4,2(0,R4) MOVE OUTPUT SLOT OVER @V200820 00460000
- QRYFMT1 EQU * @V200820 00461000
- MVC 0(4,R4),=C'DEV ' NON-LINE IS A "DEV" @V200820 00462000
- ST R1,4(0,R4) SET THE RESOURCE REFERENCE @V200820 00463000
- MVC 9(8,R4),=C'OFFLINE ' @V200820 00464000
- TM NICSTAT,NICDISA OFFLINE RESOURCE ? @V200820 00465000
- BO QRYFMTB YES --- @V200820 00466000
- MVC 9(8,R4),=C'DISABLE ' @V200820 00467000
- TM NICFLAG,NICENAB ENABLED ? @V200820 00468000
- BZ QRYFMTB NO ---- @V200820 00469000
- MVC 9(8,R4),=C'ENABLED ' @V200820 00470000
- CLC NICUSER(4),ASYSVM IS THERE AN ACTIVE USER ? @V240820 00471000
- BE QRYFMTB NO ---- @V240820 00472000
- MVC 9(10,R4),=C'LOGON AS ' @V200820 00473000
- L R1,NICUSER VMBLOK POINTER @V200820 00474000
- MVC 19(8,R4),VMUSER-VMBLOK(R1) MOVE USERID @V200820 00475000
- LA R5,28(0) LINE LENGTH @V200820 00476000
- B QRYSTAK STACK LINE AND CLEAR BUFFER @V200820 00477000
- EJECT 00478000
- QRYFMTB EQU * ADJUST POINTERS, STACK LINE @V200820 00479000
- LA R5,16(0,R5) POINT TO NEXT SLOT @V200820 00480000
- CL R5,F60 WAS THAT THE LAST ONE ? @V200820 00481000
- BH QRYSTAK YES - STACK LINE AND RESTART @V200820 00482000
- TM SAVEWRK1,QRYRIDS INDIVIDUAL RESOURCE QUERY ? @V200820 00483000
- BZR R10 NO -- RETURN FOR NEXT ONE @V200820 00484000
- SPACE 2 00485000
- QRYSTAK EQU * STACK LINES FOR LATER OUTPUT @V200820 00486000
- LTR R5,R5 ANYTHING TO BE STACKED ? @V200820 00487000
- BZR R10 NO -- JUST RETURN @V200820 00488000
- LA R0,8+7(0,R5) ROUND UP AND ADD 8 BYTES @V200820 00489000
- SRL R0,3(0) . . .SIZE IN DBL-WDS @V200820 00490000
- CALL DMKFREE GET A STACK BUFFER @V200820 00491000
- STH R5,4(0,R1) SET OUTPUT LINE LENGTH @V200820 00492000
- STH R0,6(0,R1) SET BUFFER SIZE FOR FRET @V200820 00493000
- BCTR R5,0 @V200820 00494000
- EX R5,MOVESTK MOVE DATA TO STACK BUFFER @V200820 00495000
- LA R14,VMSTKO VMBLOK OUTPUT STACK @V200820 00496000
- QRYSTKI EQU * SEARCH FOR END OF CHAIN @V200820 00497000
- ICM R15,15,0(R14) LOAD AND TEST POINTER @V200820 00498000
- BZ QRYSTKT FOUND THE END @V200820 00499000
- LR R14,R15 @V200820 00500000
- B QRYSTKI @V200820 00501000
- QRYSTKT EQU * STACK THE LINE AT THE END @V200820 00502000
- ST R1,0(0,R14) CHAIN IN THE NEW BUFFER @V200820 00503000
- ST R15,0(0,R1) CLEAR THE FORWARD POINTER @V200820 00504000
- MVC 0(8,R6),BLANKS CLEAR THE FORMAT BUFFER @V200820 00505000
- LR R1,R6 . . . @V200820 00506000
- S R5,F8 . . . @V200820 00507000
- EX R5,MOVESTK . . . FOR THE NEXT ITERATION @V200820 00508000
- SLR R5,R5 RESET BUFFER INDEX TO ZERO @V200820 00509000
- BR R10 RETURN @V200820 00510000
- SPACE 2 00511000
- MOVESTK MVC 8(*-*,R1),0(R6) EXECUTED @V200820 00512000
- CLCFREE CLC 0(*-*,R1),=C'FREE ' NETWORK QUERY FREE @V200820 00513000
- CLCOFFL CLC 0(*-*,R1),=C'OFFLINE ' NETWORK QUERY OFFLINE @V200820 00514000
- CLCQALL CLC 0(*-*,R1),=C'ALL ' NETWORK QUERY ALL @V200820 00515000
- CLCACTV CLC 0(*-*,R1),=C'ACTIVE ' NETWORK QUERY ACTIVE @V200820 00516000
- EJECT 00517000
- NETENAB EQU * "NETWORK ENABLE RESOURCE|ALL" @V200820 00518000
- MVI SAVEWRK1,ENABLE FLAG THIS AS 'ENABLE' CMD @V200820 00519000
- SPACE 00520000
- NETDISA EQU * "NETWORK DISABLE RESOURCE|ALL" @V200820 00521000
- CALL DMKSCNFD SCAN IN CASE IT IS 'ALL' @V200820 00522000
- BNZ NETEALL THE DEFAULT IS 'ALL' @V200820 00523000
- LA R10,NETENRS RETURN IF NOT 'ALL' @V200820 00524000
- CL R0,F3 LONGER THAN THE WORD 'ALL' ? @V200820 00525000
- BNE SCANCVT YES - MUST BE A RESOURCE I.D. @V200820 00526000
- CLC 0(3,R1),=C'ALL ' THIS MUST BE FIRST AND ONLY @V200820 00527000
- BNE SCANCVT NO -- CONVERT RESOURCE ID @V200820 00528000
- NETEALL EQU * ENABLE ALL RESOURCES IN SYSTEM @V200820 00529000
- BAL R10,NETWALL SETUP AND GET FIRST RDEVBLOK @V200820 00530000
- BNZ CMDCOMP COMMAND COMPLETE IF NONE TO DO @V200820 00531000
- B NETENAN ENABLE ALL ON THE FIRST 370X @V200820 00532000
- NETENAL EQU * PROCESS NEXT 370X WITH THE NCP @V200820 00533000
- BAL R10,NETFALL GET NEXT 370X TO BE ENABLED @V200820 00534000
- BNZ CMDCOMP COMMAND COMPLETE IF ALL DONE @V200820 00535000
- NETENAN EQU * ENABLE ALL RESOURCES ON THIS 370X@V200820 00536000
- TM SAVEWRK1+2,CPIALL IS THIS A WARMSTART @V2D3931 00537000
- BZ NOWARM NO, CONTINUE @V2D3931 00538000
- CLI RDEVTYPC,CLASSPEC IS THIS A RDEVBLOK FOR 370X ? @V2D3931 00539000
- BE NETENAL YES, GET NEXT RDEVBLOK ADDRESS @V2D3931 00540000
- NOWARM EQU * @V2D3931 00541000
- LH R1,NICNAME RESOURCE ID OF CURRENT NICBLOK @V200820 00542000
- LA R1,1(0,R1) GET THE NEXT ONE @V200820 00543000
- CH R1,RDEVMAX HAVE WE DONE THEM ALL ? @V200820 00544000
- BH NETENAL YES - GET NEXT RDEVBLOK @V200820 00545000
- TM NICTYPE,NICLGRP IS THIS A CONTROL UNIT ? @V2D3931 00546000
- BZ NOCONT NO, CONTINUE @V2D3931 00547000
- TM SAVEWRK1,ENABLE IS THIS AN ENABLE REQUEST @V2D3931 00548000
- BZ NOCONT NO, CONTINUE PROCESSING @V2D3931 00549000
- CLI RDEVTYPC,CLASSPEC IS THIS A RDEVBLOK FOR 370X ? @V2D3931 00550000
- BE NOCONT YES, CONTINUE PROCESSING @V2D3931 00551000
- BAL R10,NETVRON1 GO ENABLE BISYNC LINE @V2D3931 00552000
- TM SAVEWRK1,INACTV WAS THERE AN ERROR ON ENABLE @V2D3931 00553000
- BZ NOCONT NO, CONTINUE PROCESSING @V2D3931 00554000
- OI SAVEWRK1,SKIPBSC BYPASS ENABLING REMOTE STATIONS@V2D3931 00555000
- NI SAVEWRK1,X'FF'-INACTV CLEAR ERROR FLAG @V2D3931 00556000
- NOCONT EQU * @V2D3931 00557000
- AH R7,=AL2(NICSIZE*8) INDEX FOR NEXT NICBLOK @V200820 00558000
- TM NICTYPE,NICLINE IS THIS A T.P. LINE ? @V200820 00559000
- BZ NETENTP NO -- CHECK FOR TERMINAL @V200820 00560000
- OI SAVEWRK1,SKIPBSC ASSUME BSC SKIP @V200820 00561000
- TM NICTYPE,NICLBSC BINARY SYNCHRONOUS LINE ? @V200820 00562000
- BO NETENAN YES - SKIP TO NEXT S/S LINE @V200820 00563000
- TM NICSTAT,NICEPMD IS THE LINE IN EP-MODE ? @V240820 00564000
- BO NETENAN YES - SKIP ALL OF IT @V240820 00565000
- NI SAVEWRK1,255-SKIPBSC PROCESS FOLLOWING DEV @V200820 00566000
- TM SAVEWRK1,ENABLE IS THIS AN ENABLE REQUEST ? @V200820 00567000
- BZ NETENAN NO -- JUST CONTINUE @V200820 00568000
- CLI RDEVTYPC,CLASSPEC IS THIS A RDEVBLOK FOR 370X ? @V2D3931 00569000
- BE *+12 YES, BYPASS 3270 SUPPORT @V2D3931 00570000
- BAL R10,NETVRON1 GO ENABLE BISYNC LINE @V2D3931 00571000
- B TSTEROR GO TEST FOR ERROR CONDITION @V2D3931 00572000
- BAL R10,NETVRON ISSUE 'ACTIVATE LINE' IF NEEDED @V200820 00573000
- TSTEROR EQU * @V2D3931 00574000
- TM SAVEWRK1,INACTV DID ACTIVATE SUCCEED ? @V200820 00575000
- BZ NETENAN YES - CONTINUE @V200820 00576000
- OI SAVEWRK1,SKIPBSC SKIP ENABLING THIS LINE @V200820 00577000
- NI SAVEWRK1,255-INACTV RESET ACTIVATE ERROR BIT @V200820 00578000
- B NETENAN @V200820 00579000
- SPACE 00580000
- NETENTP EQU * @V200820 00581000
- TM NICTYPE,NICTERM IS THIS A TERMINAL RESOURCE @V200820 00582000
- BZ NETENAN NO -- SKIP IT @V200820 00583000
- TM SAVEWRK1,SKIPBSC SKIPPING OVER BISYNCH LINE ?@V200820 00584000
- BO NETENAN YES -- SKIP @V200820 00585000
- TM NICSTAT,NICDISA IS THE DEVICE ACTIVE ? @V240820 00586000
- BO NETENAN NO -- SKIP IT @V240820 00587000
- LA R10,NETENAN RETURN ADDRESS AFTER ACTION @V200820 00588000
- B NETENDS GO PREFORM ENABLE OR DISABLE @V200820 00589000
- EJECT 00590000
- NETENLR EQU * ENABLE A RESOURCE ID LIST @V200820 00591000
- TM SAVEWRK1,ENDONE WAS THAT A VALID RESOURCE ? @V200820 00592000
- BZ NET006R NO -- ERROR @V200820 00593000
- NI SAVEWRK1,255-ENDONE TURN OFF FLAG BIT @V200820 00594000
- BAL R10,SCANRID SCAN AND CONVERT NEXT RESOURCE ID@V200820 00595000
- BNZ CMDCOMP COMMAND COMPLETE IF NO MORE @V200820 00596000
- NETENRS EQU * @V200820 00597000
- TM NICTYPE,NICTERM IS THIS A DEVICE ? @V200820 00598000
- BZ NET006R NO -- INVALID DEVICE TYPE @V200820 00599000
- TM NICSTAT,NICDISA IS THE RESOURCE OFFLINE ? @VM01011 00600000
- BO NET046R YES - CANNOT REFERENCE IT @VM01011 00601000
- TM SAVEWRK1,ENABLE ENABLE REQUEST ? @V200820 00602000
- BZ NETENRN NO -- NOTHING EXTRA TO DO @V200820 00603000
- CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE ? @V2D3931 00604000
- BNE *+12 NO, BYPASS 3270 SUPPORT @V2D3931 00605000
- BAL R10,NETVRON1 MAKE SURE THE LINE IS ACTIVE @V2D3931 00606000
- B *+8 GO TEST STATUS OF LINE @V2D3931 00607000
- BAL R10,NETVRON MAKE SURE THE LINE IS ACTIVE @V200820 00608000
- TM SAVEWRK1,INACTV DID THE ACTIVATE FAIL ? @V200820 00609000
- BZ NETENRN NO --- CONTINUE @V200820 00610000
- OI NICSTAT,NICDISA TERMINAL IS OFFLINE @VA01918 00611000
- B NET046R GO TELL THE USER THAT @VA01918 00612000
- SPACE 00613000
- NETENRN EQU * @V200820 00614000
- LA R10,NETENLR RETURN FROM ENABLE OF ONE RESOURC@V200820 00615000
- NETENDS EQU * ENABLE OR DISABLE A SINGLE RESOUR@V200820 00616000
- TM SAVEWRK1,ENABLE ENABLE COMMAND ? @V200820 00617000
- BO NETENRD YES -- @V200820 00618000
- B NETDSRD DISABLE -- @V200820 00619000
- EJECT 00620000
- CTLCALL EQU * ISSUE CONTROL COMMAND VIA DMKRNH @V200820 00621000
- LR R9,R7 NICBLOK TO GR9 FOR DMKRNH @V240820 00622000
- CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS @V2D3931 00623000
- BNE BYPAS5 NO, CONTINUE @V2D3931 00624000
- CALL DMKRGBEN,PARM=NORET @V305798 00625000
- BR R10 RETURN @V2D3931 00626000
- BYPAS5 EQU * @V2D3931 00627000
- CALL DMKRNHND,PARM=NORET ISSUE COMMAND IN GR0 @V200820 00628000
- SWITCH ENSURE WE ARE ON THE MAIN PROC @V407511 00628500
- OI RDEVSTAT,RDEVRSVD 370X NOW IN USE BY SYSTEM @V200820 00629000
- BR R10 RETURN @V200820 00630000
- SPACE 3 00631000
- NETENRD EQU * ENABLE A SINGLE RESOURCE @V200820 00632000
- CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS @V2D3931 00633000
- BNE CONTN NO, BYPASS BISYNC SUPPORT @V2D3931 00634000
- TM NICTYPE,NICTERM IS THIS A DISPLAY/PRINTER @V2D3931 00635000
- BZR R10 NO, RETURN @V2D3931 00636000
- OI SAVEWRK1,ENDONE @V2D3931 00637000
- TM SAVEWRK1+2,CPIALL IS THIS AN AUTOMATIC WARMSTART@V2D3931 00638000
- BZ *+14 NO, CONTINUE @V2D3931 00639000
- TM NICFLAG,NICENAB IS THIS RESOURCE ENABLE @V2D3931 00640000
- BZR R10 NO, RETURN @V2D3931 00641000
- B ENABRQ GO ENABLE RESOURCE @V2D3931 00642000
- NI NICFLAG,X'FF'-NICDISB TURN OFF DISABLE FLAG @V2D3931 00643000
- TM NICFLAG,NICENAB IS THIS RESOURCE ACTIVE ? @V2D3931 00644000
- BOR R10 YES, RETURN @V2D3931 00645000
- CLC NICUSER(4),ASYSVM IS THIS SYSTEM VMBLOK POINTER @V2D3931 00646000
- BNER R10 NO, SOMEBODY IS USING IT @V2D3931 00647000
- ENABRQ EQU * ENABLE THE RESOURCE @V2D3931 00648000
- OI NICFLAG,NICENAB CALL IT ENABLED @V2D3931 00649000
- TM NICTYPE,NICGRAF IS THIS A REMOTE DISPLAY STATION@V2D3931 00650000
- BZR R10 NO, ALREADY ENABLE @V2D3931 00651000
- SR R0,R0 SET PARM REGISTER FOR STATION @V2D3931 00652000
- B CTLCALL GO CALL DMKRGFEN @V2D3931 00653000
- CONTN EQU * @V2D3931 00654000
- CLI NICTYPE,NICTERM MULTIPLE TERMINAL ACCESS ? @V200820 00655000
- BE NETEND1 YES - DO THIS ONE @V200820 00656000
- TM NICTYPE,NICCIBM+NICTELE SUPPORTED TERMINAL ? @V200820 00657000
- BCR 8,R10 NO -- RETURN WITHOUT ENABLIN@V200820 00658000
- NETEND1 EQU * @V200820 00659000
- OI SAVEWRK1,ENDONE HAVE PROCESSED THIS ONE @V200820 00660000
- NI NICFLAG,255-NICDISB TURN OFF DISABLE FLAG @V240820 00661000
- TM NICFLAG,NICENAB+NICSESN IS DEVICE ACTIVE ? @V200820 00662000
- BCR 7,R10 YES -- JUST RETURN @V200820 00663000
- OI NICFLAG,NICENAB CALL IT ENABLED @V200820 00664000
- LA R0,CONTACT TRY TO ESTABLISH THE CONNECTION @V200820 00665000
- B CTLCALL GO CALL DMKRNHND @V200820 00666000
- SPACE 2 00667000
- NETDSRD EQU * DISABLE A SINGLE RESOURCE @V200820 00668000
- OI SAVEWRK1,ENDONE HAVE PROCESSED THIS ONE @V200820 00669000
- OI NICFLAG,NICDISB TO BE DISABLED WHEN POSSIBLE@V200820 00670000
- CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS @V2D3931 00671000
- BNE CONTN1 NO, BYPASS @V2D3931 00672000
- TM NICFLAG,NICENAB ACTIVE STATION @V2D3931 00673000
- BZR R10 NO, RETURN @V2D3931 00674000
- TM NICTYPE,NICRSPL IS THIS A REMOTE PRINTER @V2D3931 00675000
- BZ *+10 NO, CHECK RESOURCE IN SESSION @V2D3931 00676000
- NI NICFLAG,X'FF'-NICENAB CLEAR ENABLE FLAG @V2D3931 00677000
- BR R10 RETURN TO IN LINE CODE @V2D3931 00678000
- CLC NICUSER(4),ASYSVM IS THIS SYSTEM VMBLOK POINTER @V2D3931 00679000
- BNER R10 NO, SOMEBODY IS USING IT @V2D3931 00680000
- SR R0,R0 SET PARM REGISTER FOR STATION @V2D3931 00681000
- B CTLCALL GO CALL DMKRGFEN @V2D3931 00682000
- CONTN1 EQU * @V2D3931 00683000
- TM NICFLAG,NICSESN IS IT ONLY ENABLED RIGHT NOW@V200820 00684000
- BCR 1,R10 NO -- SOMEBODY IS USING IT @V200820 00685000
- LA R0,CRESIMD RESET IMMED WILL CLEAR CONTACT @V200820 00686000
- B CTLCALL GO CALL DMKRNHND @V200820 00687000
- EJECT 00688000
- NETVARY EQU * "NETWORK VARY RESOURCE ON|OFF|EP|NCP" @V200820 00689000
- CALL DMKSCNFD LOCATE THE OPTION WORD @V200820 00690000
- BNZ NET026E @V200820 00691000
- LR R4,R0 LENGTH... @V200820 00692000
- CL R4,F8 VALID ? @V200820 00693000
- BH NET026E NO -- @V200820 00694000
- BCTR R4,0 @V200820 00695000
- LA R5,VARYTBL TABLE OF POSSIBILITIES @V200820 00696000
- LA R14,VARYLEN @V200820 00697000
- LA R15,VARYEND @V200820 00698000
- NETVSCN EQU * SCAN FOR MATCH OF OPTION WORD @V200820 00699000
- EX R4,CLCR1R5 @V200820 00700000
- BNE NETVNXT NOT THIS ONE - SCAN FOR NEXT @V200820 00701000
- CH R4,8(0,R5) IS THE ABBREVIATION VALID ? @V200820 00702000
- BNL NETVRYF YES - GO PROCESS RESOURCES @V200820 00703000
- NETVNXT EQU * NEXT ENTRY IN TABLE @V200820 00704000
- BXLE R5,R14,NETVSCN SCAN THEM ALL @V200820 00705000
- B NET003E INVALID OPTION @V200820 00706000
- SPACE 00707000
- NETVRYF EQU * CHECK OUT SPECIFIED RESOURCES @V200820 00708000
- LH R5,10(0,R5) DISPLACEMENT TO SUBROUTINE @V200820 00709000
- ST R5,SAVEWRK5 SAVE FOR REPEATED USE @V200820 00710000
- BAL R10,SCANRID GET THE FIRST RESOURCE ID @V200820 00711000
- BNZ NET026E THERE MUST BE AT LEAST ONE @V200820 00712000
- B NETVRYS GO HANDLE ONE RESOURCE I.D. @V200820 00713000
- NETVRYN EQU * SCAN FOR THE NEXT RESOURCE I.D. @V200820 00714000
- TM SAVEWRK1,INACTV DID THE ACTIVATE FAIL ? @V200820 00715000
- BO NET040E YES - DEVICE IS STILL OFFLINE @V200820 00716000
- BAL R10,SCANRID SCAN AGAIN @V200820 00717000
- BNZ CMDCOMP ALL DONE IF NO MORE @V200820 00718000
- NETVRYS EQU * VARY ONE RESOURCE @V200820 00719000
- CL R7,RDEVNICL WAS THAT RESOURCE ZERO ? @V200820 00720000
- BE NET002R YES - NOT VALID @V200820 00721000
- L R5,SAVEWRK5 DISPLACMENT TO VARY SUBROUTINE @V200820 00722000
- LA R10,NETVRYN RETURN FROM THE SUBROUTINE @V200820 00723000
- B DMKNET(R5) DO IT TO IT @V200820 00724000
- SPACE 00725000
- CLCR1R5 CLC 0(*-*,R1),0(R5) EXECUTED COMPARE CHARACTER @V200820 00726000
- SPACE 2 00727000
- VARYTBL DS 0F NETWORK VARY OPTION TABLE @V200820 00728000
- DC C'ONLINE ',H'1',AL2(NETVRON-DMKNET) @V200820 00729000
- DC C'OFFLINE ',H'2',AL2(NETVOFF-DMKNET) @V200820 00730000
- DC C'EP ',H'1',AL2(NETVREP-DMKNET) @V200820 00731000
- VARYEND DC C'NCP ',H'2',AL2(NETVNCP-DMKNET) @V200820 00732000
- VARYLEN EQU *-VARYEND @V200820 00733000
- EJECT 00734000
- NETVRON EQU * NETWORK VARY RESOURCE ONLINE @V200820 00735000
- LR R6,R7 CURRENT NICBLOK POINTER @V200820 00736000
- NETVLIN EQU * FIND LINE ASSOCIATED WITH RESOURC@V200820 00737000
- TM NICTYPE-NICBLOK(R6),NICLINE IS THIS A LINE ? @V200820 00738000
- BO NETVLNB YES - GOT IT @V200820 00739000
- CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE ? @V2D3931 00740000
- BNE *+12 NO, GET ADDRESS OF NICBLOK @V2D3931 00741000
- TM NICTYPE-NICBLOK(R6),NICLGRP IS THIS A CLUSTER @V2D3931 00742000
- BO NETVLNB YES, GOT IT... @V2D3931 00743000
- SH R6,=AL2(NICSIZE*8) BACK UP ONE NICBLOK @V200820 00744000
- B NETVLIN KEEP LOOKING FOR A LINE@V200820 00745000
- NETVLNB EQU * CHECK FOR INACTIVE LINE @V200820 00746000
- OI SAVEWRK1,INACTV TURN ON FAILURE BIT FIRST @V240820 00747000
- CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE ? @V2D3931 00748000
- BNE *+12 NO, BYPASS 3270 SUPPORT @V2D3931 00749000
- NI NICSTAT-NICBLOK(R6),X'FF'-NICDISA CU ACTIVE @V2D3931 00750000
- B NETVRID GO ACTIVATE RESOURCE @V2D3931 00751000
- TM NICSTAT-NICBLOK(R6),NICEPMD LINE IN EP-MODE ? @V240820 00752000
- BOR R10 YES - CANNOT VARY @V240820 00753000
- TM NICSTAT-NICBLOK(R6),NICDISA ALREADY ACTIVE ? @V240820 00754000
- BZ NETVRID YES - ALL SET @V240820 00755000
- LR R9,R6 NICBLOK TO GR9 FOR DMKRNHND @V240820 00756000
- LA R0,CACTLIN ACTIVATE LINE COMMAND @V240820 00757000
- CALL DMKRNHND,PARM=0 WAIT FOR COMPLETION @VA01918 00758000
- BNZR R10 QUIT IF THE NCP FAILED @VA01918 00759000
- IC R2,CONSYSR-CONCCW3(,R1) SYSTEM RESPONSE CODE @VA01918 00760000
- LH R0,0(0,R1) SIZE OF THE BTU BUFFER @VA01918 00761000
- CALL DMKFRET RELEASE THE FREE STORAGE @VA01918 00762000
- STC R2,TEMPSAVE PUT THE RESPONSE CODE DOWN @VA01918 00763000
- CLI TEMPSAVE,X'60' DID THE ACTIVATE WORK ? @VA01918 00764000
- BE NETACTV YES -- LINE IS ACTIVE @VA01918 00765000
- CLI TEMPSAVE,X'99' WAS IT ALREADY ACTIVE ? @VA01918 00766000
- BNER R10 NO -- MUST HAVE FAILED @VA01918 00767000
- NETACTV EQU * LINE RESOURCE IS NOW ACTIVE @VA01918 00768000
- NI NICSTAT-NICBLOK(R6),255-NICDISA NOW ACTIVE @V240820 00769000
- B NETVRID GO CLEAR ERROR AND OFFLINE FLAGS @V2D3931 00770000
- SPACE 2 00771000
- NETVRON1 EQU * ENABLE THE BISYNC LINE @V2D3931 00772000
- OI SAVEWRK1,INACTV SET FAILURE FLAG @V2D3931 00773000
- TM SAVEWRK1+2,CPIALL IS THIS AN AUTOMATIC WARMSTART@V2D3931 00774000
- BZ ENABDEV NO, GO ENABLE BISYNC LINE @V2D3931 00775000
- TM RDEVFLAG,RDEVENAB IS THIS LINE ACTIVE ? @V2D3931 00776000
- BZR R10 NO, RETURN @V2D3931 00777000
- B ENABL GO ENABLE BISYNC LINE @V2D3931 00778000
- ENABDEV EQU * @V2D3931 00779000
- BAL R14,NET37XLD SEE IF 3705 LOADED @VA04552 00779300
- BNZR R10 NOT LOADED..RETURN @VA04552 00779600
- SWITCH ENSURE WE ARE ON THE MAIN PROC @V407511 00779800
- NI RDEVFLAG,X'FF'-RDEVDISB CLEAR DISABLE FLAG @V2D3931 00780000
- TM RDEVFLAG,RDEVENAB IS THIS BISYNC LINE ACTIVE @V2D3931 00781000
- BO NETVRID YES, GO CLEAR OFFLINE FLAG @V2D3931 00782000
- OI RDEVFLAG,RDEVENAB ENABLE BISYNC LINE @V2D3931 00783000
- ENABL EQU * @V2D3931 00784000
- LR R9,R7 GET ADDRESS OF NICBLOK @V2D3931 00785000
- L R0,F255 SET PARM REG FOR BISYNC LINE @V2D3931 00786000
- CALL DMKRGBEN,PARM=NORET @V305798 00787000
- BNZR R10 IF ERROR EXISTS @V2D3931 00788000
- NETVRID EQU * CHECK FOR ACTIVE DEVICE @V2D3931 00789000
- NI SAVEWRK1,X'FF'-INACTV ACTIVATED LINE O.K. @V2D3931 00790000
- NI NICSTAT,X'FF'-NICDISA RESOURCE WILL BE ACTIVATED@V2D3931 00791000
- BR R10 CONTINUE @V2D3931 00792000
- EJECT 00793000
- NETVOFF EQU * NETWORK VARY RESOURCE OFFLINE @V200820 00794000
- TM NICSTAT,NICDISA IS IT ALREADY OFFLINE ? @V200820 00795000
- BCR 1,R10 YES - COMMAND COMPLETE @V200820 00796000
- TM NICTYPE,NICLINE IS THE RESOURCE A LINE ? @V200820 00797000
- BZ NETVDOF NO -- THAT'S MUCH EASIER @V200820 00798000
- TM NICSTAT,NICEPMD IS THE LINE IN EP-MODE ? @V240820 00799000
- BO NET049E YES - CALL IT IN USE @V240820 00800000
- LR R6,R7 NICBLOK ADDRESS TO GR6 @V200820 00801000
- LA R14,NICSIZE*8 SIZE OF ONE NICBLOK @V200820 00802000
- LH R15,RDEVMAX HIGHEST RESOURCE ID VALID @V200820 00803000
- MH R15,=AL2(NICSIZE*8) COMPUTE HIGHEST VALID INDEX @V200820 00804000
- AL R15,RDEVNICL ...AND LAST NICBLOK ADDRESS @V200820 00805000
- BCTR R15,0 @V200820 00806000
- NETVLOF EQU * CHECK FOR ANY ACTIVE DEVICES @V200820 00807000
- BXH R6,R14,NETVLOK BRANCH IF AT THE END @V200820 00808000
- TM NICTYPE-NICBLOK(R6),NICLINE IS THIS NEXT LINE @V200820 00809000
- BO NETVLOK YES - MUST BE O.K.@V200820 00810000
- TM NICFLAG-NICBLOK(R6),NICENAB+NICSESN IN USE ?@V200820 00811000
- BNZ NET049E YES -- ERROR @V200820 00812000
- B NETVLOF KEEP CHECKING @V200820 00813000
- SPACE 2 00814000
- NETVLOK EQU * NO ACTIVE DEVICES ON THIS LINE @V200820 00815000
- LA R0,CDCTLIN DEACTIVATE LINE @V200820 00816000
- OI NICSTAT,NICDISA LINE WILL BE INACTIVE @V200820 00817000
- BAL R3,CHKSDR GO CHECK FOR SDR DATA @VA03757 00817100
- B CTLCALL GO CALL DMKRNHND @V200820 00818000
- SPACE 00819000
- NETVDOF EQU * VARY A DEVICE OFFLINE @V200820 00820000
- TM NICFLAG,NICENAB IS THIS RESOURCE ACTIVE @V2D3931 00821000
- BO NET049E YES, SEND ERROR MESSAGE @V2D3931 00822000
- CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00823000
- BE *+12 YES, BYPASS @V2D3931 00824000
- TM NICFLAG,NICSESN IS THIS RESOURCE ACTIVE @V2D3931 00825000
- BO NET049E YES, GO SEND ERROR MESSAGE @V2D3931 00826000
- OI NICSTAT,NICDISA DEVICE WILL BE OFFLINE @V200820 00827000
- BAL R3,CHKSDR GO CHECK FOR SDR DATA @VA03757 00827100
- BR R10 CONTINUE @VA01918 00828000
- EJECT 00829000
- *** TEST FOR POSSIBLE SDR DATA, IF PRESENT GO 00829100
- *** RECORD OBR RECORD SYNCHRONOUSLY.... 00829200
- SPACE 1 00829300
- CHKSDR EQU * @VA03757 00829400
- ICM R5,15,RDEVCTRS GET POINTER TO SDRBLOK @VA03757 00829500
- BNPR R3 RETURN IF NO SDRBLOK @VA03757 00829600
- CALL DMKIOESR GO RECORD OBR RECORD @VA03757 00829700
- BR R3 RETURN TO IN LINE CODE @VA03757 00829800
- SPACE 2 00829900
- NETVREP EQU * NETWORK VARY RESOURCE EP-MODE @V240820 00830000
- L R1,SAVEWRK9 PASS RESOURCE I.D. IN EBCDIC @VA01918 00831000
- CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00832000
- BE NET006E YES, SEND ERROR MESSAGE @V2D3931 00833000
- CALL DMKNESEP SWITCH THE LINE TO EP-MODE @VA01918 00834000
- LTR R2,R2 WERE THERE ANY ERRORS ? @VA01918 00835000
- BNZ NETCOMP YES - PASS BACK RETURN CODE @VA01918 00836000
- BR R10 CONTINUE COMMAND PROCESSING @VA01918 00837000
- SPACE 2 00838000
- NETVNCP EQU * NETWORK VARY RESOURCE NCP-MODE @V240820 00839000
- L R1,SAVEWRK9 PASS RESOURCE I.D. IN EBCDIC @VA01918 00840000
- CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00841000
- BE NET006E YES, SEND ERROR MESSAGE @V2D3931 00842000
- CALL DMKNESWN SWITCH LINE TO NCP-MODE @VA01918 00843000
- LTR R2,R2 WERE THERE ANY ERRORS ? @VA01918 00844000
- BNZ NETCOMP YES - PASS BACK RETURN CODE @VA01918 00845000
- BR R10 CONTINUE COMMAND PROCESSING @VA01918 00846000
- SPACE 2 00847000
- EJECT 00863000
- NETWALL EQU * SETUP TO LOOP THROUGH 370X DEVICE@V200820 00864000
- L R8,=A(DMKRIORN) DEVICE TABLE FOR 3705'S @V200820 00865000
- L R7,0(0,R8) COUNT OF 370X DEVICE ENTRIES @V200820 00866000
- LTR R7,R7 ARE THERE ANY AT ALL ? @V200820 00867000
- BNP NETMALL NO -- ALL HAVE BEEN PROCESSED @V200820 00868000
- SLL R7,2(0) CONVERT TO MAXIMUM INDEX @V200820 00869000
- LA R7,0(R7,R8) POINT TO LAST ENTRY @V200820 00870000
- STM R7,R8,SAVEWRK7 SAVE POINTERS IN SAVE-AREA @V200820 00871000
- MVI SAVEWRK1+1,X'FF' SET DEVICE CODE TO X'-1' @V200820 00872000
- SPACE 2 00873000
- NETFALL EQU * LOOP THRU ALL DEVICES, ALL LINES @V200820 00874000
- LM R7,R8,SAVEWRK7 PICK UP DMKRIO POINTERS @V200820 00875000
- LA R8,4(0,R8) NEXT ENTRY IN DEVICE TABLE @V200820 00876000
- CLR R8,R7 HAVE WE HIT THE END ? @V200820 00877000
- BH NETMALL YES - ALL HAVE BEEN PROCESSED @V200820 00878000
- STM R7,R8,SAVEWRK7 RESET POINTERS FOR NEXT PASS @V200820 00879000
- SLR R7,R7 @V200820 00880000
- IC R7,SAVEWRK1+1 PICK UP PREVIOUS DEVICE CODE @V200820 00881000
- LA R7,1(0,R7) THIS IS THE NEXT 370X @V200820 00882000
- STC R7,SAVEWRK1+1 RESET FOR FORMATTING USE @V200820 00883000
- LH R8,0(0,R8) PICK UP DISPLACEMENT TO RDEVBLOK @V200820 00885000
- SLL R8,3(0) CONVERT TO BYTE INDEX @V200820 00886000
- AL R8,ARIODV INDEX TO THE RDEVBLOK @V200820 00887000
- TM RDEVSTAT,RDEVDED OK? @VA13702 00888100
- BNZ NETFALL NO -- @V200820 00889000
- CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00890000
- BNE NETE375 NO..CHECK OUT NCP @VA04552 00891100
- BAL R14,NET37XLD SEE IF 3705 LOADED @VA04552 00891200
- BNZ NETFALL NOT LOADED..SKIP THIS ENTRY @VA04552 00891300
- B NETNICL CONTINUE... @VA04552 00891400
- NETE375 EQU * @VA04552 00891500
- TM RDEVFLAG,RDEVLNCP IS THERE AN NCP ACTIVE ? @V200820 00892000
- BZ NETFALL NO -- NO RESOURCES @V200820 00893000
- NETNICL EQU * @VA04552 00893500
- L R7,RDEVNICL FIRST NICBLOK = RESOURCE ZERO @V200820 00894000
- CR R7,R7 SET CONDITION CODE ZERO @V200820 00895000
- BR R10 RETURN TO CALLER @V200820 00896000
- SPACE 00897000
- NETMALL EQU * ALL 370X DEVICES HAVE BEEN DONE @V200820 00898000
- SLR R8,R8 SET CONDITION CODE TWO (LOGICAL) @V200820 00899000
- BR R10 RETURN @V200820 00900000
- EJECT 00901000
- SCANRID EQU * SCAN FOR RID - LOCATE NICBLOK @V200820 00902000
- L R9,SAVER9 MAKE SURE WE HAVE THE BUFFER @V240820 00903000
- CALL DMKSCNFD SCAN FOR NEXT PARAMETER @V200820 00904000
- BCR 7,R10 IF NO MORE - RETURN @V200820 00905000
- SCANCVT EQU * ENTRY AFTER CALL TO DMKSCNFD @V200820 00906000
- LR R2,R0 SAVE LENGTH AND ADDRESS FOR MSGS @V200820 00907000
- LR R3,R1 ... @V200820 00908000
- CL R0,F4 FIELD MUST BE FOUR CHARACTERS @V240820 00909000
- BNE NET002R NOPE - ERROR @V240820 00910000
- MVC SAVEWRK9(4),0(R1) SAVE THE RESOURCE I.D. @V240820 00911000
- CALL DMKCVTHB CONVERT ENTIRE FIELD TO BINARY @V200820 00913000
- BNZ NET002R INVALID OPERAND @V200820 00914000
- LR R7,R1 @V200820 00915000
- N R7,F4095 ISOLATE RESOURCE ID PORTION @V200820 00916000
- SRL R1,12(0) ...AND DEVICE CODE INDICATOR @V200820 00917000
- STC R1,SAVEWRK1+1 SAVE DEVICE CODE @VA04763 00917100
- LA R1,1(0,R1) ADD ONE FOR INDEXING @V200820 00918000
- L R4,=A(DMKRIORN) TABLE OF 3705 RDEVBLOK'S @V200820 00919000
- CL R1,0(0,R4) IS THIS A VALID CODE ? @V200820 00920000
- BH NET040E NO -- DEVICE DOES NOT EXIST @V200820 00921000
- SLL R1,2(0) CONVERT TO FULL-WORD INDEX @V200820 00922000
- LH R8,0(R1,R4) PICK UP DISPLACEMENT TO RDEVBLOK @V200820 00923000
- SLL R8,3(0) CONVERT TO BYTE INDEX @V200820 00924000
- AL R8,ARIODV ...COMPUTE RDEVBLOK ADDRESS @V200820 00925000
- TM SAVEWRK1+2,NOTACPT IS NOT ACCEPTED FLAG ON ? @VM01055 00926000
- BZ *+12 NO, CONTINUE PROCESSING @VM01055 00927000
- CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE ? @VM01055 00928000
- BE NET006R YES, SEND INVALID DEVICE TYPE @VM01055 00929000
- TM RDEVSTAT,RDEVDISA IS THE 3705 OFFLINE ? @V200820 00930000
- BO NET046E YES -- DMKNET046E @V200820 00931000
- TM RDEVSTAT,RDEVDED IS 3705 ATTACHED TO A USER ?@V200820 00932000
- BO NET140E YES -- DMKNET140E @V200820 00933000
- CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00934000
- BE *+12 YES, BYPASS @V2D3931 00935000
- TM RDEVFLAG,RDEVLNCP IS THERE AN NCP ACTIVE ? @V200820 00936000
- BZ NET040E NO -- DEV DOES NOT EXIST @V200820 00937000
- CH R7,RDEVMAX WITHIN DEFINED RANGE ? @V200820 00938000
- BH NET040E NO -- @V200820 00939000
- MH R7,=AL2(NICSIZE*8) COMPUTE INDEX TO NICBLOK @V200820 00940000
- AL R7,RDEVNICL ...AND ADDRESS @V200820 00941000
- SR R0,R0 SET CC = 0 @V200820 00942000
- BR R10 RETURN TO CALLER @V200820 00943000
- EJECT 00944000
- CMDCOMP EQU * COMMAND IS COMPLETE @V200820 00945000
- TM SAVEWRK1+2,CPIALL IS THIS AN AUTOMATIC WARMSTART@V2D3931 00946000
- BO RETCOMP YES, BYPASS SEND COMPLETE MESSAGE@V2D3931 00947000
- TM VMOSTAT,VMVIRCF DIAGNOSE CONSOLE FUNCTION ? @V200820 00948000
- BO RETCOMP YES - SUPPRESS THE MESSAGE @V200820 00949000
- MSG 'COMMAND COMPLETE' VERIFICATION MESSAGE @V200820 00950000
- CALL DMKQCNWT,PARM=NORET @V200820 00951000
- SPACE 00952000
- RETCOMP EQU * SET RETURN CODE, EXIT @V200820 00953000
- SLR R2,R2 RETURN CODE = ZERO @V200820 00954000
- NETCOMP EQU * @VA01918 00955000
- ST R2,SAVER2 @V200820 00956000
- EXIT , RETURN TO DMKCFM @V200820 00957000
- SPACE 00957050
- NET37XLD EQU * @VA04552 00957100
- STM R0,R15,TEMPSAVE SAVE REGS @VA04552 00957150
- LH R1,RDEVBASE 370X BASE ADDRESS @VA04552 00957200
- CALL DMKSCNRU SEE IF IT EXISTS @VA04552 00957250
- BNZ NETLDC0 ASSUME 270X LINE @VA04552 00957300
- CLC RDEVTYPC(2),=AL2(CLASSPEC*256+TYP3705) 3705 ? @VA04552 00957350
- BNE NETLDC0 NO..ASSUME 270X... @VA04552 00957400
- TM RDEVSTAT,RDEVDISA 3705 ONLINE ? @VA04552 00957450
- BNZ NETLDC0 NO..ASSUME 270X IS... @VA04552 00957500
- TM RDEVFLAG,RDEVAUTO AUTO LOAD ENABLED? @VA08830 00957510
- BZ NETLDC0 NO, ASSUME UNIT IS PRELOADED @VA08830 00957520
- TM RDEVSTAT,RDEVNRDY 370X LOADED YET ? @VA04552 00957550
- BNZ NETLDRT NO...EXIT WITH NON ZERO CC @VA04552 00957600
- NETLDC0 SR R0,R0 SET CC = 0 @VA04552 00957650
- NETLDRT LM R0,R15,TEMPSAVE RESTORE REGS @VA04552 00957700
- BR R14 RETURN @VA04552 00957750
- EJECT 00958000
- NET002R EQU * @V200820 00959000
- LR R0,R2 RECOVER ORIGINAL LENGTH @V200820 00960000
- LR R1,R3 ...AND DATA ADDRESS @V200820 00961000
- NET002E EQU * DMKNET002E INVALID OPERAND - OPERAND @V200820 00962000
- LA R2,002(0) MESSAGE NUMBER @V200820 00963000
- B MSGSEND R0, R1 ALREADY SETUP @V200820 00964000
- SPACE 00965000
- NET003E EQU * DMKNET003E INVALID OPTION - OPTION @V200820 00966000
- LA R2,003(0) MESSAGE NUMBER @V200820 00967000
- B MSGSEND R0, R1 ALREADY SETUP @V200820 00968000
- SPACE 00969000
- NET006E EQU * DMKNET006E INVALID DEVICE TYPE - XXX @V200820 00970000
- BAL R9,CVTRADD GET DEVICE ADDRESS IN EBCDIC @V200820 00971000
- LA R2,006(0) MESSAGE NUMBER @V200820 00972000
- B MSGSEND @V200820 00973000
- SPACE 00974000
- NET006R EQU * DMKNET006E INVALID DEVICE TYPE - XXXX @V200820 00975000
- LA R1,SAVEWRK9 POINT TO THE OPERAND @V240820 00976000
- LA R0,4(0) LENGTH OF FOUR BYTES @V240820 00977000
- LA R2,006(0) MESSAGE= DMKNET006E @V200820 00978000
- B MSGSEND GO TYPE THE MESSAGE @V200820 00979000
- SPACE 00980000
- NET026E EQU * DMKNET026E OPERAND MISSING OR INVALID @V200820 00981000
- LA R2,026(0) MESSAGE NUMBER @V200820 00982000
- B MSGONLY NO VARIABLE DATA @V200820 00983000
- SPACE 00984000
- NET040E EQU * DMKNET040E DEV ADDR DOES NOT EXIST @V200820 00985000
- LA R1,SAVEWRK9 RESOURCE REFERENCE IN SAVEWRK9 @VA01918 00986000
- LA R0,4(0) FOUR-BYTE FIELD @VA01918 00987000
- LA R2,040(0) MESSAGE NUMBER @V200820 00988000
- B MSGSEND @V200820 00989000
- EJECT 00990000
- NET046R EQU * DMKNET046E DEV RID OFFLINE @VM01011 00991000
- BAL R10,CVTRESD BUILD 'DEV RID' IN THE SAVEAREA @VM01011 00992000
- B NET046 SETUP TO TYPE ERROR MESSAGE @VM01011 00993000
- SPACE 00994000
- NET046E EQU * DMKNET046E CTLR RADDR OFFLINE @V200820 00995000
- BAL R10,TYPRADD BUILD PARMS FOR DMKERMSG @VM01011 00996000
- NET046 EQU * @VM01011 00997000
- LA R0,8 @V200820 00998000
- LA R2,046(0) MESSAGE NUMBER @V200820 00999000
- B MSGSEND @V200820 01000000
- SPACE 01001000
- NET049E EQU * DMKNET049E LINE RID IN USE @V200820 01002000
- BAL R10,CVTRESD BUILD PARM STRING FOR DMKERM @VM01011 01003000
- LA R2,049(0) MESSAGE NUMBER @V200820 01004000
- B MSGSEND @V200820 01005000
- SPACE 01006000
- NET140E EQU * DMKNET140E CTLR XXX ATTACHED TO USERID @V200820 01007000
- BAL R10,TYPRADD BUILD PARM STRING FOR DMKERM @VM01011 01008000
- L R2,RDEVUSER-RDEVBLOK(,R8) GET USER'S VMBLOK @V200820 01009000
- MVC SAVEWRK4+1(8),VMUSER-VMBLOK(R2) MOVE IN USERID @V200820 01010000
- MVI SAVEWRK4,X'00' FIELD DELIMITER @V200820 01011000
- LA R0,17 VARIABLE DATA LENGTH @V200820 01012000
- LA R2,140(0) MESSAGE NUMBER @V200820 01013000
- B MSGSEND @V200820 01014000
- EJECT 01015000
- TYPRADD EQU * BUILD PARMS FOR 'TYPE RADDR' @VM01011 01016000
- BAL R9,CVTRADD GET DEVICE ADDRESS IN SAVEWRK3 @VM01011 01017000
- MVC SAVEWRK2(4),=C'CTLR' DEVICE TYPE NAME @VM01011 01018000
- LA R1,SAVEWRK2 POINT TO STRING START @VM01011 01019000
- LA R0,8(0) LENGTH @VM01011 01020000
- CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS ? @V2D3931 01021000
- BNER R10 NO, RETURN TO IN LINE CODE @V2D3931 01022000
- MVC SAVEWRK2(4),=C'LINE' LINE TYPE NAME @V2D3931 01023000
- BR R10 . . . @VM01011 01024000
- SPACE 01025000
- CVTRADD EQU * CONVERT RADDR TO EBCDIC @V200820 01026000
- CALL DMKSCNRD GET ADDRESS IN BINARY @V200820 01027000
- CALL DMKCVTBH CONVERT IT TO EBCDIC HEX @V200820 01028000
- ST R1,SAVEWRK3 PUT IT IN THE SAVE-AREA @VM01011 01029000
- MVI SAVEWRK3,X'00' INSERT A DELIMITER @VM01011 01030000
- LA R1,SAVEWRK3+1 START OF THE ACTUAL ADDRESS @VM01011 01031000
- LA R0,3(0) GIVE IT'S LENGTH... @V200820 01032000
- BR R9 RETURN TO CALLER @V200820 01033000
- SPACE 01034000
- CVTRESD EQU * BUILD PARMS FOR 'DEV RESOURCE' @VM01011 01035000
- MVC SAVEWRK8(3),=C'DEV ' RID IS A 'DEV' @VM01011 01036000
- MVI SAVEWRK8+3,X'00' RESOURCE IS IN SAVEWRK9 @VM01011 01037000
- LA R1,SAVEWRK8 POINT TO THE DATA STRING @VM01011 01038000
- LA R0,8(0) EIGHT BYTES LONG @VM01011 01039000
- BR R10 @VM01011 01040000
- SPACE 01041000
- MSGONLY EQU * ERROR MSG WITH NO VARIABLE DATA @V200820 01042000
- SLR R1,R1 NO VARIABLE DATA @V200820 01043000
- SPACE 01044000
- MSGSEND EQU * TYPE AN ERROR MESSAGE @V200820 01045000
- ICM R0,B'1110',MODID+3 PICK UP MODULE IDENTIFIER @V200820 01046000
- CALL DMKERMSG GO TO ERROR MESSAGE ROUTINE @V200820 01047000
- * HE WILL RETURN DIRECTLY TO DMKCFM 01048000
- EJECT 01049000
- **************************************************************** 01050000
- * 01051000
- * SUBROUTINE NAME - 01052000
- * 01053000
- * DMKNETAE - ENABLE SYSTEM BISYNC LINES AND REMOTE STATIONS. 01054000
- * 01055000
- * ATTRIBUTES - 01056000
- * RE-ENTRANT, PAGEABLE, CALLED VIA SVC FROM DMKCPI 01057000
- * 01058000
- * ENTRY CONDITIONS - 01059000
- * 01060000
- * GR13 = STANDARD SAVEAREA ADDRESS 01061000
- * GR12 = ADDRESS OF DMKNETAE 01062000
- * 01063000
- * EXIT CONDITIONS - 01064000
- * 01065000
- * GR0-13 RESTORED 01066000
- * 01067000
- * CALLS TO OTHER ROUTINES - 01068000
- * 01069000
- * DMKRGBEN - TO ENABLE THE BISYNC LINES AND REMOTE STATIONS 01070000
- * 01071000
- * EXTERNAL REFERENCES - 01072000
- * 01073000
- * NONE 01074000
- * 01075000
- * TABLES / WORK AREAS - 01076000
- * 01077000
- * NONE 01078000
- * 01079000
- * REGISTER USAGE - 01080000
- * 01081000
- * GR14,15 EXTERNAL LINKAGE REGISTERS 01082000
- * GR13 - SAVEAREA ADDRESSABILITY 01083000
- * GR12 - MODULE BASE ADDRESSABILITY 01084000
- * GR11 - VMBLOK ADDRESSABILITY 01085000
- * GR 9 - NICBLOK ADDRESSABILITY 01086000
- * GR 8 - RDEVBLOK ADDRESSABILITY 01087000
- * GR 2 - PARM FIELD INDICATOR WHEN CALLING DMKRGBEN 01088000
- * GR 0 - INDICATE REMOTE STATION OR BISYNC LINE REQUEST 01089000
- * 01090000
- * NOTES - 01091000
- * 01092000
- * NONE 01093000
- * 01094000
- * OPERATION - 01095000
- * 01096000
- * 1. SET FLAG (CPIALL) IN SAVEAREA1+2 TO INDICATE ENABLE 01097000
- * OPERATION VIA CALL FROM DMKCPI. THEN ENTER ENABLE 01098000
- * ROUTINE AT LABEL NETEALL. 01099000
- * 01100000
- * 2. THE ENABLE SUBROUTINE WILL SCAN ALL BISYNC LINE 01101000
- * RDEVBLOKS. ONLY THE RDEVBLOK S HAVING THE ENABLE 01102000
- * FLAG ON WILL BE ENABLED. (THE ENABLE FLAG IS SET 01103000
- * ON BY DMKWRM DURING SYSTEM RESTART.) 01104000
- * 01105000
- * RESPONSES - 01106000
- * 01107000
- * NONE 01108000
- * 01109000
- * ERROR MESSAGES - 01110000
- * 01111000
- * NONE 01112000
- * 01113000
- ****************************************************************** 01114000
- EJECT 01115000
- DMKNETAE RELOC @V2D3931 01116000
- MVC SAVEWRK1(4),ZEROES ZERO FLAG FIELD @V2D3931 01117000
- MVI SAVEWRK1,ENABLE SET THE ENABLE FLAG @V2D3931 01118000
- MVI SAVEWRK1+2,CPIALL CALLED FROM DMKCPI @V2D3931 01119000
- B NETEALL GO TO ENABLE SECTION @V2D3931 01120000
- EJECT 01121000
- * BITS DEFINED IN SAVEWRK1 FOR NETWORK QUERY: 01122000
- QRYACTV EQU X'80' FORMAT ACTIVE DEVICES ONLY @V200820 01123000
- QRYOFFL EQU X'40' FORMAT OFFLINE DEVICES ONLY @V200820 01124000
- QRYFREE EQU X'20' FORMAT FREE DEVICES ONLY @V200820 01125000
- QRYRIDS EQU X'10' FORMAT INDIVIDUAL RESOURCES @V200820 01126000
- QRYALL EQU X'08'+QRYACTV+QRYFREE+QRYOFFL QUERY ALL @V200820 01127000
- QRYDONE EQU X'04' HAVE CREATED SOME OUTPUT @V200820 01128000
- SPACE 01129000
- * BITS DEFINED IN SAVEWRK1 FOR ENABLE / DISABLE / VARY: 01130000
- ENABLE EQU X'80' NETWORK ENABLE COMMAND @V200820 01131000
- SKIPBSC EQU X'40' SKIPPING OVER BISYNCH LINE @V200820 01132000
- INACTV EQU X'20' ACTIVATE FAILED FOR LINE @V200820 01133000
- ENDONE EQU X'10' RESOURCE WAS ENABLED OR DISABLED @V200820 01134000
- SPACE 1 01135000
- * BIT DEFINED IN SAVEWRK1+2 FOR AUTOMATIC WARMSTART 01136000
- CPIALL EQU X'80' CALLED FROM DMKCPI (AUTOMATIC @V2D3931 01137000
- * WARMSTART) 01138000
- NOTACPT EQU X'40' COMMAND NOT ACCEPTED FOR 3270R @VM01055 01139000
- SPACE 01140000
- LTORG @V200820 01141000
- EJECT 01142000
- COPY NETWORK @V200820 01143000
- COPY IOBLOKS @V306638 01144000
- COPY RBLOKS @V200820 01145000
- COPY VMBLOK @V200820 01146000
- * EQUATES USED FOR COMMAND CLASSES: 01147000
- A EQU VMCLASSA SYSTEM OPERATOR @V200820 01148000
- B EQU VMCLASSB RESOURCE CONTROL OPERATOR @V200820 01149000
- C EQU VMCLASSC SYSTEM PROGRAMMER @V200820 01150000
- D EQU VMCLASSD SPOOL CONTROL OPERATOR @V200820 01151000
- E EQU VMCLASSE SYSTEM EXAMINER @V200820 01152000
- F EQU VMCLASSF PROGRAM SUPPORT REPRESENTATIVE @V200820 01153000
- G EQU VMCLASSG GENERAL USERS @V200820 01154000
- EJECT 01155000
- COPY BTUCMD @V200820 01156000
- COPY EQU @V200820 01157000
- COPY DEVTYPES @V200820 01158000
- COPY SAVE @V200820 01159000
- PSA @V200820 01160000
- END DMKNET 01161000
ibm/vm370-lib/cp/dmknet.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator