Table of Contents

1TA

Table Of Contents

  • [00009] 1TA - TIMESHARING AUXILIARY PROCESSOR.
  • [00081] PROGRAM EQUIVALENCES.
  • [00119] OVERLAY COMMUNICATION MACROS.
  • [00121] OVERLAY - GENERATE OVERLAY CONSTANTS.
  • [00143] “.3” - T
  • [00153] ENTRY - DEFINE OVERLAY ENTRY POINT.
  • [00168] FCN - DEFINE FUNCTION PROCESSOR.
  • [00183] SCLASS - DEFINE SERVICE CLASS TABLE.
  • [00213] MAIN PROGRAM.
  • [00215] MAIN PROGRAM.
  • [00298] TFCN - TABLE OF FUNCTION CODE PROCESSORS.
  • [00313] GENERAL SUBROUTINES.
  • [00315] CCA - COMPUTE CPA/PCPA ADDRESS.
  • [00334] CFN - CHECK FILE NAME.
  • [00360] CHG - CONDITIONALLY HANG PP.
  • [00378] DPT - DROP POTS.
  • [00400] ERX - ERROR EXIT.
  • [00425] ITF - ISSUE *TSEM* FUNCTION.
  • [00454] MSR - MASS STORAGE READ ERROR PROCESSOR.
  • [00462] RRF - READ ROLLOUT FILE.
  • [00512] STT - SET TERMINAL TABLE ADDRESS.
  • [00544] INI - INITIALIZE *1TA*.
  • [00614] TFL - ADJUST TIMESHARING EXECUTIVE FIELD LENGTH.
  • [00673] CIQ - CREATE INPUT QUEUE ENTRY.
  • [00772] CBU - CLEAR BUFFER.
  • [00805] CEF - CHECK EJT FULL.
  • [00822] CIS - CREATE INPUT SECTOR.
  • [00885] CSS - CREATE SYSTEM SECTOR.
  • [01157] PLI - PRE LOG IN USER.
  • [01411] TSVC - TABLE OF VALID USER DEFAULT SERVICE CLASSES.
  • [01424] SEC - SET ERROR CODE.
  • [01443] SEL - SET END OF LINE.
  • [01473] VPW - VALIDATE PASSWORD.
  • [01516] WDI - WRITE DISK INFORMATION.
  • [01714] TRST - TABLE OF RESOURCE TYPES.
  • [01721] MSF - MESSAGE FORMAT FOR ACCOUNTING MESSAGES.

Source Code

