User Tools

Site Tools


ibm:vm370-lib:cp:dmknet.assemble_src

DMKNET Source

References

Source Listing

DMKNET.ASSEMBLE.txt
  1. NET TITLE 'DMKNET (CP) VM/370 - RELEASE 6' 00001000
  2. ISEQ 73,80 VALIDATE SEQUENCING OF INPUT 00002000
  3. COPY OPTIONS @V200820 00003000
  4. COPY LOCAL OPTIONS @V306638 00004000
  5. SPACE 2 00005000
  6. *. 00006000
  7. * MODULE NAME - 00007000
  8. * 00008000
  9. * DMKNET 00009000
  10. * 00010000
  11. * CONTENTS - 00011000
  12. * 00012000
  13. * DMKNETWK - PROCESS THE 'NETWORK' CONSOLE FUNCTION COMMAND 00013000
  14. *. 00014000
  15. SPACE 2 00015000
  16. DMKNET START 0 @V200820 00016000
  17. SPACE 00017000
  18. USING PSA,0 @V200820 00018000
  19. USING VMBLOK,R11 @V200820 00019000
  20. USING SAVEAREA,R13 @V200820 00020000
  21. SPACE 2 00021000
  22. EXTRN DMKNLDR,DMKNLEMP @V407511 00022100
  23. EXTRN DMKNESHD,DMKNESDS,DMKNESEP,DMKNESWN @VA13376 00023000
  24. EXTRN DMKRNHND,DMKERMSG,DMKRGBEN,DMKNESPL @V305798 00024000
  25. EXTRN DMKSCNFD,DMKCVTHB,DMKSCNRU,DMKCVTBH,DMKSCNRD @V200820 00025000
  26. EXTRN DMKRIORN DEVICE TABLE FOR SYSTEM 370X'S @V200820 00026000
  27. EXTRN DMKIOESR SYNCHRONOUS OBR PROCESSING @VA03757 00026100
  28. SPACE 00027000
  29. MODID DC CL8'DMKNET ' PAGEABLE MODULE IDENTIFIER @V200820 00028000
  30. EJECT 00029000
  31. *. 00030000
  32. * SUBROUTINE NAME - 00031000
  33. * 00032000
  34. * DMKNETWK 00033000
  35. * 00034000
  36. * FUNCTION - 00035000
  37. * 00036000
  38. * TO PROVIDE OPERATOR CONTROL FUNCTIONS FOR THE USE OF THE 3704 00037000
  39. * AND 3705 PROGRAMMABLE COMMUNICATIONS CONTROL UNITS AND THE 00038000
  40. * 3270 REMOTE DISPLAY SYSTEM. 00039000
  41. * 00040000
  42. * ATTRIBUTES - 00041000
  43. * 00042000
  44. * RE-ENTRANT, PAGEABLE, CALLED VIA SVC FROM DMKCFM 00043000
  45. * 00044000
  46. * COMMAND FORMAT - 00045000
  47. * 00046000
  48. * +----------+-------------------------------------------------+ 00047000
  49. * | | | 00048000
  50. * | NETWORK | LOAD RADDR NCPNAME | 00049000
  51. * | NET | DUMP RADDR < IMMED | AUTO | OFF > | 00050000
  52. * | | ENABLE < ALL | RESOURCE < RESOURCE...>> | 00051000
  53. * | | DISABLE < ALL | RESOURCE < RESOURCE...>> | 00052000
  54. * | | QUERY < RESOURCE < RESOURCE ... >> | 00053000
  55. * | | < ACTIVE | FREE | OFFLINE | ALL > | 00054000
  56. * | | DISPLAY RADDR HEXLOC1 < :|- < HEXLOC2|END >> | 00055000
  57. * | | VARY RESOURCE < ONLINE|OFFLINE|EP|NCP > | 00056000
  58. * | | SHUTDOWN RADDR | ALL | 00059000
  59. * | | POLLDLAY NNNN RADDR | ALL | 00060000
  60. * | | | 00061000
  61. * +----------+-------------------------------------------------+ 00062000
  62. * 00063000
  63. * ENTRY CONDITIONS - 00064000
  64. * 00065000
  65. * GPR 13 = ADDRESS OF A STANDARD SAVE AREA 00066000
  66. * GPR 12 = ADDRESS OF DMKNETWK 00067000
  67. * GPR 11 = VMBLOK ADDRESS 00068000
  68. * GPR 9 = CONBUF ADDRESS (COMMAND BUFFER) 00069000
  69. * 00070000
  70. * EXIT CONDITIONS - 00071000
  71. * 00072000
  72. * GPRS 0-1, 3-13 RESTORED 00073000
  73. * GPR 2 CONTAINS AN ERROR CODE (IF ANY ERROR) 00074000
  74. * 00075000
  75. EJECT 00076000
  76. * CALLS TO OTHER ROUTINES - 00077000
  77. * 00078000
  78. * DMKNLDR - TO PERFORM THE NETWORK LOAD FUNCTION 00079000
  79. * DMKNLDMP - TO PERFORM THE NETWORK DUMP FUNCTION 00080000
  80. * DMKNESHD - TO PERFORM THE NETWORK SHUTDOWN FUNCTION 00081000
  81. * DMKNESDS - TO PERFORM THE NETWORK DISPLAY FUNCTION 00083000
  82. * DMKNESEP - TO PERFORM THE NETWORK VARY EP FUNCTION 00084000
  83. * DMKNESWN - TO PERFORM THE NETWORK VARY NCP FUNCTION 00085000
  84. * DMKNESPL - TO PERFORM THE NETWORK POLLDLAY FUNCTION 00086000
  85. * DMKRGBEN - TO EXECUTE 3270 REMOTE CONTROL FUNCTIONS 00087000
  86. * DMKERMSG - TO FORMAT AND TYPE ERROR MESSAGES 00088000
  87. * DMKQCNWT - TO TYPE RESPONSE MESSAGES FOR THE USER 00089000
  88. * DMKFREE - TO ALLOCATE FREE STORAGE WORK AREAS 00090000
  89. * DMKFRET - TO RELEASE FREE STORAGE WORK AREAS 00091000
  90. * DMKRNHND - TO EXECUTE 370X NCP CONTROL COMMANDS 00092000
  91. * DMKSCNFD - TO SCAN PARAMETERS FROM THE COMMAND LINE 00093000
  92. * DMKSCNRU - TO LOCATE REAL DEVICE CONTROL BLOCKS 00094000
  93. * DMKSCNRD - TO DETERMINE A REAL DEVICE ADDRESS 00095000
  94. * DMKCVTBH - TO CONVERT BINARY VALUES FOR OUTPUT 00096000
  95. * DMKCVTHB - TO CONVERT HEXADECIMAL VALUES TO BINARY 00097000
  96. * DMKQCNCL - TO CLEAR THE CONTASK STACK FOR A DEVICE 00098000
  97. * DMKQCNTO - TO DISCONNECT AN ACTIVE VIRTUAL MACHINE 00099000
  98. * 00100000
  99. * EXTERNAL REFERENCES - 00101000
  100. * 00102000
  101. * DMKRIORN - TABLE OF 370X RDEVBLOK'S DEFINED IN DMKRIO 00104000
  102. * 00105000
  103. * TABLES / WORK AREAS - NONE 00106000
  104. * 00107000
  105. * REGISTER USAGE - 00108000
  106. * 00109000
  107. * GPR 14-15 ARE EXTERNAL LINK REGISTERS 00110000
  108. * GPR 13 = SAVEAREA ADDRESSABILITY 00111000
  109. * GPR 12 = MODULE BASE ADDRESSABILITY 00112000
  110. * GPR 11 = VMBLOK ADDRESSABILITY 00113000
  111. * GPR 10 = IOBLOK ADDRESSABILITY 00114000
  112. * GPR 9 = CONBUF ADDRESSABILITY 00115000
  113. * GPR 8 = RDEVBLOK ADDRESSABILITY 00116000
  114. * GPR 7 = NICBLOK ADDRESSABILITY 00117000
  115. * GPRS 0-6 ARE WORK REGISTERS 00118000
  116. * 00119000
  117. * NOTES - NONE 00120000
  118. * 00121000
  119. EJECT 00122000
  120. * OPERATION - 00123000
  121. * 00124000
  122. * NETWORK DUMP - CALL DMKNLDMP 00125000
  123. * NETWORK LOAD - CALL DMKNLDR 00126000
  124. * NETWORK SHUTDOWN - CALL DMKNESHD 00127000
  125. * NETWORK DISPLAY - CALL DMKNESDS 00129000
  126. * NETWORK POLLDLAY - CALL DMKNESPL 00130000
  127. * 00131000
  128. * NETWORK QUERY - IF NO OPTION SPECIFIED, ASSUME 'ACTIVE' 00132000
  129. * 1. FOR 'ACTIVE', SEARCH ALL 370X'S AND RESOURCES FOR 00133000
  130. * TERMINAL RESOURCES WITH LOGGED-ON USERS, AND FORMAT 00134000
  131. * THE OUTPUT LINES FOR LATER TYPING BY DMKCFM. 00135000
  132. * 2. FOR 'FREE', SEARCH FOR TERMINAL RESOURCES WHICH ARE 00136000
  133. * NEITHER ACTIVE NOR OFFLINE, AND FORMAT THE OUTPUT. 00137000
  134. * 3. FOR 'OFFLINE', SEARCH FOR OFFLINE TERMINAL RESOURCES. 00138000
  135. * 4. FOR 'ALL', DO STEPS 1, 2, AND 3, IN THAT ORDER. 00139000
  136. * 5. FOR A SPECIFIC RESOURCE, FORMAT THE OUTPUT ACCORDING 00140000
  137. * TO THE RESOURCE STATUS, INDICATING WHETHER THE RESOURCE 00141000
  138. * IS A LINE OR A TERMINAL (DEV). 00142000
  139. * 00143000
  140. * NETWORK ENABLE - IF NO OPTION SPECIFIED, ASSUME 'ALL' 00144000
  141. * 1. 'ENABLE ALL' - SCAN ALL 370X'S (VIA DMKRIORN TABLE) 00145000
  142. * FOR TERMINAL RESOURCES WHICH ARE NOT ALREADY ENABLED 00146000
  143. * AND ARE NOT CURRENTLY ACTIVE OR OFFLINE. 00147000
  144. * 2. 'ENABLE XXXX' - VALIDATE THAT THE RESOURCE IS A 00148000
  145. * TERMINAL, AND THAT IT IS NOT OFFLINE. 00149000
  146. * 3. FOR EACH VALID TERMINAL RESOURCE - ACTIVATE THE LINE 00150000
  147. * ASSOCIATED WITH THE TERMINAL (IF NECESSARY), AND START 00151000
  148. * THE ENABLE SEQUENCE BY ISSUING A 'CONTACT' COMMAND. 00152000
  149. * 00153000
  150. * NETWORK DISABLE - IF NO OPTION SPECIFIED, ASSUME 'ALL' 00154000
  151. * 1. 2. - SAME AS NETWORK ENABLE 00155000
  152. * 3. FOR EACH VALID TERMINAL RESOURCE - TURN ON 'NICDISB' 00156000
  153. * FLAG TO INDICATE DISABLE REQUEST. IF THERE IS NOT 00157000
  154. * AN ACTIVE USER, RESET THE 'CONTACT' COMMAND VIA A 00158000
  155. * 'RESET IMMEDIATE' - ISSUED VIA CALL DMKRNHND. 00159000
  156. * 00160000
  157. * NETWORK VARY - 00161000
  158. * 1. 'EP' OPTION - CALL DMKNESEP 00162000
  159. * 2. 'NCP' OPTION - CALL DMKNESWN 00163000
  160. * 3. 'ONLINE' OPTION - FOR A LINE RESOURCE, ISSUE THE 00164000
  161. * 'ACTIVATE LINE' COMMAND VIA CALL DMKRNHND. 00165000
  162. * FOR A TERMINAL RESOURCE, MAKE SURE THE LINE IS 00166000
  163. * ACTIVE, THEN VARY ONLINE BY RESETTING 'NICDISA'. 00167000
  164. * 4. 'OFFLINE' OPTION - FOR A LINE RESOURCE, CHECK FOR 00168000
  165. * ANY ACTIVE TERMINALS ON THE LINE. IF NONE, ISSUE 00169000
  166. * THE 'DEACTIVATE LINE' COMMAND VIA CALL DMKRNHND. 00170000
  167. * FOR A TERMINAL RESOURCE, TURN ON 'NICDISA'. 00171000
  168. * 00172000
  169. * 00174000
  170. EJECT 00175000
  171. * RESPONSES - 00176000
  172. * 00177000
  173. * FOR NETWORK ENABLE, DISABLE, VARY: 00178000
  174. * COMMAND COMPLETE 00179000
  175. * 00180000
  176. * FOR NETWORK QUERY: 00184000
  177. * LINE XXXX ACTIVE 00185000
  178. * LINE XXXX OFFLINE 00186000
  179. * LINE XXXX EP-MODE XXX 00187000
  180. * DEV XXXX LOGON AS USERIDXX 00188000
  181. * DEV XXXX ENABLED, DEV XXXX DISABLE, DEV XXXX OFFLINE, . . . 00189000
  182. * 00190000
  183. * RESOURCE(S) NOT FOUND 00191000
  184. * ACTIVE RESOURCE(S) NOT FOUND 00192000
  185. * FREE RESOURCE(S) NOT FOUND 00193000
  186. * OFFLINE RESOURCE(S) NOT FOUND 00194000
  187. * 00195000
  188. * ERROR MESSAGES - 00196000
  189. * 00197000
  190. * DMKNET002E INVALID OPERAND - OPERAND 00198000
  191. * DMKNET003E INVALID OPTION - OPTION 00199000
  192. * DMKNET006E INVALID DEVICE TYPE - XXXX 00200000
  193. * DMKNET026E OPERAND MISSING OR INVALID 00201000
  194. * DMKNET040E DEV XXXX DOES NOT EXIST 00202000
  195. * DMKNET046E DEV XXXX OFFLINE 00203000
  196. * DMKNET046E CTLR RADDR OFFLINE 00204000
  197. * DMKNET046E LINE RADDR OFFLINE 00205000
  198. * DMKNET049E DEV XXXX IN USE 00206000
  199. * DMKNET140E CTLR RADDR ATTACHED TO USERIDXX 00207000
  200. *. 00208000
  201. EJECT 00209000
  202. DMKNETWK RELOC , PROCESS THE 'NETWORK' COMMAND @V200820 00210000
  203. SLR R0,R0 @V200820 00211000
  204. ST R0,SAVEWRK1 CLEAR A FLAG AREA @V200820 00212000
  205. SPACE 2 00213000
  206. CALL DMKSCNFD SCAN FOR THE FUNCTION PARAMETER @V200820 00214000
  207. BNZ NET026E OPERAND MISSING OR INVALID @V200820 00215000
  208. LR R2,R0 PARAMETER LENGTH @V200820 00216000
  209. CL R2,F8 GREATER THAN THE MAXIMUM PARM ? @V200820 00217000
  210. BH NET002E YES - INVALID OPERAND @V200820 00218000
  211. BCTR R2,0 ...MINUS ONE FOR COMPARE @V200820 00219000
  212. LA R3,PARMTBL PARAMETER SCAN TABLE @V200820 00220000
  213. LA R4,PARMENT LENGTH OF ONE ENTRY @V200820 00221000
  214. LA R5,PARMEND LAST ENTRY IN TABLE @V200820 00222000
  215. SPACE 00223000
  216. NETSRCH EQU * SCAN TABLE FOR FUNCTION PARM MATC@V200820 00224000
  217. EX R2,CLCR1R3 "CLC 0(*-*,R1),0(R3)" @V200820 00225000
  218. BNE NEXSRCH NO MATCH - SKIP TO NEXT ENTRY @V200820 00226000
  219. CLM R2,1,9(R3) CHECK FOR MINIMUM ABBREVIATION @V200820 00227000
  220. BL NEXSRCH NO MATCH - SKIP TO NEXT ENTRY @V200820 00228000
  221. SLR R6,R6 @V200820 00229000
  222. ICM R6,8,VMCLEVEL CHECK FOR ALLOWED COMMAND @V200820 00230000
  223. N R6,8(0,R3) . . .IN CASE RESTRICTED @V200820 00231000
  224. BZ NET002E INVALID OPERAND IF IT IS @V200820 00232000
  225. LH R4,10(0,R3) PICK UP VECTOR DISPLACEMENT @V200820 00233000
  226. B DMKNET(R4) GO TO FUNCTIONAL SUBROUTINE @V200820 00234000
  227. NEXSRCH EQU * SKIP TO NEXT TABLE ENTRY @V200820 00235000
  228. BXLE R3,R4,NETSRCH ... @V200820 00236000
  229. B NET002E INVALID OPERAND @V200820 00237000
  230. SPACE 2 00238000
  231. PARMTBL DS 0F FUNCTION PARAMETER TABLE @V200820 00239000
  232. DC C'LOAD ',AL1(A+B,3),AL2(NETLOAD-DMKNET) @V200820 00240000
  233. DC C'DUMP ',AL1(A+B,3),AL2(NETDUMP-DMKNET) @V240820 00241000
  234. DC C'ENABLE ',AL1(A+B,1),AL2(NETENAB-DMKNET) @V240820 00242000
  235. DC C'DISABLE ',AL1(A+B,3),AL2(NETDISA-DMKNET) @V240820 00243000
  236. DC C'QUERY ',AL1(A+B,0),AL2(NETQERY-DMKNET) @V240820 00244000
  237. DC C'DISPLAY ',AL1(A+B,0),AL2(NETDISP-DMKNET) @V240820 00245000
  238. DC C'VARY ',AL1(A+B,3),AL2(NETVARY-DMKNET) @V240820 00246000
  239. DC C'SHUTDOWN',AL1(A,7),AL2(NETKILL-DMKNET) @V240820 00248000
  240. PARMEND DC C'POLLDLAY',AL1(A+B,3),AL2(NETPOLL-DMKNET) @V2D3931 00250000
  241. PARMENT EQU *-PARMEND LENGTH OF ONE ENTRY = 12 BYTES @V200820 00251000
  242. SPACE 00252000
  243. CLCR1R3 CLC 0(*-*,R1),0(R3) EXECUTED COMPARE @V200820 00253000
  244. EJECT 00254000
  245. NETLOAD EQU * "NETWORK LOAD RADDR NCPNAME" @V200820 00255000
  246. CALL DMKNLDR,PARM=0 CALL THE LOAD PROCESSOR @V200820 00256000
  247. * HE WILL RETURN DIRECTLY TO DMKCFM 00257000
  248. SPACE 2 00258000
  249. NETDUMP EQU * "NETWORK DUMP RADDR IMMED|AUTO|OFF" @V200820 00259000
  250. CALL DMKNLEMP,PARM=0 CALL THE DUMP PROCESSOR @V407511 00260100
  251. * HE WILL RETURN DIRECTLY TO DMKCFM 00261000
  252. SPACE 2 00262000
  253. NETKILL EQU * NETWORK SHUTDOWN RADDR @VA01918 00263000
  254. CALL DMKNESHD CALL THE SHUTDOWN PROCESSOR @VA01918 00264000
  255. B NETCOMP COMPLETE, MSG ALREADY GIVEN @VA01918 00265000
  256. SPACE 2 00266000
  257. NETDISP EQU * NETWORK DISPLAY RADDR HEXLOC @VA01918 00271000
  258. CALL DMKNESDS CALL TO DISPLAY 370X STORAGE @VA01918 00272000
  259. B NETCOMP COMPLETE, MSG ALREADY GIVEN @VA01918 00273000
  260. SPACE 2 00274000
  261. NETPOLL EQU * NETWORK POLLDLAY COMMAND @V2D3931 00275000
  262. CALL DMKNESPL NETWORK POLLDLAY NNNN RADDR @V2D3931 00276000
  263. B NETCOMP COMPLETE, MSG ALREADY GIVEN @V2D3931 00277000
  264. EJECT 00278000
  265. USING NICBLOK,R7 @V200820 00279000
  266. USING RDEVBLOK,R8 @V200820 00280000
  267. NETQERY EQU * NETWORK QUERY RESOURCE @V200820 00281000
  268. MVI SAVEWRK1,QRYACTV DEFAULT IS QUERY ACTIVE @V200820 00282000
  269. CALL DMKSCNFD SCAN FOR THIRD OPERAND @V200820 00283000
  270. BNZ NETQRYS NONE SPECIFIED - USE DEFAULT @V200820 00284000
  271. CL R0,F8 EIGHT CHARS MAXIMUM @V200820 00285000
  272. BH NET002E @V200820 00286000
  273. CL R0,F3 THREE CHARS MINIMUM @V200820 00287000
  274. BL NET002E @V200820 00288000
  275. LR R2,R0 OPERAND LENGTH @V200820 00289000
  276. BCTR R2,0 DECREMENT FOR COMPARES @V200820 00290000
  277. EX R2,CLCACTV NETWORK QUERY ACTIVE @V200820 00291000
  278. BE NETQRYS YES --- @V200820 00292000
  279. MVI SAVEWRK1,QRYALL @V200820 00293000
  280. EX R2,CLCQALL NETWORK QUERY ALL @V200820 00294000
  281. BE NETQRYS YES --- @V200820 00295000
  282. MVI SAVEWRK1,QRYOFFL @V200820 00296000
  283. EX R2,CLCOFFL NETWORK QUERY OFFLINE @V200820 00297000
  284. BE NETQRYS YES --- @V200820 00298000
  285. MVI SAVEWRK1,QRYFREE @V200820 00299000
  286. EX R2,CLCFREE NETWORK QUERY FREE @V200820 00300000
  287. BE NETQRYS YES --- @V200820 00301000
  288. SPACE 00302000
  289. MVI SAVEWRK1,QRYRIDS MUST BE SPECIFIC RESOURCES @V200820 00303000
  290. LA R6,SAVEWRK2 POINT TO SAVEAREA BUFFER @V200820 00304000
  291. SLR R5,R5 BUFFER INDEX SET TO ZERO @V200820 00305000
  292. MVC SAVEWRK2(8),BLANKS CLEAR THE PSEUDO-BUFFER @V200820 00306000
  293. MVC SAVEWRK4(24),SAVEWRK2 . . . @V200820 00307000
  294. BAL R10,SCANCVT CONVERT THE FIRST RESOURCE ID @V200820 00308000
  295. NETQRYR EQU * FORMAT INDIVIDUAL LINES @V200820 00309000
  296. BAL R10,QRYFRMT FORMAT ONE OUTPUT LINE @V200820 00310000
  297. BAL R10,SCANRID SCAN AND CONVERT NEXT RESOURCE @V200820 00311000
  298. BZ NETQRYR CONTINUE . . . @V200820 00312000
  299. B RETCOMP . . .UNTIL THERE ARE NO MORE @V200820 00313000
  300. EJECT 00314000
  301. NETQRYS EQU * GENERAL NETWORK QUERY @V200820 00315000
  302. LA R0,9(0,0) SIZE OF BUFFER (DBL-WDS) @V200820 00316000
  303. CALL DMKFREE GET A FORMATTING BUFFER @V200820 00317000
  304. LR R6,R1 BASE IT ON GR6 @V200820 00318000
  305. SLR R5,R5 BUFFER INDEX STARTS AT ZERO @V200820 00319000
  306. MVC 0(8,R6),BLANKS CLEAR THE BUFFER @V200820 00320000
  307. MVC 8(8*8,R6),0(R6) . . . @V200820 00321000
  308. SPACE 00322000
  309. NETQRYC EQU * NETWORK QUERY BY SITUATION @V200820 00323000
  310. BAL R10,NETWALL GET THE FIRST 370X WITH AN NCP @V200820 00324000
  311. BZ NETQRYA THERE IS AT LEAST ONE @V200820 00325000
  312. LR R5,R6 NO HEADER FOR FAILURE MESSAGE @V200820 00326000
  313. B NETQRYZ GIVE MSG - NO RESOURCES AT ALL @V200820 00327000
  314. SPACE 2 00328000
  315. NETQRYA EQU * FORMAT ACTIVE RESOURCES @V200820 00329000
  316. TM SAVEWRK1,QRYACTV ACTIVE DEVICES WANTED ? @V200820 00330000
  317. BZ NETQRYF NO -- CHECK FOR 'FREE' @V200820 00331000
  318. B NETQRA2 GO HANDLE THE FIRST 370X @V200820 00332000
  319. SPACE 00333000
  320. NETQRA1 EQU * PROCESS SUBSEQUENT 370X NCP'S @V200820 00334000
  321. BAL R10,NETFALL NEXT 370X, IF ANY @V200820 00335000
  322. BZ NETQRA2 THERE IS ANOTHER ONE - DO IT @V200820 00336000
  323. NI SAVEWRK1,255-QRYACTV ACTIVE HAS BEEN DONE @V200820 00337000
  324. BNZ NETQRYC GO GET NEXT SITUATION FORMATTED @V200820 00338000
  325. MVC 0(8,R6),=C'ACTIVE ' ACTIVE NOT FOUND @V200820 00339000
  326. LA R5,8(0,R6) START ADDR FOR MESSAGE TEXT @V200820 00340000
  327. B NETQRYZ GIVE FAILURE MESSAGE TO USER @V200820 00341000
  328. SPACE 00342000
  329. NETQRA2 EQU * LOOP THROUGH THE NICBLOK LIST @V200820 00343000
  330. LH R1,NICNAME CURRENT RESOURCE I.D. @V200820 00344000
  331. LA R1,1(0,R1) INCREMENT FOR NEXT NICBLOK @V200820 00345000
  332. CH R1,RDEVMAX HAVE WE REACHED THE END ? @V200820 00346000
  333. BH NETQRA1 YES - LOOK FOR ANOTHER 370X @V200820 00347000
  334. AH R7,=AL2(NICSIZE*8) ADVANCE TO NEXT NICBLOK @V200820 00348000
  335. TM NICTYPE,NICTERM IS THIS A TERMINAL ? @V200820 00349000
  336. BZ NETQRA2 NO -- SKIP OVER IT @V200820 00350000
  337. CLC NICUSER(4),ASYSVM IS THERE AN ACTIVE USER ? @V240820 00351000
  338. BE NETQRA2 NO -- SKIP OVER THIS ONE @V240820 00352000
  339. BAL R10,QRYFRMT FORMAT AND STACK OUTPUT LINE @V200820 00353000
  340. B NETQRA2 CONTINUE . . . @V200820 00354000
  341. EJECT 00355000
  342. NETQRYF EQU * FORMAT FREE DEVICES @V200820 00356000
  343. TM SAVEWRK1,QRYFREE FREE DEVICES WANTED ? @V200820 00357000
  344. BZ NETQRYO NO -- TRY FOR 'OFFLINE' @V200820 00358000
  345. B NETQRF2 GO HANDLE FIRST 370X @V200820 00359000
  346. SPACE 00360000
  347. NETQRF1 EQU * ADVANCE TO NEXT 370X WITH NCP @V200820 00361000
  348. BAL R10,NETFALL LOCATE ANOTHER NCP @V200820 00362000
  349. BZ NETQRF2 THERE IS ANOTHER ONE - DO IT @V200820 00363000
  350. BAL R10,QRYSTAK STACK ANY PARTIAL LINE BUFFER @V200820 00364000
  351. NI SAVEWRK1,255-QRYFREE FREE HAS BEEN DONE @V200820 00365000
  352. BNZ NETQRYC GO TRY THE NEXT SITUATION @V200820 00366000
  353. MVC 0(6,R6),=C'FREE ' FAILURE KEYWORD @V200820 00367000
  354. LA R5,6(0,R6) START ADDR FOR MESSAGE TEXT @V200820 00368000
  355. B NETQRYZ GIVE FAILURE MESSAGE TO USER @V200820 00369000
  356. SPACE 00370000
  357. NETQRF2 EQU * LOOP THROUGH NICBLOK LIST @V200820 00371000
  358. LH R1,NICNAME CURRENT RESOURCE I.D. @V200820 00372000
  359. LA R1,1(0,R1) INCREMENT FOR NEXT NICBLOK @V200820 00373000
  360. CH R1,RDEVMAX REACHED THE END YET ? @V200820 00374000
  361. BH NETQRF1 YES - GET THE NEXT 370X NCP @V200820 00375000
  362. AH R7,=AL2(NICSIZE*8) BUMP TO NEXT NICBLOK @V200820 00376000
  363. TM NICTYPE,NICTERM IS THIS A TERMINAL ? @V200820 00377000
  364. BZ NETQRF2 NO -- SKIP OVER IT @V200820 00378000
  365. TM NICSTAT,NICDISA IS IT CURRENTLY ACTIVE ? @V200820 00379000
  366. BO NETQRF2 NO -- SKIP OVER IT @V200820 00380000
  367. CLC NICUSER(4),ASYSVM IS THERE AN ACTIVE USER ? @V240820 00381000
  368. BNE NETQRF2 YES - SKIP OVER THIS ONE @V240820 00382000
  369. BAL R10,QRYFRMT FORMAT THE OUTPUT DATA @V200820 00383000
  370. B NETQRF2 CONTINUE . . . @V200820 00384000
  371. EJECT 00385000
  372. NETQRYO EQU * FORMAT OFFLINE RESOURCES @V200820 00386000
  373. TM SAVEWRK1,QRYOFFL OFFLINE DEVICES WANTED ? @V200820 00387000
  374. BZ QRYFINS NO -- COMMAND COMPLETE @V200820 00388000
  375. B NETQRO2 GO HANDLE THE FIRST 370X NCP @V200820 00389000
  376. SPACE 00390000
  377. NETQRO1 EQU * PROCESS THE NEXT 370X, IF ANY @V200820 00391000
  378. BAL R10,NETFALL FIND ANOTHER 370X WITH THE NCP @V200820 00392000
  379. BZ NETQRO2 THERE IS ANOTHER ONE - DO IT @V200820 00393000
  380. BAL R10,QRYSTAK STACK ANY PARTIAL LINE BUFFER @V200820 00394000
  381. NI SAVEWRK1,255-QRYOFFL OFFLINE HAS BEEN DONE @V200820 00395000
  382. BNZ QRYFINS ALL DONE IF SOMETHING STACKED @V200820 00396000
  383. MVC 0(8,R6),=C'OFFLINE ' OFFLINE NOT FOUND @V200820 00397000
  384. LA R5,8(0,R6) START ADDR FOR MESSAGE TEXT @V200820 00398000
  385. B NETQRYZ GIVE FAILURE MESSAGE TO USER @V200820 00399000
  386. SPACE 00400000
  387. NETQRO2 EQU * LOOP THROUGH THE NICBLOK LIST @V200820 00401000
  388. LH R1,NICNAME CURRENT RESOURCE I.D. @V200820 00402000
  389. LA R1,1(0,R1) INCREMENT FOR NEXT NICBLOK @V200820 00403000
  390. CH R1,RDEVMAX REACHED THE END YET ? @V200820 00404000
  391. BH NETQRO1 YES - GET THE NEXT 370X NCP @V200820 00405000
  392. AH R7,=AL2(NICSIZE*8) BUMP TO NEXT NICBLOK @V200820 00406000
  393. TM NICTYPE,NICTERM IS THIS A TERMINAL ? @V200820 00407000
  394. BZ NETQRO2 NO -- SKIP OVER IT @V200820 00408000
  395. TM NICSTAT,NICDISA IS IT OFFLINE NOW ? @V200820 00409000
  396. BZ NETQRO2 NO -- SKIP OVER IT @V200820 00410000
  397. BAL R10,QRYFRMT FORMAT THE OUTPUT DATA @V200820 00411000
  398. B NETQRO2 CONTINUE . . . @V200820 00412000
  399. SPACE 2 00413000
  400. NETQRYZ EQU * SPECIFIED SITUATION NOT FOUND @V200820 00414000
  401. MVC 0(21,R5),=C'RESOURCE(S) NOT FOUND' MSG TEXT @V200820 00415000
  402. SR R5,R6 GET LENGTH OF HEADER @V200820 00416000
  403. LA R0,21(0,R5) LENGTH OF TOTAL MESSAGE @V200820 00417000
  404. LR R1,R6 START OF DATA BUFFER @V200820 00418000
  405. CALL DMKQCNWT,PARM=NORET FAILURE MESSAGE @V200820 00419000
  406. SPACE 00420000
  407. QRYFINS EQU * NETWORK QUERY IS COMPLETE @V200820 00421000
  408. LR R1,R6 START OF FORMATTING BUFFER @V200820 00422000
  409. LA R0,9(0) SIZE IN DBL-WDS @V200820 00423000
  410. CALL DMKFRET RELEASE THE BUFFER @V200820 00424000
  411. B RETCOMP @V200820 00425000
  412. EJECT 00426000
  413. QRYFRMT EQU * FORMAT RESOURCE QUERY OUTPUT @V200820 00427000
  414. OI SAVEWRK1,QRYDONE WILL CREATE SOME OUTPUT @V200820 00428000
  415. LH R1,NICNAME NCP RESOURCE IDENTIFIER @V200820 00429000
  416. SLR R14,R14 CLEAR FOR DEVICE CODE @VA04763 00429100
  417. IC R14,SAVEWRK1+1 GET 370X DEVICE CODE @VA04763 00429200
  418. SLL R14,12 POSITION FOR CONVERT @VA04763 00429300
  419. OR R1,R14 ADD DEVICE CODE TO RID. @VA04763 00429400
  420. CALL DMKCVTBH CONVERT FOR OUTPUT @V200820 00430000
  421. TM NICTYPE,NICLINE+NICLGRP IS THIS A LINE OR C.U. @VM01055 00432000
  422. BZ QRYFMTD NO -- PROBABLY A TERMINAL @V200820 00433000
  423. MVC 0(4,R6),=C'LINE' DEVICE DESCRIPTION @V200820 00434000
  424. STCM R1,15,5(R6) INSERT THE RESOURCE REFERENCE @V200820 00435000
  425. TM NICTYPE,NICLGRP IS THIS A CONTROL UNIT FOR DISP.@VM01055 00436000
  426. BO *+12 YES, SKIP TEST..... @VM01055 00437000
  427. TM NICSTAT,NICEPMD IS THIS LINE IN EP-MODE ? @V240820 00438000
  428. BO QRYFMTE YES - SAY SO @V240820 00439000
  429. LA R5,18(0) COMMON OUTPUT LENGTH @V200820 00440000
  430. MVC 10(8,R6),=C'OFFLINE ' @V200820 00441000
  431. TM NICSTAT,NICDISA IS THE LINE ACTIVE ? @V240820 00442000
  432. BO QRYSTAK NO -- CALL IT OFFLINE @V240820 00443000
  433. MVC 10(8,R6),=C'ACTIVE ' @V200820 00444000
  434. B QRYSTAK GO STACK THE OUTPUT @V240820 00445000
  435. QRYFMTE EQU * LINE RESOURCE IS IN EP-MODE @V240820 00446000
  436. MVC 10(8,R6),=C'EP-MODE ' @V200820 00447000
  437. LH R1,NICEPAD EMULATOR LINE ADDRESS @V200820 00448000
  438. CALL DMKCVTBH CONVERT @V200820 00449000
  439. STCM R1,7,19(R6) SET IN OUTPUT LINE @V200820 00450000
  440. LA R5,24(0) LINE LENGTH @V200820 00451000
  441. B QRYSTAK STACK LINE FOR OUTPUT @V200820 00452000
  442. SPACE 2 00453000
  443. QRYFMTD EQU * FORMAT FOR NON-LINE RESOURCES @V200820 00454000
  444. LA R4,0(R5,R6) GR4 = BUFFER SLOT @V200820 00455000
  445. CR R4,R6 ARE WE AT THE BEGINNING ? @V200820 00456000
  446. BE QRYFMT1 YES - ALL SET @V200820 00457000
  447. MVI 0(R4),C',' ADD OPTICAL DELIMITER @V200820 00458000
  448. LA R5,2(0,R5) MOVE INDEX OVER A BIT @V200820 00459000
  449. LA R4,2(0,R4) MOVE OUTPUT SLOT OVER @V200820 00460000
  450. QRYFMT1 EQU * @V200820 00461000
  451. MVC 0(4,R4),=C'DEV ' NON-LINE IS A "DEV" @V200820 00462000
  452. ST R1,4(0,R4) SET THE RESOURCE REFERENCE @V200820 00463000
  453. MVC 9(8,R4),=C'OFFLINE ' @V200820 00464000
  454. TM NICSTAT,NICDISA OFFLINE RESOURCE ? @V200820 00465000
  455. BO QRYFMTB YES --- @V200820 00466000
  456. MVC 9(8,R4),=C'DISABLE ' @V200820 00467000
  457. TM NICFLAG,NICENAB ENABLED ? @V200820 00468000
  458. BZ QRYFMTB NO ---- @V200820 00469000
  459. MVC 9(8,R4),=C'ENABLED ' @V200820 00470000
  460. CLC NICUSER(4),ASYSVM IS THERE AN ACTIVE USER ? @V240820 00471000
  461. BE QRYFMTB NO ---- @V240820 00472000
  462. MVC 9(10,R4),=C'LOGON AS ' @V200820 00473000
  463. L R1,NICUSER VMBLOK POINTER @V200820 00474000
  464. MVC 19(8,R4),VMUSER-VMBLOK(R1) MOVE USERID @V200820 00475000
  465. LA R5,28(0) LINE LENGTH @V200820 00476000
  466. B QRYSTAK STACK LINE AND CLEAR BUFFER @V200820 00477000
  467. EJECT 00478000
  468. QRYFMTB EQU * ADJUST POINTERS, STACK LINE @V200820 00479000
  469. LA R5,16(0,R5) POINT TO NEXT SLOT @V200820 00480000
  470. CL R5,F60 WAS THAT THE LAST ONE ? @V200820 00481000
  471. BH QRYSTAK YES - STACK LINE AND RESTART @V200820 00482000
  472. TM SAVEWRK1,QRYRIDS INDIVIDUAL RESOURCE QUERY ? @V200820 00483000
  473. BZR R10 NO -- RETURN FOR NEXT ONE @V200820 00484000
  474. SPACE 2 00485000
  475. QRYSTAK EQU * STACK LINES FOR LATER OUTPUT @V200820 00486000
  476. LTR R5,R5 ANYTHING TO BE STACKED ? @V200820 00487000
  477. BZR R10 NO -- JUST RETURN @V200820 00488000
  478. LA R0,8+7(0,R5) ROUND UP AND ADD 8 BYTES @V200820 00489000
  479. SRL R0,3(0) . . .SIZE IN DBL-WDS @V200820 00490000
  480. CALL DMKFREE GET A STACK BUFFER @V200820 00491000
  481. STH R5,4(0,R1) SET OUTPUT LINE LENGTH @V200820 00492000
  482. STH R0,6(0,R1) SET BUFFER SIZE FOR FRET @V200820 00493000
  483. BCTR R5,0 @V200820 00494000
  484. EX R5,MOVESTK MOVE DATA TO STACK BUFFER @V200820 00495000
  485. LA R14,VMSTKO VMBLOK OUTPUT STACK @V200820 00496000
  486. QRYSTKI EQU * SEARCH FOR END OF CHAIN @V200820 00497000
  487. ICM R15,15,0(R14) LOAD AND TEST POINTER @V200820 00498000
  488. BZ QRYSTKT FOUND THE END @V200820 00499000
  489. LR R14,R15 @V200820 00500000
  490. B QRYSTKI @V200820 00501000
  491. QRYSTKT EQU * STACK THE LINE AT THE END @V200820 00502000
  492. ST R1,0(0,R14) CHAIN IN THE NEW BUFFER @V200820 00503000
  493. ST R15,0(0,R1) CLEAR THE FORWARD POINTER @V200820 00504000
  494. MVC 0(8,R6),BLANKS CLEAR THE FORMAT BUFFER @V200820 00505000
  495. LR R1,R6 . . . @V200820 00506000
  496. S R5,F8 . . . @V200820 00507000
  497. EX R5,MOVESTK . . . FOR THE NEXT ITERATION @V200820 00508000
  498. SLR R5,R5 RESET BUFFER INDEX TO ZERO @V200820 00509000
  499. BR R10 RETURN @V200820 00510000
  500. SPACE 2 00511000
  501. MOVESTK MVC 8(*-*,R1),0(R6) EXECUTED @V200820 00512000
  502. CLCFREE CLC 0(*-*,R1),=C'FREE ' NETWORK QUERY FREE @V200820 00513000
  503. CLCOFFL CLC 0(*-*,R1),=C'OFFLINE ' NETWORK QUERY OFFLINE @V200820 00514000
  504. CLCQALL CLC 0(*-*,R1),=C'ALL ' NETWORK QUERY ALL @V200820 00515000
  505. CLCACTV CLC 0(*-*,R1),=C'ACTIVE ' NETWORK QUERY ACTIVE @V200820 00516000
  506. EJECT 00517000
  507. NETENAB EQU * "NETWORK ENABLE RESOURCE|ALL" @V200820 00518000
  508. MVI SAVEWRK1,ENABLE FLAG THIS AS 'ENABLE' CMD @V200820 00519000
  509. SPACE 00520000
  510. NETDISA EQU * "NETWORK DISABLE RESOURCE|ALL" @V200820 00521000
  511. CALL DMKSCNFD SCAN IN CASE IT IS 'ALL' @V200820 00522000
  512. BNZ NETEALL THE DEFAULT IS 'ALL' @V200820 00523000
  513. LA R10,NETENRS RETURN IF NOT 'ALL' @V200820 00524000
  514. CL R0,F3 LONGER THAN THE WORD 'ALL' ? @V200820 00525000
  515. BNE SCANCVT YES - MUST BE A RESOURCE I.D. @V200820 00526000
  516. CLC 0(3,R1),=C'ALL ' THIS MUST BE FIRST AND ONLY @V200820 00527000
  517. BNE SCANCVT NO -- CONVERT RESOURCE ID @V200820 00528000
  518. NETEALL EQU * ENABLE ALL RESOURCES IN SYSTEM @V200820 00529000
  519. BAL R10,NETWALL SETUP AND GET FIRST RDEVBLOK @V200820 00530000
  520. BNZ CMDCOMP COMMAND COMPLETE IF NONE TO DO @V200820 00531000
  521. B NETENAN ENABLE ALL ON THE FIRST 370X @V200820 00532000
  522. NETENAL EQU * PROCESS NEXT 370X WITH THE NCP @V200820 00533000
  523. BAL R10,NETFALL GET NEXT 370X TO BE ENABLED @V200820 00534000
  524. BNZ CMDCOMP COMMAND COMPLETE IF ALL DONE @V200820 00535000
  525. NETENAN EQU * ENABLE ALL RESOURCES ON THIS 370X@V200820 00536000
  526. TM SAVEWRK1+2,CPIALL IS THIS A WARMSTART @V2D3931 00537000
  527. BZ NOWARM NO, CONTINUE @V2D3931 00538000
  528. CLI RDEVTYPC,CLASSPEC IS THIS A RDEVBLOK FOR 370X ? @V2D3931 00539000
  529. BE NETENAL YES, GET NEXT RDEVBLOK ADDRESS @V2D3931 00540000
  530. NOWARM EQU * @V2D3931 00541000
  531. LH R1,NICNAME RESOURCE ID OF CURRENT NICBLOK @V200820 00542000
  532. LA R1,1(0,R1) GET THE NEXT ONE @V200820 00543000
  533. CH R1,RDEVMAX HAVE WE DONE THEM ALL ? @V200820 00544000
  534. BH NETENAL YES - GET NEXT RDEVBLOK @V200820 00545000
  535. TM NICTYPE,NICLGRP IS THIS A CONTROL UNIT ? @V2D3931 00546000
  536. BZ NOCONT NO, CONTINUE @V2D3931 00547000
  537. TM SAVEWRK1,ENABLE IS THIS AN ENABLE REQUEST @V2D3931 00548000
  538. BZ NOCONT NO, CONTINUE PROCESSING @V2D3931 00549000
  539. CLI RDEVTYPC,CLASSPEC IS THIS A RDEVBLOK FOR 370X ? @V2D3931 00550000
  540. BE NOCONT YES, CONTINUE PROCESSING @V2D3931 00551000
  541. BAL R10,NETVRON1 GO ENABLE BISYNC LINE @V2D3931 00552000
  542. TM SAVEWRK1,INACTV WAS THERE AN ERROR ON ENABLE @V2D3931 00553000
  543. BZ NOCONT NO, CONTINUE PROCESSING @V2D3931 00554000
  544. OI SAVEWRK1,SKIPBSC BYPASS ENABLING REMOTE STATIONS@V2D3931 00555000
  545. NI SAVEWRK1,X'FF'-INACTV CLEAR ERROR FLAG @V2D3931 00556000
  546. NOCONT EQU * @V2D3931 00557000
  547. AH R7,=AL2(NICSIZE*8) INDEX FOR NEXT NICBLOK @V200820 00558000
  548. TM NICTYPE,NICLINE IS THIS A T.P. LINE ? @V200820 00559000
  549. BZ NETENTP NO -- CHECK FOR TERMINAL @V200820 00560000
  550. OI SAVEWRK1,SKIPBSC ASSUME BSC SKIP @V200820 00561000
  551. TM NICTYPE,NICLBSC BINARY SYNCHRONOUS LINE ? @V200820 00562000
  552. BO NETENAN YES - SKIP TO NEXT S/S LINE @V200820 00563000
  553. TM NICSTAT,NICEPMD IS THE LINE IN EP-MODE ? @V240820 00564000
  554. BO NETENAN YES - SKIP ALL OF IT @V240820 00565000
  555. NI SAVEWRK1,255-SKIPBSC PROCESS FOLLOWING DEV @V200820 00566000
  556. TM SAVEWRK1,ENABLE IS THIS AN ENABLE REQUEST ? @V200820 00567000
  557. BZ NETENAN NO -- JUST CONTINUE @V200820 00568000
  558. CLI RDEVTYPC,CLASSPEC IS THIS A RDEVBLOK FOR 370X ? @V2D3931 00569000
  559. BE *+12 YES, BYPASS 3270 SUPPORT @V2D3931 00570000
  560. BAL R10,NETVRON1 GO ENABLE BISYNC LINE @V2D3931 00571000
  561. B TSTEROR GO TEST FOR ERROR CONDITION @V2D3931 00572000
  562. BAL R10,NETVRON ISSUE 'ACTIVATE LINE' IF NEEDED @V200820 00573000
  563. TSTEROR EQU * @V2D3931 00574000
  564. TM SAVEWRK1,INACTV DID ACTIVATE SUCCEED ? @V200820 00575000
  565. BZ NETENAN YES - CONTINUE @V200820 00576000
  566. OI SAVEWRK1,SKIPBSC SKIP ENABLING THIS LINE @V200820 00577000
  567. NI SAVEWRK1,255-INACTV RESET ACTIVATE ERROR BIT @V200820 00578000
  568. B NETENAN @V200820 00579000
  569. SPACE 00580000
  570. NETENTP EQU * @V200820 00581000
  571. TM NICTYPE,NICTERM IS THIS A TERMINAL RESOURCE @V200820 00582000
  572. BZ NETENAN NO -- SKIP IT @V200820 00583000
  573. TM SAVEWRK1,SKIPBSC SKIPPING OVER BISYNCH LINE ?@V200820 00584000
  574. BO NETENAN YES -- SKIP @V200820 00585000
  575. TM NICSTAT,NICDISA IS THE DEVICE ACTIVE ? @V240820 00586000
  576. BO NETENAN NO -- SKIP IT @V240820 00587000
  577. LA R10,NETENAN RETURN ADDRESS AFTER ACTION @V200820 00588000
  578. B NETENDS GO PREFORM ENABLE OR DISABLE @V200820 00589000
  579. EJECT 00590000
  580. NETENLR EQU * ENABLE A RESOURCE ID LIST @V200820 00591000
  581. TM SAVEWRK1,ENDONE WAS THAT A VALID RESOURCE ? @V200820 00592000
  582. BZ NET006R NO -- ERROR @V200820 00593000
  583. NI SAVEWRK1,255-ENDONE TURN OFF FLAG BIT @V200820 00594000
  584. BAL R10,SCANRID SCAN AND CONVERT NEXT RESOURCE ID@V200820 00595000
  585. BNZ CMDCOMP COMMAND COMPLETE IF NO MORE @V200820 00596000
  586. NETENRS EQU * @V200820 00597000
  587. TM NICTYPE,NICTERM IS THIS A DEVICE ? @V200820 00598000
  588. BZ NET006R NO -- INVALID DEVICE TYPE @V200820 00599000
  589. TM NICSTAT,NICDISA IS THE RESOURCE OFFLINE ? @VM01011 00600000
  590. BO NET046R YES - CANNOT REFERENCE IT @VM01011 00601000
  591. TM SAVEWRK1,ENABLE ENABLE REQUEST ? @V200820 00602000
  592. BZ NETENRN NO -- NOTHING EXTRA TO DO @V200820 00603000
  593. CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE ? @V2D3931 00604000
  594. BNE *+12 NO, BYPASS 3270 SUPPORT @V2D3931 00605000
  595. BAL R10,NETVRON1 MAKE SURE THE LINE IS ACTIVE @V2D3931 00606000
  596. B *+8 GO TEST STATUS OF LINE @V2D3931 00607000
  597. BAL R10,NETVRON MAKE SURE THE LINE IS ACTIVE @V200820 00608000
  598. TM SAVEWRK1,INACTV DID THE ACTIVATE FAIL ? @V200820 00609000
  599. BZ NETENRN NO --- CONTINUE @V200820 00610000
  600. OI NICSTAT,NICDISA TERMINAL IS OFFLINE @VA01918 00611000
  601. B NET046R GO TELL THE USER THAT @VA01918 00612000
  602. SPACE 00613000
  603. NETENRN EQU * @V200820 00614000
  604. LA R10,NETENLR RETURN FROM ENABLE OF ONE RESOURC@V200820 00615000
  605. NETENDS EQU * ENABLE OR DISABLE A SINGLE RESOUR@V200820 00616000
  606. TM SAVEWRK1,ENABLE ENABLE COMMAND ? @V200820 00617000
  607. BO NETENRD YES -- @V200820 00618000
  608. B NETDSRD DISABLE -- @V200820 00619000
  609. EJECT 00620000
  610. CTLCALL EQU * ISSUE CONTROL COMMAND VIA DMKRNH @V200820 00621000
  611. LR R9,R7 NICBLOK TO GR9 FOR DMKRNH @V240820 00622000
  612. CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS @V2D3931 00623000
  613. BNE BYPAS5 NO, CONTINUE @V2D3931 00624000
  614. CALL DMKRGBEN,PARM=NORET @V305798 00625000
  615. BR R10 RETURN @V2D3931 00626000
  616. BYPAS5 EQU * @V2D3931 00627000
  617. CALL DMKRNHND,PARM=NORET ISSUE COMMAND IN GR0 @V200820 00628000
  618. SWITCH ENSURE WE ARE ON THE MAIN PROC @V407511 00628500
  619. OI RDEVSTAT,RDEVRSVD 370X NOW IN USE BY SYSTEM @V200820 00629000
  620. BR R10 RETURN @V200820 00630000
  621. SPACE 3 00631000
  622. NETENRD EQU * ENABLE A SINGLE RESOURCE @V200820 00632000
  623. CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS @V2D3931 00633000
  624. BNE CONTN NO, BYPASS BISYNC SUPPORT @V2D3931 00634000
  625. TM NICTYPE,NICTERM IS THIS A DISPLAY/PRINTER @V2D3931 00635000
  626. BZR R10 NO, RETURN @V2D3931 00636000
  627. OI SAVEWRK1,ENDONE @V2D3931 00637000
  628. TM SAVEWRK1+2,CPIALL IS THIS AN AUTOMATIC WARMSTART@V2D3931 00638000
  629. BZ *+14 NO, CONTINUE @V2D3931 00639000
  630. TM NICFLAG,NICENAB IS THIS RESOURCE ENABLE @V2D3931 00640000
  631. BZR R10 NO, RETURN @V2D3931 00641000
  632. B ENABRQ GO ENABLE RESOURCE @V2D3931 00642000
  633. NI NICFLAG,X'FF'-NICDISB TURN OFF DISABLE FLAG @V2D3931 00643000
  634. TM NICFLAG,NICENAB IS THIS RESOURCE ACTIVE ? @V2D3931 00644000
  635. BOR R10 YES, RETURN @V2D3931 00645000
  636. CLC NICUSER(4),ASYSVM IS THIS SYSTEM VMBLOK POINTER @V2D3931 00646000
  637. BNER R10 NO, SOMEBODY IS USING IT @V2D3931 00647000
  638. ENABRQ EQU * ENABLE THE RESOURCE @V2D3931 00648000
  639. OI NICFLAG,NICENAB CALL IT ENABLED @V2D3931 00649000
  640. TM NICTYPE,NICGRAF IS THIS A REMOTE DISPLAY STATION@V2D3931 00650000
  641. BZR R10 NO, ALREADY ENABLE @V2D3931 00651000
  642. SR R0,R0 SET PARM REGISTER FOR STATION @V2D3931 00652000
  643. B CTLCALL GO CALL DMKRGFEN @V2D3931 00653000
  644. CONTN EQU * @V2D3931 00654000
  645. CLI NICTYPE,NICTERM MULTIPLE TERMINAL ACCESS ? @V200820 00655000
  646. BE NETEND1 YES - DO THIS ONE @V200820 00656000
  647. TM NICTYPE,NICCIBM+NICTELE SUPPORTED TERMINAL ? @V200820 00657000
  648. BCR 8,R10 NO -- RETURN WITHOUT ENABLIN@V200820 00658000
  649. NETEND1 EQU * @V200820 00659000
  650. OI SAVEWRK1,ENDONE HAVE PROCESSED THIS ONE @V200820 00660000
  651. NI NICFLAG,255-NICDISB TURN OFF DISABLE FLAG @V240820 00661000
  652. TM NICFLAG,NICENAB+NICSESN IS DEVICE ACTIVE ? @V200820 00662000
  653. BCR 7,R10 YES -- JUST RETURN @V200820 00663000
  654. OI NICFLAG,NICENAB CALL IT ENABLED @V200820 00664000
  655. LA R0,CONTACT TRY TO ESTABLISH THE CONNECTION @V200820 00665000
  656. B CTLCALL GO CALL DMKRNHND @V200820 00666000
  657. SPACE 2 00667000
  658. NETDSRD EQU * DISABLE A SINGLE RESOURCE @V200820 00668000
  659. OI SAVEWRK1,ENDONE HAVE PROCESSED THIS ONE @V200820 00669000
  660. OI NICFLAG,NICDISB TO BE DISABLED WHEN POSSIBLE@V200820 00670000
  661. CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS @V2D3931 00671000
  662. BNE CONTN1 NO, BYPASS @V2D3931 00672000
  663. TM NICFLAG,NICENAB ACTIVE STATION @V2D3931 00673000
  664. BZR R10 NO, RETURN @V2D3931 00674000
  665. TM NICTYPE,NICRSPL IS THIS A REMOTE PRINTER @V2D3931 00675000
  666. BZ *+10 NO, CHECK RESOURCE IN SESSION @V2D3931 00676000
  667. NI NICFLAG,X'FF'-NICENAB CLEAR ENABLE FLAG @V2D3931 00677000
  668. BR R10 RETURN TO IN LINE CODE @V2D3931 00678000
  669. CLC NICUSER(4),ASYSVM IS THIS SYSTEM VMBLOK POINTER @V2D3931 00679000
  670. BNER R10 NO, SOMEBODY IS USING IT @V2D3931 00680000
  671. SR R0,R0 SET PARM REGISTER FOR STATION @V2D3931 00681000
  672. B CTLCALL GO CALL DMKRGFEN @V2D3931 00682000
  673. CONTN1 EQU * @V2D3931 00683000
  674. TM NICFLAG,NICSESN IS IT ONLY ENABLED RIGHT NOW@V200820 00684000
  675. BCR 1,R10 NO -- SOMEBODY IS USING IT @V200820 00685000
  676. LA R0,CRESIMD RESET IMMED WILL CLEAR CONTACT @V200820 00686000
  677. B CTLCALL GO CALL DMKRNHND @V200820 00687000
  678. EJECT 00688000
  679. NETVARY EQU * "NETWORK VARY RESOURCE ON|OFF|EP|NCP" @V200820 00689000
  680. CALL DMKSCNFD LOCATE THE OPTION WORD @V200820 00690000
  681. BNZ NET026E @V200820 00691000
  682. LR R4,R0 LENGTH... @V200820 00692000
  683. CL R4,F8 VALID ? @V200820 00693000
  684. BH NET026E NO -- @V200820 00694000
  685. BCTR R4,0 @V200820 00695000
  686. LA R5,VARYTBL TABLE OF POSSIBILITIES @V200820 00696000
  687. LA R14,VARYLEN @V200820 00697000
  688. LA R15,VARYEND @V200820 00698000
  689. NETVSCN EQU * SCAN FOR MATCH OF OPTION WORD @V200820 00699000
  690. EX R4,CLCR1R5 @V200820 00700000
  691. BNE NETVNXT NOT THIS ONE - SCAN FOR NEXT @V200820 00701000
  692. CH R4,8(0,R5) IS THE ABBREVIATION VALID ? @V200820 00702000
  693. BNL NETVRYF YES - GO PROCESS RESOURCES @V200820 00703000
  694. NETVNXT EQU * NEXT ENTRY IN TABLE @V200820 00704000
  695. BXLE R5,R14,NETVSCN SCAN THEM ALL @V200820 00705000
  696. B NET003E INVALID OPTION @V200820 00706000
  697. SPACE 00707000
  698. NETVRYF EQU * CHECK OUT SPECIFIED RESOURCES @V200820 00708000
  699. LH R5,10(0,R5) DISPLACEMENT TO SUBROUTINE @V200820 00709000
  700. ST R5,SAVEWRK5 SAVE FOR REPEATED USE @V200820 00710000
  701. BAL R10,SCANRID GET THE FIRST RESOURCE ID @V200820 00711000
  702. BNZ NET026E THERE MUST BE AT LEAST ONE @V200820 00712000
  703. B NETVRYS GO HANDLE ONE RESOURCE I.D. @V200820 00713000
  704. NETVRYN EQU * SCAN FOR THE NEXT RESOURCE I.D. @V200820 00714000
  705. TM SAVEWRK1,INACTV DID THE ACTIVATE FAIL ? @V200820 00715000
  706. BO NET040E YES - DEVICE IS STILL OFFLINE @V200820 00716000
  707. BAL R10,SCANRID SCAN AGAIN @V200820 00717000
  708. BNZ CMDCOMP ALL DONE IF NO MORE @V200820 00718000
  709. NETVRYS EQU * VARY ONE RESOURCE @V200820 00719000
  710. CL R7,RDEVNICL WAS THAT RESOURCE ZERO ? @V200820 00720000
  711. BE NET002R YES - NOT VALID @V200820 00721000
  712. L R5,SAVEWRK5 DISPLACMENT TO VARY SUBROUTINE @V200820 00722000
  713. LA R10,NETVRYN RETURN FROM THE SUBROUTINE @V200820 00723000
  714. B DMKNET(R5) DO IT TO IT @V200820 00724000
  715. SPACE 00725000
  716. CLCR1R5 CLC 0(*-*,R1),0(R5) EXECUTED COMPARE CHARACTER @V200820 00726000
  717. SPACE 2 00727000
  718. VARYTBL DS 0F NETWORK VARY OPTION TABLE @V200820 00728000
  719. DC C'ONLINE ',H'1',AL2(NETVRON-DMKNET) @V200820 00729000
  720. DC C'OFFLINE ',H'2',AL2(NETVOFF-DMKNET) @V200820 00730000
  721. DC C'EP ',H'1',AL2(NETVREP-DMKNET) @V200820 00731000
  722. VARYEND DC C'NCP ',H'2',AL2(NETVNCP-DMKNET) @V200820 00732000
  723. VARYLEN EQU *-VARYEND @V200820 00733000
  724. EJECT 00734000
  725. NETVRON EQU * NETWORK VARY RESOURCE ONLINE @V200820 00735000
  726. LR R6,R7 CURRENT NICBLOK POINTER @V200820 00736000
  727. NETVLIN EQU * FIND LINE ASSOCIATED WITH RESOURC@V200820 00737000
  728. TM NICTYPE-NICBLOK(R6),NICLINE IS THIS A LINE ? @V200820 00738000
  729. BO NETVLNB YES - GOT IT @V200820 00739000
  730. CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE ? @V2D3931 00740000
  731. BNE *+12 NO, GET ADDRESS OF NICBLOK @V2D3931 00741000
  732. TM NICTYPE-NICBLOK(R6),NICLGRP IS THIS A CLUSTER @V2D3931 00742000
  733. BO NETVLNB YES, GOT IT... @V2D3931 00743000
  734. SH R6,=AL2(NICSIZE*8) BACK UP ONE NICBLOK @V200820 00744000
  735. B NETVLIN KEEP LOOKING FOR A LINE@V200820 00745000
  736. NETVLNB EQU * CHECK FOR INACTIVE LINE @V200820 00746000
  737. OI SAVEWRK1,INACTV TURN ON FAILURE BIT FIRST @V240820 00747000
  738. CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE ? @V2D3931 00748000
  739. BNE *+12 NO, BYPASS 3270 SUPPORT @V2D3931 00749000
  740. NI NICSTAT-NICBLOK(R6),X'FF'-NICDISA CU ACTIVE @V2D3931 00750000
  741. B NETVRID GO ACTIVATE RESOURCE @V2D3931 00751000
  742. TM NICSTAT-NICBLOK(R6),NICEPMD LINE IN EP-MODE ? @V240820 00752000
  743. BOR R10 YES - CANNOT VARY @V240820 00753000
  744. TM NICSTAT-NICBLOK(R6),NICDISA ALREADY ACTIVE ? @V240820 00754000
  745. BZ NETVRID YES - ALL SET @V240820 00755000
  746. LR R9,R6 NICBLOK TO GR9 FOR DMKRNHND @V240820 00756000
  747. LA R0,CACTLIN ACTIVATE LINE COMMAND @V240820 00757000
  748. CALL DMKRNHND,PARM=0 WAIT FOR COMPLETION @VA01918 00758000
  749. BNZR R10 QUIT IF THE NCP FAILED @VA01918 00759000
  750. IC R2,CONSYSR-CONCCW3(,R1) SYSTEM RESPONSE CODE @VA01918 00760000
  751. LH R0,0(0,R1) SIZE OF THE BTU BUFFER @VA01918 00761000
  752. CALL DMKFRET RELEASE THE FREE STORAGE @VA01918 00762000
  753. STC R2,TEMPSAVE PUT THE RESPONSE CODE DOWN @VA01918 00763000
  754. CLI TEMPSAVE,X'60' DID THE ACTIVATE WORK ? @VA01918 00764000
  755. BE NETACTV YES -- LINE IS ACTIVE @VA01918 00765000
  756. CLI TEMPSAVE,X'99' WAS IT ALREADY ACTIVE ? @VA01918 00766000
  757. BNER R10 NO -- MUST HAVE FAILED @VA01918 00767000
  758. NETACTV EQU * LINE RESOURCE IS NOW ACTIVE @VA01918 00768000
  759. NI NICSTAT-NICBLOK(R6),255-NICDISA NOW ACTIVE @V240820 00769000
  760. B NETVRID GO CLEAR ERROR AND OFFLINE FLAGS @V2D3931 00770000
  761. SPACE 2 00771000
  762. NETVRON1 EQU * ENABLE THE BISYNC LINE @V2D3931 00772000
  763. OI SAVEWRK1,INACTV SET FAILURE FLAG @V2D3931 00773000
  764. TM SAVEWRK1+2,CPIALL IS THIS AN AUTOMATIC WARMSTART@V2D3931 00774000
  765. BZ ENABDEV NO, GO ENABLE BISYNC LINE @V2D3931 00775000
  766. TM RDEVFLAG,RDEVENAB IS THIS LINE ACTIVE ? @V2D3931 00776000
  767. BZR R10 NO, RETURN @V2D3931 00777000
  768. B ENABL GO ENABLE BISYNC LINE @V2D3931 00778000
  769. ENABDEV EQU * @V2D3931 00779000
  770. BAL R14,NET37XLD SEE IF 3705 LOADED @VA04552 00779300
  771. BNZR R10 NOT LOADED..RETURN @VA04552 00779600
  772. SWITCH ENSURE WE ARE ON THE MAIN PROC @V407511 00779800
  773. NI RDEVFLAG,X'FF'-RDEVDISB CLEAR DISABLE FLAG @V2D3931 00780000
  774. TM RDEVFLAG,RDEVENAB IS THIS BISYNC LINE ACTIVE @V2D3931 00781000
  775. BO NETVRID YES, GO CLEAR OFFLINE FLAG @V2D3931 00782000
  776. OI RDEVFLAG,RDEVENAB ENABLE BISYNC LINE @V2D3931 00783000
  777. ENABL EQU * @V2D3931 00784000
  778. LR R9,R7 GET ADDRESS OF NICBLOK @V2D3931 00785000
  779. L R0,F255 SET PARM REG FOR BISYNC LINE @V2D3931 00786000
  780. CALL DMKRGBEN,PARM=NORET @V305798 00787000
  781. BNZR R10 IF ERROR EXISTS @V2D3931 00788000
  782. NETVRID EQU * CHECK FOR ACTIVE DEVICE @V2D3931 00789000
  783. NI SAVEWRK1,X'FF'-INACTV ACTIVATED LINE O.K. @V2D3931 00790000
  784. NI NICSTAT,X'FF'-NICDISA RESOURCE WILL BE ACTIVATED@V2D3931 00791000
  785. BR R10 CONTINUE @V2D3931 00792000
  786. EJECT 00793000
  787. NETVOFF EQU * NETWORK VARY RESOURCE OFFLINE @V200820 00794000
  788. TM NICSTAT,NICDISA IS IT ALREADY OFFLINE ? @V200820 00795000
  789. BCR 1,R10 YES - COMMAND COMPLETE @V200820 00796000
  790. TM NICTYPE,NICLINE IS THE RESOURCE A LINE ? @V200820 00797000
  791. BZ NETVDOF NO -- THAT'S MUCH EASIER @V200820 00798000
  792. TM NICSTAT,NICEPMD IS THE LINE IN EP-MODE ? @V240820 00799000
  793. BO NET049E YES - CALL IT IN USE @V240820 00800000
  794. LR R6,R7 NICBLOK ADDRESS TO GR6 @V200820 00801000
  795. LA R14,NICSIZE*8 SIZE OF ONE NICBLOK @V200820 00802000
  796. LH R15,RDEVMAX HIGHEST RESOURCE ID VALID @V200820 00803000
  797. MH R15,=AL2(NICSIZE*8) COMPUTE HIGHEST VALID INDEX @V200820 00804000
  798. AL R15,RDEVNICL ...AND LAST NICBLOK ADDRESS @V200820 00805000
  799. BCTR R15,0 @V200820 00806000
  800. NETVLOF EQU * CHECK FOR ANY ACTIVE DEVICES @V200820 00807000
  801. BXH R6,R14,NETVLOK BRANCH IF AT THE END @V200820 00808000
  802. TM NICTYPE-NICBLOK(R6),NICLINE IS THIS NEXT LINE @V200820 00809000
  803. BO NETVLOK YES - MUST BE O.K.@V200820 00810000
  804. TM NICFLAG-NICBLOK(R6),NICENAB+NICSESN IN USE ?@V200820 00811000
  805. BNZ NET049E YES -- ERROR @V200820 00812000
  806. B NETVLOF KEEP CHECKING @V200820 00813000
  807. SPACE 2 00814000
  808. NETVLOK EQU * NO ACTIVE DEVICES ON THIS LINE @V200820 00815000
  809. LA R0,CDCTLIN DEACTIVATE LINE @V200820 00816000
  810. OI NICSTAT,NICDISA LINE WILL BE INACTIVE @V200820 00817000
  811. BAL R3,CHKSDR GO CHECK FOR SDR DATA @VA03757 00817100
  812. B CTLCALL GO CALL DMKRNHND @V200820 00818000
  813. SPACE 00819000
  814. NETVDOF EQU * VARY A DEVICE OFFLINE @V200820 00820000
  815. TM NICFLAG,NICENAB IS THIS RESOURCE ACTIVE @V2D3931 00821000
  816. BO NET049E YES, SEND ERROR MESSAGE @V2D3931 00822000
  817. CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00823000
  818. BE *+12 YES, BYPASS @V2D3931 00824000
  819. TM NICFLAG,NICSESN IS THIS RESOURCE ACTIVE @V2D3931 00825000
  820. BO NET049E YES, GO SEND ERROR MESSAGE @V2D3931 00826000
  821. OI NICSTAT,NICDISA DEVICE WILL BE OFFLINE @V200820 00827000
  822. BAL R3,CHKSDR GO CHECK FOR SDR DATA @VA03757 00827100
  823. BR R10 CONTINUE @VA01918 00828000
  824. EJECT 00829000
  825. *** TEST FOR POSSIBLE SDR DATA, IF PRESENT GO 00829100
  826. *** RECORD OBR RECORD SYNCHRONOUSLY.... 00829200
  827. SPACE 1 00829300
  828. CHKSDR EQU * @VA03757 00829400
  829. ICM R5,15,RDEVCTRS GET POINTER TO SDRBLOK @VA03757 00829500
  830. BNPR R3 RETURN IF NO SDRBLOK @VA03757 00829600
  831. CALL DMKIOESR GO RECORD OBR RECORD @VA03757 00829700
  832. BR R3 RETURN TO IN LINE CODE @VA03757 00829800
  833. SPACE 2 00829900
  834. NETVREP EQU * NETWORK VARY RESOURCE EP-MODE @V240820 00830000
  835. L R1,SAVEWRK9 PASS RESOURCE I.D. IN EBCDIC @VA01918 00831000
  836. CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00832000
  837. BE NET006E YES, SEND ERROR MESSAGE @V2D3931 00833000
  838. CALL DMKNESEP SWITCH THE LINE TO EP-MODE @VA01918 00834000
  839. LTR R2,R2 WERE THERE ANY ERRORS ? @VA01918 00835000
  840. BNZ NETCOMP YES - PASS BACK RETURN CODE @VA01918 00836000
  841. BR R10 CONTINUE COMMAND PROCESSING @VA01918 00837000
  842. SPACE 2 00838000
  843. NETVNCP EQU * NETWORK VARY RESOURCE NCP-MODE @V240820 00839000
  844. L R1,SAVEWRK9 PASS RESOURCE I.D. IN EBCDIC @VA01918 00840000
  845. CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00841000
  846. BE NET006E YES, SEND ERROR MESSAGE @V2D3931 00842000
  847. CALL DMKNESWN SWITCH LINE TO NCP-MODE @VA01918 00843000
  848. LTR R2,R2 WERE THERE ANY ERRORS ? @VA01918 00844000
  849. BNZ NETCOMP YES - PASS BACK RETURN CODE @VA01918 00845000
  850. BR R10 CONTINUE COMMAND PROCESSING @VA01918 00846000
  851. SPACE 2 00847000
  852. EJECT 00863000
  853. NETWALL EQU * SETUP TO LOOP THROUGH 370X DEVICE@V200820 00864000
  854. L R8,=A(DMKRIORN) DEVICE TABLE FOR 3705'S @V200820 00865000
  855. L R7,0(0,R8) COUNT OF 370X DEVICE ENTRIES @V200820 00866000
  856. LTR R7,R7 ARE THERE ANY AT ALL ? @V200820 00867000
  857. BNP NETMALL NO -- ALL HAVE BEEN PROCESSED @V200820 00868000
  858. SLL R7,2(0) CONVERT TO MAXIMUM INDEX @V200820 00869000
  859. LA R7,0(R7,R8) POINT TO LAST ENTRY @V200820 00870000
  860. STM R7,R8,SAVEWRK7 SAVE POINTERS IN SAVE-AREA @V200820 00871000
  861. MVI SAVEWRK1+1,X'FF' SET DEVICE CODE TO X'-1' @V200820 00872000
  862. SPACE 2 00873000
  863. NETFALL EQU * LOOP THRU ALL DEVICES, ALL LINES @V200820 00874000
  864. LM R7,R8,SAVEWRK7 PICK UP DMKRIO POINTERS @V200820 00875000
  865. LA R8,4(0,R8) NEXT ENTRY IN DEVICE TABLE @V200820 00876000
  866. CLR R8,R7 HAVE WE HIT THE END ? @V200820 00877000
  867. BH NETMALL YES - ALL HAVE BEEN PROCESSED @V200820 00878000
  868. STM R7,R8,SAVEWRK7 RESET POINTERS FOR NEXT PASS @V200820 00879000
  869. SLR R7,R7 @V200820 00880000
  870. IC R7,SAVEWRK1+1 PICK UP PREVIOUS DEVICE CODE @V200820 00881000
  871. LA R7,1(0,R7) THIS IS THE NEXT 370X @V200820 00882000
  872. STC R7,SAVEWRK1+1 RESET FOR FORMATTING USE @V200820 00883000
  873. LH R8,0(0,R8) PICK UP DISPLACEMENT TO RDEVBLOK @V200820 00885000
  874. SLL R8,3(0) CONVERT TO BYTE INDEX @V200820 00886000
  875. AL R8,ARIODV INDEX TO THE RDEVBLOK @V200820 00887000
  876. TM RDEVSTAT,RDEVDED OK? @VA13702 00888100
  877. BNZ NETFALL NO -- @V200820 00889000
  878. CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00890000
  879. BNE NETE375 NO..CHECK OUT NCP @VA04552 00891100
  880. BAL R14,NET37XLD SEE IF 3705 LOADED @VA04552 00891200
  881. BNZ NETFALL NOT LOADED..SKIP THIS ENTRY @VA04552 00891300
  882. B NETNICL CONTINUE... @VA04552 00891400
  883. NETE375 EQU * @VA04552 00891500
  884. TM RDEVFLAG,RDEVLNCP IS THERE AN NCP ACTIVE ? @V200820 00892000
  885. BZ NETFALL NO -- NO RESOURCES @V200820 00893000
  886. NETNICL EQU * @VA04552 00893500
  887. L R7,RDEVNICL FIRST NICBLOK = RESOURCE ZERO @V200820 00894000
  888. CR R7,R7 SET CONDITION CODE ZERO @V200820 00895000
  889. BR R10 RETURN TO CALLER @V200820 00896000
  890. SPACE 00897000
  891. NETMALL EQU * ALL 370X DEVICES HAVE BEEN DONE @V200820 00898000
  892. SLR R8,R8 SET CONDITION CODE TWO (LOGICAL) @V200820 00899000
  893. BR R10 RETURN @V200820 00900000
  894. EJECT 00901000
  895. SCANRID EQU * SCAN FOR RID - LOCATE NICBLOK @V200820 00902000
  896. L R9,SAVER9 MAKE SURE WE HAVE THE BUFFER @V240820 00903000
  897. CALL DMKSCNFD SCAN FOR NEXT PARAMETER @V200820 00904000
  898. BCR 7,R10 IF NO MORE - RETURN @V200820 00905000
  899. SCANCVT EQU * ENTRY AFTER CALL TO DMKSCNFD @V200820 00906000
  900. LR R2,R0 SAVE LENGTH AND ADDRESS FOR MSGS @V200820 00907000
  901. LR R3,R1 ... @V200820 00908000
  902. CL R0,F4 FIELD MUST BE FOUR CHARACTERS @V240820 00909000
  903. BNE NET002R NOPE - ERROR @V240820 00910000
  904. MVC SAVEWRK9(4),0(R1) SAVE THE RESOURCE I.D. @V240820 00911000
  905. CALL DMKCVTHB CONVERT ENTIRE FIELD TO BINARY @V200820 00913000
  906. BNZ NET002R INVALID OPERAND @V200820 00914000
  907. LR R7,R1 @V200820 00915000
  908. N R7,F4095 ISOLATE RESOURCE ID PORTION @V200820 00916000
  909. SRL R1,12(0) ...AND DEVICE CODE INDICATOR @V200820 00917000
  910. STC R1,SAVEWRK1+1 SAVE DEVICE CODE @VA04763 00917100
  911. LA R1,1(0,R1) ADD ONE FOR INDEXING @V200820 00918000
  912. L R4,=A(DMKRIORN) TABLE OF 3705 RDEVBLOK'S @V200820 00919000
  913. CL R1,0(0,R4) IS THIS A VALID CODE ? @V200820 00920000
  914. BH NET040E NO -- DEVICE DOES NOT EXIST @V200820 00921000
  915. SLL R1,2(0) CONVERT TO FULL-WORD INDEX @V200820 00922000
  916. LH R8,0(R1,R4) PICK UP DISPLACEMENT TO RDEVBLOK @V200820 00923000
  917. SLL R8,3(0) CONVERT TO BYTE INDEX @V200820 00924000
  918. AL R8,ARIODV ...COMPUTE RDEVBLOK ADDRESS @V200820 00925000
  919. TM SAVEWRK1+2,NOTACPT IS NOT ACCEPTED FLAG ON ? @VM01055 00926000
  920. BZ *+12 NO, CONTINUE PROCESSING @VM01055 00927000
  921. CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE ? @VM01055 00928000
  922. BE NET006R YES, SEND INVALID DEVICE TYPE @VM01055 00929000
  923. TM RDEVSTAT,RDEVDISA IS THE 3705 OFFLINE ? @V200820 00930000
  924. BO NET046E YES -- DMKNET046E @V200820 00931000
  925. TM RDEVSTAT,RDEVDED IS 3705 ATTACHED TO A USER ?@V200820 00932000
  926. BO NET140E YES -- DMKNET140E @V200820 00933000
  927. CLI RDEVTYPC,CLASTERM IS THIS A BISYNC LINE @V2D3931 00934000
  928. BE *+12 YES, BYPASS @V2D3931 00935000
  929. TM RDEVFLAG,RDEVLNCP IS THERE AN NCP ACTIVE ? @V200820 00936000
  930. BZ NET040E NO -- DEV DOES NOT EXIST @V200820 00937000
  931. CH R7,RDEVMAX WITHIN DEFINED RANGE ? @V200820 00938000
  932. BH NET040E NO -- @V200820 00939000
  933. MH R7,=AL2(NICSIZE*8) COMPUTE INDEX TO NICBLOK @V200820 00940000
  934. AL R7,RDEVNICL ...AND ADDRESS @V200820 00941000
  935. SR R0,R0 SET CC = 0 @V200820 00942000
  936. BR R10 RETURN TO CALLER @V200820 00943000
  937. EJECT 00944000
  938. CMDCOMP EQU * COMMAND IS COMPLETE @V200820 00945000
  939. TM SAVEWRK1+2,CPIALL IS THIS AN AUTOMATIC WARMSTART@V2D3931 00946000
  940. BO RETCOMP YES, BYPASS SEND COMPLETE MESSAGE@V2D3931 00947000
  941. TM VMOSTAT,VMVIRCF DIAGNOSE CONSOLE FUNCTION ? @V200820 00948000
  942. BO RETCOMP YES - SUPPRESS THE MESSAGE @V200820 00949000
  943. MSG 'COMMAND COMPLETE' VERIFICATION MESSAGE @V200820 00950000
  944. CALL DMKQCNWT,PARM=NORET @V200820 00951000
  945. SPACE 00952000
  946. RETCOMP EQU * SET RETURN CODE, EXIT @V200820 00953000
  947. SLR R2,R2 RETURN CODE = ZERO @V200820 00954000
  948. NETCOMP EQU * @VA01918 00955000
  949. ST R2,SAVER2 @V200820 00956000
  950. EXIT , RETURN TO DMKCFM @V200820 00957000
  951. SPACE 00957050
  952. NET37XLD EQU * @VA04552 00957100
  953. STM R0,R15,TEMPSAVE SAVE REGS @VA04552 00957150
  954. LH R1,RDEVBASE 370X BASE ADDRESS @VA04552 00957200
  955. CALL DMKSCNRU SEE IF IT EXISTS @VA04552 00957250
  956. BNZ NETLDC0 ASSUME 270X LINE @VA04552 00957300
  957. CLC RDEVTYPC(2),=AL2(CLASSPEC*256+TYP3705) 3705 ? @VA04552 00957350
  958. BNE NETLDC0 NO..ASSUME 270X... @VA04552 00957400
  959. TM RDEVSTAT,RDEVDISA 3705 ONLINE ? @VA04552 00957450
  960. BNZ NETLDC0 NO..ASSUME 270X IS... @VA04552 00957500
  961. TM RDEVFLAG,RDEVAUTO AUTO LOAD ENABLED? @VA08830 00957510
  962. BZ NETLDC0 NO, ASSUME UNIT IS PRELOADED @VA08830 00957520
  963. TM RDEVSTAT,RDEVNRDY 370X LOADED YET ? @VA04552 00957550
  964. BNZ NETLDRT NO...EXIT WITH NON ZERO CC @VA04552 00957600
  965. NETLDC0 SR R0,R0 SET CC = 0 @VA04552 00957650
  966. NETLDRT LM R0,R15,TEMPSAVE RESTORE REGS @VA04552 00957700
  967. BR R14 RETURN @VA04552 00957750
  968. EJECT 00958000
  969. NET002R EQU * @V200820 00959000
  970. LR R0,R2 RECOVER ORIGINAL LENGTH @V200820 00960000
  971. LR R1,R3 ...AND DATA ADDRESS @V200820 00961000
  972. NET002E EQU * DMKNET002E INVALID OPERAND - OPERAND @V200820 00962000
  973. LA R2,002(0) MESSAGE NUMBER @V200820 00963000
  974. B MSGSEND R0, R1 ALREADY SETUP @V200820 00964000
  975. SPACE 00965000
  976. NET003E EQU * DMKNET003E INVALID OPTION - OPTION @V200820 00966000
  977. LA R2,003(0) MESSAGE NUMBER @V200820 00967000
  978. B MSGSEND R0, R1 ALREADY SETUP @V200820 00968000
  979. SPACE 00969000
  980. NET006E EQU * DMKNET006E INVALID DEVICE TYPE - XXX @V200820 00970000
  981. BAL R9,CVTRADD GET DEVICE ADDRESS IN EBCDIC @V200820 00971000
  982. LA R2,006(0) MESSAGE NUMBER @V200820 00972000
  983. B MSGSEND @V200820 00973000
  984. SPACE 00974000
  985. NET006R EQU * DMKNET006E INVALID DEVICE TYPE - XXXX @V200820 00975000
  986. LA R1,SAVEWRK9 POINT TO THE OPERAND @V240820 00976000
  987. LA R0,4(0) LENGTH OF FOUR BYTES @V240820 00977000
  988. LA R2,006(0) MESSAGE= DMKNET006E @V200820 00978000
  989. B MSGSEND GO TYPE THE MESSAGE @V200820 00979000
  990. SPACE 00980000
  991. NET026E EQU * DMKNET026E OPERAND MISSING OR INVALID @V200820 00981000
  992. LA R2,026(0) MESSAGE NUMBER @V200820 00982000
  993. B MSGONLY NO VARIABLE DATA @V200820 00983000
  994. SPACE 00984000
  995. NET040E EQU * DMKNET040E DEV ADDR DOES NOT EXIST @V200820 00985000
  996. LA R1,SAVEWRK9 RESOURCE REFERENCE IN SAVEWRK9 @VA01918 00986000
  997. LA R0,4(0) FOUR-BYTE FIELD @VA01918 00987000
  998. LA R2,040(0) MESSAGE NUMBER @V200820 00988000
  999. B MSGSEND @V200820 00989000
  1000. EJECT 00990000
  1001. NET046R EQU * DMKNET046E DEV RID OFFLINE @VM01011 00991000
  1002. BAL R10,CVTRESD BUILD 'DEV RID' IN THE SAVEAREA @VM01011 00992000
  1003. B NET046 SETUP TO TYPE ERROR MESSAGE @VM01011 00993000
  1004. SPACE 00994000
  1005. NET046E EQU * DMKNET046E CTLR RADDR OFFLINE @V200820 00995000
  1006. BAL R10,TYPRADD BUILD PARMS FOR DMKERMSG @VM01011 00996000
  1007. NET046 EQU * @VM01011 00997000
  1008. LA R0,8 @V200820 00998000
  1009. LA R2,046(0) MESSAGE NUMBER @V200820 00999000
  1010. B MSGSEND @V200820 01000000
  1011. SPACE 01001000
  1012. NET049E EQU * DMKNET049E LINE RID IN USE @V200820 01002000
  1013. BAL R10,CVTRESD BUILD PARM STRING FOR DMKERM @VM01011 01003000
  1014. LA R2,049(0) MESSAGE NUMBER @V200820 01004000
  1015. B MSGSEND @V200820 01005000
  1016. SPACE 01006000
  1017. NET140E EQU * DMKNET140E CTLR XXX ATTACHED TO USERID @V200820 01007000
  1018. BAL R10,TYPRADD BUILD PARM STRING FOR DMKERM @VM01011 01008000
  1019. L R2,RDEVUSER-RDEVBLOK(,R8) GET USER'S VMBLOK @V200820 01009000
  1020. MVC SAVEWRK4+1(8),VMUSER-VMBLOK(R2) MOVE IN USERID @V200820 01010000
  1021. MVI SAVEWRK4,X'00' FIELD DELIMITER @V200820 01011000
  1022. LA R0,17 VARIABLE DATA LENGTH @V200820 01012000
  1023. LA R2,140(0) MESSAGE NUMBER @V200820 01013000
  1024. B MSGSEND @V200820 01014000
  1025. EJECT 01015000
  1026. TYPRADD EQU * BUILD PARMS FOR 'TYPE RADDR' @VM01011 01016000
  1027. BAL R9,CVTRADD GET DEVICE ADDRESS IN SAVEWRK3 @VM01011 01017000
  1028. MVC SAVEWRK2(4),=C'CTLR' DEVICE TYPE NAME @VM01011 01018000
  1029. LA R1,SAVEWRK2 POINT TO STRING START @VM01011 01019000
  1030. LA R0,8(0) LENGTH @VM01011 01020000
  1031. CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS ? @V2D3931 01021000
  1032. BNER R10 NO, RETURN TO IN LINE CODE @V2D3931 01022000
  1033. MVC SAVEWRK2(4),=C'LINE' LINE TYPE NAME @V2D3931 01023000
  1034. BR R10 . . . @VM01011 01024000
  1035. SPACE 01025000
  1036. CVTRADD EQU * CONVERT RADDR TO EBCDIC @V200820 01026000
  1037. CALL DMKSCNRD GET ADDRESS IN BINARY @V200820 01027000
  1038. CALL DMKCVTBH CONVERT IT TO EBCDIC HEX @V200820 01028000
  1039. ST R1,SAVEWRK3 PUT IT IN THE SAVE-AREA @VM01011 01029000
  1040. MVI SAVEWRK3,X'00' INSERT A DELIMITER @VM01011 01030000
  1041. LA R1,SAVEWRK3+1 START OF THE ACTUAL ADDRESS @VM01011 01031000
  1042. LA R0,3(0) GIVE IT'S LENGTH... @V200820 01032000
  1043. BR R9 RETURN TO CALLER @V200820 01033000
  1044. SPACE 01034000
  1045. CVTRESD EQU * BUILD PARMS FOR 'DEV RESOURCE' @VM01011 01035000
  1046. MVC SAVEWRK8(3),=C'DEV ' RID IS A 'DEV' @VM01011 01036000
  1047. MVI SAVEWRK8+3,X'00' RESOURCE IS IN SAVEWRK9 @VM01011 01037000
  1048. LA R1,SAVEWRK8 POINT TO THE DATA STRING @VM01011 01038000
  1049. LA R0,8(0) EIGHT BYTES LONG @VM01011 01039000
  1050. BR R10 @VM01011 01040000
  1051. SPACE 01041000
  1052. MSGONLY EQU * ERROR MSG WITH NO VARIABLE DATA @V200820 01042000
  1053. SLR R1,R1 NO VARIABLE DATA @V200820 01043000
  1054. SPACE 01044000
  1055. MSGSEND EQU * TYPE AN ERROR MESSAGE @V200820 01045000
  1056. ICM R0,B'1110',MODID+3 PICK UP MODULE IDENTIFIER @V200820 01046000
  1057. CALL DMKERMSG GO TO ERROR MESSAGE ROUTINE @V200820 01047000
  1058. * HE WILL RETURN DIRECTLY TO DMKCFM 01048000
  1059. EJECT 01049000
  1060. **************************************************************** 01050000
  1061. * 01051000
  1062. * SUBROUTINE NAME - 01052000
  1063. * 01053000
  1064. * DMKNETAE - ENABLE SYSTEM BISYNC LINES AND REMOTE STATIONS. 01054000
  1065. * 01055000
  1066. * ATTRIBUTES - 01056000
  1067. * RE-ENTRANT, PAGEABLE, CALLED VIA SVC FROM DMKCPI 01057000
  1068. * 01058000
  1069. * ENTRY CONDITIONS - 01059000
  1070. * 01060000
  1071. * GR13 = STANDARD SAVEAREA ADDRESS 01061000
  1072. * GR12 = ADDRESS OF DMKNETAE 01062000
  1073. * 01063000
  1074. * EXIT CONDITIONS - 01064000
  1075. * 01065000
  1076. * GR0-13 RESTORED 01066000
  1077. * 01067000
  1078. * CALLS TO OTHER ROUTINES - 01068000
  1079. * 01069000
  1080. * DMKRGBEN - TO ENABLE THE BISYNC LINES AND REMOTE STATIONS 01070000
  1081. * 01071000
  1082. * EXTERNAL REFERENCES - 01072000
  1083. * 01073000
  1084. * NONE 01074000
  1085. * 01075000
  1086. * TABLES / WORK AREAS - 01076000
  1087. * 01077000
  1088. * NONE 01078000
  1089. * 01079000
  1090. * REGISTER USAGE - 01080000
  1091. * 01081000
  1092. * GR14,15 EXTERNAL LINKAGE REGISTERS 01082000
  1093. * GR13 - SAVEAREA ADDRESSABILITY 01083000
  1094. * GR12 - MODULE BASE ADDRESSABILITY 01084000
  1095. * GR11 - VMBLOK ADDRESSABILITY 01085000
  1096. * GR 9 - NICBLOK ADDRESSABILITY 01086000
  1097. * GR 8 - RDEVBLOK ADDRESSABILITY 01087000
  1098. * GR 2 - PARM FIELD INDICATOR WHEN CALLING DMKRGBEN 01088000
  1099. * GR 0 - INDICATE REMOTE STATION OR BISYNC LINE REQUEST 01089000
  1100. * 01090000
  1101. * NOTES - 01091000
  1102. * 01092000
  1103. * NONE 01093000
  1104. * 01094000
  1105. * OPERATION - 01095000
  1106. * 01096000
  1107. * 1. SET FLAG (CPIALL) IN SAVEAREA1+2 TO INDICATE ENABLE 01097000
  1108. * OPERATION VIA CALL FROM DMKCPI. THEN ENTER ENABLE 01098000
  1109. * ROUTINE AT LABEL NETEALL. 01099000
  1110. * 01100000
  1111. * 2. THE ENABLE SUBROUTINE WILL SCAN ALL BISYNC LINE 01101000
  1112. * RDEVBLOKS. ONLY THE RDEVBLOK S HAVING THE ENABLE 01102000
  1113. * FLAG ON WILL BE ENABLED. (THE ENABLE FLAG IS SET 01103000
  1114. * ON BY DMKWRM DURING SYSTEM RESTART.) 01104000
  1115. * 01105000
  1116. * RESPONSES - 01106000
  1117. * 01107000
  1118. * NONE 01108000
  1119. * 01109000
  1120. * ERROR MESSAGES - 01110000
  1121. * 01111000
  1122. * NONE 01112000
  1123. * 01113000
  1124. ****************************************************************** 01114000
  1125. EJECT 01115000
  1126. DMKNETAE RELOC @V2D3931 01116000
  1127. MVC SAVEWRK1(4),ZEROES ZERO FLAG FIELD @V2D3931 01117000
  1128. MVI SAVEWRK1,ENABLE SET THE ENABLE FLAG @V2D3931 01118000
  1129. MVI SAVEWRK1+2,CPIALL CALLED FROM DMKCPI @V2D3931 01119000
  1130. B NETEALL GO TO ENABLE SECTION @V2D3931 01120000
  1131. EJECT 01121000
  1132. * BITS DEFINED IN SAVEWRK1 FOR NETWORK QUERY: 01122000
  1133. QRYACTV EQU X'80' FORMAT ACTIVE DEVICES ONLY @V200820 01123000
  1134. QRYOFFL EQU X'40' FORMAT OFFLINE DEVICES ONLY @V200820 01124000
  1135. QRYFREE EQU X'20' FORMAT FREE DEVICES ONLY @V200820 01125000
  1136. QRYRIDS EQU X'10' FORMAT INDIVIDUAL RESOURCES @V200820 01126000
  1137. QRYALL EQU X'08'+QRYACTV+QRYFREE+QRYOFFL QUERY ALL @V200820 01127000
  1138. QRYDONE EQU X'04' HAVE CREATED SOME OUTPUT @V200820 01128000
  1139. SPACE 01129000
  1140. * BITS DEFINED IN SAVEWRK1 FOR ENABLE / DISABLE / VARY: 01130000
  1141. ENABLE EQU X'80' NETWORK ENABLE COMMAND @V200820 01131000
  1142. SKIPBSC EQU X'40' SKIPPING OVER BISYNCH LINE @V200820 01132000
  1143. INACTV EQU X'20' ACTIVATE FAILED FOR LINE @V200820 01133000
  1144. ENDONE EQU X'10' RESOURCE WAS ENABLED OR DISABLED @V200820 01134000
  1145. SPACE 1 01135000
  1146. * BIT DEFINED IN SAVEWRK1+2 FOR AUTOMATIC WARMSTART 01136000
  1147. CPIALL EQU X'80' CALLED FROM DMKCPI (AUTOMATIC @V2D3931 01137000
  1148. * WARMSTART) 01138000
  1149. NOTACPT EQU X'40' COMMAND NOT ACCEPTED FOR 3270R @VM01055 01139000
  1150. SPACE 01140000
  1151. LTORG @V200820 01141000
  1152. EJECT 01142000
  1153. COPY NETWORK @V200820 01143000
  1154. COPY IOBLOKS @V306638 01144000
  1155. COPY RBLOKS @V200820 01145000
  1156. COPY VMBLOK @V200820 01146000
  1157. * EQUATES USED FOR COMMAND CLASSES: 01147000
  1158. A EQU VMCLASSA SYSTEM OPERATOR @V200820 01148000
  1159. B EQU VMCLASSB RESOURCE CONTROL OPERATOR @V200820 01149000
  1160. C EQU VMCLASSC SYSTEM PROGRAMMER @V200820 01150000
  1161. D EQU VMCLASSD SPOOL CONTROL OPERATOR @V200820 01151000
  1162. E EQU VMCLASSE SYSTEM EXAMINER @V200820 01152000
  1163. F EQU VMCLASSF PROGRAM SUPPORT REPRESENTATIVE @V200820 01153000
  1164. G EQU VMCLASSG GENERAL USERS @V200820 01154000
  1165. EJECT 01155000
  1166. COPY BTUCMD @V200820 01156000
  1167. COPY EQU @V200820 01157000
  1168. COPY DEVTYPES @V200820 01158000
  1169. COPY SAVE @V200820 01159000
  1170. PSA @V200820 01160000
  1171. END DMKNET 01161000
ibm/vm370-lib/cp/dmknet.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator