Table of Contents

DMKLOH Source

References

Source Listing

DMKLOH.ASSEMBLE.txt
  1. LOH TITLE 'DMKLOH (CP) VM/370 - RELEASE 6' 00001000
  2. ISEQ 73,80 VALIDATE SEQUENCING OF SOURCE 00002000
  3. *. 00003000
  4. * MODULE NAME - 00004000
  5. * 00005000
  6. * DMKLOH - ISSUE MESSAGES TO A USER (OR THE OPERATOR). 00006000
  7. * 00007000
  8. * FUNCTION - 00008000
  9. * 00009000
  10. * TO CONSTRUCT AND SEND LOGON RELATED MESSAGES TO A USER 00010000
  11. * (OR THE OPERATOR). 00011000
  12. * 00012000
  13. * ATTRIBUTES - 00013000
  14. * 00014000
  15. * REENTRANT, PAGEABLE, CALLED VIA SVC 00015000
  16. * 00016000
  17. * ENTRY POINTS - 00017000
  18. * 00018000
  19. * DMKLOHON - ISSUE LOGON RELATED MESSAGES. 00019000
  20. * 00020000
  21. * DMKLOHRC - TO UPDATE VMBLOKS TO RECONNECT A DISCONNECTED USER 00020100
  22. * (SEE COMMENT BLOCK IN DMKLOHRC FOR VITAL INFO). 00020200
  23. * 00020300
  24. * 00020400
  25. * DMKLOHSS - MSS DISK ALLOCATION AFTER A MOUNT @VA09593 00020500
  26. * 00020600
  27. * ENTRY CONDITIONS - 00021000
  28. * 00022000
  29. * GPR 2 = CONTENTS OF DMKLOG'S SAVEWRK1 00023000
  30. * GPR 9 = ADDRESS OF FREE STORAGE 00024000
  31. * GPR 11 = ADDRESS OF USER'S VMBLOK 00025000
  32. * GPR 12 = ADDRESS OF DMKLOGON OR DMKLOGOP 00026000
  33. * GPR 13 = ADDRESS OF STANDARD SAVE AREA 00027000
  34. * 00028000
  35. * EXIT CONDITIONS - 00029000
  36. * 00030000
  37. * APPROPRIATE LOGON MESSAGES SENT TO USER AND SYSTEM OPERATOR. 00031000
  38. EJECT 00032000
  39. * CALLS TO OTHER ROUTINES - 00033000
  40. * 00034000
  41. * DMKCQRFI - SEND MESSAGE TO USER FOR SPOOL FILES IF ANY 00035000
  42. * DMKCVTBD - CONVERT FROM BINARY TO PRINTABLE DECIMAL 00036000
  43. * DMKCVTBH - CONVERT FROM BINARY TO PRINTABLE HEX 00037000
  44. * DMKCVTDT - OBTAIN DATE-TIME 00038000
  45. * DMKFRET - RETURN UNUSED VMBLOK TO FREE STORAGE 00039000
  46. * DMKSCNRD - TO CONVERT TERMINAL DEVICE ADDRESS TO CCU FORM 00040000
  47. * DMKQCNWT - SEND MESSAGE TO USER TERMINAL 00041000
  48. * DMKERMSG - SEND ERROR MESSAGE TO USER @VA09593 00041050
  49. * DMKSCNRU - FIND RDEVBLOK FOR A DEDICATED DEVICE @VA09593 00041100
  50. * DMKSCNVU - FIND VIRTUAL DEVICE BLOCKS @VA09593 00041150
  51. * DMKSTKCP - STACK A CPEXBLOK FOR DMKDSP @VA09593 00041200
  52. * DMKVDSAT - ATTACH A VIRTUAL DEVICE @VA09593 00041250
  53. * DMKSCHRT - TO PREVENT WAKE UP TO A DEV (REMOVE TRQBLOK 00041450
  54. * FROM QUEUE). 00041650
  55. * EXTERNAL REFERENCES - 00042000
  56. * 00043000
  57. * DMKSYSTI - TIME ZONE IDENTIFIER 00044000
  58. * 00045000
  59. * TABLES / WORK AREAS - 00046000
  60. * 00047000
  61. * NONE 00048000
  62. EJECT 00049000
  63. * REGISTER USAGE - 00050000
  64. * 00051000
  65. * GPR 8 = ADDRESS OF TERMINAL RDEVBLOK, AND OTHER USE 00052000
  66. * GPR 9 = ADDRESS OF FREE STORAGE ADDRESS 00053000
  67. * GPR 11 = ADDRESS OF USER'S VMBLOK 00054000
  68. * GPR 12 = BASE REGISTER 00055000
  69. * GPR 13 = ADDRESS OF STANDARD SAVE AREA 00056000
  70. * 00057000
  71. * GPRS 0-1, 3-7, 10, AND 14-15 ARE WORK REGISTERS 00058000
  72. * 00059000
  73. * NOTES - 00060000
  74. * 00061000
  75. * NONE. 00062000
  76. * 00063000
  77. * OPERATION - 00064000
  78. * 00065000
  79. * IF THE USER WAS RUNNING DISCONNECTED, A MESSAGE IS SENT TO 00066000
  80. * THE USER THAT HE HAS BEEN RECONNECTED AND TO THE 00067000
  81. * OPERATOR THAT THE GIVEN USER HAS BEEN RECONNECTED. 00068000
  82. * 00069000
  83. * THE DATE/TIME AT WHICH THE SYSTEM LOG MESSAGE (LOGMSG) 00070000
  84. * WAS GENERATED OR MOST RECENTLY REVISED IS THEN TYPED AT 00071000
  85. * THE USER'S TERMINAL, EXCEPT FOR AUTOLOG USERS WITH NO REAL 00072000
  86. * TERMINAL. 00073000
  87. * 00074000
  88. * IF ANY LINES OF THE SYSTEM LOG MESSAGE START WITH AN '*' 00075000
  89. * (INDICATING THEY ARE OF A HIGH PRIORITY), THEY ARE TYPED 00076000
  90. * AT THE USER'S TERMINAL AT THIS POINT. (OTHERWISE, MERELY 00077000
  91. * DATE/TIME OF THE LOG MESSAGE IS GIVEN.) 00078000
  92. * 00079000
  93. * THEN, IF ANY FILES EXIST IN HIS READER, PRINTER, 00080000
  94. * OR PUNCH, THIS INFORMATION IS TYPED AT HIS TERMINAL. 00081000
  95. * 00082000
  96. * NEXT, THE 'READY AT ... TIME ... DATE' MESSAGE IS SENT 00083000
  97. * TO THE USER, AND A MESSAGE IS SENT TO THE SYSTEM OPERATOR 00084000
  98. * INDICATING THAT THE USER HAS BEEN LOGGED ON. 00085000
  99. * 00085100
  100. * 00085200
  101. * CHANGE ACTIVITY - 00085300
  102. * 00085400
  103. * 1. APAR 13723: SPLIT OF DMKLOG AT LABEL LOG07A. CODE PLACED 00085500
  104. * INTO DMKLOHRC. 07-24-81 00085600
  105. * 00085700
  106. * 00085800
  107. * 00086000
  108. EJECT 00087000
  109. * MESSAGES - 00088000
  110. * 00089000
  111. * NORMAL RESPONSES: 00090000
  112. * 00091000
  113. * 'LOGMSG - HH:MM:SS TID WEEKDAY MM/DD/YY' 00092000
  114. * 00093000
  115. * 'LOGON AT HH:MM:SS TID WEEKDAY MM/DD/YY' 00094000
  116. * OR 00095000
  117. * 'RECONNECTED AT HH:MM:SS TID WEEKDAY MM/DD/YY' 00096000
  118. * 00097000
  119. * MESSAGES SENT TO SYSTEM OPERATOR: 00098000
  120. * 00099000
  121. * 'TYPE RADDR LOGON AS USERID USERS = NNN' 00100000
  122. * OR 00101000
  123. * 'TYPE RADDR RECONNECT USERID USERS = NNN' 00102000
  124. *. 00103000
  125. EJECT 00104000
  126. COPY OPTIONS 00105000
  127. COPY LOCAL 00106000
  128. SPACE 3 00107000
  129. DMKLOH CSECT 00108000
  130. SPACE 00109000
  131. DC CL8'DMKLOH' PAGEABLE MODULE IDENTIFIER @V200820 00110000
  132. SPACE 00111000
  133. EXTRN DMKSYSTI,DMKCVTBD,DMKCVTDT,DMKCQRFI,DMKCVTAB 00112000
  134. EXTRN DMKSCNRD,DMKCVTBH 00113000
  135. EXTRN DMKERMSG,DMKSCNRU,DMKSCNVU @VA09593 00113050
  136. EXTRN DMKSTKCP,DMKVDSAT @VA09593 00113100
  137. EXTRN DMKSCHRT @VA13723 00113500
  138. SPACE 00114000
  139. USING PSA,R0 FOR ALL ENTRIES 00115000
  140. USING VMBLOK,R11 " 00116000
  141. USING DMKLOH,R12 00117000
  142. USING SAVEAREA,R13 " 00118000
  143. EJECT 00119000
  144. DMKLOHON RELOC LOGON A USER 00120000
  145. ST R2,SAVEWRK1 SAVE FLAGS SET BY DMKLOG 00121000
  146. ST R3,SAVEWRK8 SAVE AUTOLOG CMD ISSUER'S VMBLOK @VMD0139 00121200
  147. * ADDRESS 00121400
  148. ST R4,SAVEWRK9 SAVE VMBLOK ADDR OF DMKLOG'S @VMD0139 00121600
  149. * CALLER 00121800
  150. LOH01 DS 0H 00122000
  151. * HANDLE SYSTEM LOG MESSAGE: 00123000
  152. L R4,ASYSLC REFERENCE SYSLOC INFO @VM03066 00124000
  153. USING SYSLOCS,R4 ... 00125000
  154. SR R7,R7 CLEAR R7 (FOR EX-MVC USE) @VA04247 00126000
  155. L R3,DMKSYSLG GET POINTER TO 1ST LOG MESSAGE BLOCK 00127000
  156. LTR R3,R3 ANYTHING THERE AT ALL ? 00128000
  157. BZ LOH05 IF NOT, FORGET THE WHOLE THING. 00129000
  158. LR R10,R9 SET R10 FROM R9 TO CONSTRUCT MESSAGE 00130000
  159. MVC 0(L'NR1,R10),NR1 SET: LOGMSG - 00131000
  160. MVC L'NR1(8,R10),DMKSYSTM TIME 00132000
  161. LA R10,L'NR1+8(,R10) (BUMP R10 FOR 'LOGMSG - ' & TIME) 00133000
  162. MVC 0(5,R10),BLANKS BLANK-FILL WHERE TIME-ZONE WILL GO 00134000
  163. L R15,=A(DMKSYSTI) GET ADDR OF TIME ZONE IDENTIFIER 00135000
  164. MVC 1(3,R10),0(R15) MOVE TO MSG 00136000
  165. LA R10,5(,R10) AND ADVANCE TO WHERE TO PUT WEEKDAY 00137000
  166. IC R7,DMKSYSLW+1 GET NUMBER OF BYTES (LESS 1) IN WEEKDAY 00138000
  167. LA R6,DMKSYSLW+2 POINT AT THE WEEKDAY FOR THE LOG MSG, 00139000
  168. EX R7,MVCMSG MOVE IN THE WEEKDAY 00140000
  169. LA R10,1(R10,R7) BUMP R10 TO NEXT FIELD 00141000
  170. MVI 0(R10),C' ' PUT IN A BLANK 00142000
  171. MVC 1(8,R10),DMKSYSDT NOW PUT IN THE DATE 00143000
  172. LA R0,9(,R10) COMPUTE END OF FILLED-IN MESSAGE 00144000
  173. LR R1,R9 R1 = BEGINNING 00145000
  174. SR R0,R1 NOW WE HAVE THE BYTE-COUNT 00146000
  175. CALL DMKQCNWT,PARM=NORET TYPE LOGMSG DATE + TIME @V200820 00147000
  176. * 00148000
  177. LOH03 LA R1,8(,R3) GET ADDRESS OF ACTUAL MESSAGE 00149000
  178. CLI 0(R1),C'*' IS 1ST CHAR = '*' (= "IMPORTANT") ? 00150000
  179. BNE LOH04 IF NOT, DON'T BOTHER WITH IT. 00151000
  180. LH R0,4(,R3) GET LENGTH OF LOG MSG LINE 00152000
  181. CALL DMKQCNWT,PARM=NORET TYPE "IMPORTANT" LOGMSG LINE@V200820 00153000
  182. LOH04 L R3,0(,R3) POINT TO NEXT LOG MESSAGE BLOCK (IF ANY) 00154000
  183. LTR R3,R3 IS THERE ANOTHER ? 00155000
  184. BNZ LOH03 TRF IF YES - KEEP CHECKING THEM. 00156000
  185. LOH05 DS 0H LOG MESSAGE FINISHED; CONTINUE: 00157000
  186. SPACE 00158000
  187. * HANDLE MESSAGE RE SPOOLED FILES: 00159000
  188. LA R2,1(0) GR2 NONZERO = NO MSG IF NO FILES @V200820 00160000
  189. CALL DMKCQRFI SUB TO FORMAT FILES MESSAGE @V200930 00161000
  190. SPACE 00162000
  191. * CONSTRUCT AND SEND READY OR RECONNECT MESSAGE TO USER: 00163000
  192. TM SAVEWRK1,AUTOLOG AUTOLOG COMMAND? @V305535 00164000
  193. BZ LOH09 @V305535 00165000
  194. STCK DMKSYSCK GET TOD CLOCK VALUE @V305535 00166000
  195. BC 3,DOWNWEGO CLOCK NOT FUNCTIONING @VA04301 00167000
  196. MVC VMTIMEON,DMKSYSCK SAVE WORD ZERO @V305535 00168000
  197. MVC 0(LAMOP,R9),AMOP BASE MESSAGE WITHOUT USER IDS @V305535 00169000
  198. MVC AMOP2-AMOP(8,R9),VMUSER NEW USER ID @V305535 00170000
  199. L R1,DMKSYSNM NO. OF USERS @V305535 00171000
  200. AL R1,F1 BUMP COUNT OF LOGGED-ON USERS @VA04247 00172000
  201. ST R1,DMKSYSNM ... AND STORE ... @VA04247 00173000
  202. C R1,DMKSYSMU @V305535 00174000
  203. BNH *+8 LESS THAN HIGH WATER MARK @V305535 00175000
  204. ST R1,DMKSYSMU SAVE HIGH WATER MARK @V305535 00176000
  205. CALL DMKCVTBD CONVERT NO. USERS TO DECIMAL @V305535 00177000
  206. STCM R1,7,AMOP3-AMOP(R9) NO. OF USERS NOW LOGGED ON @V305535 00178000
  207. LA R0,LAMOP AUTO LOGON MESSAGE LENGTH @V305535 00179000
  208. TM SAVEWRK1,PSWRDCK ALOGON COMMAND? @V305535 00180000
  209. BO LOH08 YES @V305535 00181000
  210. MVC AMOP4-AMOP(8,R9),=CL8'SYSTEM' AUTO LOGON BY @V305535 00182000
  211. * SYSTEM 00183000
  212. B LOH14 @V305535 00184000
  213. LOH08 DS 0H @V305535 00185000
  214. L R10,SAVEWRK8 GET CMD ISSUERS VMBLOK @VM03066 00186000
  215. MVC AMOP4-AMOP(8,R9),VMUSER-VMBLOK(R10) AUTO LOGON @V305535 00187000
  216. * BY USER 00188000
  217. B LOH14 @V305535 00189000
  218. SPACE 3 00190000
  219. LOH09 DS 0H @V305535 00191000
  220. LR R10,R9 SET R10 FROM R9 TO CONSTRUCT MESSAGE 00192000
  221. TM SAVEWRK1,RECON RECONNECTED OR READY ? 00193000
  222. BZ LOH10 TRF IF READY. 00194000
  223. MVC 0(L'NR3,R10),NR3 SET RECONNECTED MESSAGE 00195000
  224. LA R10,L'NR3(,R10) BUMP R10 FOR NEXT ADDRESS 00196000
  225. B LOH11 00197000
  226. LOH10 MVC 0(L'NR2,R10),NR2 READY AT MSG 00198000
  227. LA R10,L'NR2(,R10) ... 00199000
  228. LOH11 LR R2,R10 REMEMBER IN R2 WHERE TIME WILL GO 00200000
  229. MVI 8(R2),C' ' BLANK AFTER TIME 00201000
  230. L R15,=A(DMKSYSTI) GET ADDR OF TIME ZONE IDENTIFIER 00202000
  231. MVC 9(3,R2),0(R15) MOVE TO MSG 00203000
  232. MVI 12(R2),C' ' BLANK AFTER TIME ZONE IDENTIFIER 00204000
  233. LA R10,13(,R10) SKIP OVER THE TIME 00205000
  234. IC R7,DMKSYSDW+1 GET NUMBER OF BYTES (LESS 1) IN WEEKDAY 00206000
  235. LA R6,DMKSYSDW+2 POINT AT THE WEEKDAY 00207000
  236. EX R7,MVCMSG MOVE IN THE WEEKDAY 00208000
  237. LA R10,1(R10,R7) BUMP TO NEXT FIELD 00209000
  238. MVI 0(R10),C' ' PUT IN A BLANK 00210000
  239. LA R1,1(,R10) POINT AT WHERE TO PUT THE DATE 00211000
  240. CALL DMKCVTDT MOVE DATE AND TIME INTO THE RIGHT PLACES 00212000
  241. TM SAVEWRK1,RECON RECONNECT ? 00213000
  242. BO LOH12 YES (LEAVE VMTIMEON AS IS). 00214000
  243. STCK DMKSYSCK GET CURRENT TOD VALUE @VM08883 00215000
  244. BC 12,CLOCKOK IS CLOCK FUNCTIONING? @VA04301 00216000
  245. DOWNWEGO GOTO DMKCVTAB CLOCK DAMAGED...ABEND CVT001 @VA04301 00217000
  246. CLOCKOK EQU * @VA04301 00218000
  247. MVC VMTIMEON,DMKSYSCK SAVE WORD ZERO @VM08883 00219000
  248. LOH12 LA R0,9(,R10) COMPUTE END OF FILLED-IN MESSAGE 00220000
  249. LR R1,R9 R1 = BEGINNING 00221000
  250. SR R0,R1 NOW WE HAVE THE BYTE-COUNT 00222000
  251. CALL DMKQCNWT,PARM=0 SEND READY/RECON MSG, WAIT @V200820 00223000
  252. CH R2,=H'12' LINE FAILURE DURING WRITE ? @V200820 00224000
  253. BE LOHEXIT YES - JUST EXIT RAPIDLY @V200820 00225000
  254. SPACE 00226000
  255. * CONSTRUCT AND SEND READY OR RECONNECT MESSAGE TO SYSTEM OPERATOR: 00227000
  256. MVC 0(LMOP,R9),MOP2 MOVE CANNED MESSAGE TO FREE STORAGE 00228000
  257. MVC LMOP3(8,R9),VMUSER INSERT THE USERID @VA04247 00229000
  258. L R1,DMKSYSNM GET COUNT OF LOGGED ON USERS @VA04247 00230000
  259. TM SAVEWRK1,RECON USER RECONNECTING? @VA04247 00231000
  260. BO LOH13 YES....CONTINUE @VA04247 00232000
  261. MVC 0(L'MOP1,R9),MOP1 'LOGON' INSTEAD OF 'RECONN' @VA04247 00233000
  262. AL R1,F1 BUMP COUNT OF LOGGED-ON USERS @VA04247 00234000
  263. ST R1,DMKSYSNM ...AND STORE @VA04247 00235000
  264. C R1,DMKSYSMU IS THIS A NEW MAX. OF USERS EVER ON ? 00236000
  265. BNH LOH13 NOPE. 00237000
  266. ST R1,DMKSYSMU YES, STORE NEW MAX. USERS EVER ON. 00238000
  267. DROP R4 (THRU WITH SYSLOCS NOW) 00239000
  268. LOH13 CALL DMKCVTBD CONVERT NO. OF USERS TO DECIMAL 00240000
  269. STCM R1,7,LMOP5(R9) STORE IN PRINTOUT 00241000
  270. L R8,VMTERM TERMINAL RDEVBLOK ADDRESS @V200820 00242000
  271. LR R1,R11 (VMBLOK ADDRESS IN GR1, ALSO) @V200820 00243000
  272. BAL R4,TERMADD GET 'TYPE RADDR' IN GR0-1 @V200820 00244000
  273. STM R0,R1,0(R9) SET AT HEAD OF OPERATOR MESSAGE @V200820 00245000
  274. LA R0,LMOP LENGTH OF MESSAGE, 00246000
  275. LOH14 DS 0H @V305535 00247000
  276. LR R1,R9 ADDRESS 00248000
  277. CALL DMKQCNWT,PARM=NORET+OPERATOR SEND MSG TO OPERATOR 00249000
  278. TM SAVEWRK1,AUTOLOG+PSWRDCK AUTOLOG COMMAND? @VM03066 00250000
  279. BNO EXITR NOPE, RETURN TO DMKLOG @VMD0139 00251500
  280. TM VMOSTAT-VMBLOK(R10),VMSYSOP IS THIS SYS OPER? @VM03066 00252000
  281. BO EXITR YES, RETURN TO DMKLOG @VMD0139 00253500
  282. LR R1,R10 R1 GETS ISSUERS VMBLOK, THEN @V407593 00254000
  283. * THEN SWITCH TIMERS AND LOCKS FROM R11 TO R1 00255000
  284. BAL R5,SWVM GO TO SWITCH VMBLOKS @V4M0193 00256000
  285. LR R1,R9 ADDRESS OF MSG FROM ABOVE @V4075A0 00257000
  286. LA R0,LAMOPU LENGTH OF USER MESSAGE @VM03066 00258000
  287. CALL DMKQCNWT,PARM=NORET TELL HIM ABOUT IT @VM03066 00259000
  288. L R1,SAVEWRK9 SWITCH ACTIVE VMBLOK (TMRS.. @VMD0139 00260500
  289. * LOCKS) TO SAVER11 00261000
  290. BAL R5,SWVM GO TO SWITCH VMBLOKS @V4M0193 00262000
  291. EXITR DS 0H @VMD0139 00262100
  292. SR R2,R2 WHEN R2=0, DMKLOG WILL CONTINUE @VMD0139 00262200
  293. ST R2,SAVER2 SAVE R2 IN DMKLOG'S R2 @VMD0139 00262300
  294. B LOHEXITR RETURN TO DMKLOG 00263000
  295. SPACE 00264000
  296. LOHEXIT DS 0H 00265200
  297. TM SAVEWRK1,R9FRE FREE STORAGE TO BE RETURNED? @VMD0139 00265300
  298. LA R2,4 WHEN R2=4, DMKLOG WILL EXIT @VMD0139 00265400
  299. ST R2,SAVER2 SAVE R2 IN DMKLOG'S R2 @VMD0139 00265500
  300. BZ LOHEXTA @V408246 00266000
  301. LA R0,UDBFSIZE*2+2 THE SIZE WE'VE BEEN USING INTO R0, 00267000
  302. LR R1,R9 ADDRESS INTO R1 FROM R9, 00268000
  303. CALL DMKFRET AND GIVE IT BACK (WITH THANKS, OF COURSE) 00269000
  304. LOHEXTA DS 0H @V408246 00270000
  305. C R11,SAVEWRK9 SAME VMBLOK? @VMD0139 00271100
  306. BE LOHEXITR YES @V408246 00272000
  307. L R1,SAVEWRK9 NO, SWITCH VMBLOKS @VMD0139 00273100
  308. * TO CALLERS VMBLOK 00274000
  309. BAL R5,SWVM GO TO SWITCH VMBLOKS @V4M0193 00275000
  310. LOHEXITR EXIT REALLY EXIT. 00276000
  311. SPACE 1 @V4M0148 00277000
  312. SWVM DS 0H @V4M0148 00278000
  313. SWTCHVM SWITCH VMBLOKS @V4M0193 00279000
  314. BR R5 RETURN TO CALLER @V4M0193 00280000
  315. EJECT 00281000
  316. * EXECUTED INSTRUCTIONS: 00282000
  317. MVCMSG MVC 0(*-*,R10),0(R6) MSG (R6) TO FREE STRG (R10); R7 = CNT 00283000
  318. * 00284000
  319. SPACE 2 00285000
  320. TERMADD EQU * ROUTINE TO BUILD 'TYPE RADDR' INFO @V200820 00286000
  321. LTR R8,R8 IS THERE A TERMINAL RDEVBLOK ? @V200820 00287000
  322. BNP TERMNOD NO -- SETUP DEFAULT TYPE, RADDR @V200820 00288000
  323. USING RDEVBLOK,R8 @V200820 00289000
  324. CLI RDEVTYPC,CLASSPEC IS THIS A 370X NCP TERMINAL @V200820 00290000
  325. BE TERMRID YES - GO FIND 'VMTRMID' @V200820 00291000
  326. CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS @V2D3931 00292000
  327. BNE *+12 NO, BYPASS TEST FOR BISYNC LINE @V2D3931 00293000
  328. TM RDEVTYPE,TYPBSC IS THIS A BISYNC LINE ? @V2D3931 00294000
  329. BO TERMRID YES, ... @V2D3931 00295000
  330. TM RDEVADD,RDEVLDEV Is this an LDEV? HRC065DK 00295100
  331. BO TERMLDEV Yes, special handling HRC065DK 00295200
  332. CALL DMKSCNRD GET 'CCU' ADDRESS FROM RDEVBLOK @V200820 00296000
  333. CALL DMKCVTBH CONVERT TO PRINTABLE EBCDIC @V200820 00297000
  334. ICM R1,B'1000',BLANKS GET A HIGH-ORDER BLANK IN R1@V200820 00298000
  335. L R0,=C'LINE DSC' PUT 'LINE' IN GR0 @V200820 00299000
  336. CLI RDEVTYPC,CLASTERM IS IT REALLY A LINE ? @V200820 00300000
  337. BCR 8,R4 YES - RETURN AS IS @V200820 00301000
  338. L R0,=C'GRAF' MUST BE A LOCAL GRAPHICS TERMINAL@V200820 00302000
  339. BR R4 @V200820 00303000
  340. TERMLDEV EQU * HRC065DK 00303100
  341. LH R1,RDEVADD Get the LDEV address HRC065DK 00303200
  342. N R1,F4095 Keep only the dev num HRC065DK 00303300
  343. CALL DMKCVTBH Make it displayable HRC065DK 00303400
  344. ICM R1,8,=C'L' Insert LDEV identifier HRC065DK 00303500
  345. L R0,=C'GRF ' Use short GRAF name HRC065DK 00303600
  346. BR R4 Return with R0/R1 filledHRC065DK 00303700
  347. TERMRID EQU * SETUP 'DEV XXXX' FOR 370X TERMS @V200820 00304000
  348. LH R1,VMTRMID-VMBLOK(,R1) RESOURCE FIELD @V200820 00305000
  349. CALL DMKCVTBH CONVERT TO PRINTABLE EBCDIC @V200820 00306000
  350. L R0,=C'DEV ' PUT CORRECT TYPE IN GR0 @VM03066 00307000
  351. BR R4 RETURN @VM03066 00308000
  352. TERMNOD LM R0,R1,=C'LINE DSC' DEFAULT FOR DISC MACHINE @VM03066 00309000
  353. BR R4 RETURN @VM03066 00310000
  354. DROP R8 NO MORE RDEVBLOK @VM03066 00311000
  355. EJECT 00311100
  356. SPACE 2 00311150
  357. *********************************************************************** 00311200
  358. * * 00311250
  359. * DMKLOHRC - TO UPDATE VMBLOKS TO RECONNECT A DISCONNECTED USER * 00311300
  360. * * 00311350
  361. *---------------------------------------------------------------------* 00311400
  362. * * 00311450
  363. * * 00311500
  364. * ENTRY CONDITIONS: * 00311550
  365. * * 00311600
  366. * R1 - VMBLOK ADDRESS TO RECONNECT USER * 00311650
  367. * R2 - LOGON COMMAND ARGUMENTS * 00311700
  368. * * 00311750
  369. * R6 - CONTAINS A BRANCH ADDRESS REQUIRED BY DMKLOG. THIS * 00311800
  370. * ADDRESS MUST BE SAVED IF R6 IS TO BE USED AND RESTORED * 00311850
  371. * AT EXIT TIME FROM THIS ROUTINE. * 00311900
  372. * * 00311950
  373. * * 00312000
  374. * EXIT CONDITIONS: * 00312050
  375. * * 00312100
  376. * R1 - CONTAINS A RETURN CODE OF 0, 4, OR 8. THIS RETURN * 00312150
  377. * IS REQUIRED BY DMKLOG FOR BRANCHING PURPOSES. * 00312200
  378. * * 00312250
  379. * R6 - CONTAINS THE RESTORED VALUE IT ORIGINALLY HAD UPON * 00312300
  380. * ENTRY INTO THIS MODULE. * 00312350
  381. * * 00312400
  382. * * 00312450
  383. * * 00312500
  384. * * 00312550
  385. * OPERATION - DMKLOHRC * 00312600
  386. * * 00312650
  387. * THE VMBLOK BELONGING TO THE DISCONNECTED USER IS REVISED TO USE * 00312700
  388. * THE TERMINAL REAL DEVICE BLOCK POINTED TO BY THE 'CURRENT' GPR 11, * 00312750
  389. * AND OTHER REVISIONS MADE AS NEEDED. THEN THE VMBLOK POINTED TO BY * 00312800
  390. * GPR 11 IS RELEASED FROM THE SYSTEM, AND THE OTHER VMBLOK IS USED * 00312850
  391. * THEREAFTER. * 00312900
  392. *---------------------------------------------------------------------* 00312950
  393. SPACE 2 00313000
  394. DMKLOHRC RELOC @VA13723 00313050
  395. LR R10,R1 PARM TO PERM REG @VA13723 00313100
  396. ST R2,SAVEWRK1 STORE SAVEWRK1 INDICATORS @VA13723 00313150
  397. TM SAVEWRK1,AUTOLOG+PSWRDCK AUTOLOG CMD? @VA05283 00313200
  398. BNZ LOG07AB YES--BYPASS THE FOLLOWING CHECKS @VA05283 00313250
  399. L R8,VMTERM TERMINAL RDEVBLOK ADDRESS @V200820 00313300
  400. LTR R8,R8 IS TERMINAL STILL THERE? @VA04453 00313350
  401. BZ LOHEXIT4 NO--ABORT RECONNECT @VA13723 00313400
  402. USING RDEVBLOK,R8 @V200820 00313450
  403. ST R8,VMTERM-VMBLOK(,R10) SET IN "OLD" USER VMBLOK @V200820 00313500
  404. CLI RDEVTYPC,CLASSPEC LOGON VIA 370X NCP ? @V200820 00313550
  405. BE LOG07AA YES - DIFFERENT @V200820 00313600
  406. OI RDEVSTA3,RDEVATSW PREVENT ATTN DURING SWITCH @VA10462 00313650
  407. SWITCH MAKE SURE WE'RE ON THE IO PROC @V4075A0 00313700
  408. NI RDEVSTA3,X'FF'-RDEVATSW ALLOW ATTN AFTER SWITCH @VA10462 00313750
  409. CLI RDEVTYPC,CLASTERM IS THIS A TERMINAL CLASS @V2D3931 00313800
  410. BNE *+12 NO, CONTINUE @V2D3931 00313850
  411. TM RDEVTYPE,TYPBSC IS THIS A BISYNC LINE @V2D3931 00313900
  412. BO LOG07AA YES, ... @V2D3931 00313950
  413. TM RDEVTFLG,RDEVTRQ 'NOT ACCEPTED', ETC. TIMER? @VA13200 00313955
  414. BZ SETUSER NONE, CONTINUE @VA13200 00313960
  415. NI RDEVTFLG,X'FF'-RDEVTRQ RESET FLAG BIT @VA13200 00313965
  416. L R1,RDEVAIRA GET ADDRESS OF TRQBLOK @VA13200 00313970
  417. LTR R1,R1 IS ADDRESS VALID? @VA13200 00313975
  418. BZ SETUSER NO; ALREADY TAKEN CARE OF @VA13200 00313980
  419. CALL DMKSCHRT RESET ACTIVE TIMER REQUEST @VA13200 00313985
  420. SETUSER DS 0H @VA13200 00313990
  421. ST R10,RDEVUSER RESET RDEVBLOK POINTER TO VMBLOK @V200820 00314000
  422. L R15,RDEVAIOB CHECK FOR AN ACTIVE IOBLOK @V200820 00314050
  423. LTR R15,R15 IS THERE ONE RIGHT NOW ? @V200820 00314100
  424. BNP LOG07AB NO -- GO GET RID OR R11 VMBLOK @V200820 00314150
  425. ST R10,IOBUSER-IOBLOK(,R15) IOBLOK PTR TO VMBLOK @V200820 00314200
  426. B LOG07AB @V200820 00314250
  427. LOG07AA EQU * RECONNECT VIA 3705 TERMINAL @V200820 00314300
  428. LH R7,VMTRMID RESOURCE I.D. FROM LOGON VMBLOK @V200820 00314350
  429. STH R7,VMTRMID-VMBLOK(,R10) SET INTO GR10 VMBLOK @V200820 00314400
  430. N R7,F4095 EXTRACT THE ACTUAL RESOURCE I.D. @V200820 00314450
  431. MH R7,=AL2(NICSIZE*8) COMPUTE INDEX FOR NICBLOK @V200820 00314500
  432. AL R7,RDEVNICL GR7 = ADDRESS OF TERMINAL NICBLOK@V200820 00314550
  433. USING NICBLOK,R7 @V200820 00314600
  434. ST R10,NICUSER RESET NICBLOK POINTER TO VMBLOK @V200820 00314650
  435. TM NICSTAT,NICTRQ 'NOT ACCEPTED' TIMER, ETC. SET? @VA13200 00314655
  436. BZ LOG07AB NO, CHECK IF IN 'SLEEP' @VA13200 00314660
  437. NI NICSTAT,X'FF'-NICTRQ NO TIMER SET ANYMORE! @VA13200 00314665
  438. L R1,NICATRB ADDRESS OF SCHEDULED TRQBLOK @VA13200 00314670
  439. LTR R1,R1 IS TRQBLOK STILL AROUND? @VA13200 00314675
  440. BZ LOG07AB NO; BEEN FRET'D; SKIP DEQUEUE @VA13200 00314680
  441. CALL DMKSCHRT DEQUEUE: VMBLOK GOING AWAY. @VA13200 00314685
  442. DROP R7 @VA12982 00314700
  443. LOG07AB EQU * RELEASE GR11 VMBLOK @V200820 00314750
  444. TM VMOSTAT,VMSLEEP LOGONXXX ASLEEP ??? @VA07417 00314800
  445. BNO LOG07AC NO, REAL FAST SKIP @VA07417 00314850
  446. L R1,VMDELAY GET POSSIBLE TRQBLOK POINTER @VA07417 00314900
  447. LTR R1,R1 WAS SLEEP WITH TIME INTERVAL ?? @VA07417 00314950
  448. BNP LOG07AC NO, STILL EASY @VA07417 00315000
  449. CALL DMKSCHRT PREVENT WAKEUP TO LOGONXXX @VA07417 00315050
  450. LA R0,TRQBSIZE AND FRET TRQBLOK @VA07417 00315100
  451. CALL DMKFRET @VA07417 00315150
  452. LOG07AC EQU * LOGONXXX TRQBLOKS CLEANED UP @VA07417 00315200
  453. L R5,ASYSVM LET R5 START FROM THE SYSTEM VMBLOK 00315250
  454. L R3,VMPNT-VMBLOK(,R5) AND R3 STARTS WITH THE FIRST USER 00315300
  455. L R7,VMPNT GET POINTER TO NEXT VMBLOK 00315350
  456. LOG07B C R11,RUNUSER DOES RUNUSER BY ANY CHANCE POINT TO US ? 00315400
  457. BNE LOG08 NO (WE DIDN'T THINK IT WOULD). 00315450
  458. ST R5,RUNUSER YES, USE SYSTEM VMBLOK (NOT FRET'D BLOCK) 00315500
  459. LOG08 LR R4,R3 REMEMBER PREVIOUS BLOCK 00315550
  460. L R3,VMPNT-VMBLOK(,R3) GET PNTR TO NEXT BLOCK 00315600
  461. CLR R3,R11 IS IT US ? 00315650
  462. BNE LOG08 IF NOT, KEEP LOOKING. 00315700
  463. ST R7,VMPNT-VMBLOK(,R4) PATCH CHAIN TO LEAVE US OUT 00315750
  464. ST R4,VMPNT-VMBLOK(,R5) STORE NEW ANCHOR FOR CHAIN IN SYSVM 00315800
  465. L R1,VMDFTPNT GET ADDRESS OF DEFERRED TASK @V4M0148 00315850
  466. LTR R1,R1 IS THERE ONE? @V4M0148 00315900
  467. BZ NODFT NO, SKIP FRET OF DEFERRED TASK @V4M0148 00315950
  468. LA R0,CPEXSIZE GET SIZE OF DEFERRED TASK @V4M0148 00316000
  469. CALL DMKFRET FRET DEFERRED TASK @V4M0148 00316050
  470. NODFT DS 0H @V4M0148 00316100
  471. LR R1,R11 'NEW' VMBLOK INTO R1 00316150
  472. LR R11,R5 SWITCH TO ASYSVM @V407593 00316200
  473. CHARGE START @V407593 00316250
  474. DROP R11 @V407593 00316300
  475. USING VMBLOK,R10 @V407593 00316350
  476. C R1,STACKVM STACKVM = THIS VMBLOK? @VA09087 00316400
  477. BNE LOGSVM NO - LET IT BE. @VA09087 00316450
  478. MVC STACKVM,ZEROES YES - ZERO THE FIELD @VA09087 00316500
  479. LOGSVM EQU * @VA09087 00316550
  480. TM RDEVTFLG,RDEVTRQ IS THERE A TRQ ? @VA12982 00316600
  481. BZ LOGSVM1 NO...CONTINUE @VA12982 00316650
  482. L R6,RDEVAIRA GET TRQBLOK POINTER @VA12982 00316700
  483. USING TRQBLOK,R6 SET UP TEMP BASE FOR TRQBLOK @VA12082 00316750
  484. C R1,TRQBUSER IS IT FOR PSEUDO VMBLOK ? @VA13723 00316800
  485. BNE LOGSVM1 NO...BRANCH @VA12982 00316850
  486. LR R5,R1 SAVE VMBLOK FOR LATER USE @VA12982 00316900
  487. LR R1,R15 GET READY TO FRET THE TRQBLOK @VA13723 00316950
  488. CALL DMKSCHRT TAKE OFF THE CHAIN @VA12982 00317000
  489. LR R1,R5 RESTORE VMBLOK @VA12982 00317050
  490. ST R10,TRQBUSER UPDATE TRQBLOK USER @VA12982 00317100
  491. NI RDEVTFLG,X'FF'-RDEVTRQ RESET TRQ INDICATOR @VA12982 00317150
  492. DROP R6,R8 @VA12982 00317200
  493. LOGSVM1 DS 0H @VA12982 00317250
  494. LA R0,VMBSIZE NOW RETURN THE ONE WE WON'T BE USING 00317300
  495. CALL DMKFRET TO FREE STORAGE 00317350
  496. ST R10,SAVER11 RETURN RECONNECTED VMBLOK TO @VA15234 00317400
  497. * CALLER 00317500
  498. EJECT 00317600
  499. TM SAVEWRK1,RECON WAS THIS A RECONNECT ? 00317650
  500. BZ LOG8A IF NO, INITIALIZE TIMERS 00317700
  501. DROP R10 @VA15234 00317710
  502. LR R1,R10 SWITCH TO RECONNECTED VMBLOK @VA15234 00317740
  503. USING VMBLOK,R11 @VA15234 00317770
  504. BAL R5,SWVM @VA15234 00317800
  505. NI VMOSTAT,255-VMDISC RESET DISCONNECTED BIT @VA15234 00317830
  506. OI VMRSTAT,VMCFWAIT PUR HIM IN CF WAIT @VA15234 00317860
  507. OI VMOSTAT,VMCF AND FLAG CONS FUNC RUNNING @VA15234 00317890
  508. L R1,VMDELAY CHECK FOR DISCONNECT TRQBLOK @V200820 00317950
  509. LTR R1,R1 IS THERE A PENDING INTERRUPT ? @V200820 00318000
  510. BNP LOHEXIT0 NO -- CONTINUE RECONNECT PROCESS @VA13723 00318050
  511. CALL DMKSCHRT REMOVE TRQBLOK FROM REQUEST QUEUE@V200820 00318100
  512. LA R0,TRQBSIZE SIZE OF BLOCK IN DOUBLE-WORDS @V200820 00318150
  513. CALL DMKFRET RETURN TRQBLOK TO FREE STORAGE @V200820 00318200
  514. SLR R1,R1 @V200820 00318250
  515. ST R1,VMDELAY CLEAR VMBLOK POINTER TO BLOCK @V200820 00318300
  516. NI VMOSTAT,255-VMSLEEP REMOVE USER FROM SLEEP MODE @V200820 00318350
  517. B LOHEXIT0 GO COMPLETE RECONNECT PROCESS @VA13723 00318400
  518. DROP R11 @VA15234 00318450
  519. USING VMBLOK,R10 @VA15234 00318500
  520. LOG8A MVC VMTIMER,=X'FFFFFF00' ... 00318550
  521. * SET VARIOUS FLAGS, ETC. SAME AS DMKBLDVM WOULD HAVE DONE 00318600
  522. OI VMOSTAT,VMCF FLAG AS EXEC. CONS. FUNC.... @VA02059 00318650
  523. OI VMRSTAT,VMCFWAIT PUT IN CF WAIT @VA15234 00318675
  524. OI VMRSTAT,VMLOGON ...LOGGING ON AND... @VA02059 00318700
  525. OI VMMLEVEL,VMMSGON+VMWNGON+VMMCODE+VMMTEXT @VA02059 00318750
  526. OI VMMLVL2,VMMIMSG AND THIS @V2A3663 00318800
  527. MVI VMPSW+1,WAIT ... 00318850
  528. MVC VMVTIME,ZEROES ZERO OUT TOTAL PROBLEM TIME. FOR START 00318900
  529. MVC VMTMOUTQ,=X'7FFFFFFFFFFFF000' INITIALIZE VMTMOUTQ 00318950
  530. MVC VMTTIME(16),VMTMOUTQ VMTTIME AND VMTMINQ 00319000
  531. TM APSTAT1,APUOPER IS THIS AN AP SYSTEM? @V4M0203 00319050
  532. BZ LOG8B NO, SKIP INIT OF CPTIME & APTIME @V4M0203 00319100
  533. MVC VMCPTIME,HALFTIME INITIALIZE VMCPTIME @V4M0203 00319150
  534. MVC VMAPTIME,HALFTIME INITIALIZE VMAPTIME @V4M0203 00319200
  535. LOG8B DS 0H @V4M0203 00319250
  536. DROP R10 @VA15234 00319300
  537. LR R1,R10 SWITCH TO NEW VMBLOK @VA15234 00319350
  538. USING VMBLOK,R11 @VA15234 00319400
  539. BAL R5,SWVM GO SWITCH VMBLOK @VA15234 00319450
  540. SPACE 2 00319500
  541. *---------------------------------------------------------------------* 00319550
  542. * * 00319600
  543. * THE FOLLOWING CODE SETS UP RETURN CODES FOR A BRANCH TABLE * 00319650
  544. * WHEN RETURN IS MADE TO DMKLOG. * 00319700
  545. *---------------------------------------------------------------------* 00319750
  546. SPACE 1 00319800
  547. LA R14,8 OP IS LOGGING ON, R11 UPDATED @VA13723 00319850
  548. B LOHSAVE GO STORE IT FOR RETURN @VA13723 00319900
  549. LOHEXIT4 LA R14,4 TERMINAL NO LONGER THERE, ABORT @VA13723 00319950
  550. B LOHSAVE GO STORE IT FOR RETURN @VA13723 00320000
  551. LOHEXIT0 SR R14,R14 OK, CONTINUE THE RECONNECT @VA13723 00320050
  552. LOHSAVE ST R14,SAVER1 STORE BACK IN SAVE AREA @VA13723 00320100
  553. EXIT 00320150
  554. EJECT 00320200
  555. DMKLOHSS RELOC ENTRY FROM THE DISPATCHER @VA09593 00320250
  556. * 00320300
  557. * DMKLOHSS IS ENTERED FROM DMKDSP AFTER A REQUESTED 00320350
  558. * MSS VOLUME HAS BEEN MOUNTED. THE ADDRESS OF 00320400
  559. * LABEL 'DMKLOHSS' IS PLACED IN THE CPEXADD 00320450
  560. * FIELD OF A CPEXBLOK BY DMKSSS WHEN AN MSS 00320500
  561. * MOUNT IS REQUIRED TO SATISFY A DED REQUEST. 00320550
  562. * WHEN THE VOLUME HAS BEEN MOUNTED, MODULE 00320600
  563. * DMKDSB FINDS THE CPEXBLOK CHAINED FROM AN 00320650
  564. * MSSCOM BLOCK AND GOES TO DMKDSP. 00320700
  565. * 00320750
  566. * THIS ROUTINE WILL RESET THE ENVIRONMENT AS IF 00320800
  567. * THERE HAD BEEN NO ASYNCHRONOUS MSS MOUNT AND 00320850
  568. * THEN PROCEED TO COMPLETE THE DISK ALLOCATION. 00320900
  569. * 00320950
  570. LH R1,MSSVUA-OSVSCOM(R3) RDEV ADDR @VMI2009 00321000
  571. CALL DMKSCNRU GET THE RDEVBLOK @V60B6B8 00321050
  572. LR R1,R8 ADDR TO GPR 1 @V60B6B8 00321100
  573. LR R2,R5 UDEVBLOK ADDR FOR DMKVDSAT @V60B6B8 00321150
  574. CALL DMKVDSAT ATTACH THE DEVICE @V60B6B8 00321200
  575. BZ TSTV333V GOOD RETURN FROM VDS @V60B6B8 00321250
  576. LA R2,CON95 ERROR MSG ID @V60B6B8 00321300
  577. LH R1,UDEVADD-UDEVBLOK(R5) VIRTUAL ADDRESS @V60B6B8 00321350
  578. CALL DMKCVTBH CONVERT TO PRINTABLE HEX @V60B6B8 00321400
  579. ICM R1,8,BLANKS BLANK FIRST CHAR @V60B6B8 00321450
  580. ICM R0,14,DMKLOH+3 MODULE ID @VA09593 00321500
  581. ICM R2,8,=X'80' INDICATE RETURN TO DMKLOH @V60B6B8 00321550
  582. CALL DMKERMSG WRITE ERROR MSG @V60B6B8 00321600
  583. B FREEUDEV @V60B6B8 00321650
  584. TSTV333V EQU * SEE IF USER WANTS VIRTUAL 3330V @V60B6B8 00321700
  585. TM UDEVFTR-UDEVBLOK(R5),VIRTUAL VIRT 3330V @V60B6B8 00321750
  586. BZ FREEUDEV NO, ALL DONE @V60B6B8 00321800
  587. LH R1,UDEVADD-UDEVBLOK(R5) VIRTUAL DEVICE ADDR @V60B6B8 00321850
  588. CALL DMKSCNVU GET THE VDEVBLOK @V60B6B8 00321900
  589. OI VDEVFLG2-VDEVBLOK(R8),VDEVVIRT SET FLAG @VA09758 00321950
  590. L R1,VDEVREAL-VDEVBLOK(R8) REAL DEV BLOK ADDR @V60B6B8 00322000
  591. OI RDEVFLAG-RDEVBLOK(R1),RDEV333V DED AS 3330V @VA11587 00322050
  592. FREEUDEV EQU * @V60B6B8 00322100
  593. LA R0,UDEVSIZE UDEVBLOK SIZE @V60B6B8 00322150
  594. LR R1,R5 ADDR OF SAVED BLOCK @V60B6B8 00322200
  595. CALL DMKFRET RETURN THE MEMORY @V60B6B8 00322250
  596. * 00322300
  597. * NOW CHECK TO SEE IF THERE IS ANY PENDING I/O FOR 00322350
  598. * THE VIRTUAL DEVICE JUST ATTACHED. IF THERE 00322400
  599. * IS, THEN A CPEXBLOK REPRESENTING THE I/O 00322450
  600. * WILL HAVE BEEN CHAINED FROM THE MSSCOM BLOCK 00322500
  601. * WHEN THE USER SIO WAS RECEIVED. 00322550
  602. * 00322600
  603. * NOTE: WHEN DMKDSB QUEUES THE MSSCOM BLOCK 00322650
  604. * FROM FIELD DMKSSSMQ, AND CREATES THE CPEXBLOK 00322700
  605. * FOR DMKLOHSS, IT PLACES THE ADDRESS OF 00322750
  606. * THE MSSCOM BLOCK IN THE GPR 3 FIELD OF THE 00322800
  607. * CPEXBLOK. 00322850
  608. * 00322900
  609. USING OSVSCOM,R3 R3 SET BY DMKSSS @VMI2009 00322950
  610. L R1,MSSTASK3 CPEXBLOK IF SIO FROM USER @V60B6B8 00323000
  611. LTR R1,R1 IS THERE A SIO PENDING @V60B6B8 00323050
  612. BZ FREECOM NO @V60B6B8 00323100
  613. CALL DMKSTKCP STACK THE CPEXBLOK FOR DMKDSP @V60B6B8 00323150
  614. FREECOM EQU * RETURN STORAGE FOR THE MSSCOM @V60B6B8 00323200
  615. LR R1,R3 MSSCOM ADDRESS @VMI2009 00323250
  616. LA R0,MSSSIZE NO. OF D-WORDS IN BLOCK @V60B6B8 00323300
  617. CALL DMKFRET AND RETURN THE STORAGE @V60B6B8 00323350
  618. DROP R3 @VMI2009 00323400
  619. GOTO DMKDSPCH AND EXIT @V60B6B8 00323450
  620. EJECT 00323500
  621. LTORG 00323550
  622. EJECT 00323600
  623. HALFTIME DC X'3FFFFFFFFFFFF000' TIME CONSTANT USED BY LOH @VA13723 00323650
  624. * VARIOUS MESSAGES, RESPONSES, AND SKELETONS FOR SAME: 00323700
  625. * 00323750
  626. * NORMAL RESPONSES: 00323800
  627. NR1 DC C'LOGMSG - ' FOR LOG MESSAGE TIME 00323850
  628. NR2 DC C'LOGON AT ' FOR LOGON MESSAGE 00323900
  629. NR3 DC C'RECONNECTED AT ' FOR RECONNECT MESSAGE 00323950
  630. *NR4 DC C'HH:MM:SS TID' TIME 00324000
  631. *NR5 DC C'WEEKDAY ' WEEKDAY 00324050
  632. *NR6 DC C'MM/DD/YY' DATE 00324100
  633. SPACE 00325000
  634. * MESSAGES SENT TO SYSTEM OPERATOR: 00326000
  635. MOP1 DC C'LINE XXX LOGON AS ' @VA04247 00327000
  636. MOP2 DC C'LINE XXX RECONNECT ' @VA04247 00328000
  637. MOP3 DC C'USERID ' 00329000
  638. MOP4 DC C'USERS = ' 00330000
  639. MOP5 DC C'NNN' 00331000
  640. LMOP EQU *-MOP2 LENGTH OF MESSAGE 00332000
  641. LMOP3 EQU MOP3-MOP2 DISP. OF USERID FROM THE BEGINNING 00333000
  642. LMOP5 EQU MOP5-MOP2 DISP. OF NNN FROM THE BEGINNING 00334000
  643. AMOP DC C'AUTO LOGON *** ' @V305535 00335000
  644. AMOP2 DS CL8 @V305535 00336000
  645. DC C' USERS = ' @VM03066 00337000
  646. AMOP3 DS CL3 @V305535 00338000
  647. LAMOPU EQU *-AMOP LENG OF MSG SENT TO CMD ISSUER @VM03066 00339000
  648. DC C' BY ' @V408246 00340000
  649. AMOP4 DS CL8 @V305535 00341000
  650. LAMOP EQU *-AMOP @V305535 00342000
  651. EJECT 00343000
  652. PSA 00344000
  653. COPY SAVE 00345000
  654. * FLAG-BITS USED IN SAVEWRK1: 00346000
  655. * 00347000
  656. AUTOLOG EQU X'80' AUTOLOG CMD OR CPI SYS OP LOGON @VM03066 00348000
  657. PSWRDOK EQU X'40' PASSWORD OK - DON'T CALL DMKEPSWD 00349000
  658. NOIPL EQU X'20' NO AUTOMATIC IPL WANTED 00350000
  659. NONFATAL EQU X'10' ERROR(S) NONFATAL - GO READ NEXT UDEVBLOK 00351000
  660. RECON EQU X'08' RECONNECT PERFORMED 00352000
  661. R9FRE EQU X'04' R9 IN USE AS FREE-STORAGE BUFFER 00353000
  662. EXECF EQU X'02' RECONNECTED W/ VMCF STILL ON @VM03066 00354000
  663. PSWRDCK EQU X'01' AUTOLOG CMD - PASSWORD REQUIRED @VM03066 00355000
  664. SPACE 00356000
  665. EJECT 00357000
  666. COPY EQU 00358000
  667. COPY VMBLOK 00359000
  668. COPY UDIRECT 00360000
  669. SYSLOCS 00361000
  670. COPY RBLOKS 00362000
  671. COPY DEVTYPES 00363000
  672. OSVSCOM MSSCOM @V60B6B8 00363100
  673. CON95 EQU 95 DMKLOH095E MESSAGE @VA09593 00363200
  674. COPY VBLOKS @VA09593 00363300
  675. COPY IOBLOKS IOBLOKS COPY FILE @VA13723 00363400
  676. COPY TIMER TRQBLOK COPY FILE @VA13723 00363500
  677. COPY NETWORK NICBLOK COPY FILE @VA13723 00363600
  678. END DMKLOH 00364000