1TA.txt
  1. IDENT 1TA,ITA
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS
  6. EOR$ EQU 1 DEFINE POSITION AFTER EOR
  7. *COMMENT 1TA - IAF AUXILIARY FUNCTION PROCESSOR.
  8. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9. TITLE 1TA - TIMESHARING AUXILIARY PROCESSOR.
  10. SPACE 4,10
  11. ***** 1TA - TIMESHARING AUXILIARY PROCESSOR.
  12. *
  13. * K. E. ZINNEL. 70/03/09.
  14. * R. E. TATE. 71/01/25.
  15. * P. D. FARRELL. 75/02/07.
  16. * A. D. FORET. 76/04/26.
  17. * P. D. FARRELL 77/03/17.
  18. * M. J. CARIDDI, L. K. TUTTLE 81/07/02.
  19. SPACE 4,10
  20. *** 1TA PROCESSES FUNCTIONS FOR *IAF* WHICH REQUIRE
  21. * PP ACTION.
  22. SPACE 4,10,25
  23. *** CALLS.
  24. *
  25. *
  26. * GROUP REQUEST.
  27. *T 18/ *1TA*,6/ CP,6/ ,18/ RETURN ADDRESS,12/ PP
  28. *
  29. * CP CONTROL POINT.
  30. * PP POT POINTER TO REQUEST QUEUE POT(S).
  31. *
  32. * SINGLE REQUEST.
  33. *T 18/ *1TA*,6/ CP,12/ 40FC,12/ TN,12/ ARG
  34. *
  35. * REQUEST QUEUE FORMAT.
  36. *T 24/ ,12/ FC,12/ TN,12/ ARG
  37. *
  38. * FC FUNCTION CODE.
  39. * TN TERMINAL NUMBER.
  40. * ARG POT POINTER OR REQUEST TYPE.
  41. *
  42. * VROT STATUS BITS USED.
  43. * BIT 0 - COMPLETION STATUS BIT.
  44. * BIT 11- ERROR RETURN.
  45. SPACE 4,10,10
  46. *** ACCOUNT FILE MESSAGES.
  47. *
  48. *
  49. * CHARACTER ACCUMULATOR OVERFLOW -
  50. * *UCCO, 000000.000KCHS.* = CHARACTERS OUT.
  51. * *UCCI, 000000.000KCHS.* = CHARACTERS IN.
  52. * *ABLQ, JSNN, YY/MM/DD, HH.MM.SS* INPUT FILE QUEUED
  53. SPACE 4,10,10
  54. ** ROUTINES USED.
  55. *
  56. *
  57. * 0AV - VERIFY USER NAME.
  58. * 0QM - ISSUE QUEUE FILE ACCOUNTING MESSAGE.
  59. SPACE 4,10
  60. * COMMON DECKS.
  61.  
  62.  
  63. *CALL COMPMAC
  64. *CALL COMSACC
  65. *CALL COMSCPS
  66. *CALL COMSEJT
  67. *CALL COMSEVT
  68. *CALL COMSJIO
  69. *CALL COMSJRO
  70. *CALL COMSMSC
  71. *CALL COMSMSP
  72. *CALL COMSPFM
  73. *CALL COMSPIM
  74. *CALL COMSPRD
  75. *CALL COMSREM
  76. *CALL COMSSRU
  77. *CALL COMSSSE
  78. *CALL COMSTCM
  79. *CALL COMSWEI
  80. *CALL COMSZOL
  81. TITLE PROGRAM EQUIVALENCES.
  82. **** DIRECT LOCATION ASSIGNMENTS.
  83.  
  84. QF EQU 25 QFT ORDINAL
  85. PW EQU 26 POT WORD COUNT
  86. FP EQU 27 FIRST POT
  87. CN EQU 30 - 34 VROT STATUS WORD BUFFER (5 LOCATIONS)
  88. PA EQU 35 - 36 POT ADDRESS (2 LOCATIONS)
  89. PP EQU 37 POT POINTER
  90. DF EQU 40 - 44 DESIGNATED FILE NAME (5 LOCATIONS)
  91. WC EQU 45 WORD COUNT
  92. TT EQU 46 - 47 TERMINAL TABLE ADDRESS (2 LOCATIONS)
  93. TN EQU IR+3 TERMINAL NUMBER
  94. FN EQU 60 - 64 FILE NAME (5 LOCATIONS)
  95. OT EQU 65 ORIGIN TYPE
  96. NC EQU 66 NUMBER OF CONTROL POINTS
  97. MF EQU 67 MESSAGE FLAG
  98. SPACE 4,10
  99. ** MICRO DEFINITIONS.
  100.  
  101.  
  102. TE OCTMIC TTEQ,2 TTY PSEUDO-EQUIPMENT MICRO
  103. SPACE 4,10
  104. **** PROGRAM EQUIVALENCES.
  105.  
  106.  
  107. SYSN EQU 0 SYSTEM SECTOR NUMBER
  108. CPSN EQU 1 C.P. AREA SECTOR NUMBER
  109. NSVR EQU 6 NUMBER OF SERVICE CLASS VALIDATION RETRIES
  110. EJTT EQU EJTR*2 EJT THRESHOLD
  111. BUFFER SPACE 4,10,10
  112. **** BUFFER DEFINITIONS.
  113.  
  114. FBUF EQU BFMS-502-LENF*5+1*5 NFL/INPUT/EOI BUFFER
  115. CBUF EQU FBUF-504 CONTROL POINT AREA SECTOR BUFFER
  116.  
  117. ERRNG EPFW-CBUF-ZAVL CHECK *0AV* OVERFLOW
  118. ERRNG BFMS-CBUF-ZQML CHECK *0QM* OVERFLOW
  119. TITLE OVERLAY COMMUNICATION MACROS.
  120. OVERLAY SPACE 4,10
  121. ** OVERLAY - GENERATE OVERLAY CONSTANTS.
  122. *
  123. * QUAL OVERLAY (TEXT),ADDR
  124. *
  125. * QUAL OVERLAY QUALIFIER NAME
  126. * TEXT TEXT OF SUBTITLE.
  127. * ADDR OPTIONAL LOAD ADDRESS, IF TO BE OTHER THAN *OVL*.
  128.  
  129.  
  130. NOREF .M
  131. PURGMAC OVERLAY
  132. .M SET 0
  133.  
  134. MACRO OVERLAY,Q,T,A
  135. LOCAL LADDR
  136. QUAL
  137. .M SET .M+1
  138. USE LITERALS
  139. .1 MICRO .M,1, ABCDEFGHIJKLMNOPQRSTUVWXYZ
  140. .3 MICRO 1,3, 3T".1"
  141. Q_O EQU 1R".1"
  142. Q MICRO 1,4, O_Q
  143. TITLE ".3" - T
  144. IDENT ".3","Q" - T
  145. *COMMENT 1TA - T
  146. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  147. ORG A OVL
  148. "Q" LJM *
  149. UJN *-2
  150. QUAL Q
  151. OVERLAY ENDM
  152. ENTRY SPACE 4,10,10
  153. ** ENTRY - DEFINE OVERLAY ENTRY POINT.
  154. *
  155. * ENTRY NAME
  156. *
  157. * ENTRY *NAME* = NAME OF ENTRY ADDRESS.
  158.  
  159.  
  160. PURGMAC ENTRY
  161.  
  162. ENTRY MACRO NAME
  163. QUAL
  164. NAME EQU *+1R".1"*10000
  165. QUAL *
  166. ENTRY ENDM
  167. FCN SPACE 4,10,10
  168. ** FCN - DEFINE FUNCTION PROCESSOR.
  169. *
  170. * FCN NAME
  171. *
  172. * ENTRY *NAME* = NAME OF FUNCTION PROCESSOR.
  173.  
  174. NOREF .I
  175. .I SET 0
  176.  
  177. MACRO FCN,L,A
  178. LOC .I/2+1
  179. L CON A/10000,A-A/10000*10000
  180. .I SET .I+2
  181. ENDM
  182. SCLASS SPACE 4,15
  183. ** SCLASS - DEFINE SERVICE CLASS TABLE.
  184. *
  185. * SCLASS NM,MN,DF,ST,TX
  186. *
  187. * ENTRY *NM* = SERVICE CLASS NAME.
  188. * *MN* = TWO CHARACTER MNEMONIC.
  189. * *DF* = DAYFILE MESSAGE CHARACTER.
  190. * *ST* = SHORT TEXT FOR *QFTLIST*.
  191. * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
  192. *
  193. * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
  194. * THIS MACRO.
  195.  
  196.  
  197. PURGMAC SCLASS
  198.  
  199. SCLASS MACRO NM,MN,DF,ST,TX
  200. .A IFC NE,$NM$SSSC$
  201. .SCL RMT
  202. INDEX NM,1R_DF TX
  203. .SCL RMT
  204. .SCLVSP RMT
  205. INDEX NM,MN_MK TX
  206. .SCLVSP RMT
  207. .A ENDIF
  208. SCLASS ENDM
  209.  
  210.  
  211. SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
  212. *CALL COMSSCD
  213. TITLE MAIN PROGRAM.
  214. 1TA SPACE 4,10
  215. ** 1TA - MAIN PROGRAM.
  216. *
  217. * LOADS AND EXECUTES THE VARIOUS FUNCTION PROCESSOR
  218. * OVERLAYS.
  219. *
  220. * CALLS CHG, EXR, PPR, SPA, STA, UPP.
  221.  
  222.  
  223. ORG PPFW
  224. ITA LJM INI INITIALIZE
  225.  
  226. * ENTRY FROM FUNCTION PROCESSOR.
  227.  
  228. ITAX AOM ITAC INCREMENT TO NEXT ENTRY
  229. * LJM DPP (IF SINGLE FUNCTION)
  230. LMN VCPC
  231. NJN ITA1 IF NOT THE END OF A POT
  232. STM ITAC
  233. LDC * READ UP NEXT POT
  234. ITAA EQU *-1
  235. STD PP
  236. RJM UPP GET NEXT POT
  237. ZJN ITA2 IF LAST POT PROCESSED
  238. STM ITAA
  239. RJM SPA SET POT ADDRESS
  240. STM ITAB+1
  241. SHN -14
  242. ADC LDCI
  243. STM ITAB
  244.  
  245. * MULTIPLE FUNCTION RETURN FROM *INI*.
  246.  
  247. ITA1 LDC * READ UP ENTRY
  248. ITAB EQU *-2
  249. ADC 0
  250. ITAC EQU *-1
  251. CRD IR
  252. LDD TN
  253. NJN ITA4 IF STILL MORE ENTRIES TO PROCESS
  254. ITA2 LDD IA SET COMPLETION
  255. CRD IR
  256. LDN ZERL
  257. CRD IR-3
  258. ITAD LDC *
  259. CWD IR
  260.  
  261. * ENTRY TO DROP PPU.
  262.  
  263. DPP MONITOR DPPM DROP PPU
  264. LJM PPR RETURN TO PP RESIDENT
  265.  
  266. * SINGLE FUNCTION RETURN FROM *INI*.
  267.  
  268. ITA4 RJM STA SET TERMINAL TABLE ADDRESS
  269. LDD IR+2 GENERATE FUNCTION CODE INDEX
  270. SHN 1
  271. STD T7
  272. SBN TFCNL+1
  273. MJN ITA6 IF LEGAL FUNCTION CODE
  274. ITA5 LDN 0 SET NO ERROR FLAG
  275. RJM CHG CONDITIONALLY HANG PP
  276. UJP DPP DROP PP
  277.  
  278. ** *1TA* FUNCTION LOAD.
  279. *
  280. * ENTRY (T7) = FUNCTION CODE INDEX.
  281.  
  282.  
  283. ITA6 LDM TFCN-1,T7 SET PROCESSOR ADDRESS
  284. ZJN ITA5 IF UNDEFINED FUNCTION
  285. STM ITAE
  286. LDM TFCN-2,T7 SET OVERLAY NAME
  287. ZJN ITA7 IF NO OVERLAY REQUIRED
  288. SHN 6
  289. LMM OVL-4
  290. SCN 77
  291. ZJN ITA7 IF OVERLAY ALREADY LOADED
  292. LDM TFCN-2,T7 LOAD OVERLAY
  293. LMC 2L3T
  294. RJM EXR LOAD OVERLAY
  295. ITA7 LJM * PROCESS REQUEST
  296. ITAE EQU *-1
  297. TFCN SPACE 4,10
  298. ** TFCN - TABLE OF FUNCTION CODE PROCESSORS.
  299. *
  300. * ENTRY - TWO WORDS.
  301. * WORD 1 = FUNCTION PROCESSOR OVERLAY NAME.
  302. * WORD 2 = FUNCTION PROCESSOR ADDRESS.
  303.  
  304.  
  305. TFCN BSS 0
  306. FCN TFL ADJUST TIMESHARING EXECUTIVE FIELD LENGTH
  307. FCN CIQ CREATE INPUT QUEUE ENTRY
  308. FCN IAM ISSUE ACCOUNTING MESSAGES
  309. FCN IRL INCREMENT RESOURCE LIMIT
  310. FCN RJS RETURN JOB STATUS
  311. LOC *O
  312. TFCNL EQU *-TFCN LENGTH OF FUNCTION TABLE
  313. TITLE GENERAL SUBROUTINES.
  314. CCA SPACE 4,10
  315. ** CCA - COMPUTE CPA/PCPA ADDRESS.
  316. *
  317. * ENTRY (A) = CP/PCP NUMBER.
  318. * (NC) = NUMBER OF CONTROL POINTS.
  319. *
  320. * EXIT (A) = CPA/PCPA ADDRESS.
  321.  
  322.  
  323. CCA1 ADD NC
  324. SHN 7
  325.  
  326. CCA SUBR ENTRY/EXIT
  327. SBD NC
  328. MJN CCA1 IF CONTROL POINT
  329. ZJN CCA1 IF SYSTEM CONTROL POINT
  330. SHN 7
  331. CCAA ADC ** (PCP AREAS BASE ADDRESS)
  332. UJN CCAX RETURN
  333. CFN SPACE 4,10
  334. ** CFN - CHECK FILE NAME.
  335. *
  336. * ENTRY (A) = ADDRESS OF FILE NAME 1.
  337. * (DF - DF+3) = FILE NAME 2.
  338. *
  339. * EXIT (A) = ZERO IF FILE NAMES MATCH.
  340. *
  341. * USES T3.
  342.  
  343.  
  344. CFN SUBR ENTRY/EXIT
  345. STD T3 SAVE ADDRESS OF FILE NAME
  346. LDI T3 COMPARE FIRST TWO CHARACTERS
  347. LMD DF
  348. NJN CFNX IF NO MATCH
  349. LDM 1,T3 COMPARE NEXT CHARACTERS
  350. LMD DF+1
  351. NJN CFNX IF NO MATCH
  352. LDM 2,T3 COMPARE NEXT CHARACTERS
  353. LMD DF+2
  354. NJN CFNX IF NO MATCH
  355. LDM 3,T3 COMPARE LAST CHARACTER
  356. LMD DF+3
  357. SCN 77
  358. UJN CFNX RETURN
  359. CHG SPACE 4,10
  360. ** CHG - CONDITIONALLY HANG PP.
  361. *
  362. * ENTRY (A) = ERROR FLAG.
  363. *
  364. * EXIT (A) = ZERO.
  365. *
  366. * USES CM - CM+4.
  367. *
  368. * MACROS MONITOR.
  369.  
  370.  
  371. CHG SUBR ENTRY/EXIT
  372. STD CM+2 SET ERROR FLAG
  373. LDM CHG GET ADDRESS WHERE ERROR DETECTED
  374. STD CM+1
  375. MONITOR CHGM CONDITIONALLY HANG PP
  376. UJN CHGX RETURN
  377. DPT SPACE 4,10
  378. ** DPT - DROP POTS.
  379. *
  380. * ENTRY (PP) = FIRST POT CHAIN TO BE DROPPED.
  381. * (TN) = TERMINAL NUMBER.
  382. *
  383. * EXIT MONITOR FUNCTION TO DROP POT(S) COMPLETE.
  384. *
  385. * USES T1, CM - CM+4.
  386. *
  387. * CALLS ITF.
  388.  
  389.  
  390. DPT SUBR ENTRY/EXIT
  391. LDN ZERL CLEAR REQUEST WORD
  392. CRD CM
  393. LDC VDPO DROP POTS
  394. STD CM
  395. LDD PP
  396. STD CM+3
  397. RJM ITF ISSUE *TSEM* FUNCTION
  398. UJN DPTX RETURN
  399. ERX SPACE 4,10,10
  400. ** ERX - ERROR EXIT.
  401. *
  402. * EXIT COMPLETION BIT AND ERROR BIT SET IN VROT.
  403. *
  404. * USES CM+4.
  405. *
  406. * USES CN - CN+4.
  407. *
  408. * NOTE *ERX* IS ENTERED BY A RETURN JUMP TO ALLOW
  409. * SAVING THE ADDRESS AT WHICH THE ERROR OCCURRED.
  410.  
  411.  
  412. ERX CON 0 ENTRY / RETURN ADDRESS SAVED
  413. RJM STT GET TERMINAL TABLE ADDRESS
  414. ADK VROT
  415. CRD CN
  416. LDD CN+4 INSURE ERROR AND COMPLETION BIT SET
  417. LPC 3776
  418. LMC 4001
  419. STD CN+4
  420. RJM STT SET TERMINAL TABLE ADDRESS
  421. ADK VROT
  422. CWD CN
  423. LJM ITAX DROP PP
  424. ITF SPACE 4,10
  425. ** ITF - ISSUE *TSEM* FUNCTION.
  426. *
  427. * ENTRY (CM - CM+4) = *TSEM* REQUEST.
  428. *
  429. * USES T1, CM - CM+4.
  430. *
  431. * MACROS DELAY, MONITOR, PAUSE.
  432.  
  433.  
  434. ITF SUBR ENTRY/EXIT
  435. LDD TN
  436. STD CM+4
  437. LDD MA
  438. CWD CM
  439. ITF1 LDK ZERL
  440. CRD CM
  441. MONITOR TSEM
  442. LDD CM+1
  443. ZJN ITFX IF *IAF* INACCESSIBLE OR ERROR
  444. LMC 7777
  445. NJN ITFX IF REQUEST COMPLETE
  446. PAUSE ST
  447. LDC 3600 *TSEM* QUEUE FULL - DELAY AND RETRY
  448. STD T1
  449. ITF2 DELAY
  450. SOD T1
  451. ZJN ITF1 IF TIME TO REISSUE REQUEST
  452. UJN ITF2 CONTINUE TO DELAY
  453. MSR SPACE 4,10
  454. ** MSR - MASS STORAGE READ ERROR PROCESSOR.
  455. *
  456. * EXIT TO RRF1 TO SET UP ERROR EXIT CONDITIONS.
  457.  
  458.  
  459. MSR SUBR ENTRY/EXIT
  460. UJN RRF1 SET EXIT
  461. RRF SPACE 4,20
  462. ** RRF - READ ROLLOUT FILE.
  463. *
  464. * ENTRY (A) = 0, READ SYSTEM SECTOR AND CPA SECTOR.
  465. * (A) = CPSN, READ CPA SECTOR ONLY.
  466. * (CN - CN+1) = ROLLOUT FILE ADDRESS.
  467. *
  468. * EXIT (A) = 0, IF NO ROLLOUT FILE OR IF READ ERROR
  469. * ENCOUNTERED.
  470. * (A) .NE. 0, IF ROLLOUT FILE READ WITHOUT ERROR.
  471. * SYSTEM SECTOR READ INTO *BFMS*, IF REQUESTED.
  472. * FIRST SECTOR OF CPA READ INTO *CBUF*.
  473. *
  474. * USES T5, T6, T7.
  475. *
  476. * CALLS RNS, RSS.
  477. *
  478. * MACROS ENDMS, SETMS.
  479.  
  480.  
  481. RRF SUBR ENTRY/EXIT
  482. STD T7 SET FIRST SECTOR TO READ
  483. LDD CN+1 SET TRACK
  484. STD T6
  485. ZJN RRFX IF EMPTY ROLLOUT FILE
  486. LDD CN
  487. STD T5 SET EQUIPMENT
  488. SETMS IO
  489. LDD T7
  490. NJN RRF2 IF NOT STARTING WITH SYSTEM SECTOR
  491.  
  492. * READ SYSTEM SECTOR.
  493.  
  494. RJM RSS READ SYSTEM SECTOR
  495. NJN RRF1 IF ERROR IN SYSTEM SECTOR
  496. LDM FNSS+4
  497. SHN -6
  498. LMN ROFT
  499. ZJN RRF2 IF ROLLOUT FILE TYPE
  500. ENDMS
  501. RRF1 LDN 0
  502. UJN RRFX RETURN, ROLLOUT FILE BAD
  503.  
  504. * READ CONTROL POINT AREA SECTOR.
  505.  
  506. RRF2 LDC CBUF READ FIRST SECTOR OF CPA
  507. RJM RNS READ NEXT SECTOR
  508. ENDMS
  509. LDN 1 INDICATE GOOD ROLLOUT FILE
  510. LJM RRFX RETURN
  511. STT SPACE 4,10,10
  512. ** STT - SET TERMINAL TABLE ADDRESS.
  513. *
  514. * ENTRY (TT - TT+1) = TERMINAL TABLE ADDRESS.
  515. *
  516. * EXIT (A) = TERMINAL TABLE ADDRESS
  517.  
  518.  
  519. STT SUBR ENTRY/EXIT
  520. LDD TT
  521. SHN 14
  522. LMD TT+1
  523. UJN STTX
  524. SPACE 4,10
  525. * COMMON DECKS.
  526.  
  527.  
  528. *CALL COMPC2D
  529. IFP$ SET 1 ASSEMBLE REMOTE INITIALIZATION
  530. QFT$ SET 1 ASSEMBLE QFT ADDRESSING
  531. EJT$ SET 1 ASSEMBLE EJT ADDRESSING
  532. *CALL COMPGFP
  533. MSR$ EQU 0 DEFINE PROGRAM PROCESSED DISK ERRORS
  534. *CALL COMPRNS
  535. *CALL COMPRSS
  536. *CALL COMPSPA
  537. *CALL COMPSTA
  538. *CALL COMPUPP
  539. USE OVERLAY
  540. OVL EQU *+10
  541. SPACE 4,10
  542. IFP HERE
  543. INI TITLE INITIALIZATION.
  544. ** INI - INITIALIZE *1TA*.
  545.  
  546.  
  547. INI BSS 0
  548. RJM IFP INITIALIZE *COMPGFP*
  549. LDK NCPL GET NUMBER OF CONTROL POINTS
  550. CRD CM
  551. AOD CM+1 SET NUMBER OF CONTROL POINTS
  552. STD NC
  553. LDK PCPP SET FWA OF PCPA-S
  554. CRD CM
  555. LDD CM+3
  556. SHN 14
  557. LMD CM+4
  558. SBK 200B
  559. STM CCAA+1
  560. SHN -14
  561. LMC ADCI
  562. STM CCAA
  563. LDD IR+2 SET COMPLETION ADDRESS
  564. SHN 6
  565. ADD RA
  566. SHN 6
  567. ADD IR+3
  568. STM ITAD+1
  569. SHN -14
  570. RAM ITAD
  571. ERRNG *-OVL-4 *OVL* OVERLAYS PRESET CODE
  572. LDN 0 CLEAR OVERLAY LOAD INDICATOR
  573. STM OVL-4
  574. LDD IR+2 SET POT POINTER FOR REQUEST QUEUE
  575. SHN 6
  576. MJN INI1 IF ONLY 1 FUNCTION
  577.  
  578. * PROCESS MULTIPLE FUNCTION CALL.
  579.  
  580. LDD IR+4
  581. STD PP
  582. STM ITAA
  583. RJM SPA SET POT ADDRESS OF FIRST POT
  584. STM ITAB+1
  585. SHN -14
  586. RAM ITAB
  587. LJM ITA1 PROCESS MULTIPLE FUNCTION CALL
  588.  
  589. * PROCESS SINGLE FUNCTION CALL.
  590.  
  591. INI1 LDC -4000 CLEAR FUNCTION FLAG
  592. RAD IR+2
  593. LDC LJMI SET TO DROP PP
  594. STM ITAX
  595. LDC DPP
  596. STM ITAX+1
  597. LJM ITA4 PROCESS SINGLE FUNCTION CALL.
  598. SPACE 4,10
  599. ** TEST FOR OVERFLOW.
  600.  
  601.  
  602. OVERFLOW PPFW,EPFW OVERFLOW INTO DISK ERROR PROCESSOR
  603.  
  604. USE OVERFLOW
  605. ERRNG CBUF-* OVERFLOW INTO *CBUF*
  606. TFL OVERLAY (ADJUST TIMESHARING EXECUTIVE FIELD LENGTH.)
  607. TFL SPACE 4,10,10
  608. **** TFL - ADJUST TIMESHARING EXECUTIVE FIELD LENGTH.
  609. *
  610. *T, IR 24/ ,12/ 1,6/ ,18/ FL
  611. *
  612. * FL FIELD LENGTH REQUESTED.
  613. TFL SPACE 4,10,10
  614. ** TFL - ADJUST TIMESHARING EXECUTIVE FIELD LENGTH.
  615. *
  616. * USES WC, CM - CM+4, IR - IR+4, T2 - T7.
  617. *
  618. * CALLS RSI.
  619.  
  620.  
  621. ENTRY TFL
  622. LDD IR+3
  623. SHN 14
  624. ADD IR+4
  625. ADN 77
  626. SHN -6
  627. RJM RSI REQUEST STORAGE INCREASE/DECREASE
  628. NJN TFL2 IF STORAGE INCREASE NOT AVAILABLE
  629. LDN ZERL
  630. CRD CM
  631. LDD RA RESET TOTAL POTS AVAILABLE AND CLEAR FLAG
  632. SHN 6
  633. ADN VCPL
  634. CRD T2
  635. ADN VPAL-VCPL
  636. CWD T2
  637. SBN VPAL-VCPL
  638. CWD CM INDICATE FL CHANGE COMPLETE
  639. LDD CP READ FIELD LENGTH CONTROL WORD
  640. ADN FLCW
  641. CRD CM
  642. LDD FL SET CURRENT FL AS RFL
  643. STD CM+1
  644. LDD CP
  645. ADN FLCW
  646. CWD CM
  647. UJN TFL3 EXIT
  648.  
  649. TFL2 LDD IA SET PP RECALL
  650. CRD IR
  651. LDN ZERL
  652. CRD CM
  653. LDD MA
  654. CWD IR
  655. ADN 1
  656. CWD CM
  657. LDC 4000 SET TO NOT DROP PP
  658. STD CM+1
  659. MONITOR RECM
  660. TFL3 LJM ITAX EXIT
  661. SPACE 4,10
  662. * COMMON DECKS.
  663.  
  664.  
  665. *CALL COMPRSI
  666. SPACE 4,10
  667. ** TEST FOR OVERFLOW.
  668.  
  669.  
  670. OVERFLOW OVL,EPFW OVERFLOW INTO DISK ERROR PROCESSOR
  671. CIQ OVERLAY (CREATE INPUT QUEUE ENTRY.)
  672. CIQ SPACE 4,20
  673. ** CIQ - CREATE INPUT QUEUE ENTRY.
  674. *
  675. *T, IR 24/ ,12/ FC,12/ TN,12/ PP
  676. *
  677. * FC = FUNCTION CODE.
  678. * TN = TERMINAL NUMBER.
  679. * PP = POT POINTER LOGIN PARAMETERS.
  680. *
  681. * *1TA* WILL CREATE AN INPUT FILE AND A *QFT*
  682. * ENTRY FOR A LOGIN. THE INPUT FILE WILL CONTAIN
  683. * PRELIMINARY CONTROL CARDS FOR LOGIN. PARAMETERS
  684. * ON THE CARDS ARE TAKEN FROM *VALIDUZ* FILE AND ARE
  685. * USED FOR DEFAULT VALUES.
  686. *
  687. * IF NO INPUT QUEUE ENTRY CAN BE CREATED BECAUSE THE
  688. * INFORMATION COULD NOT BE WRITTEN TO DISK (DUE TO A
  689. * MASS STORAGE ERROR), AN ERROR CODE IS RETURNED TO *IAF*.
  690.  
  691.  
  692. ENTRY CIQ ENTRY
  693. LDC CSS0.1 INITIALIZE INSTRUCTION MODIFICATIONS
  694. STM CSSG
  695. LDC LDNI+2
  696. STM CIQB
  697. RJM PLI PRE LOG IN USER
  698. LDN 0 CLEAR QFT ORDINAL
  699. STD QF
  700. LDC 101 CLEAR SECTOR
  701. STD T1
  702. LDC BFMS
  703. RJM CBU CLEAR BUFFER
  704. RJM CEF CHECK EJT FULL
  705. CIQ0 RJM CSS CREATE SYSTEM SECTOR
  706. RJM CIS CREATE INPUT SECTOR
  707.  
  708. * QUEUE FILE - WRITE QFT ENTRY.
  709.  
  710. LDN QFTE*5-1 SAVE QFT ENTRY
  711. STD T4
  712. CIQ1 LDM IOSS,T4
  713. STM CIQA,T4
  714. SOD T4
  715. PJN CIQ1 IF MORE TO MOVE
  716. RJM WDI WRITE DISK INFORMATION
  717. PJN CIQ2 IF NO MASS STORAGE ERROR ENCOUNTERED
  718.  
  719. * MASS STORAGE ERROR ENCOUNTERED - RELEASE TRACKS AND RETRY.
  720.  
  721. LDN ZERL DROP TRACKS
  722. CRD CM
  723. LDD T5 EST ORDINAL TO DROP
  724. STD CM+1
  725. LDD T6 TRACK TO DROP
  726. STD CM+2
  727. MONITOR DTKM
  728. SOM CIQB
  729. CIQB LDN 2
  730. * LDN 1 (AFTER FIRST TRY FAILED)
  731. * LDN 0 (AFTER SECOND TRY FAILED)
  732. NJP CIQ0 IF RETRY ATTEMPT NEEDED
  733.  
  734. * RETURN QFT ENTRY TO POOL. RETURN MASS STORAGE ERROR CODE
  735. * CODE TO *IAFEX*.
  736.  
  737. LDD QF QFT ORDINAL
  738. STD CM+1
  739. LDN PQFT ENTRY IS IN QFT
  740. STD CM+2
  741. MONITOR MTRM
  742. LDN 20 MASS STORAGE ERROR ENCOUNTERED
  743. STD CN+4
  744. RJM SPA
  745. ADN VUTA
  746. CWD CN
  747. RJM ERX ERROR EXIT (EXIT TO *ITAX*)
  748.  
  749. CIQ2 LDN QFTE
  750. STD T4
  751. SFA QFT,QF
  752. CWM CIQA,T4 WRITE QFT ENTRY
  753.  
  754. * ISSUE *ABLQ* ACCOUNTING MESSAGE.
  755.  
  756. LDC 2RAB
  757. STM CBUF-2
  758. LDC 2RLQ
  759. STM CBUF-1
  760. EXECUTE 0QM,CBUF ISSUE ACCOUNT MESSAGE
  761.  
  762. * REQUEST SCHEDULER.
  763.  
  764. LDN ZERL CLEAR PARAMETERS
  765. CRD CM
  766. AOD CM+2 SET QFT SCHEDULING OPTION
  767. MONITOR RSJM
  768. LJM ITAX TERMINATE
  769.  
  770. CIQA BSS QFTE*5 QFT ENTRY BUFFER
  771. CBU SPACE 4,10
  772. ** CBU - CLEAR BUFFER.
  773. *
  774. * ENTRY (A) = FWA OF AREA TO CLEAR.
  775. * (T1) = NUMBER OF CM WORDS TO CLEAR.
  776. *
  777. * EXIT BUFFER CLEARED.
  778. *
  779. * USES T1, T2.
  780.  
  781.  
  782. CBU SUBR ENTRY/EXIT
  783. STM CBUA SAVE ADDRESS TO START CLEARING
  784. LDN 7
  785. STD T2
  786. LDD OA CLEAR OUTPUT REGISTER AND MESSAGE BUFFER
  787. CWM CBUB,T2
  788. CBU1 LCN 7
  789. RAD T1
  790. PJN CBU2 IF SEVEN OR MORE WORDS LEFT TO CLEAR
  791. RAD T2 ADJUST WORD COUNT
  792. CBU2 LDD OA
  793. CRM *,T2
  794. CBUA EQU *-1
  795. LDN 7*5 ADVANCE BUFFER ADDRESS
  796. RAM CBUA
  797. LDD T1
  798. ZJN CBUX IF COMPLETE
  799. SHN 21-13
  800. PJN CBU1 IF NOT COMPLETE
  801. UJN CBUX RETURN
  802.  
  803. CBUB BSSZ 7*5
  804. CEF SPACE 4,10
  805. ** CEF - CHECK EJT FULL.
  806. *
  807. * EXIT TO *SEC* IF NUMBER OF AVAILABLE ENTRIES IN THE EJT
  808. * ARE .LT. *EJTT*.
  809. *
  810. * USES CM - CM+4.
  811.  
  812.  
  813. CEF SUBR ENTRY/EXIT
  814. LDK EJTP
  815. CRD CM
  816. LDD CM+3
  817. SBN EJTT EJT THRESHOLD VALUE
  818. PJN CEFX IF ENOUGH ENTRIES IN TABLE
  819. LDN 40 *SYSTEM FULL*
  820. RJM SEC SET ERROR CODE (NO RETURN)
  821. CIS SPACE 4,10
  822. ** CIS - CREATE INPUT SECTOR.
  823. *
  824. * ENTRY SYSTEM SECTOR IN BFMS.
  825. *
  826. * EXIT INPUT CARDS CREATED IN FBUF.
  827. * (WC) = CM WORD COUNT IN SECTOR
  828. *
  829. * USES T1, T3, WC.
  830. *
  831. * CALLS ACS, ANS, CBF, DV5, SEL.
  832.  
  833.  
  834. CIS SUBR ENTRY/EXIT
  835. LDC 101 CLEAR SECTOR
  836. STD T1
  837. LDC FBUF
  838. RJM CBU CLEAR BUFFER
  839. LDC FBUF+2 SET BUFFER ADDRESS
  840. STD T1
  841. LDC JNSS SET UJN HASH
  842. RJM ACS
  843. LDC CISG SET PERIOD
  844. RJM ACS
  845. RJM SEL SET EOL
  846. LDC CISH SET USER CARD
  847. RJM ACS
  848. LDC CISB SET USERNAME
  849. RJM ACS
  850. LDC CISF SET COMMA
  851. RJM ACS
  852. LDC CISF SET COMMA
  853. RJM ACS
  854. LDC CISD SET FAMILY NAME
  855. RJM ACS
  856. LDC CISG SET PERIOD
  857. RJM ACS
  858. RJM SEL SET EOL
  859. STM CISA STORE PLACE TO CONTINUE ASSEMBLY
  860. LDN CISEL
  861. RJM DV5 WORD COUNT TO TRANSFER
  862. STD T2
  863. LDD MA
  864. CWM CISE,T2
  865. SBD T2
  866. CRM *,T2
  867. CISA EQU *-1
  868. LDD T1
  869. ADN CISEL
  870. ADC -FBUF+2
  871. RJM DV5 DIVIDE BY 5
  872. STD WC
  873. LJM CISX RETURN
  874.  
  875. CISB BSS 5 USERNAME
  876. CISC BSS 5 PASSWORD
  877. CISD BSS 5 FAMILY NAME
  878. CISE VFD 60/10L$RECOVER,O
  879. VFD 60/4LP=T.
  880. CISEL EQU *-CISE
  881. CISF CON 1L, COMMA
  882. CISG CON 1L. PERIOD
  883. CISH VFD 36/5LUSER,
  884. CSS SPACE 4,30
  885. ** CSS - CREATE SYSTEM SECTOR.
  886. *
  887. * CREATE SYSTEM SECTOR FOR INPUT FILE.
  888. * CREATE AN *QFT* ENTRY FOR THE NEW FILE.
  889. *
  890. * ENTRY (CISB) = CREATION USER NUMBER.
  891. * (CISD) = CREATE FAMILY NAME.
  892. * (ABUF = ABUF+15) = VALIDATION ACCOUNT BLOCK.
  893. * (IR+3) = TERMINAL NUMBER.
  894. * (CSSC) = LOWER ACCESS LEVEL LIMIT FOR JOB.
  895. * (CSSD) = UPPER ACCESS LEVEL LIMIT FOR JOB.
  896. * (CSSE) = SERVICE CLASS.
  897. * (QF) = 0, IF INITIAL *CSS* CALL (NO QFT ENTRY
  898. * ASSIGNED).
  899. * = QFT ORDINAL OF ASSIGNED ENTRY, IF INITIAL
  900. * CALL TO *CSS* RESERVED AN ENTRY BUT THE
  901. * SYSTEM SECTOR COULD NOT BE WRITTEN DUE TO
  902. * AN I/O ERROR.
  903. *
  904. * EXIT (T5) = EQUIPMENT.
  905. * (T6) = TRACK.
  906. * (T7) = SECTOR.
  907. * (QF) = QFT ORDINAL OF ASSIGNED ENTRY.
  908. * *QFT* ENTRY IN IOSS.
  909. * SYSTEM SECTOR CREATED IN BFMS.
  910. * CORRECT EOI SET IN TRT.
  911. *
  912. * USES CM - CM+4, FN - FN+4, QF, T1, T2, T5, T6.
  913. *
  914. * CALLS CTE, GNB, RFI, RJC, SEC, STT, TLI.
  915. *
  916. * MACROS MONITOR.
  917.  
  918.  
  919. CSS SUBR ENTRY/EXIT
  920. LDN ZERL CLEAR PARAMETERS
  921. CRD CM
  922. LDN INPS SELECT INPUT DEVICE
  923. STD CM+2
  924. LDM CSSC SELECT ON LOWER ACCESS LEVEL OF JOB
  925. ADN 40
  926. SHN 6
  927. STD CM+3
  928. LDN 3 SET NUMBER OF SECTORS
  929. STD CM+4
  930. MONITOR RTCM ASSIGN MASS STORAGE SPACE
  931. LDD CM+1 SET EQUIPMENT
  932. STD T5
  933. LDD CM+4 SET TRACK
  934. STD T6
  935. NJN CSS0 IF TRACK ASSIGNED
  936. LDD QF QFT ORDINAL
  937. ZJN CSS1 IF NO QFT ENTRY RESERVED
  938. STD CM+1
  939. LDN PQFT ENTRY IS IN QFT
  940. STD CM+2
  941. MONITOR MTRM RETURN QFT ENTRY TO POOL
  942. * LDN 0
  943. UJN CSS1 SET ERROR STATUS
  944.  
  945. CSS0 LJM CSS0.1 REQUEST QFT ENTRY
  946. * LJM CSS2.1 (QFT ENTRY PREVIOUSLY REQUESTED/ASSIGNED)
  947. CSSG EQU *-1
  948.  
  949. * REQUEST *QFT* ENTRY.
  950.  
  951. CSS0.1 LDN ZERL CLEAR FIRST WORD VALUE
  952. CRD CM+3
  953. LDN 7
  954. STD CM+7 SET INTERLOCK BIT
  955. LDN PQFT GET QFT ENTRY WITH JSN
  956. RJM CTE CREATE TABLE ENTRY
  957. NJN CSS2 IF QFT NOT FULL
  958. LDN ZERL CLEAR PARAMETERS
  959. CRD CM
  960. LDD T5 SET EQUIPMENT AND TRACK TO DROP
  961. STD CM+1
  962. LDD T6
  963. STD CM+2
  964. MONITOR DTKM DROP TRACKS
  965. LDN 40 FLAG *SYSTEM FULL* ERROR
  966. CSS1 RJM SEC SET ERROR CODE (NO RETURN)
  967.  
  968. * FORMAT SYSTEM SECTOR AND *QFT* ENTRY.
  969.  
  970. CSS2 CRM IOSS,ON READ INTO SYSTEM SECTOR QFT
  971. SBN 1
  972. CRM OJSS,ON
  973. LDC CSS2.1 BYPASS FORMATTING ON SUBSEQUENT CALLS
  974. STM CSSG
  975. LDD CM+1 SAVE QFT ORDINAL
  976. STD QF
  977. STM GQSS
  978. LDD CP SET CREATING JOB JSN
  979. ADK TFSW
  980. CRD CM
  981. SFA EJT,CM
  982. ADK JSNE
  983. CRM CJSS,ON
  984. LDN 0
  985. STM CJSS+2
  986. STM PRSS
  987. RJM STT GET TERMINAL TABLE ADDRESS
  988. ADK VFST
  989. CRD CM
  990. LDM IOSS ADD JSN TO *VFST*
  991. STD CM
  992. LDM IOSS+1
  993. STD CM+1
  994. RJM STT
  995. ADK VFST
  996. CWD CM
  997. CSS2.1 LDK RTCL SET ENTRY TIME
  998. CRD CM
  999. LDD CM
  1000. STM IOSS+ENTQ*5+3
  1001. LDD CM+1
  1002. STM IOSS+ENTQ*5+4
  1003. LDD T6 SET TRACK
  1004. STM IOSS+ENTQ*5+1
  1005. LDD T5 SET EQUIPMENT
  1006. STM IOSS+ENTQ*5
  1007. LDC NOQF*100 SET QUEUE FILE TYPE
  1008. STM IOSS+JSNQ*5+4
  1009. LDC **
  1010. CSSE EQU *-1 (SERVICE CLASS TO ASSIGN)
  1011. SHN 6
  1012. ADN IAOT SET ORIGIN TYPE
  1013. STM IOSS+SCLQ*5
  1014. LDN PDTL SET PACKED DATE AND TIME
  1015. CRD CM
  1016. LDD CM+2
  1017. STM CDSS+2
  1018. LDD CM+3
  1019. STM CDSS+3
  1020. LDD CM+4
  1021. STM CDSS+4
  1022. LDN IPRL SET DEFAULT KEYPUNCH MODE
  1023. CRD CM
  1024. LDD CM+2
  1025. SHN -13
  1026. STM JFSS
  1027. LDN 3 SET FLAGS - FILE IN ACTIVE QUEUE
  1028. STM FGSS
  1029. LDC 2RIN SET DISPOSITION CODE
  1030. STM DCSS
  1031. LDC MMFL SET MACHINE ID
  1032. CRD CM
  1033. LDD CM
  1034. STM RMSS
  1035. STM CMSS
  1036. LDN 3 SET FILE LENGTH IN SECTORS
  1037. STM FLSS+1
  1038. LDC FLSS GET ADDRESS OF SYSTEM SECTOR FILE LENGTH
  1039. RJM RFI SET FILE SIZE INDEX IN QFT ENTRY
  1040. LDD MA SET CREATION USER NUMBER
  1041. CWM ABUF+ACCN*5,ON
  1042. CWM CISD,ON SET CREATION FAMILY
  1043. SBN 2
  1044. CRM ACSS,ON
  1045. CRM FMSS,ON
  1046. SBN 2
  1047. CRM OASS,ON
  1048. CRM FOSS,ON
  1049. LDN 0 CLEAR CONTROL POINT AND SLID
  1050. STM CPSS
  1051. STM SLSS+1
  1052. LDM SLSS
  1053. SCN 77
  1054. STM SLSS
  1055. LDD PA GET TERMINAL NAME FROM POT
  1056. SHN 14
  1057. ADD PA+1
  1058. ADN VTRY
  1059. CRM TNSS,ON
  1060. LDD IR+3 SET TERMINAL NUMBER
  1061. STM TRSS
  1062. LDM ABUF+ATIS*5+1 SET INITIAL INTERACTIVE SUBSYSTEM
  1063. SHN -6
  1064. LPN 37
  1065. LMM ISSS
  1066. LPN 77
  1067. LMM ISSS
  1068. STM ISSS
  1069. LDM ABUF+APXI*5+3 SET INTERACTIVE PW EXPIRATION DATE
  1070. LPN 77
  1071. STM PESS
  1072. LDM ABUF+APXI*5+4
  1073. STM PESS+1
  1074.  
  1075. * MOVE FIRST HALF OF VALIDATION ACCOUNT BLOCK TO SYSTEM SECTOR.
  1076.  
  1077. LDN 0
  1078. STD T1
  1079. CSS3 LDM ABUF,T1
  1080. STM VASS,T1
  1081. AOD T1
  1082. LMC ABSS*5
  1083. NJN CSS3 IF NOT LAST BYTE
  1084.  
  1085. * SET USER INDEX/FAMILY ORDINAL/ACCESS LEVEL LIMITS INTO QFT.
  1086.  
  1087. LDM ABUF+AUIN*5+3 GET USER INDEX
  1088. LPN 77
  1089. STM IOSS+JSNQ*5+2
  1090. STD T1 FOR BANNER NAME
  1091. LDM ABUF+AUIN*5+4
  1092. STM IOSS+JSNQ*5+3
  1093. STD T2 FOR BANNER NAME
  1094. LDC * SAVE FO
  1095. CSSA EQU *-1 FAMILY ORDINAL - SET BY *PLI*
  1096. SHN 6 POSITION FO
  1097. RAM IOSS+JSNQ*5+2
  1098. LDM IOSS+INSQ*5+3 SET ACCESS LEVEL LIMITS
  1099. SHN -11
  1100. SHN 3
  1101. LMC *
  1102. CSSF EQU *-1 (LOWER ACCESS LEVEL LIMIT)
  1103. SHN 3
  1104. LMC *
  1105. CSSC EQU *-1 (INITIAL JOB ACCESS LEVEL)
  1106. SHN 3
  1107. LMC *
  1108. CSSD EQU *-1 (UPPER ACCESS LEVEL LIMIT)
  1109. STM IOSS+INSQ*5+3
  1110.  
  1111. * GENERATE UJN FOR JOB.
  1112.  
  1113. RJM GBN GENERATE BANNER NAME
  1114. LDN ZERL
  1115. CRD CM
  1116. LDD T1
  1117. STD CM
  1118. LDD T2
  1119. STD CM+1
  1120. LDD MA
  1121. CWD CM
  1122. CRM JNSS,ON
  1123.  
  1124. * SET TIME LIMIT AND CM AND EM SERVICE LIMITS.
  1125.  
  1126. LCN 0 PRESET LIMITS
  1127. STM JCSS
  1128. STM JESS
  1129. LDM CSSE GET JCB ADDRESS
  1130. RJM RJC
  1131. ZJN CSS4 IF JCB NOT DEFINED
  1132. ADN MCMT GET CM LIMIT
  1133. CRD CM
  1134. ADN MECT-MCMT GET EM LIMIT
  1135. CRD FN
  1136. LDD CM+2 SET LIMITS IN SYSTEM SECTOR
  1137. STM JCSS
  1138. LDD FN+2
  1139. STM JESS
  1140. CSS4 LDM VASS+AHTL*5+2 GET TIME LIMIT
  1141. RJM TLI COMPUTE TL/10B
  1142. SHN 3
  1143. STM JTSS+1
  1144. SHN -14
  1145. STM JTSS
  1146.  
  1147. * SET LOCAL FNT WORD.
  1148.  
  1149. LDD MA
  1150. CWM CSSB,ON
  1151. SBN 1
  1152. CRM FNSS,ON
  1153. LJM CSSX RETURN
  1154.  
  1155. CSSB VFD 42/0LINPUT,6/0,6/INFT,6/0
  1156. PLI SPACE 4,25
  1157. ** PLI - PRE LOG IN USER.
  1158. *
  1159. * VALIDATES USER NUMBER AND PASSWORD.
  1160. *
  1161. * ENTRY (IR+4) = POT POINTER TO POT WITH
  1162. * LOGIN INFORMATION.
  1163. *
  1164. * EXIT IF VALID, USER INDEX AND ACCOUNT INFORMATION
  1165. * RETURNED TO TERMINAL TABLE AND USER VALIDATION FIELDS
  1166. * PRESET IN CONTROL POINT AREA.
  1167. * (CSSC) = LOWER ACCESS LEVEL LIMIT FOR JOB.
  1168. * (CSSD) = UPPER ACCESS LEVEL LIMIT FOR JOB.
  1169. * (CSSE) = SERVICE CLASS TO BE ASSIGNED.
  1170. * IF NOT VALID OR IF *0AV* ENCOUNTERED AN INACCESSIBLE
  1171. * DEVICE OR A MASS STORAGE ERROR, AN ERROR CODE IS
  1172. * RETURNED.
  1173. *
  1174. * USES OT, PP, T1, T2, T3, T5, T7, CM - CM+4, CN - CN+4,
  1175. * DF - DF+4, FN - FN+4.
  1176. *
  1177. * CALLS ERX, GFM, GFO, ITF, SPA, VPW, VSP, *0AV*.
  1178. *
  1179. * MACROS EXECUTE, MONITOR.
  1180.  
  1181.  
  1182. PLI SUBR ENTRY/EXIT
  1183. LDD IR+4 POT POINTER WITH LOGIN INFORMATION
  1184. STD PP
  1185. RJM SPA SET POT ADDRESS
  1186. ADN VFNA SET FAMILY NAME FOR 0AV
  1187. CRD CN
  1188. CRM CISD,ON
  1189. ADK VUNA-VFNA-1 GET USER NAME
  1190. CRD DF
  1191. CRM CISB,ON
  1192. LDD CN
  1193. NJN PLI2 IF FAMILY NAME SUPPLIED
  1194. LDD CN+4
  1195. NJN PLI1 IF FAMILY ORDINAL SUPPLIED
  1196. LDN 1 SET DEFAULT FAMILY ORDINAL
  1197. PLI1 RJM GFM GET FAMILY NAME
  1198. LDD FN+3
  1199. SCN 77
  1200. STD FN+3
  1201. LDN 0
  1202. STD FN+4
  1203. LDD MA
  1204. CWD FN
  1205. CRD CN
  1206. CRM CISD,ON
  1207. PLI2 LDD DF+3 CLEAR UI FIELD
  1208. SCN 77
  1209. STD DF+3
  1210. STM CISB+3
  1211. LDN 0
  1212. STD DF+4
  1213. STD CN+4
  1214. STM CISB+4
  1215. EXECUTE 0AV,CBUF
  1216. PJN PLI3 IF NO MASS STORAGE ERROR ENCOUNTERED
  1217. LDN 20 FLAG MASS STORAGE ERROR
  1218. LJM PLI19 SET ERROR CODE
  1219.  
  1220. PLI3 LDD T4 SAVE (T4)
  1221. STD T5
  1222.  
  1223. * CHECK FOR ACCOUNT FOUND.
  1224.  
  1225. LDN 0 SET INDEX
  1226. STD T7
  1227. LDD T1 CHECK USER INDEX
  1228. ADD T2
  1229. NJN PLI4 IF ACCOUNT FOUND
  1230. LJM PLI16 SET ERROR
  1231.  
  1232. * MOVE USER ACCOUNT BLOCK.
  1233.  
  1234. PLI4 LDI T3
  1235. STM ABUF,T7
  1236. AOD T3
  1237. AOD T7
  1238. LMC ARBS*5
  1239. NJN PLI4 IF NOT LAST BYTE
  1240. STD T2 INITIALIZE TABLE INDEX
  1241.  
  1242. * SET SERVICE CLASS.
  1243.  
  1244. LDM ABUF+ASC1*5+1 GET USER DEFAULT FOR INTERACTIVE ORIGIN
  1245. LPN 77
  1246. STD T1
  1247. PLI5 LDM TVSC,T2 SEARCH FOR VALID SERVICE CLASS
  1248. LMD T1
  1249. ZJN PLI6 IF MATCH FOUND
  1250. AOD T2 INCREMENT TABLE INDEX
  1251. LDN MXSC
  1252. SBD T2
  1253. MJN PLI8 IF END OF TABLE
  1254. UJN PLI5 CHECK NEXT ENTRY
  1255.  
  1256. PLI6 STD T3 CHECK IF SERVICE CLASS IS VALID FOR USER
  1257. LDN IAOT SET ORIGIN TYPE
  1258. STD OT
  1259. LDD T2 SET SERVICE CLASS
  1260. STM CSSE
  1261. PLI7 LDD MA GET VALIDATION MASK
  1262. CWM ABUF+ASCV*5,ON
  1263. SBN 1
  1264. CRD CN
  1265. LDM CSSE
  1266. RJM VSP VALIDATE SERVICE CLASS
  1267. ZJN PLI12 IF NO ERROR
  1268. LMN 3
  1269. PLI8 NJN PLI10 IF NOT SERVICE CLASS FULL
  1270. LDN NSVR NUMBER OF SERVICE CLASS VALIDATION RETRIES
  1271. PLIA EQU *-1
  1272. ZJN PLI11 IF NO MORE RETRIES POSSIBLE
  1273. SOM PLIA DECREMENT RETRY COUNT
  1274. LDC 3600 DELAY PRIOR TO RETRY
  1275. STD T1
  1276. PLI9 DELAY
  1277. SOD T1
  1278. NJN PLI9 IF NOT DONE DELAYING
  1279. UJN PLI7 RETRY SERVICE CLASS VALIDATION
  1280.  
  1281. PLI10 LDN 2&4 SET INVALID SERVICE CLASS ERROR
  1282. PLI11 LMN 4
  1283. STD CN+4
  1284. LJM PLI19 PROCESS ERROR
  1285.  
  1286.  
  1287. * GET FAMILY ORDINAL.
  1288.  
  1289. PLI12 LDD MA SET FAMILY NAME
  1290. CWM CISD,ON
  1291. SBN 1
  1292. CRD FN
  1293. LDN 1 DO NOT ADD FAMILY NAME TO FOT
  1294. RJM GFO GET FAMILY ORDINAL
  1295. ZJN PLI13 IF NO ERROR OCCURRED
  1296. LJM PLI16 SET ERROR
  1297.  
  1298. PLI13 RJM STT
  1299. ADK VUIT
  1300. CRD CM
  1301. LDD FN+4 INSERT FAMILY ORDINAL IN TERMINAL TABLE
  1302. STM CSSA
  1303. ADK VUFO
  1304. LDD CM+3
  1305. SCN 77
  1306. LMD FN+4
  1307. STD CM+3
  1308. RJM STT
  1309. ADK VUIT
  1310. CWD CM
  1311.  
  1312. * CHECK FOR VALID USER.
  1313.  
  1314. LDD RA CHECK TERMINAL TYPE
  1315. SHN 6
  1316. ADN VNTP
  1317. CRD DF
  1318. LDD DF+2
  1319. ZJN PLI14 IF NO NETWORK TERMINALS
  1320. SBD TN
  1321. SBN 1
  1322. MJN PLI17 IF NETWORK TERMINAL
  1323. PLI14 LDD T5 CHECK UI FLAG FROM *0AV*
  1324. NJN PLI16 IF UI EXCEEDS AUIMX
  1325. RJM VPW VALIDATE PASSWORD
  1326. NJN PLI16 IF INVALID PASSWORD
  1327. LDD T6
  1328. NJN PLI18 IF SECURITY COUNT NOT EXHAUSTED
  1329. LDN 1 FLAG *SECURITY COUNT EXHAUSTED* ERROR
  1330. PLI15 LJM PLI19 SET ERROR CODE
  1331.  
  1332. PLI16 LDN 0 FLAG *INVALID USER* ERROR
  1333. UJN PLI15 SET ERROR CODE
  1334.  
  1335. PLI17 LDD PA READ PASSWORD
  1336. SHN 14
  1337. LMD PA+1
  1338. ADN VPWA
  1339. CRD CM
  1340. LDD CM
  1341. ZJN PLI18 IF PASSWORD IS ZERO, BYPASS VALIDATION
  1342. RJM VPW VALIDATE PASSWORD
  1343. MJN PLI16 IF PASSWORD IS NOT VALID, ERROR EXIT
  1344. LDD PA CLEAR PASSWORD FIELD IN PARAMETER POT
  1345. SHN 14
  1346. LMD PA+1
  1347. ADN VPWA
  1348. CRD CM
  1349. LDN 0
  1350. STD CM
  1351. LDD PA
  1352. SHN 14
  1353. LMD PA+1
  1354. ADN VPWA
  1355. CWD CM
  1356.  
  1357. * DETERMINE VALID ACCESS LEVELS AND CATEGORIES FOR JOB.
  1358.  
  1359. PLI18 LDD PA GET LINE ACCESS LEVEL LIMIT
  1360. SHN 14
  1361. LMD PA+1
  1362. ADN VLAL
  1363. CRD CM
  1364. LDD CM+4 SET UPPER ACCESS LEVEL LIMIT TO LINE LIMIT
  1365. LPN 7
  1366. STD CM+3
  1367. LDN 0 SET LOWER ACCESS LEVEL LIMIT
  1368. STD CM+4
  1369. LDN IAOT
  1370. STD CM+2
  1371. LDN VJCS VALIDATE JOB CREATION PARAMETERS
  1372. STD CM+1
  1373. LDD MA
  1374. CWM ABUF+ASVW*5,ON SET SECURITY VALIDATION WORD
  1375. MONITOR VSAM
  1376. LDD MA
  1377. CRM ABUF+ASVW*5,ON READ UPDATED SECURITY VALIDATIONS
  1378. LDD CM+4 SAVE RESTRICTED ACCESS LEVEL LIMITS
  1379. STM CSSF
  1380. LDD CM+3
  1381. STM CSSD
  1382. LDD CM+2 SAVE INITIAL JOB ACCESS LEVEL
  1383. STM CSSC
  1384. LDD CM+1
  1385. ZJN PLI20 IF NO REJECT
  1386. LDN 10 FLAG *SECURITY VIOLATION* ERROR
  1387. PLI19 RJM SEC SET ERROR CODE (NO RETURN)
  1388.  
  1389. * USER SUCCESSFULLY VALIDATED.
  1390. * PUT VALIDATION IN POT AND TERMINAL TABLE.
  1391.  
  1392. PLI20 LDD PA
  1393. SHN 14
  1394. ADD PA+1
  1395. ADN VUTA
  1396. CWM ABUF+AAWC*5,ON
  1397. ADK VUTD-VUTA-1
  1398. CWM ABUF+ATPA*5,ON
  1399. LDM ABUF+ATPA*5+1
  1400. SHN 21-13
  1401. PJN PLI21 IF NORMAL MODE
  1402. LDN ZERL CLEAR REQUEST WORD
  1403. CRD CM
  1404. LDC VSCS SET CHARACTER SET MODE
  1405. STD CM
  1406. LDN 11
  1407. STD CM+2
  1408. RJM ITF ISSUE *TSEM* FUNCTION
  1409. PLI21 LJM PLIX RETURN
  1410. TSVC SPACE 4,10
  1411. ** TSVC - TABLE OF VALID USER DEFAULT SERVICE CLASSES.
  1412. *
  1413. *T 12/ SUFFIX
  1414. * SUFFIX = ONE CHARACTER SUFFIX, RIGHT JUSTIFIED, FOR SERVICE
  1415. * CLASS.
  1416.  
  1417.  
  1418. TVSC INDEX
  1419. LIST D
  1420. .SCL HERE
  1421. LIST *
  1422. INDEX MXSC
  1423. SEC SPACE 4,10
  1424. ** SEC - SET ERROR CODE.
  1425. *
  1426. * ENTRY (A) = ERROR CODE.
  1427. *
  1428. * EXIT TO *ERX*.
  1429. * ERROR CODE SET IN BYTE 4, WORD *VUTA* OF LOGIN POT.
  1430. *
  1431. * USES CN - CN+4.
  1432. *
  1433. * CALLS SPA, ERX.
  1434.  
  1435.  
  1436. SEC SUBR ENTRY
  1437. STD CN+4
  1438. RJM SPA
  1439. ADN VUTA
  1440. CWD CN
  1441. RJM ERX ERROR EXIT (NO RETURN)
  1442. SEL SPACE 4,10
  1443. ** SEL - SET END OF LINE.
  1444. *
  1445. * ENTRY (T1) = LAST BYTE ASSEMBLED IN FBUF.
  1446. *
  1447. * EXIT (T1) = NEXT BYTE TO ASSEMBLE INTO IN FBUF.
  1448. *
  1449. * USES T1, T2.
  1450. *
  1451. * CALLS DV5.
  1452.  
  1453.  
  1454. SEL SUBR
  1455. LDI T1
  1456. ZJN SEL1 IF ZERO BYTE
  1457. AOD T1
  1458. SEL1 LDD T1
  1459. ADC -FBUF-2+5 ROUND UP
  1460. RJM DV5
  1461. STD T2
  1462. SHN 2 * 4
  1463. ADD T2 * 5
  1464. ADC FBUF+2-1
  1465. STD T1 POSSIBLE EOL
  1466. LDI T1
  1467. ZJN SEL2 IF EOL IN PLACE
  1468. LDN 5
  1469. RAD T1
  1470. SEL2 AOD T1 SET NEXT BYTE TO ASSEMBLE INTO
  1471. UJN SELX EXIT
  1472. VPW SPACE 4,10
  1473. ** VPW - VALIDATE PASSWORD.
  1474. *
  1475. * ENTRY (PA - PA+1) = ADDRESS OF LOGIN POT.
  1476. * (ABUF) = VALIDATION FILE ENTRY.
  1477. *
  1478. * EXIT (A) = 0 IF PASSWORD VALID.
  1479. *
  1480. * USES CM - CM+4, DF - DF+4.
  1481. *
  1482. * CALLS CFN.
  1483. *
  1484. * MACROS MONITOR.
  1485.  
  1486.  
  1487. VPW SUBR ENTRY/EXIT
  1488. LDM ABUF+APWI*5+3 CHECK PASSWORD EXPIRATION DATE
  1489. LPN 77
  1490. STD CM+3
  1491. SHN 14
  1492. LMM ABUF+APWI*5+4
  1493. ZJN VPW1 IF NONEXPIRING PASSWORD
  1494. STD CM+4
  1495. LDN VEDS VALIDATE EXPIRATION DATE
  1496. STD CM+1
  1497. MONITOR VSAM
  1498. LDD CM+1
  1499. NJN VPWX IF PASSWORD EXPIRED
  1500. VPW1 LDD PA READ PASSWORD
  1501. SHN 14
  1502. LMD PA+1
  1503. ADN VPWA
  1504. CRD CM
  1505. LDD MA ENCRYPT PASSWORD
  1506. CWD CM
  1507. LDN REPS
  1508. STD CM+1
  1509. MONITOR RDCM
  1510. LDD MA
  1511. CRD DF
  1512. LDC ABUF+APWI*5
  1513. RJM CFN COMPARE PASSWORDS
  1514. UJP VPWX RETURN
  1515. WDI SPACE 4,20
  1516. ** WDI - WRITE DISK INFORMATION.
  1517. *
  1518. * ENTRY (T5) = EQUIPMENT.
  1519. * (T6) = TRACK.
  1520. * (T7) = SECTOR.
  1521. * (BFMS) = SYSTEM SECTOR.
  1522. * (FBUF) = INPUT SECTOR.
  1523. * (WC) = WORD COUNT IN SECTOR.
  1524. *
  1525. * EXIT (A) = 0, IF NO ERRORS. THE SYSTEM SECTOR, THE INPUT
  1526. * SECTOR, AND THE EOI SECTOR ARE WRITTEN.
  1527. * .LT. 0, IF WRITE ERRORS ENCOUNTERED.
  1528. *
  1529. * USES FA, T1, T4, T7, KWC.
  1530. *
  1531. * CALLS CBU, WDS, WEI, WSS.
  1532. *
  1533. * MACROS SETMS, SFA.
  1534.  
  1535.  
  1536. WDI SUBR ENTRY/EXIT
  1537.  
  1538. * WRITE SECTORS.
  1539.  
  1540. SETMS IO,,BFMS
  1541. RJM WSS WRITE SYSTEM SECTOR
  1542. MJN WDIX IF MASS STORAGE ERROR
  1543. LDD T7 SET SECTOR LINKAGE
  1544. ADN 1
  1545. STM FBUF
  1546. LDD WC SET WORD COUNT
  1547. STM FBUF+1
  1548. LDC FBUF+WCSF
  1549. RJM WDS WRITE SECTOR
  1550. MJN WDIX IF MASS STORAGE ERROR
  1551. LDM FBUF SET NEXT SECTOR
  1552. STD T7
  1553. LDD T6 SET FIRST TRACK IN EOI SECTOR
  1554. STM FBUF+FTEI
  1555. LDD MA TRANSFER FNT/FST/DATE TO *FBUF*
  1556. CWM BFMS+2,TR
  1557. SBN 3
  1558. CRM FBUF+2,TR
  1559. LDN 75 CLEAR REMAINDER OF EOI
  1560. STD T1
  1561. LDC FBUF+2+3*5
  1562. RJM CBU CLEAR BUFFER
  1563. LDC FBUF
  1564. RJM WEI WRITE EOI SECTOR
  1565. MJN WDI1 IF MASS STORAGE ERROR
  1566. ENDMS
  1567. * LDN 0 INDICATE NO ERROR
  1568. WDI1 LJM WDIX RETURN
  1569. SPACE 4,10
  1570. * COMMON DECKS.
  1571.  
  1572.  
  1573. *CALL COMPACS
  1574. *CALL COMPANS
  1575. *CALL COMPCTE
  1576. TLI$ SET 1
  1577. *CALL COMPCVI
  1578. *CALL COMPDV5
  1579. *CALL COMPGBN
  1580. *CALL COMPRFI
  1581. *CALL COMPRJC
  1582. IF DEF,FA,1
  1583. ERR CHECK *COMPWSS* AND *COMPWEI*
  1584. *CALL COMPSFI
  1585. *CALL COMPSSE
  1586. GFM$ SET 1
  1587. GFO$ SET 1
  1588. *CALL COMPUFT
  1589. CJL$ EQU 1 CHECK IF SERVICE CLASS AT JOB LIMIT
  1590. CUV$ EQU 1 CHECK IF USER VALIDATED FOR SERVICE CLASS
  1591. *CALL COMPVSP
  1592. WEI$ EQU 1 USE ALTERNATE EOI BUFFER
  1593. *CALL COMPWEI
  1594. WCS$ SET 1 USE WRITE CONTINOUS SECTORS IN *COMPWSS*
  1595. *CALL COMPWSS
  1596.  
  1597. USE OVERLAY
  1598.  
  1599. ABUF EQU * USER ACCOUNT BLOCK
  1600. SPACE 4,10
  1601. ** TEST FOR OVERFLOW.
  1602.  
  1603.  
  1604. OVERFLOW OVL,EPFW OVERFLOW INTO DISK ERROR PROCESSOR
  1605.  
  1606. USE OVERFLOW
  1607. ERRNG CBUF-* OVERFLOW INTO *CBUF*
  1608. IAM OVERLAY (ISSUE ACCOUNTING MESSAGES.)
  1609. IAM SPACE 4,25
  1610. *** IAM - ISSUE ACCOUNTING MESSAGES.
  1611. *
  1612. *T, IR 24/ ,12/ FC,12/ APTN,12/ 400B
  1613. *
  1614. * FC = FUNCTION CODE.
  1615. * APTN = ACCOUNTING PSEUDO TERMINAL NUMBER.
  1616. *
  1617. * REQUEST QUEUE FORMAT.
  1618. *T, IR 36/ ,12/ TN,10/ ,1/O,1/R
  1619. *
  1620. * TN = TERMINAL NUMBER.
  1621. * O = COMBINED INPUT/OUTPUT OVERFLOW FLAG.
  1622. * R = RESOURCE TYPE.
  1623. * = 0 IF OUTPUT.
  1624. * = 1 IF INPUT.
  1625. *
  1626. * EXIT ACCOUNTING MESSAGES ISSUED.
  1627. * TERMINAL TABLE SET TO COMPLETION STATUS.
  1628. *
  1629. * USES FP, PP, TN, WC, IR - IR+4, CM - CM+4, CN - CN+4,
  1630. * DF - DF+4.
  1631. *
  1632. * CALLS DFM, DPT, SJN, SPA, STA, TWD, UPP.
  1633.  
  1634.  
  1635. ENTRY IAM
  1636. RJM STT SET TERMINAL TABLE ADDRESS
  1637. ADK VROT
  1638. CRD CN
  1639. LDD CN+3 SET FIRST POT
  1640. STD FP
  1641. STD PP
  1642. LDN 0
  1643. STD WC
  1644.  
  1645. * PROCESS REQUEST POT.
  1646.  
  1647. IAM1 RJM SPA READ REQUEST WORD
  1648. ADD WC
  1649. CRD IR
  1650. LDD TN CHECK TERMINAL NUMBER
  1651. NJN IAM2 IF NOT TERMINATOR
  1652. LJM IAM4 COMPLETE PROCESSING
  1653.  
  1654. IAM2 RJM STA SET TERMINAL TABLE ADDRESS
  1655. ADK VUIT
  1656. CRD DF
  1657. ADK VFST-VUIT
  1658. CRD CM
  1659. LDD CM TRANSFER JSN
  1660. STM MSFA
  1661. LDD CM+1
  1662. STM MSFA+1
  1663. SFA EJT,DF+4
  1664. ADN SCLE
  1665. CRD CM
  1666. LDD CM
  1667. SHN -6
  1668. STM MSFA+4 SET SERVICE CLASS
  1669. LDD IR+4 SET RESOURCE TYPE
  1670. LPN 1
  1671. STD T1
  1672. LDM TRST,T1
  1673. STM MSFB+1
  1674. LDD MA SET OVERFLOW QUANTITY
  1675. CWM IAMA,ON
  1676. SBN 1
  1677. CRM MSFC,ON
  1678. LDC MSFA+AJNN ISSUE DAYFILE MESSAGE
  1679. RJM DFM
  1680. LDD IR+4
  1681. SHN 21-1
  1682. PJN IAM2.1 IF NO COMBINED OVERFLOW
  1683. LDC 2RCT SET COMBINED OVERFLOW
  1684. STM MSFB+1
  1685. LDD MA SET COMBINED OVERFLOW QUANTITY
  1686. CWM IAMB,ON
  1687. SBN 1
  1688. CRM MSFC,ON
  1689. LDC MSFA+AJNN ISSUE DAYFILE MESSAGE
  1690. RJM DFM
  1691. IAM2.1 AOD WC INCREMENT POT ADDRESS
  1692. LMN VCPC
  1693. NJN IAM3 IF NOT AT END OF POT
  1694. STD WC RESET TO FWA OF POT
  1695. RJM UPP UPDATE POT POINTER
  1696. ZJN IAM4 IF POT NOT LINKED
  1697. IAM3 LJM IAM1 CONTINUE PROCESSING
  1698.  
  1699. IAM4 STD CN+3 CLEAR POT POINTER
  1700. LDD FP DROP POTS
  1701. STD PP
  1702. RJM DPT
  1703. LDN ACPT RESET TERMINAL NUMBER
  1704. STD TN
  1705. AOD CN+4 SET COMPLETE
  1706. RJM STA
  1707. ADK VROT
  1708. CWD CN
  1709. LJM ITAX EXIT
  1710.  
  1711. IAMA DATA 10H 4.096 INPUT OR OUTPUT OVERFLOW QUANTITY
  1712. IAMB DATA 10H 16777.216 COMBINED INPUT/OUTPUT OVERFLOW QUANTITY
  1713. TRST SPACE 4,10
  1714. ** TRST - TABLE OF RESOURCE TYPES.
  1715.  
  1716.  
  1717. TRST BSS 0
  1718. DATA 2HCO CHARACTERS OUT
  1719. DATA 2HCI CHARACTERS IN
  1720. MSF SPACE 4,10
  1721. ** MSF - MESSAGE FORMAT FOR ACCOUNTING MESSAGES.
  1722.  
  1723.  
  1724. MSFA DATA 10HJSNA SC JOB NAME
  1725. MSFB DATA 6HUCXX, RESOURCE TYPE
  1726. MSFC DATA 10H Q.QQQ QUANTITY
  1727. DATA 6HKCHS. UNITS
  1728. CON 0 TERMINATOR
  1729. SPACE 4,10
  1730. ** TEST FOR OVERFLOW.
  1731.  
  1732.  
  1733. OVERFLOW OVL,EPFW OVERFLOW INTO DISK ERROR PROCESSOR
  1734. IRL OVERLAY (INCREMENT RESOURCE LIMIT.)
  1735. IRL SPACE 4,20
  1736. *** IRL - INCREMENT RESOURCE LIMIT.
  1737. *
  1738. *T,IR 24/ ,12/ FC,12/ TN,12/ PP.
  1739. *
  1740. * FC = FUNCTION CODE.
  1741. * TN = TERMINAL NUMBER.
  1742. * PP = REQUEST POT POINTER.
  1743. *
  1744. * REQUEST POT FORMAT -
  1745. *T, 36/ 0, 6/ FC, 18/ SR.
  1746. * FC = *1RI* FUNCTION CODE.
  1747. * SR = RESOURCE INCREMENT.
  1748. *
  1749. * INCREMENT SRU LIMIT.
  1750. *
  1751. * THE REQUESTED SRU INCREMENT IS PLACED IN THE ROLLOUT
  1752. * FILE SYSTEM SECTOR FOR PROCESSING BY *1RI*, IF NO ERROR
  1753. * ENCOUNTERED FROM READING/UPDATING THE ROLLOUT FILE.
  1754. * IF A MASS STORAGE ERROR WAS ENCOUNTERED, AN ERROR CODE
  1755. * IS RETURNED TO *IAF*.
  1756.  
  1757.  
  1758. ENTRY IRL ENTRY
  1759. RJM STT SET TERMINAL TABLE ADDRESS
  1760. ADK VUIT
  1761. CRD CN
  1762. SFA EJT,CN+4 SET EJT ENTRY ADDRESS
  1763. ADN SCHE
  1764. CRD CN
  1765. LDN SYSN SET TO READ SYSTEM SECTOR AND CPA
  1766. RJM RRF READ ROLLOUT FILE
  1767. NJN IRL1 IF NO ERROR ON READ
  1768. LJM IRL6 RETURN ERROR CODE AND EXIT
  1769.  
  1770. IRL1 LDD IR+4 SET REQUEST POT POINTER
  1771. STD PP
  1772. RJM SPA READ REQUEST POT
  1773. CRD CM
  1774. LDD CM+4 SET REQUEST IN SYSTEM SECTOR
  1775. STM SRSS+4
  1776. LDD CM+3
  1777. STM SRSS+3
  1778. SHN -6
  1779. LMN RLIT
  1780. NJN IRL3 IF NOT TIME LIMIT REQUEST
  1781. LDM CBUF+2+SRUW*5 CHECK FOR VALIDATION LIMIT
  1782. LPC 5777 CLEAR TIME LIMIT EXCEEDED FLAG
  1783. STM CBUF+2+SRUW*5
  1784. SHN 6
  1785. PJN IRL3 IF NOT VALIDATION LIMIT
  1786. IRL2 RJM ERX ERROR EXIT
  1787. IRL3 LDM CBUF+2+SRUW*5 CHECK FOR SRU VALIDATION LIMIT
  1788. LPC 7377 CLEAR SRU LIMIT FLAG
  1789. STM CBUF+2+SRUW*5
  1790. SHN 10
  1791. MJN IRL2 IF VALIDATION LIMIT SET
  1792. SETMS IO,(RW),BFMS
  1793. LDN 0 SET SECTOR
  1794. STD T7
  1795. LDC BFMS+WCSF REWRITE SYSTEM SECTOR
  1796. STM WDSE
  1797. RJM WDS
  1798. MJN IRL6 IF MASS STORAGE ERROR ENCOUNTERED
  1799. LDM CBUF REWRITE CONTROL POINT AREA
  1800. SBN 1
  1801. STD T7
  1802. LDC CBUF+WLSF WRITE CONTROL POINT AREA SECTOR
  1803. RJM WDS
  1804. IRL5 MJN IRL6 IF MASS STORAGE ERROR ENCOUNTERED
  1805. ENDMS
  1806. RJM STT SET TERMINAL TABLE COMPLETE
  1807. ADK VROT
  1808. CRD CN
  1809. AOD CN+4
  1810. RJM STT
  1811. ADK VROT
  1812. CWD CN
  1813. LJM ITAX EXIT
  1814.  
  1815. IRL6 LDN 20 INDICATE MASS STORAGE ERROR ENCOUNTERED
  1816. STD CN+4
  1817. RJM SPA
  1818. ADN VUTA
  1819. CWD CN
  1820. RJM ERX EXIT (TO *ITAX*)
  1821. SPACE 4,10,10
  1822. ** COMMON DECKS.
  1823.  
  1824. TLI$ SET 1 SELECT TIME LIMIT CONVERSION
  1825. *CALL COMPCVI
  1826. SPACE 4,10
  1827. ** TEST FOR OVERFLOW.
  1828.  
  1829.  
  1830. OVERFLOW OVL,EPFW OVERFLOW INTO DISK ERROR PROCESSOR
  1831.  
  1832.  
  1833. ERRMI CBUF-* OVERFLOW INTO BUFFER AREA
  1834. SPACE 4,10,10
  1835. RJS OVERLAY (RETURN JOB STATUS.)
  1836. RJS SPACE 4,25
  1837. *** RJS - RETURN JOB STATUS.
  1838. *
  1839. *T,IR 24/ ,12/ FC,12/ TN,12/ PP.
  1840. *
  1841. * FC = FUNCTION CODE.
  1842. * TN = TERMINAL NUMBER.
  1843. * PP = POT POINTER.
  1844. *
  1845. * RETURN JOB STATUS.
  1846. *
  1847. * CALLED TO RETURN THE CURRENT JOB STATUS FOR
  1848. * THE *ENQUIRE* COMMAND.
  1849. *
  1850. * IF POSSIBLE THE CONTENTS OF THE CONTROL
  1851. * POINT MESSAGE BUFFER (MS1W) IS RETURNED. IF MS2W
  1852. * IS AVAILABLE, IT IS RETURNED INSTEAD OF MS1W.
  1853. *
  1854. * IF THE MESSAGE CANNOT BE READ BECAUSE THE
  1855. * FNT INTERLOCK IS SET AN ERROR STATUS IS
  1856. * RETURNED.
  1857. *
  1858. * *VROT* COMPLETION BIT NOT USED.
  1859. *
  1860. * ENTRY (CN - CN+4) = TERMINAL TABLE WORD VROT.
  1861.  
  1862.  
  1863. ENTRY RJS
  1864. LDN 0 CLEAR MESSAGE FLAG
  1865. STD MF
  1866. LDD IR+4
  1867. STD PP
  1868. LDN MS2W-MS1W+IN0W-MS2W SET *MS1W* + *MS2W* LENGTH
  1869. STD PW
  1870. RJM STT SET TERMINAL TABLE ADDRESS
  1871. ADK VUIT
  1872. CRD CN
  1873. SFA EJT,CN+4
  1874. STM RJSD+1
  1875. STD CM+4
  1876. SHN -14
  1877. STD CM+3
  1878. ADK LDCI
  1879. STM RJSD
  1880. LDN 0 SET INTERLOCK ON EJT
  1881. STD CM+1
  1882. STD CM+2
  1883. MONITOR UTEM
  1884. LDD CM+1
  1885. ZJN RJS1 IF INTERLOCKED
  1886. LDN 0
  1887. STD CM+1
  1888. LJM RJS10 RETURN ERROR STATUS
  1889.  
  1890. RJS1 LDM RJSD
  1891. LPN 77
  1892. SHN 14
  1893. ADM RJSD+1
  1894. ADK JSNE
  1895. CRD CM READ EJT ENTRY
  1896. ADN SCHE-JSNE
  1897. CRD CN
  1898. LDD CM+4
  1899. LPN 76
  1900. LMN EXJS*2
  1901. NJN RJS1.2 IF NOT AT A CONTROL POINT
  1902. LDD CN+3 CP NUMBER
  1903. SHN 7 SET CP ADDRESS
  1904. RJS1.1 ADN MS1W READ *MS1W* AND *MS2W*
  1905. CRM CBUF+2+MS1W*5,PW
  1906. ADN SRUW-IN0W READ *SRUW*
  1907. CRM CBUF+2+SRUW*5,ON
  1908. LJM RJS3 SET MESSAGE IN POT
  1909.  
  1910. RJS1.2 LMN PCJS*2&EXJS*2
  1911. NJN RJS2 IF NOT AT A PSEUDO CONTROL POINT
  1912. LDD CN+1 SET PCP ADDRESS
  1913. RJM CCA
  1914. UJN RJS1.1 READ PCPA FIELDS
  1915.  
  1916. RJS2 LMN SWJS*2&PCJS*2
  1917. NJN RJS2.1 IF NOT SERVICE WAIT STATUS
  1918. STM RJSG
  1919. RJS2.1 LDC CPSN READ CP AREA
  1920. RJM RRF READ ROLLOUT FILE
  1921. NJN RJS3 IF NO ERROR
  1922. LDC CBUF+2+MS2W*5 RETURN ERROR MESSAGE IN *MS2W*
  1923. STM RJSC
  1924. LDN IN0W-MS2W+1 SET *MS2W* MESSAGE LENGTH
  1925. STD PW
  1926. LDD MA
  1927. CWM RJSF,PW
  1928. SBD PW
  1929. CRM CBUF+2+MS2W*5,PW *WAITING - DEVICE INACCESSIBLE.*
  1930. LDN ZERL CLEAR *SRUW* WORD
  1931. CRM CBUF+2+SRUW*5,ON
  1932. LDN VCPC-1 *SRUW* OFFSET
  1933. SBD PW
  1934. STD T7
  1935. LJM RJS9 PUT MESSAGE IN *MS2W* AND RETURN
  1936.  
  1937. RJS3 LDC *
  1938. RJSG EQU *-1
  1939. NJN RJS3.1 IF NOT SERVICE WAIT STATUS
  1940. LDN IN0W-MS2W+1 SET *MS2W* MESSAGE LENGTH
  1941. STD PW
  1942. LDD MA
  1943. CWM RJSH,PW
  1944. SBD PW
  1945. CRM CBUF+2+MS2W*5,PW *WAITING - SERVICE LIMIT.*
  1946. UJN RJS3.2 CONTINUE
  1947.  
  1948. RJS3.1 LDM CBUF+2+MS2W*5
  1949. ZJN RJS4 IF NO *MS2W* MESSAGE
  1950. RJS3.2 LDC CBUF+2+MS2W*5 USE *MS2W* MESSAGE
  1951. STM RJSC
  1952. SBN 1
  1953. STM RJSA
  1954. LDC CBUF+2+IN0W*5-1
  1955. STM RJSB
  1956. ADN 1
  1957. STM RJSE
  1958. LDN IN0W-MS2W+1
  1959. UJN RJS5 SET *MS2W* MESSAGE LENGTH
  1960.  
  1961. RJS4 LDK MS2W-MS1W+1 SET *MS1W* MESSAGE LENGTH
  1962. RJS5 STD PW
  1963. LDN VCPC-1
  1964. SBD PW
  1965. STD T7
  1966. LDK ZERL ASSURE EOL IN AREA TO WRITE TO POT
  1967. CRM CBUF+2+MS2W*5,ON
  1968. RJSE EQU *-1
  1969. * CRM CBUF+2+IN0W*5,ON
  1970. LDC CBUF+2+MS1W*5-1 SET MESSAGE POINTER
  1971. RJSA EQU *-1
  1972. * LDC CBUF+2+MS2W*5-1
  1973. STD CM
  1974. RJS6 AOD CM
  1975. RJS7 LDC CBUF+2+MS2W*5-1
  1976. RJSB EQU *-1
  1977. * LDC CBUF+2+IN0W*5-1
  1978. SBD CM
  1979. ZJN RJS8 IF END OF MESSAGE
  1980. LDI CM
  1981. NJN RJS6 IF NOT TERMINATOR
  1982. AOD CM
  1983. LDN 0
  1984. STI CM CLEAR MESSAGE BUFFER
  1985. UJN RJS7 LOOP
  1986.  
  1987. RJS8 STM CBUF+2+SRUW*5 CLEAR NON-ACCUMULATOR BITS
  1988. LDM CBUF+2+SRUW*5+1
  1989. LPN 77
  1990. STM CBUF+2+SRUW*5+1
  1991. RJS9 RJM SPA SET POT ADDRESS
  1992. CWM CBUF+2+MS1W*5,PW WRITE MESSAGE TO POT
  1993. RJSC EQU *-1
  1994. * CWM CBUF+2+MS2W*5,PW
  1995. ADD T7 WRITE SRU-S TO POT
  1996. CWM CBUF+2+SRUW*5,ON
  1997. AOD MF SET MESSAGE FLAG
  1998. LDN ZERL
  1999. CRD CM
  2000. LDC * CLEAR EJT INTERLOCK
  2001. RJSD EQU *-2 (EJT ENTRY ADDRESS)
  2002. STD CM+4
  2003. SHN -14
  2004. STD CM+3
  2005. LDN 60
  2006. STD CM+1
  2007. MONITOR UTEM
  2008. LDD CM+1
  2009. ZJN RJS10 IF INTERLOCK CLEARED
  2010. LDN 0 SET NO ERROR FLAG
  2011. RJM CHG CONDITIONALLY HANG PP
  2012. RJS10 LDC VSJS
  2013. STD CM
  2014. LDD MF SET MESSAGE FLAG
  2015. STD CM+2
  2016. LDD PP SET POT POINTER
  2017. STD CM+3
  2018. LDD TN SET TERMINAL NUMBER
  2019. STD CM+4
  2020. LDD MA
  2021. CWD CM
  2022. RJS11 LDK ZERL
  2023. CRD CM
  2024. MONITOR TSEM
  2025. LDD CM+1
  2026. ZJN RJS13 IF *IAF* INACCESSIBLE OR ERROR
  2027. LMC 7777
  2028. NJN RJS13 IF REQUEST COMPLETE
  2029. PAUSE ST
  2030. LDC 3600 *TSEM* QUEUE FULL - DELAY AND RETRY
  2031. STD T1
  2032. RJS12 DELAY
  2033. SOD T1
  2034. ZJN RJS11 IF TIME TO REISSUE REQUEST
  2035. UJN RJS12 CONTINUE TO DELAY
  2036.  
  2037. RJS13 LJM ITAX EXIT
  2038.  
  2039. RJSF DATA C*WAITING - INACCESSIBLE DEVICE.*
  2040. CON 0,0,0,0 TERMINATING EOL BYTE
  2041. RJSH DATA C*WAITING - SERVICE LIMIT. *
  2042. CON 0,0,0,0 TERMINATING EOL BYTE
  2043. SPACE 4
  2044. ** TEST FOR OVERFLOW.
  2045.  
  2046. OVERFLOW OVL,EPFW OVERFLOW INTO DISK ERROR PROCESSOR
  2047. END 1TA TIMESHARING AUXILIARY PROCESSOR.