User Tools

Site Tools


cdc:nos2.source:opl871:dsp

Table of Contents

DSP

Table Of Contents

  • [00009] DSP - DISPOSE FILE TO I/O QUEUE.
  • [00011] DISPOSE FILE TO I/O QUEUE.
  • [00628] MACRO DEFINITIONS.
  • [00629] DRIN - DEFAULT ROUTING INFORMATION.
  • [00648] ERROR - SET ERROR CODE.
  • [00663] OVERLAY - GENERATE OVERLAY CONSTANTS.
  • [00695] SCLASS - DEFINE SERVICE CLASS TABLE.
  • [00726] SUBSYST - GENERATE SUBSYSTEM TABLE.
  • [00760] DIRECT LOCATION ASSIGNMENTS
  • [00815] MAIN PROGRAM.
  • [00816] MAIN PROGRAM.
  • [01012] RESIDENT ROUTINES.
  • [01014] DPP - DROP PP.
  • [01045] EER - EVALUATE MASS STORAGE ERROR RETURN.
  • [01082] ERR - ERROR PROCESSOR.
  • [01100] FNB - SET FILE NOT BUSY.
  • [01168] FQI - FUNCTION QFT INTERLOCK.
  • [01208] GEA - GET EJT ADDRESS.
  • [01222] GFA - GET PARAMETER BLOCK ADDRESS.
  • [01238] RFN - READ FAMILY NAME.
  • [01259] RMS - READ MASS STORAGE.
  • [01276] SQO - SET QFT OWNERSHIP.
  • [01337] SSJ - CHECK FOR SSJ= BLOCK.
  • [01361] VCA - VALIDATE CENTRAL ADDRESS.
  • [01390] WMS - WRITE MASS STORAGE.
  • [01430] FILE INITIALIZATION ROUTINES.
  • [01432] AMS - ASSIGN MASS STORAGE.
  • [01512] CSL - CHECK FOR SPECIAL LID.
  • [01547] EDF - ENTER DEFERRED FILE.
  • [01613] EFN - ENTER FILE NAME IN FNT TABLE.
  • [01659] EQF - ENTER QUEUED FILE IN GLOBAL TABLE.
  • [01738] GLI - GET LOGICAL IDENTIFIERS.
  • [01828] ISS - INITIALIZE SYSTEM SECTORS.
  • [01964] PDF - PROCESS DEVICE FULL.
  • [02002] RCL - RECALL PP.
  • [02014] SDC - SET DISPOSITION CODE.
  • [02048] SPR - SET PRIORITY.
  • [02121] SQS - SET QUEUED FILE SYSTEM SECTOR IN *BFMS*.
  • [02159] SSR - SYSTEM SECTOR READ.
  • [02208] USS - UPDATE SYSTEM SECTOR.
  • [02289] VMS - VALIDATE MASS STORAGE.
  • [02348] FILE INITIALIZATION ROUTINES (OVERLAYABLE).
  • [02350] CFN - COMPARE FILE NAMES.
  • [02378] DDC - DETERMINE DISPOSTION CODE.
  • [02516] TODC - TABLE OF DEFAULT ROUTING INFORMATION.
  • [02567] TSFN - TABLE OF SPECIAL FILE NAMES AND DISPOSITION CODES.
  • [02598] FFQ - FIND FILE TO QUEUE.
  • [02712] VJS - VALIDATE JSN SPECIFICATION.
  • [02742] VUL - VALIDATE USER LIMITS.
  • [02790] PRS - PRESET ROUTINE.
  • [03169] TSCC - TABLE OF SERVICE CLASS CODES.
  • [03185] VLD - VALIDATE LID.
  • [03205] VTA - VALIDATE TEXT ADDRESS.
  • [03252] TODD - TABLE OF LEGAL DATA DEFINITIONS.
  • [03262] TOOT - TABLE OF ORIGIN TYPES.
  • [03277] TOQD - TABLE OF QUEUE DESTINATIONS.
  • [03304] CAA - CHECK ALTERNATE FAMILY/USER ACCESS.
  • [03360] CPN - COMPARE NAMES.
  • [03387] VIF - VERIFY INPUT FILE.
  • [03805] CRF - CLEAR REMOTE FAMILY/USER NAME.
  • [03817] CVS - CHECK FOR VALID SERVICE CLASS.
  • [03866] OVERLAYABLE ROUTINES.
  • [03868] DFO - DESTINATION FAMILY ORDINAL.
  • [03896] GUD - GET USER DEFAULT SERVICE CLASS.
  • [03944] TGUD - TABLE OF USER DEFAULT SERVICE CLASSES.
  • [03952] NTS - NO TID SPECIFIED.
  • [03999] PSI - PROCESS SUBSYSTEM INITIATION.
  • [04086] SBI - SET BATCH ID.
  • [04127] SDO - SET DESTINATION ORIGIN TYPE.
  • [04194] SFD - SET FILE DESTINATION.
  • [04495] SOD - SET OUTPUT FILE DATA.
  • [04709] TDIC - TABLE OF DEFAULT INTERNAL CHARACTERISTICS.
  • [04751] AEO - ATTACH EJT ORDINAL.
  • [04769] BSE - CHECK FOR BINARY CARD SEQUENCE ERROR.
  • [04804] CLE - COMPLETE LOCAL ENTRY.
  • [04847] IAM - ISSUE ACCOUNTING MESSAGES.
  • [04872] IES - INITIALIZE EOI SECTOR.
  • [04932] PRT - PROCESS REMOTE TEXT.
  • [05004] PUF - PROCESS USER/FAMILY NAMES.
  • [05116] PUP - PROCESS UJN PRESENCE.
  • [05139] SCP - SET SPECIFIED CHARGE AND PROJECT NUMBERS.
  • [05156] SLI - SET LOGICAL IDENTIFIERS.
  • [05202] UFS - UPDATE FILE STATE.
  • [05279] WES - WRITE EOI SECTOR.
  • [05307] WQS - WRITE QUEUED FILE SYSTEM SECTOR.
  • [05435] CLF - CHANGE TO LOCAL FILE.
  • [05552] ERP - ERROR PROCESSOR.
  • [05624] TABT - TABLE OF ERROR CODES TO ABORT UNCONDITIONALLY.
  • [05634] FEM - FORMAT ERROR MESSAGE.
  • [05665] TDFM - TABLE OF DAYFILE MESSAGE ADDRESSES.
  • [05711] IDM - ISSUE DAYFILE MESSAGES.
  • [05744] PUE - PROCESS USER NAME ERROR.
  • [05778] SEM - SET END OF MESSAGE.
  • [05818] SQE - SET QFT ERROR.

Source Code

DSP.txt
  1. IDENT DSP,DSP
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. SSJ$ EQU 1 ALLOW *SSJ=* JOBS SYSTEM PRIVILEGES
  6. QUAL$ EQU 1 FORCE UNQUALIFIED COMMON DECKS
  7. *COMMENT DSP - DISPOSE FILE TO I/O QUEUE.
  8. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9. TITLE DSP - DISPOSE FILE TO I/O QUEUE.
  10. SPACE 4
  11. *** DSP - DISPOSE FILE TO I/O QUEUE.
  12. * R. A. JAPS. 76/01/12.
  13. * M. J. CARIDDI. 81/08/16.
  14. * P. C. SMITH. 82/04/01.
  15. SPACE 4
  16. *** *DSP* PLACES A FILE IN THE INPUT OR OUTPUT QUEUE.
  17. * THE SYSTEM SECTOR IS FORMATTED WITH INFORMATION SUPPLIED
  18. * BY THE CALLER.
  19. SPACE 4
  20. *** CALL.
  21. *
  22. *T 18/ *DSP*, 6/ 20B, 18/ 0, 18/ FET.
  23. *
  24. * FET = FWA OF PARAMETER BLOCK.
  25. *
  26. *
  27. * PARAMETER BLOCK FORMAT.
  28. *
  29. *T FET0 42/ LFN,6/ ERR,1/F,4/ ,6/ OT,1/C
  30. *T,FET1 6/ TF, 6/ 0, 12/ F1, 12/ DIS, 3/ EC, 1/S, 2/ IC, 18/ FLAGS
  31. *T,FET2 18/ SLID, 18/ DLID, 24/ TID
  32. *T,FET3 42/ UJN, 6/ RESERVE, 12/ PRIORITY
  33. *T,FET3 60/ ENTRY TIME (*QMOVE* ONLY)
  34. *T,FET4 2/ 0,4/ PI,6/ SC,12/ SVC,12/ FA,6/ RESERVE,6/ RC,12/ FNT
  35. *T,FET5 24/ BC, 36/ COUNT
  36. *T,FET6 42/ EQID, 18/ JSN
  37. *
  38. * EXTENDED PARAMETER BLOCK FORMAT.
  39. *
  40. *T,FET7 12/ DD,24/ RA,6/0,18/ EFLAGS
  41. *T,FET10 42/ OUN, 18/ IRTADDR
  42. *T,FET11 42/ OFN, 18/ ERTADDR
  43. *T,FET12 42/ CUN, 6/CP, 12/SSID
  44. *T,FET13 42/ CFN, 18/ RESERVED
  45. *T,FET14 42/ ENCRYPTED PASSWORD, 18/ RESERVED
  46. *T,FET15 60/ RESERVED
  47. *T,FET16 60/ RESERVED FOR INSTALLATIONS
  48. *T,FET17 60/ CHARGE NUMBER
  49. *T,FET20 60/ PROJECT NUMBER (FIRST 10 CHARACTERS)
  50. *T,FET21 60/ PROJECT NUMBER (LAST 10 CHARACTERS)
  51. *
  52. *
  53. * LFN = LOCAL FILE NAME.
  54. *
  55. * ERR = ERROR CODE RETURNED. (SEE DESCRIPTION OF DAYFILE
  56. * MESSAGES FOR ERROR CODES.)
  57. *
  58. * F = FORCED ORIGIN FLAG (*SYOT* ONLY).
  59. *
  60. * OT = FORCED ORIGIN CODE (*SYOT* ONLY).
  61. *
  62. * C = COMPLETION BIT. MUST BE 0 ON CALL. SET TO 1 ON
  63. * COMPLETION.
  64. *
  65. * TF = TERMINATION FLAGS.
  66. * IF AT JOB TERMINATION, FLAGS MEAN THE FOLLOWING -
  67. *
  68. * BIT 59 DISABLE DEFERRED BATCH VALIDATION.
  69. * BIT 57 EOI RANDOM ADDRESS SET IN FET+7.
  70. *
  71. * F1 = FORMS CODE OR INPUT FLAGS.
  72. * IF THE FILE IS TO BE QUEUED TO THE INPUT QUEUE,
  73. * THE FIELD IS DEFINED AS FOLLOWS-
  74. *
  75. * BIT 47-45 UNUSED
  76. * BIT 44 SEND FILE TO INPUT QUEUE IF FORCED ABORT
  77. * BIT 43 SEND FILE TO INPUT QUEUE IF JOB
  78. * COMMAND ERROR OR USER COMMAND ERROR
  79. * (SUBSYSTEM CALLER ONLY).
  80. * BIT 42 BINARY CARD SEQUENCE ERROR OR INCORRECT
  81. * HOLLERITH CODE DETECTED IN CARD DECK.
  82. * BIT 41-36 UNUSED
  83. *
  84. * DIS = DISPOSITION CODE IN DISPLAY CODE. (REFER TO *COMSJIO*
  85. * TO DETERMINE VALID DISPOSITION CODES.)
  86. *
  87. * PR ANY PRINTER
  88. * P1 ANY 501 PRINTER
  89. * P2 ANY 512 PRINTER
  90. * LR ANY 580-12 PRINTER
  91. * LS ANY 580-16 PRINTER
  92. * LT ANY 580-20 PRINTER
  93. * LX ANY 5870 NIP
  94. * LY ANY 5970 NIP
  95. * PU PUNCH CODED
  96. * PH PUNCH CODED
  97. * SB PUNCH SYSTEM BINARY
  98. * PB PUNCH SYSTEM BINARY (SAME AS SB)
  99. * P8 PUNCH TO 80 COLUMN BINARY
  100. * FR MICROFILM PRINTER (NOT SUPPORTED)
  101. * FL MICROFILM PLOTTER (NOT SUPPORTED)
  102. * HR HARD COPY PRINTER (NOT SUPPORTED)
  103. * HL HARD COPY PLOTTER (NOT SUPPORTED)
  104. * PL PLOTTER
  105. * IN ROUTE TO INPUT
  106. * NO ROUTE TO INPUT WITH NO OUTPUT OPTION SET
  107. * SC CHANGE TO LOCAL FILE (*LOFT*)
  108. * TO ROUTE TO INPUT WITH *TT* OPTION SET
  109. * TT ROUTE TO TERMINAL OUTPUT QUEUE
  110. * SO ROUTE TO INPUT WITH *SS* OPTION SET
  111. * SS ROUTE TO STATION OUTPUT QUEUE
  112. * WT ROUTE TO WAIT QUEUE
  113. *
  114. * EC = EXTERNAL CHARACTERISTICS.
  115. * THE EC FIELD IS INTERPRETED IN ONE OF THREE WAYS
  116. * ACCORDING TO QUEUE TYPE.
  117. *
  118. * PRINT (*PRQT*) FILES.
  119. *
  120. * MNEMONIC VALUE DESCRIPTION
  121. * --- 0 ANY PRINT TRAIN
  122. * --- 1 RESERVED
  123. * A4 2 ASCII 48 CHARACTER PRINT TRAIN
  124. * B4 3 BCD 48 CHARACTER PRINT TRAIN
  125. * B6 4 BCD 63/4 CHARACTER PRINT TRAIN
  126. * A6 5 ASCII 64 CHARACTER PRINT TRAIN
  127. * A9 6 ASCII 96 CHARACTER PRINT TRAIN
  128. * --- 7 RESERVED FOR INSTALLATIONS
  129. *
  130. *
  131. * PUNCH (*PHQT*) FILES.
  132. * MNEMONIC VALUE DESCRIPTION
  133. * PU OR --- 0 PUNCH CODED(O26/O29)
  134. * SB 1 PUNCH SYSTEM BINARY
  135. * 80COL 2 PUNCH 80-COLUMN BINARY
  136. * --- 3 RESERVED
  137. * O26 4 PUNCH O26 MODE
  138. * O29 5 PUNCH O29 MODE
  139. * ASCII 6 PUNCH ASCII
  140. * --- 7 RESERVED FOR INSTALLATIONS
  141. *
  142. *
  143. * PLOT (*PLQT*) FILES.
  144. * MNEMONIC VALUE DESCRIPTION
  145. * --- 0 RESERVED
  146. * T6 1 TRANSPARENT 6-BIT DATA
  147. * T8 2 TRANSPARENT 8-BIT DATA
  148. * --- 3 UNUSED
  149. * --- 4 UNUSED
  150. * --- 5 UNUSED
  151. * --- 6 UNUSED
  152. * --- 7 RESERVED
  153. *
  154. *
  155. * S = FORCED SERVICE CLASS FLAG.
  156. *
  157. * IC = INTERNAL CHARACTERISTICS.
  158. *
  159. * MNEMONIC VALUE DESCRIPTION
  160. * DIS 0 FILE IS IN DISPLAY CODE
  161. * ASCII 1 FILE IS IN ASCII
  162. * BIN 2 FILE IS IN BINARY
  163. * --- 3 RESERVED
  164. *
  165. * FLAGS FLAGS INDICATING WHICH PARAMETERS ARE SPECIFIED.
  166. *
  167. * BIT DESCRIPTION
  168. * 17 RETURN JOBNAME IN LFN
  169. * 16 ACCOUNTING
  170. * 15 SPACING CODE FLAG
  171. * 14 REPEAT COUNT
  172. * 13 USER JOB NAME (UJN)
  173. * 12 NO DAYFILE MESSAGES, RETURN ERROR
  174. * IN ERR FIELD.
  175. * 11 SUBSYSTEM INITIATION
  176. * 10 FORMS CODE
  177. * 9 PRIORITY
  178. * 8 INTERNAL CHARACTERISTICS
  179. * 7 EXTERNAL CHARACTERISTICS
  180. * 6 EXTENDED PARAMETER BLOCK
  181. * 5 RESERVED FOR INSTALLATIONS
  182. * 4 DISPOSITION CODE
  183. * 3 DLID/SLID
  184. * 2 TID
  185. * 1 ROUTE TO CENTRAL SITE
  186. * 0 FORCED JSN FLAG (INPUT FILES ONLY)
  187. * 0 DEFERRED ROUTE (OUTPUT FILES ONLY)
  188. *
  189. * IF THE CENTRAL SITE BIT IS SET, THE FILE IS ROUTED
  190. * WITH BATCH ORIGIN TYPE. IF IT IS CLEAR, AND THE TID
  191. * BIT IS SET, THE ORIGIN TYPE IS DETERMINED FROM THE
  192. * GIVEN TID. IF BOTH BITS ARE CLEAR, THE ORIGIN TYPE IS
  193. * THAT OF THE JOB (EXCEPT, IT IS THAT OF THE PREVIOUS
  194. * ROUTING IF THE FILE HAD BEEN DEFERRED ROUTED).
  195. *
  196. * SLID = SOURCE LID. A 3-CHARACTER ALPHANUMERIC IDENTIFIER
  197. * FOR THE MAINFRAME WHICH IS TO BE CONSIDERED THE SOURCE
  198. * MAINFRAME FOR THIS FILE. THE FOLLOWING SPECIAL OCTAL
  199. * VALUES MAY ALSO BE PLACED IN THIS FIELD.
  200. * 000000 = GET SLID FROM JOB INPUT FILE SYSTEM SECTOR.
  201. * 000001 = SET SLID TO ZERO.
  202. * 000002 = SET SLID TO PHYSICAL ID OF THIS MAINFRAME.
  203. *
  204. * DLID = DESTINATION LID. A 3-CHARACTER ALPHANUMERIC ID
  205. * FOR THE MAINFRAME WHICH IS THE DESTINATION FOR THIS
  206. * FILE. THE FOLLOWING SPECIAL OCTAL VALUES MAY ALSO
  207. * BE PLACED IN THIS FIELD.
  208. * 000000 = SET DLID TO ZERO.
  209. * 000001 = SET DLID TO ZERO.
  210. * 000002 = SET DLID TO PHYSICAL ID OF THIS MAINFRAME.
  211. *
  212. * NOTE - IF THE *SLID/DLID* FLAG BIT IS NOT SET IN THE
  213. * PARAMETER BLOCK, DLID IS SET FROM THE JOB INPUT FILE
  214. * SYSTEM SECTOR. FOR A ROUTE TO INPUT, THE JOB INPUT
  215. * FILE DLID VALUE IS USED. FOR A ROUTE TO OUTPUT, THE
  216. * JOB INPUT FILE SLID VALUE IS USED.
  217. *
  218. * TID = TERMINAL ID.
  219. * IF THE UPPER SIX BITS ARE EQUAL TO 77B, THE
  220. * LOWER EIGHTEEN BITS CONTAIN THE COMPLEMENT OF
  221. * THE CM ADDRESS OF A TWO WORD FAMILY NAME - USER
  222. * NUMBER AREA.
  223. * TAG+0 42/ FAMILY NAME , 18/ 0
  224. * TAG+1 42/ USER NAME , 18/ 0
  225. * IF THE CM ADDRESS IS ZERO, THE FILE WILL BE ROUTED TO
  226. * THE REMOTE BATCH QUEUE WITH THE DEFAULT DESTINATION
  227. * PARAMETERS OF THE JOB.
  228. * IF THE UPPER SIX BITS ARE NOT EQUAL TO 77B, THE
  229. * LOWER EIGHTEEN BITS CONTAINS A TID.
  230. * IF THE CENTRAL SITE AND TID BITS ARE SET, THE TID MUST
  231. * BE A BATCH ID CODE TO AVOID AN ERROR CONDITION.
  232. *
  233. * UJN = USER JOB NAME. (0 TO 7 ALPHANUMERIC CHARACTERS)
  234. *
  235. * PRIORITY = PRIORITY FOR FILE.
  236. * NOTE - IF BOTH THE PRIORITY FLAG (BIT 9 OF THE
  237. * FLAGS FIELD) AND THE REQUEUE FLAG (BIT 8 OF THE
  238. * EXTENDED FLAGS FIELD) ARE SET, THEN WORD 3 OF
  239. * THE PARAMETER BLOCK CONTAINS THE ENTRY TIME TO
  240. * SET IN THE FILE-S QFT ENTRY. THIS FIELD IS SET
  241. * TO -1 BY *QMOVE* WHEN ACTIVATING AN INACTIVE FILE
  242. * SO THAT A NEW ENTRY TIME WILL BE SET.
  243. *
  244. * PI = PRINT IMAGE CODE FOR PRINT FILES. WHEN THE UPPER BIT
  245. * IS SET, THE LOWER 3 BITS CONTAIN THE PRINT IMAGE CODE.
  246. * MEANINGFUL ONLY FOR 512 OR 580 PRINTERS.
  247. *
  248. * SC = SPACING CODE FOR PRINT FILES (580-PFC). THIS IS A
  249. * NUMERIC VALUE FROM 0 - 77B.
  250. *
  251. * SVC = FORCED SERVICE CLASS IN DISPLAY CODE.
  252. * *DF* MAY ALSO BE SELECTED FOR THE SERVICE CLASS.
  253. * *DF* WILL SELECT THE USER DEFAULT SERVICE CLASS FOR
  254. * THE ORIGIN TYPE OF THE FILE.
  255. *
  256. * FA = FORCED ABORT CODE (IF INPUT FILE)
  257. * ABORT CODES ARE AS DEFINED IN *COMSDSP*.
  258. *
  259. * FNT = NFL OFFSET OF FNT ENTRY.
  260. *
  261. * RC = REPEAT COUNT.
  262. *
  263. * BC = BINARY CARD SEQUENCE ERROR DATA.
  264. *
  265. * COUNT = NUMBER OF CARDS READ.
  266. *
  267. * EQID = LEFT JUSTIFIED, ZERO FILLED, DISPLAY CODE EQUIPMENT
  268. * IDENTIFICATION FOR CARD READER.
  269. * FOR *RBF*, EQID IS A TERMINAL NAME.
  270. * FOR *BATCHIO*, EQID IS THE MACHINE ID AND
  271. * EST ORDINAL OF THE CARD READER.
  272. *
  273. * JSN = JOB SEQUENCE NAME. (ALPHANUMERIC CHARACTERS ONLY.)
  274. * JSN OF SUBSYSTEM IF *FRSI* FLAG SET, OR JSN TO SET
  275. * IF *FRFJ* FLAG SET.
  276. *
  277. * RA = EOI RANDOM ADDRESS OF FILE.
  278. *
  279. * DD = DATA DECLARATION (DISPLAY CODE). DEFINES THE
  280. * DATATYPE OF THE FILE, WHEN THE FILE IS DESTINED FOR
  281. * A REMOTE MAINFRAME.
  282. *
  283. * C6 = 6-BIT CHARACTER DATA.
  284. * C8 = 8-BIT CHARACTER DATA.
  285. * US = UNDEFINED DATATYPE/STRUCTURED FILE.
  286. * UU = UNDEFINED DATATYPE/UNSTRUCTURED FILE.
  287. *
  288. * EFLAGS = FLAGS INDICATING WHICH PARAMETERS ARE SPECIFIED
  289. * IN THE EXTENDED PARAMETER BLOCK.
  290. *
  291. * BIT DESCRIPTION
  292. * 17 RESERVED
  293. * 16 RESERVED
  294. * 15 RESERVED
  295. * 14 RESERVED
  296. * 13 RESERVED
  297. * 12 RESERVED
  298. * 11 RESERVED
  299. * 10 CHARGE/PROJECT (*SSJ=*)
  300. * 9 DO NOT VALIDATE SERVICE CLASS (*SSJ=*)
  301. * 8 SPECIAL REQUEUE OPERATION (*SSJ=*)
  302. * 7 USE ENCRYPTED PASSWORD (*SSJ=*)
  303. * 6 USE ORIGIN DEFAULT SERVICE CLASS (*SSJ=*)
  304. * 5 CONTROL POINT AND SSID SPECIFIED
  305. * 4 DO NOT VALIDATE PASSWORD (*SSJ=* ONLY)
  306. * 3 SUBSYSTEM PROCESSING (*SSJ=* ONLY)
  307. * 2 CREATOR USER/FAMILY NAMES (*SSJ=* ONLY)
  308. * 1 OWNER USER/FAMILY NAMES (*SSJ=* ONLY)
  309. * 0 DATA DECLARATION
  310. *
  311. * IF THE *SUBSYSTEM PROCESSING* BIT IS SET, THE CALLER IS
  312. * TREATED AS IF IT WERE A SUBSYSTEM. IN PARTICULAR, THE
  313. * FOLLOWING IS TRUE -
  314. * - ERROR PROCESSING MAY BE DONE ON USER COMMAND ERRORS,
  315. * AND ON OTHER ERRORS WHICH DO NOT NORMALLY ALLOW
  316. * ERROR PROCESSING.
  317. * - THE OWNER USER/FAMILY (AND OTHER SYSTEM SECTOR FIELDS)
  318. * WILL BE SET FROM THE USER COMMAND, INSTEAD OF BEING
  319. * PROPAGATED FROM THE CALLER-S INPUT FILE SYSTEM SECTOR.
  320. * - THE USER INDEX MAY BE SPECIFIED IN THE TID BLOCK
  321. * ALONG WITH THE USER NAME.
  322. * - BINARY CARD SEQUENCE ERROR DATA MAY BE SPECIFIED.
  323. *
  324. * IF THE *SPECIAL REQUEUE* FLAG IS SET, MOST FIELDS SPECIFIED
  325. * IN THE PARAMETER BLOCK AND THE EXTENDED PARAMETER BLOCK WILL
  326. * BE IGNORED. THIS OPTION IS USED TO REQUEUE AN ATTACHED QUEUE
  327. * FILE WITHOUT CHANGING EXISTING SYSTEM SECTOR AND QFT VALUES.
  328. * THE ONLY PARAMETERS THAT WILL NOT BE IGNORED ON A *SPECIAL
  329. * REQUEUE* ARE THE PRIORITY AND THE REPEAT COUNT.
  330. *
  331. * THE *DO NOT VALIDATE SERVICE CLASS* FLAG IS USED ONLY IF THE
  332. * FORCED SERVICE CLASS FLAG IN FET+1 IS SET. THE BIT USED TO
  333. * SELECT THE ORIGIN DEFAULT SERVICE CLASS WILL OVERRIDE THE
  334. * SELECTION OF THE FLAG TO NOT VALIDATE THE SERVICE CLASS.
  335. *
  336. * OUN = OWNER USER NAME (*SSJ=* ONLY).
  337. *
  338. * IRTADDR = IMPLICIT REMOTE TEXT ADDRESS (*SSJ=* ONLY).
  339. * ADDRESS OF BLOCK CONTAINING IMPLICIT REMOTE TEXT.
  340. * THE FIRST WORD OF THE BLOCK CONTAINS THE LENGTH OF
  341. * THE TEXT (IN CHARACTERS). THE REST OF THE BLOCK
  342. * CONSISTS OF 1 - 32B WORDS OF DISPLAY-CODE TEXT.
  343. *
  344. * OFN = OWNER FAMILY NAME (*SSJ=* ONLY).
  345. *
  346. * ERTADDR = EXPLICIT REMOTE TEXT ADDRESS.
  347. * ADDRESS OF BLOCK CONTAINING EXPLICIT REMOTE TEXT.
  348. * THE FIRST WORD OF THE BLOCK CONTAINS THE LENGTH OF
  349. * THE TEXT (IN CHARACTERS). THE REST OF THE BLOCK
  350. * CONSISTS OF 1 - 32B WORDS OF DISPLAY-CODE TEXT.
  351. *
  352. * CUN = CREATOR USER NAME (*SSJ=* ONLY).
  353. *
  354. * CP = CONTROL POINT SELECTION (SUBSYSTEM INITIATION).
  355. *
  356. * SSID = SUBSYSTEM ID (SUBSYSTEM INITIATION).
  357. *
  358. * CFN = CREATOR FAMILY NAME (*SSJ=* ONLY).
  359. *
  360. * ENCRYPTED PASSWORD FOR INPUT FILES (*SSJ=* ONLY).
  361. SPACE 4,20
  362. *** ACCOUNT DAYFILE MESSAGES.
  363. *
  364. *
  365. * *ABLQ, C1, JSN, YYMMDD, HHMMSS, DC.*
  366. * *ABLQ, C2, XXXXXX.XXXKUNS.*
  367. * QUEUED FILE WITH JOB SEQUENCE NAME JSN AND
  368. * DISPOSITION CODE DC HAS BEEN ROUTED TO THE
  369. * QUEUE ON DATE YYMMDD AT TIME HHMMSS.
  370. * THE FILE HAS A DISPOSITION CODE OF DC AND IS
  371. * XXXXXX.XXX THOUSAND PRU-S IN LENGTH.
  372. *
  373. * *ARRQ, C1, JSN, YYMMDD, HHMMSS, DC.*
  374. * *ARRQ, C2, XXXXXX.XXXKUNS.*
  375. * QUEUED FILE CREATED ON DATE YYMMDD AT TIME
  376. * HHMMSS WITH ORIGINAL JOB SEQUENCE NAME JSN
  377. * HAS BEEN REENTERED INTO THE ACTIVE QUEUE.
  378. * THE FILE HAS A DISPOSITION CODE OF DC AND IS
  379. * XXXXXX.XXX THOUSAND PRUS IN LENGTH.
  380. *
  381. * *SIUN, USERNAME.*
  382. * THE INPUT FILE BEING ROUTED HAS AN INVALID USERNAME.
  383. SPACE 4
  384. *** DAYFILE MESSAGES.
  385. *
  386. * THE FOLLOWING ERROR DESCRIPTION WILL CAUSE *DSP* TO ABORT
  387. * UNCONDITIONALLY (UNLESS THE CALLER IS A SUBSYSTEM OR
  388. * HAS THE SUBSYSTEM PROCESSING BIT SET).
  389. *
  390. * * DSP - INCORRECT REQUEST.*
  391. * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
  392. * 1. DSP NOT CALLED WITH RECALL. (DOES NOT APPLY WHEN
  393. * CALLED BY A SUBSYSTEM.)
  394. * 2. PARAMETER LIST ADDRESS OUT OF RANGE.
  395. * 3. AN INCORRECT TEXT LENGTH WAS SPECIFIED IN AN
  396. * IMPLICIT OR EXPLICIT REMOTE TEXT BLOCK.
  397. * 4. A NON-*SSJ=* PROGRAM HAS SPECIFIED ONE OF THE
  398. * FOLLOWING - CUN, CFN, IRTADDR.
  399. * 5. A NON-*SSJ=* AND NON-*SYOT* PROGRAM HAS SPECIFIED
  400. * ONE OF THE FOLLOWING DISPOSITION CODES - SO, SS.
  401. * 6. A JOB WITHOUT SYSTEM ORIGIN PRIVILEGES ATTEMPTED
  402. * TO INITIATE A SUBSYSTEM.
  403. * 7. THE SPECIFIED SUBSYSTEM DID NOT EXIST.
  404. * 8. THE SPECIFIED SUBSYSTEM WAS ALREADY ACTIVE.
  405. * 9. THE SPECIFIED SUBSYSTEM NAME AND SUBSYSTEM ID
  406. * DID NOT MATCH.
  407. * 10. A ZERO SUBSYSTEM ID WAS SPECIFIED ON A SUBSYSTEM
  408. * INITIATION.
  409. * 11. A SUBSYSTEM ID AND/OR A CONTROL POINT WAS SPECIFIED
  410. * WITHOUT SPECIFYING SUBSYSTEM INITIATION.
  411. * 12. THE FORCED JSN SPECIFIED CONTAINED AT LEAST ONE
  412. * NON-ALPHANUMERIC CHARACTER.
  413. *
  414. * * DSP - USER ACCESS NOT VALID.*
  415. * THE CALLER WAS NOT VALIDATED TO SPECIFY ONE OF THE
  416. * FOLLOWING - DLID, SLID, DD.
  417. *
  418. * * DSP - COMPLETE BIT ALREADY SET.*
  419. * THE COMPLETE BIT HAS NOT BEEN CLEARED BEFORE
  420. * DSP WAS CALLED.
  421. *
  422. * * DSP - I/O SEQUENCE ERROR.*
  423. * A REQUEST WAS MADE ON A BUSY FILE.
  424. *
  425. *
  426. * THE FOLLOWING ERROR CONDITIONS WILL CAUSE *DSP* TO ABORT
  427. * IF CALLED BY A NON-SUBSYSTEM JOB.
  428. *
  429. * * DSP - INCORRECT USER COMMAND.* (ERR=34)
  430. * USER ATTEMPTED TO ROUTE AN INPUT FILE WITH AN
  431. * IMPROPER USER COMMAND.
  432. *
  433. * * DSP - USER SECURITY COUNT EXHAUSTED.* (ERR=47).
  434. * THE USER ATTEMPTED TO ROUTE AN INPUT FILE
  435. * TO A USER NAME WHICH HAS EXHAUSTED IT-S
  436. * SECURITY COUNT.
  437. *
  438. *
  439. * THE FOLLOWING MESSAGES WILL BE ISSUED IF BIT 12 OF WORD
  440. * ONE IS NOT SET.
  441. *
  442. * * ERROR IN ROUTE FUNCTION, LFN = FILENAM.*
  443. * INFORMATIVE MESSAGE TO SYSTEM DAYFILE STATING AN
  444. * ERROR OCCURED WHILE ROUTING *FILENAM*.
  445. *
  446. * * DSP - FILE NAME ERROR.* (ERR=1).
  447. * AN ATTEMPT WAS MADE TO CREATE A FILE WITH AN INCORRECT
  448. * FILE NAME.
  449. *
  450. * * DSP - FILE NOT ON MASS STORAGE.* (ERR=2).
  451. * AN ATTEMPT WAS MADE TO ROUTE A FILE NOT ON
  452. * MASS STORAGE.
  453. *
  454. * * DSP - INCORRECT FILE TYPE.* (ERR=3).
  455. * THE FILE BEING PROCESSED IS NOT A QFFT,
  456. * OR LOFT FILE TYPE.
  457. *
  458. * * DSP - IMMEDIATE ROUTING - NO FILE.* (ERR=6).
  459. * THE SPECIFIED FILE FOR THE IMMEDIATE ROUTE COULD
  460. * NOT BE FOUND.
  461. *
  462. * * DSP - INCORRECT DISPOSITION CODE.* (ERR=7).
  463. * SPECIFIED DISPOSITION CODE IS NOT RECOGNIZED.
  464. *
  465. * * DSP - UNDEFINED SERVICE CLASS.* (ERR=11).
  466. * THE SPECIFIED SERVICE CLASS IS NOT DEFINED.
  467. *
  468. * * DSP - DEFERRED ROUTING NOT ALLOWED.* (ERR=13).
  469. * A FILE CANNOT BE DEFERRED ROUTED IF ANY ONE OF THE
  470. * FOLLOWING IS SPECIFIED - DD, IRTADDR, ERTADDR.
  471. *
  472. * * DSP - INCORRECT DATA DECLARATION.* (ERR=14).
  473. * THE SPECIFIED DATA DECLARATION IS NOT RECOGNIZED.
  474. *
  475. * * DSP - INCORRECT LID.* (ERR=15).
  476. * THE SPECIFIED SLID OR DLID IS EITHER AN INCORRECT
  477. * NAME, OR WAS NOT FOUND IN THE LID TABLE.
  478. *
  479. * * DSP - CANNOT ROUTE JOB INPUT FILE.* (ERR=16).
  480. * THE JOB INPUT FILE CAN NOT BE ROUTED.
  481. *
  482. * * DSP - FILE ON REMOVABLE DEVICE.* (ERR=20).
  483. * A FILE ON A REMOVABLE DEVICE CAN NOT BE ROUTED.
  484. *
  485. * * DSP - INCORRECT TID.* (ERR=21).
  486. * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
  487. * 1. USER NAME, FAMILY NAME PARAMETERS NOT IN
  488. * CM FIELD LENGTH.
  489. * 2. TID IS GREATER THAN OR EQUAL TO *IDLM* FOR
  490. * BATCH JOBS.
  491. *
  492. * * DSP - FORMS CODE NOT ALPHANUMERIC.* (ERR=22).
  493. * FORMS CODE MUST CONSIST OF TWO ALPHANUMERIC
  494. * CHARACTERS.
  495. *
  496. * * DSP - INCORRECT INTERNAL CHARACTERISTICS.* (ERR=23).
  497. * THE SPECIFIED INTERNAL CHARACTERISTICS WERE NOT VALID.
  498. *
  499. * * DSP - QUEUED FILE READ ERROR.* (ERR=24).
  500. * A READ ERROR WAS ENCOUNTERED ON THE SYSTEM SECTOR
  501. * OF A PREVIOUSLY ROUTED FILE.
  502. *
  503. * * DSP - QFT FULL.* (ERR=25).
  504. * THERE IS NO ROOM IN THE QFT FOR CURRENT USE.
  505. *
  506. * * DSP - THIS ROUTING NOT ALLOWED.* (ERR = 26).
  507. * AN ATTEMPT TO CHANGE THE QUEUE TYPE OF A DEFERRED
  508. * ROUTED FILE WAS MADE. (TO CHANGE THE QUEUE TYPE OF A
  509. * DEFERRED ROUTED FILE, THE FILE MUST FIRST BE CHANGED
  510. * TO A LOCAL FILE.)
  511. *
  512. * * DSP - DEVICE FULL.* (ERR=27).
  513. * THERE IS NO ROOM ON THE DEVICE FOR CURRENT USE.
  514. *
  515. * * DSP - MASS STORAGE ERROR.* (ERR=30).
  516. * A MASS STORAGE ERROR WAS ENCOUNTERED ON THE FILE.
  517. *
  518. * * JOB COMMAND ERROR. (TWENTY CHARACTERS).* (ERR=32).
  519. * A FILE BEING ROUTED TO THE INPUT FILE HAS AN
  520. * ERROR IN ITS JOB COMMAND. THE FIRST TWENTY CHARACTERS
  521. * ARE DISPLAYED IN THE MESSAGE.
  522. *
  523. * * DSP - TOO MANY DEFERRED BATCH JOBS.* (ERR=33).
  524. * USER HAS MORE JOBS IN THE SYSTEM THAN ALLOWED.
  525. * THIS CHECK IS IGNORED FOR USERS WITH SYSTEM ORIGIN
  526. * PRIVILEGES.
  527. *
  528. * * DSP - DEVICE INACCESSIBLE.* (ERR=35).
  529. * DSP WAS PREVENTED FROM SUCCESSFUL COMPLETION BECAUSE
  530. * OF AN INACCESSIBLE DEVICE CONDITION.
  531. *
  532. * * DSP - INCORRECT FILE MODE.* (ERR=36).
  533. * USER ATTEMPTED TO ROUTE A FILE WHICH WAS IN
  534. * EXECUTE ONLY MODE.
  535. *
  536. * * DSP - INCORRECT EXTERNAL CHARACTERISTICS.* (ERR=37).
  537. * USER SPECIFIED AN EXTERNAL CHARACTERISITIC VALUE THAT
  538. * WAS NOT LEGAL FOR THE DISPOSITION CODE SPECIFIED.
  539. * THE USER SHOULD RETRY USING A DIFFERENT VALUE.
  540. *
  541. * * DSP - INCORRECT ORIGIN TYPE.* (ERR=40).
  542. * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
  543. * 1. THE ORIGIN TYPE WAS SPECIFIED BY A NON-SYSTEM
  544. * ORIGIN JOB.
  545. * 2. INTERACTIVE ORIGIN (IAOT) WAS SPECIFIED FOR AN
  546. * INPUT FILE.
  547. * 3. A FORCED JSN WAS SPECIFIED BY A NON-SYSTEM ORIGIN
  548. * JOB.
  549. *
  550. * * DSP - INCORRECT SPACING CODE.* (ERR=41).
  551. * SPACING CODE VALUE IS GREATER THAN 77B.
  552. *
  553. * * DSP - INCORRECT JOB ABORT CODE.* (ERR=42).
  554. * JOB ABORT CODE IS NOT IN RANGE.
  555. *
  556. * * DSP - INCORRECT SERVICE CLASS.* (ERR=45).
  557. * THE USER IS NOT VALIDATED TO SELECT THE SPECIFIED
  558. * SERVICE CLASS.
  559. *
  560. * * DSP - ALTERNATE FAMILY NOT ALLOWED.* (ERR=46).
  561. * THE USER IS NOT VALIDATED TO ROUTE A JOB
  562. * TO A DIFFERENT FAMILY.
  563. *
  564. * * DSP - USER SECURITY COUNT EXHAUSTED.* (ERR=47).
  565. * THE SECURITY COUNT FOR THE USER NAME SPECIFIED HAS
  566. * BEEN DECREMENTED TO ZERO.
  567. *
  568. * * DSP - JSN ALREADY IN SYSTEM.* (ERR=50).
  569. * THE FORCED JSN SPECIFIED IS ALREADY IN USE BY ANOTHER
  570. * JOB IN THE SYSTEM OR IS THE SAME AS A SUBSYSTEM NAME.
  571. *
  572. * * DSP - ALTERNATE USER NOT ALLOWED.* (ERR=51).
  573. * THE USER IS NOT VALIDATED TO ROUTE A JOB TO
  574. * ANOTHER USER NAME.
  575. SPACE 4,10
  576. *** OPERATOR MESSAGES.
  577. *
  578. * THE FOLLOWING OPERATOR MESSAGES WILL BE DISPLAYED AT
  579. * THE USERS CONTROL POINT UPON OCCURANCE OF THE SPECIFIED
  580. * EVENT.
  581. *
  582. * * QFT FULL.*
  583. * INDICATES THAT THE SYSTEM HAS NO AVAILABLE QFTS
  584. * AT THIS TIME. *DSP* WILL WAIT FOR AN AVAILABLE
  585. * QFT UNLESS DROPPED BY THE OPERATOR.
  586. *
  587. * * TRACK LIMIT.*
  588. * INDICATES THAT THE SYSTEM HAS RUN OUT OF TRACK
  589. * SPACE. *DSP* WILL WAIT FOR AVAILABLE TRACK
  590. * SPACE UNLESS DROPPED BY THE OPERATOR.
  591. SPACE 4,10
  592. *** ZERO LEVEL OVERLAYS CALLED.
  593. *
  594. *
  595. * 0AV - VERIFY USER NAME.
  596. * 0BF - BEGIN FILE.
  597. * 0DF - DROP FILE.
  598. * 0DQ - DROP QUEUE FILE.
  599. * 0QM - ISSUE QUEUE FILE ACCOUNTING MESSAGE.
  600. * 0VJ - VERIFY JOB/USER STATMENTS.
  601. EJECT
  602. * COMMON DECKS.
  603.  
  604.  
  605. *CALL COMPMAC
  606. *CALL COMSACC
  607. *CALL COMSCPS
  608. LIST X
  609. *CALL COMSDSP
  610. LIST -X
  611. *CALL COMSEJT
  612. *CALL COMSEVT
  613. *CALL COMSJCE
  614. *CALL COMSJIO
  615. *CALL COMSLFD
  616. *CALL COMSMSP
  617. *CALL COMSPFM
  618. *CALL COMSPIM
  619. *CALL COMSSSD
  620. LIST X
  621. *CALL COMSSSE
  622. LIST -X
  623. *CALL COMSSSJ
  624. LIST X
  625. *CALL COMSWEI
  626. LIST -X
  627. *CALL COMSZOL
  628. TITLE MACRO DEFINITIONS.
  629. ** DRIN - DEFAULT ROUTING INFORMATION.
  630. *
  631. * DRIN DC,EX,IC,QT
  632. *
  633. * ENTRY *DC* = DISPOSITION CODE MNENONIC
  634. * *EX* = EXTERNAL CHARACTERISTICS CODE.
  635. * *IC* = INTERNAL CHARACTERISTICS CODE.
  636. * *QT* = QUEUE TYPE.
  637.  
  638.  
  639. PURGMAC DRIN
  640.  
  641. DRIN MACRO DC,EX,IC,QT
  642. MACREF DRIN
  643. .A IF DEF,DC_$
  644. VFD 12/0L_DC,6/QT,3/EX,3/IC
  645. .A ENDIF
  646. DRIN ENDM
  647. ERROR SPACE 4
  648. ** ERROR - SET ERROR CODE.
  649. *
  650. * ERROR ER
  651. *
  652. * ENTRY *ER* = ERROR CODE.
  653.  
  654.  
  655. PURGMAC ERROR
  656.  
  657. ERROR MACRO E
  658. MACREF ERROR
  659. LDN E
  660. RJM ERR
  661. ENDM
  662. OVERLAY SPACE 4
  663. ** OVERLAY - GENERATE OVERLAY CONSTANTS.
  664. *
  665. *
  666. * OVERLAY (TEXT),OVL
  667. *
  668. * ENTRY *TEXT* = TEXT OF SUBTITLE.
  669. * *OVL* = ORIGIN OF OVERLAY
  670.  
  671.  
  672. .N SET 0
  673. OVLB MICRO 1,, 3D BASE OVERLAY NAME
  674.  
  675.  
  676. PURGMAC OVERLAY
  677.  
  678. OVERLAY MACRO TEXT,OVL
  679. MACREF OVERLAY
  680. QUAL
  681. .N SET .N+1
  682. .M MICRO .N,1, ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
  683. .O MICRO 1,3, "OVLB"".M"
  684. QUAL ".O"
  685. TTL DSP/".O" - TEXT
  686. TITLE
  687. IDENT ".O",OVL TEXT
  688. *COMMENT DSP - TEXT
  689. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  690. ORG OVL
  691. LJM *
  692. UJN *-2
  693. ENDM
  694. SCLASS SPACE 4,15
  695. ** SCLASS - DEFINE SERVICE CLASS TABLE.
  696. *
  697. * SCLASS NM,MN,DF,ST,TX
  698. *
  699. * ENTRY *NM* = SERVICE CLASS NAME.
  700. * *MN* = TWO CHARACTER MNEMONIC.
  701. * *DF* = DAYFILE MESSAGE CHARACTER.
  702. * *ST* = SHORT TEXT FOR *QFTLIST*.
  703. * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
  704. *
  705. * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
  706. * THIS MACRO.
  707.  
  708.  
  709. PURGMAC SCLASS
  710.  
  711. SCLASS MACRO NM,MN,DF,ST,TX
  712. .A IFC NE,$NM$SSSC$
  713. .SCL RMT
  714. INDEX NM,1R_DF TX
  715. .SCL RMT
  716. .SCLVSP RMT
  717. INDEX NM,MN_MK TX
  718. .SCLVSP RMT
  719. .A ENDIF
  720. SCLASS ENDM
  721.  
  722.  
  723. SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
  724. *CALL COMSSCD
  725. SUBSYST SPACE 4,10
  726. ** SUBSYST - GENERATE SUBSYSTEM TABLE.
  727. *
  728. * SUBSYST NAME,ID,PR,PP,AUTO,DEF,DCP,CP,PROC,ABT
  729. *
  730. * ENTRY *NAME*= 3 CHARACTER SUBSYSTEM NAME.
  731. * *ID* = SUBSYSTEM ID.
  732. * *PP* = PP NAME FOR PP-INITIATED SUBSYSTEM.
  733. *
  734. * GENERATE TABLE OF SUBSYSTEM NAMES AND ID-S FOR
  735. * NON-PP-INITIATED SUBSYSTEMS.
  736. *
  737. *T 24/ 4LNAME, 12/ SSID
  738.  
  739.  
  740. PURGMAC SUBSYST
  741.  
  742. SUBSYST MACRO NM,ID,PT,PP,AU,DF,DC,CP,PR,AB
  743. .A IFC EQ,$PP$$
  744. .SUB RMT
  745. .NM EQU *
  746. VFD 24/4L_NM_ ,12/ID
  747. TSUBE EQU *-.NM
  748. .SUB RMT
  749. .A ENDIF
  750. .SSN RMT
  751. .NM_$ EQU *
  752. VFD 24/4L_NM
  753. TSSNE EQU *-.NM_$
  754. .SSN RMT
  755. SUBSYST ENDM
  756.  
  757.  
  758. SUB$ EQU 1 ASSEMBLE *SUBSYST* MACRO
  759. *CALL COMSSSD
  760. TITLE DIRECT LOCATION ASSIGNMENTS
  761. ** DIRECT LOCATION ASSIGNMENTS.
  762.  
  763.  
  764. T8 EQU 16 TEMPORARY STORAGE
  765. FS EQU 20 - 24 FST ENTRY (5 LOCATIONS)
  766. QA EQU 26 ORDINAL OF QFT ENTRY (*0DQ*)
  767. ST EQU 27 STATUS FLAGS
  768. CN EQU 30 - 34 ASSEMBLE BUFFER (5 LOCATIONS)
  769. RI EQU 35 - 36 RANDOM INDEX
  770. JF EQU 35 JOB FIELD LENGTH (USED BY 0VJ)
  771. UN EQU 40 - 44 USER NAME (5 LOCATIONS)
  772. OT EQU 46 ORIGIN TYPE
  773. ER EQU 47 ERROR STATUS
  774. FA EQU 57 FST ADDRESS
  775. FN EQU 60 - 64 FNT ENTRY (5 LOCATIONS)
  776. FB EQU 65 - 66 FLAG BITS FROM REQUEST BLOCK (2 LOCATIONS)
  777. QT EQU 67 QUEUE TYPE
  778. SPACE 4,20
  779. ** STATUS WORD (ST) BIT DEFINITIONS.
  780. *
  781. * BIT SETTING EXPLAINATION
  782. *
  783. * 0 1 NOT A SUBSYSTEM (SSFL)
  784. * 1 1 FILE PREVIOUSLY ROUTED (DSFL)
  785. * 2 1 ISSUE *UADM* FUNCTION (IUFL)
  786. * 3 1 FILE CREATION NEEDED (FCFL)
  787. * 4 1 SCHEDULER NEEDED (SCFL)
  788. * 5 1 CONTROL POINT IS *SYOT* (SYFL)
  789. * 6 1 DISPOSITION CODE SPECIFIED (DCFL)
  790. * 7 1 CALLING PROGRAM IS *SSJ=* (SJFL)
  791. * 10 1 DESTINATION LID SPECIFIED (DLFL)
  792. * 11 1 SOURCE LID SPECIFIED (SLFL)
  793. * 12 1 FILE LOCKED (LKFL)
  794. * 13 1 FILE IS BEING REQUEUED (RQFL)
  795.  
  796.  
  797. SSFL EQU 1 SUBSYSTEM FLAG
  798. DSFL EQU 2 PREVIOUSLY ROUTED FLAG
  799. IUFL EQU 4 ISSUE *UADM* FLAG
  800. FCFL EQU 10B FILE CREATION FLAG
  801. SCFL EQU 20B SCHEDULER NEEDED FLAG
  802. SYFL EQU 40B *SYOT* CONTROL POINT FLAG
  803. DCFL EQU 100B DISPOSITION CODE SPECIFIED FLAG
  804. SJFL EQU 200B *SSJ=* PROGRAM FLAG
  805. DLFL EQU 400B DESTINATION LID FLAG
  806. SLFL EQU 1000B SOURCE LID FLAG
  807. LKFL EQU 2000B FILE LOCKED FLAG
  808. RQFL EQU 4000B FILE BEING REQUEUED FLAG
  809. SPACE 4,10
  810. ** SYMBOL DEFINITIONS.
  811.  
  812.  
  813. LHLAT EQU 7000B LOCAL HOST LID ATTRIBUTES (H, E, V)
  814. SPACE 4,10
  815. TITLE MAIN PROGRAM.
  816. ** DSP - MAIN PROGRAM.
  817.  
  818. ORG PPFW
  819.  
  820.  
  821. DSP RJM PRS PRESET ROUTINE
  822. RJM FFQ FIND FILE TO QUEUE
  823. RJM DDC DETERMINE DISPOSITION CODE
  824. NJN DSP1 IF NOT CHANGE TO LOCAL FILE
  825. EXECUTE 3DD LOAD *CHANGE TO LOCAL FILE* OVERLAY
  826. RJM CLF CHANGE TO LOCAL FILE
  827. LJM DSP8 RETURN INFORMATION TO PARAMETER BLOCK
  828.  
  829. DSP1 RJM VUL VALIDATE USER LIMITS
  830. RJM SQS SET QUEUED FILE SYSTEM SECTOR
  831. DSPG PSN
  832. * UJN DSP4 (SPECIAL REQUEUE OPERATION)
  833.  
  834. * PROCESS FILE DESTINATION.
  835.  
  836. RJM SDC SET DISPOSITION CODE
  837. EXECUTE 3DA LOAD FILE DESTINATION ROUTINES
  838. RJM SFD SET FILE DESTINATION
  839. LDD FB+1
  840. SHN 21-13
  841. PJN DSP2 IF NOT SUBSYSTEM INITIATION
  842. RJM PSI PROCESS SUBSYSTEM INITIATION
  843. DSP2 LDD QT
  844. LMK INQT
  845. NJN DSP3 IF NOT ROUTE TO INPUT
  846. RJM VIF VERIFY INPUT FILE
  847. UJN DSP4 UPDATE SYSTEM SECTOR AND EOI
  848.  
  849. DSP3 EXECUTE 3DB LOAD FILE ATTRIBUTE ROUTINES
  850. RJM SOD SET OUTPUT DATA
  851.  
  852. * UPDATE SYSTEM SECTOR AND EOI.
  853.  
  854. DSP4 EXECUTE 3DC LOAD SYSTEM SECTOR/EOI UPDATE ROUTINES
  855. DSPH PSN
  856. * UJN DSP5 (SPECIAL REQUEUE OPERATION)
  857. RJM BSE CHECK FOR BINARY CARD SEQUENCE ERRORS
  858. RJM PUF PROCESS USER/FAMILY NAMES
  859. RJM SCP SET CHARGE/PROJECT DATA
  860. RJM SLI SET LOGICAL IDENTIFIERS
  861. RJM PUP PROCESS UJN PRESENCE
  862. LDD MA SET FN IN SYSTEM SECTOR
  863. CWD FN
  864. CRM FNSS,ON
  865. DSP5 LDD FB+1 CHECK FOR DEFERRED ROUTE
  866. SHN 21-0
  867. PJN DSP5.1 IF IMMEDIATE ROUTE
  868.  
  869. * PROCESS DEFERRED ROUTE.
  870.  
  871. AOD FS+4 SET FILE NOT BUSY
  872. AOM WQSA DO NOT PRESERVE FILE
  873. RJM AEO ATTACH QFT TO EJT
  874. DSP5.1 LDN IUFL SET FLAG TO ISSUE *UADM* FUNCTION
  875. RAD ST
  876.  
  877. * WRITE QUEUED FILE SYSTEM SECTOR.
  878.  
  879. RJM WQS WRITE QUEUED FILE SYSTEM SECTOR
  880.  
  881. * SAVE SYSTEM SECTOR FIELDS.
  882.  
  883. LDN QFTE*5-1 SAVE QFT ENTRY
  884. STD T1
  885. DSP6.1 LDM IOSS,T1
  886. STM QBUF,T1
  887. SOD T1
  888. PJN DSP6.1 IF MORE TO MOVE
  889. LDM IOSS+5*JSNQ+0 SAVE JSN
  890. STM DSPD
  891. LDM IOSS+5*JSNQ+1
  892. STM DSPE
  893. LDD FB+1
  894. SHN 21-0
  895. MJN DSP7 IF DEFERRED ROUTE
  896. DSPI PSN
  897. * UJN DSP6.2 (SPECIAL REQUEUE OPERATION)
  898.  
  899. * WRITE QUEUED FILE EOI SECTOR (IMMEDIATE ROUTE ONLY).
  900.  
  901. RJM IES INITIALIZE EOI SECTOR
  902. RJM PRT PROCESS REMOTE TEXT
  903. RJM WES WRITE EOI SECTOR
  904.  
  905. * ISSUE ACCOUNTING MESSAGE FOR IMMEDIATE ROUTE.
  906.  
  907. DSP6.2 RJM IAM ISSUE ACCOUNTING MESSAGE
  908.  
  909. * UPDATE AND RELEASE QFT.
  910.  
  911. DSP7 RJM CLE COMPLETE LOCAL ENTRY
  912. LDN 0
  913. * LDN 1 (IF ABORTED INPUT FILE)
  914. DSPF EQU *-1
  915. ZJN DSP7.1 IF NOT ABORTED INPUT FILE
  916. STM QBUF+ENTQ*5+4 SET ABORTED FLAG IN QFT
  917. LDN 0
  918. STM QBUF+ENTQ*5+3
  919. DSP7.1 LDN QFTE-1
  920. STD T5
  921. SFA QFT,QA GET ADDRESS OF QFT ENTRY
  922. ADN 1 WRITE QFT DATA
  923. CWM QBUF+5,T5
  924. SBN QFTE WRITE INTERLOCK WORD
  925. CWM QBUF,ON
  926.  
  927. * REQUEST SCHEDULER IF THIS IS FOR AN INPUT FILE.
  928.  
  929. LDD ST CHECK IF SCHEDULER NEEDED
  930. LPN SCFL
  931. ZJN DSP8 IF SCHEDULER NOT NEEDED
  932. LDN ZERL CLEAR PARAMETERS FOR CALL
  933. CRD CM
  934. AOD CM+2 SET SCHEDULER FLAG
  935. MONITOR RSJM REQUEST SCHEDULER
  936.  
  937. * RETURN REQUIRED INFORMATION TO PARAMETER BLOCK.
  938.  
  939. DSP8 LDD FB
  940. SHN 21-5
  941. PJN DSPX IF FILE NAME NOT TO BE RETURNED
  942. LDN ZERL RETURN INFORMATION TO CALLER
  943. CRD FN
  944. LDC ** (SET BY PRESET)
  945. DSPC EQU *-1
  946. STD FN+4
  947. LDC * (FIRST PART OF JSN)
  948. DSPD EQU *-1
  949. STD FN
  950. LDC * (SECOND HALF OF JSN)
  951. DSPE EQU *-1
  952. STD FN+1
  953. UJN DSP9 RETURN JSN TO CALLER
  954.  
  955. * RETURN HERE FROM ERROR PROCESSOR.
  956.  
  957. DSPX RJM GFA READ FIRST WORD OF PARAMETER BLOCK
  958. CRD FN
  959. DSP9 LDD FN+3 SET ERROR FLAG
  960. SCN 77
  961. LMC **
  962. DSPB EQU *-1 (ERROR CODE SET BY *ERP*)
  963. STD FN+3
  964. LDD FN+4 SET FUNCTION COMPLETE
  965. SCN 1
  966. LMN 1
  967. STD FN+4
  968. RJM GFA REWRITE FIRST WORD OF PARAMETER BLOCK
  969. CWD FN
  970. LJM DPP DROP PP
  971. SPACE 4,10
  972. ** MEMORY LOCATIONS.
  973.  
  974. CUAV CON 0 *COMPCUA* USER ACCESS PRIVILEGES
  975. DDEC CON 0 DATA DECLARATION
  976. DLAT CON LHLAT ATTRIBUTES OF DLID
  977. DLID CON 0,0 DESTINATION LOGICAL ID
  978. EBIT CON 0,0 EXTENDED PARAMETER BLOCK FLAG BITS
  979. EJTO CON 0 EJT ORDINAL
  980. ERTL CON 0 EXPLICIT REMOTE TEXT LENGTH
  981. FJSN BSS 2 FORCED JSN OR SUBSYSTEM NAME
  982. FSJS CON 0 FORCED JSN FLAG
  983. FSOT CON 4000 FORCED ORIGIN TYPE
  984. FSSC CON 0 FORCED SERVICE CLASS
  985. INFL CON 0 INPUT FLAGS
  986. IRTL CON 0 IMPLICIT REMOTE TEXT LENGTH
  987. JBOT CON 0 JOB ORIGIN TYPE
  988. LFAL CON 0 LOCAL FILE ACCESS LEVEL
  989. LFST CON 0 LOCAL FILE STATUS
  990. SBCP CON 0 CP NUMBER FOR SUSBYSTEM INITIATION
  991. SBID CON 0 SUBSYSTEM ID
  992. SLAT CON LHLAT ATTRIBUTES OF SLID
  993. SLID CON 0,0 SOURCE LOGICAL ID
  994. SPACE 4,10
  995. * BUFFER DEFINITIONS AND LOAD ADDRESSES.
  996.  
  997.  
  998. .OVL0 MAX ZBFL,ZDQL LENGTH OF *OVL0* BUFFER
  999.  
  1000. OVL0 EQU EPFW-.OVL0 LOAD ADDRESS FOR *0BF* AND *0DQ*
  1001. OVL1 EQU BFMS-ZAVL LOAD ADDRESS FOR *0AV*
  1002. OVL2 EQU EPFW-ZDFL LOAD ADDRESS FOR *0DF*
  1003. OVL3 EQU BFMS-ZVJL LOAD ADDRESS FOR *0VJ*
  1004. OVL6 EQU BFMS-ZDQL LOAD ADDRESS FOR *0DQ*
  1005. OVL7 EQU BFMS-QFTE*5-ZQML LOAD ADDRESS FOR *0QM*
  1006.  
  1007. QBUF EQU BFMS-QFTE*5 QFT ENTRY BUFFER
  1008. EBUF EQU QBUF-502 EOI SECTOR BUFFER
  1009.  
  1010. SBUF EQU OVL3-5-502 SECTOR BUFFER FOR INPUT FILE
  1011. STMT EQU SBUF+2 JOB/USER COMMAND
  1012. TITLE RESIDENT ROUTINES.
  1013. DPP SPACE 4,10
  1014. ** DPP - DROP PP.
  1015.  
  1016.  
  1017. DPP BSS 0 ENTRY
  1018. DPPA LDN 0
  1019. * LDN 1 (SET FILE NOT BUSY)
  1020. ZJN DPP1 IF *FNB* CALL NOT NEEDED
  1021. RJM FNB SET FILE NONBUSY
  1022. DPP1 LDD ST CHECK IF *UADM* TO BE ISSUED
  1023. LPN IUFL
  1024. NJN DPP2 IF UADM REQUEST PRESENT
  1025. MONITOR DPPM DROP PPU
  1026. UJN DPP3 ENTER PP RESIDENT
  1027.  
  1028. DPP2 LDN 1 SET WORD COUNT OF OPTIONS
  1029. STD CM+1
  1030. LDN 0 SPECIFY DROP OF PPU
  1031. STD CM+2
  1032. LDD MA UPDATE PRU LIMIT
  1033. CWM DPPB,CM+1
  1034. MONITOR UADM
  1035. DPP3 LJM PPR ENTER PP RESIDENT
  1036.  
  1037.  
  1038. DPPB CON CICS
  1039. * CON CDCS (DEFERRED ROUTE)
  1040. CON ACLW
  1041. CON 0D*100+18D
  1042. DPPC CON 0
  1043. CON 0
  1044. EER SPACE 4,15
  1045. ** EER - EVALUATE MASS STORAGE ERROR RETURN.
  1046. *
  1047. * ENTRY (T5) = EST ORDINAL.
  1048. * (ST) = STATUS FLAGS.
  1049. *
  1050. * EXIT JOB IS ROLLED OUT TO WAIT FOR A DEVICE TO BECOME
  1051. * ACCESSIBLE IF A NON-SUBSYSTEM JOB ENCOUNTERED A
  1052. * RECOVERABLE READ/WRITE ERROR ON THE DEVICE.
  1053. *
  1054. * USES FA, IR+4.
  1055. *
  1056. * CALLS FNB, *1RJ*.
  1057. *
  1058. * MACROS ERROR, EXECUTE, PAUSE.
  1059.  
  1060.  
  1061. EER BSS 0 ENTRY
  1062. LDC 0 CHECK FILE STATUS
  1063. EERA EQU *-1
  1064. ZJN EER1 IF NO HIDDEN FNT ENTRY
  1065. STD FA
  1066. EER1 LDM RDCT CHECK ERROR STATUS
  1067. SHN 21-12
  1068. MJN EER2 IF UNRECOVERABLE ERROR
  1069. LDD ST
  1070. LPN SSFL
  1071. NJN EER3 IF NOT SUBSYSTEM
  1072. EER2 ERROR /ERR/EC30 * MASS STORAGE ERROR.*
  1073.  
  1074. EER3 LDD T5
  1075. STD IR+4 SET EST ORDINAL
  1076. RJM FNB CLEAN UP WORKING FILES
  1077. PAUSE
  1078. LDD CM+1
  1079. NJP DSPX IF ERROR FLAG SET
  1080. EXECUTE 1RJ ROLLOUT JOB
  1081. ERR SPACE 4,10
  1082. ** ERR - ERROR PROCESSOR.
  1083. *
  1084. * ENTRY (A) = ERROR CODE.
  1085. * (FA) = NFL FNT ENTRY OFFSET.
  1086. *
  1087. * EXIT TO *DSPX* AFTER PROCESSING ERROR.
  1088. * TO *PPR* IF JOB IS TO BE ABORTED.
  1089. *
  1090. * USES ER.
  1091.  
  1092.  
  1093. ERR SUBR ENTRY
  1094. STD ER SAVE ERROR CODE
  1095. EXECUTE 3DE LOAD ERROR PROCESSING OVERLAY
  1096. RJM ERP
  1097. * LJM DSPX COMPLETE PROCESSING
  1098. * LJM PPR COMPLETE PROCESSING
  1099. FNB SPACE 4,10
  1100. ** FNB - SET FILE NOT BUSY.
  1101. *
  1102. * ENTRY (FS - FS+4) = FST ENTRY.
  1103. * (FA) = NFL FNT ENTRY OFFSET.
  1104. * (QA) = ORDINAL OF QFT TABLE ENTRY.
  1105. * (FNBA) .NE. 0 IF QFT ENTRY CREATION MODE.
  1106. *
  1107. * EXIT FILE SET NOT BUSY OR RETURNED IF CREATED BY *DSP*.
  1108. * QFT ENTRY CLEARED IF CREATION MODE.
  1109. * (FA) = 0.
  1110. * (QA) = 0.
  1111. *
  1112. * USES FA, QA, FS - FS+4.
  1113. *
  1114. * CALLS FQI, *0DF*, *0DQ*.
  1115. *
  1116. * MACROS EXECUTE, NFA.
  1117. *
  1118. * NOTE (QA) .NE. 0, ONLY IF THE QFT ENTRY IS INTERLOCKED.
  1119.  
  1120.  
  1121. FNB SUBR ENTRY/EXIT
  1122.  
  1123. * PROCESS QFT ENTRY.
  1124.  
  1125. LDD QA
  1126. ZJN FNB3 IF NO GLOBAL ENTRY
  1127. LDN 0
  1128. * LDN 1 (CREATION MODE)
  1129. FNBA EQU *-1
  1130. ZJN FNB1 IF NOT CREATION MODE QFT ENTRY
  1131. * LDN 1 DROP QFT ENTRY ONLY
  1132. STM OVL0-1
  1133. EXECUTE 0DQ,OVL0 DROP QFT ENTRY
  1134. UJN FNB2 CONTINUE
  1135.  
  1136. FNB1 LDN 40 CLEAR QFT INTERLOCK
  1137. RJM FQI FUNCTION INTERLOCK
  1138. FNB2 LDN 0 CLEAR GLOBAL ENTRY
  1139. STD QA
  1140.  
  1141. * PROCESS LOCAL FNT ENTRY.
  1142.  
  1143. FNB3 LDD FA
  1144. ZJN FNBX IF NO FILE
  1145. LDN 0
  1146. * LDN 1 (IF FILE CREATED BY *DSP*)
  1147. FNBB EQU *-1
  1148. ZJN FNB4 IF FILE NOT CREATED BY *DSP*
  1149. LDN 0 RETURN FILE
  1150. STM OVL2-1
  1151. EXECUTE 0DF,OVL2 DROP FILE
  1152. UJN FNB5 CONTINUE
  1153.  
  1154. FNB4 NFA FA,R SET FILE NOT BUSY
  1155. ADN FSTL
  1156. CRD FS
  1157. LDD FS+4 SET FILE NOT BUSY
  1158. SCN 1
  1159. LMN 1
  1160. STD FS+4
  1161. NFA FA,R
  1162. ADN FSTL
  1163. CWD FS
  1164. LDN 0 CLEAR FNT POINTER
  1165. STD FA
  1166. FNB5 LJM FNBX RETURN
  1167. FQI SPACE 4,10
  1168. ** FQI - FUNCTION QFT INTERLOCK.
  1169. *
  1170. * ENTRY (A) = 0, SET QFT INTERLOCK.
  1171. * (A) = 40, CLEAR QFT INTERLOCK.
  1172. * (QA) = QFT ORDINAL.
  1173. *
  1174. * EXIT QFT INTERLOCK CLEARED.
  1175. * (A) = 0, IF OPERATION COMPLETE.
  1176. *
  1177. * USES CM - CM+4.
  1178. *
  1179. * MACROS DELAY, MONITOR, PAUSE, SFA.
  1180. *
  1181. * NOTE IF QFT INTERLOCK CANNOT BE SET OR CLEARED, AND
  1182. * THE OPERATOR OVERRIDES THE JOB, SOME INTERLOCKS
  1183. * MAY NOT BE CLEARED.
  1184.  
  1185.  
  1186. FQI SUBR ENTRY/EXIT
  1187. STM FQIA PRESERVE FUNCTION
  1188. FQI1 LDC **
  1189. FQIA EQU *-1
  1190. STD CM+1
  1191. LDN 0
  1192. STD CM+2
  1193. SFA QFT,QA GET QFT ADDRESS
  1194. STD CM+4
  1195. SHN -14
  1196. STD CM+3
  1197. MONITOR UTEM UPDATE TABLE ENTRY
  1198. LDD CM+1 CHECK FOR FUNCTION COMPLETE
  1199. ZJN FQIX IF FUNCTION COMPLETE
  1200. DELAY
  1201. PAUSE
  1202. LDD CM+1 CHECK FOR OPERATOR OVERRIDE
  1203. LMN ORET
  1204. NJN FQI1 IF NO OVERRIDE
  1205. LDN 1 SET ERROR STATUS
  1206. LJM FQIX RETURN
  1207. GEA SPACE 4,10
  1208. ** GEA - GET EJT ADDRESS.
  1209. *
  1210. * ENTRY (AEOA) = EJT ORDINAL.
  1211. *
  1212. * EXIT (A) = ADDRESS OF EJT.
  1213. *
  1214. * MACROS SFA.
  1215.  
  1216.  
  1217. GEA SUBR ENTRY/EXIT
  1218. LDM EJTO LOAD EJT ORDINAL
  1219. SFA EJT
  1220. UJN GEAX RETURN
  1221. GFA SPACE 4,10
  1222. ** GFA - GET PARAMETER BLOCK ADDRESS.
  1223. *
  1224. * ENTRY (IR+3 - IR+4) = PARAMETER BLOCK ADDRESS.
  1225. *
  1226. * EXIT (A) = ABSOLUTE ADDRESS.
  1227.  
  1228.  
  1229. GFA SUBR ENTRY/EXIT
  1230. LDD IR+3
  1231. LPN 37
  1232. SHN 6
  1233. ADD RA
  1234. SHN 6
  1235. ADD IR+4
  1236. UJN GFAX RETURN
  1237. RFN SPACE 4,10
  1238. ** RFN - READ FAMILY NAME.
  1239. *
  1240. * EXIT (A) = CM ADDRESS OF FAMILY NAME.
  1241. *
  1242. * USES CM - CM+4.
  1243. *
  1244. * MACROS SFA.
  1245.  
  1246.  
  1247. RFN SUBR ENTRY/EXIT
  1248. LDD CP READ FAMILY POINTER
  1249. ADN PFCW
  1250. CRD CM
  1251. SFA EST,CM+3 READ EST
  1252. ADK EQDE
  1253. CRD CM
  1254. LDD CM+4 SET FAMILY ADDRESS
  1255. SHN 3
  1256. ADN PFGL
  1257. UJN RFNX RETURN
  1258. RMS SPACE 4,10
  1259. ** RMS - READ MASS STORAGE.
  1260. *
  1261. * ENTRY (A) = BUFFER ADDRESS.
  1262. * (T5 - T7) = MASS STORAGE PARAMETERS.
  1263. *
  1264. * EXIT (A) .GE. 0.
  1265. *
  1266. * ERROR TO *EER*.
  1267. *
  1268. * CALLS RDS.
  1269.  
  1270.  
  1271. RMS SUBR ENTRY/EXIT
  1272. RJM RDS
  1273. PJN RMSX IF SUCCESSFUL READ
  1274. LJM EER EVALUATE ERROR RETURN
  1275. SQO SPACE 4,10
  1276. ** SQO - SET QFT OWNERSHIP.
  1277. *
  1278. * EXIT QFT UPDATED.
  1279. *
  1280. * USES CN - CN+4, FN - FN+4, UN - UN+4.
  1281. *
  1282. * CALLS GEA, GFO, SSJ.
  1283. *
  1284. * MACROS SFA.
  1285.  
  1286.  
  1287. SQO3 LDD CN+2 SET FO,UI IN SYSTEM SECTOR
  1288. STM IOSS+JSNQ*5+2
  1289. LDD CN+3
  1290. STM IOSS+JSNQ*5+3
  1291.  
  1292. SQO SUBR ENTRY
  1293. RJM GEA GET EJT ADDRESS
  1294. ADK JSNE GET *FO,UI* FROM EJT
  1295. CRD CN
  1296. LDD CN+2 SET *FO,UI* IN SYSTEM SECTOR
  1297. ADD CN+3
  1298. NJN SQO3 IF FAMILY ORDINAL AND UI .NE. 0
  1299. LDD MA SAVE FILE NAME
  1300. CWD FN
  1301. CRD UN
  1302. LDD CP DETERMINE FAMILY ORDINAL FROM CPA
  1303. ADK PFCW
  1304. CRD CN
  1305. SFA EST,CN+3 GET FAMILY EST ORDINAL
  1306. ADK EQDE
  1307. CRD CN
  1308. LDD CN+4 LOAD MST ADDRESS
  1309. SHN 3
  1310. ADK PFGL
  1311. CRD FN
  1312. CRM FOSS,ON
  1313. * LDN (NONZERO)
  1314. RJM GFO GET FAMILY ORDINAL
  1315. RJM SSJ CHECK FOR SSJ= BLOCK
  1316. ZJN SQO1 IF NO SSJ= BLOCK PRESENT
  1317. ADK UIDS GET USER INDEX
  1318. UJN SQO2 CONTINUE
  1319.  
  1320. SQO1 LDD CP GET UI FROM CPA
  1321. ADK UIDW
  1322. SQO2 CRD CN
  1323. CRM OASS,ON
  1324. LDD FN+4 SET FO,UI IN QFT
  1325. SHN 6
  1326. LMD CN+3
  1327. SCN 37 CLEAR CHARGE REQUIRED BIT
  1328. LMD CN+3
  1329. STD CN+2
  1330. LDD CN+4
  1331. STD CN+3
  1332. LDD MA RESTORE FILE NAME
  1333. CWD UN
  1334. CRD FN
  1335. LJM SQO3 CONTINUE
  1336. SSJ SPACE 4,10
  1337. ** SSJ - CHECK FOR SSJ= BLOCK.
  1338. *
  1339. * EXIT (A) = 0 IF NO SSJ= BLOCK PRESENT.
  1340. * (A) = SSJ= BLOCK ADDRESS IF PRESENT.
  1341. *
  1342. * USES CM - CM+4.
  1343. *
  1344. * MACROS NFA.
  1345.  
  1346.  
  1347. SSJ SUBR ENTRY/EXIT
  1348. LDD CP CHECK FOR SSJ=
  1349. ADC SEPW
  1350. CRD CM
  1351. LDD CM
  1352. LPN 4
  1353. ZJN SSJX IF NOT SSJ=
  1354. LDD CM+3 CHECK IF SSJ= BLOCK PRESENT
  1355. LPN 37
  1356. ADD CM+4
  1357. ZJN SSJX IF NO SSJ= BLOCK
  1358. NFA SSJN SET SSJ= BLOCK ADDRESS
  1359. UJN SSJX RETURN
  1360. VCA SPACE 4,14
  1361. ** VCA - VALIDATE CENTRAL ADDRESS.
  1362. *
  1363. * ENTRY (A) = CENTRAL ADDRESS TO VALIDATE.
  1364. *
  1365. * EXIT (A) = 0, IF ADDRESS .LE. 1, OR .GE. FL.
  1366. * (A) = CENTRAL ADDRESS IF VALID.
  1367. * (T1 - T2) = CENTRAL ADDRESS.
  1368. *
  1369. * USES T1, T2.
  1370.  
  1371.  
  1372. VCA1 STD T1 CLEAR UPPER PART OF ADDRESS
  1373. VCA2 LDN 0 SET BAD ADDRESS FLAG
  1374.  
  1375. VCA SUBR ENTRY/EXIT
  1376. STD T2
  1377. SCN 1
  1378. ZJN VCA1 IF ADDRESS .LE. 1
  1379. SCN 77
  1380. SHN 6
  1381. STD T1
  1382. SHN 6
  1383. SBD FL
  1384. PJN VCA2 IF ADDRESS .GE. FL
  1385. LDD T1
  1386. SHN 14
  1387. LMD T2
  1388. UJN VCAX RETURN
  1389. WMS SPACE 4,10
  1390. ** WMS - WRITE MASS STORAGE.
  1391. *
  1392. * ENTRY (A) = BUFFER ADDRESS.
  1393. * (T5 - T7) = MASS STORAGE PARAMETERS.
  1394. *
  1395. * EXIT (A) .GE. 0.
  1396. *
  1397. * ERROR TO *EER*.
  1398. *
  1399. * CALLS WDS.
  1400.  
  1401.  
  1402. WMS SUBR ENTRY/EXIT
  1403. RJM WDS
  1404. PJN WMSX IF SUCCESSFUL WRITE
  1405. LJM EER EVALUATE ERROR RETURN
  1406. SPACE 4,10
  1407. ** COMMON DECKS.
  1408.  
  1409.  
  1410. EJT$ SET 1 CALCULATE EJT ADDRESS
  1411. IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION CODE
  1412. QFT$ SET 1 CALCULATE QFT ADDRESS
  1413. *CALL COMPGFP
  1414. GFO$ SET 1 CONVERT FAMILY NAME TO FAMILY ORDINAL
  1415. GFM$ SET 1 CONVERT FAMILY ORDINAL TO FAMILY NAME
  1416. *CALL COMPUFT
  1417. QUAL MIO
  1418. WDS EQU WMS USE *WMS* IN PLACE OF *WDS*
  1419. WEI$ SET 1 ALLOW *DSP* TO SPECIFY EOI BUFFER
  1420. *CALL COMPWEI
  1421. QUAL *
  1422. WEI EQU /MIO/WEI
  1423. SPACE 4,10
  1424. * THE FOLLOWING SUBROUTINES MAY BE OVERLAID BY *DSP* OVERLAYS.
  1425. SPACE 4,10
  1426. OVL4 EQU *+5 LOAD ADDRESS FOR *DSP* OVERLAYS
  1427.  
  1428. ERRNG OVL2-5-* OVERFLOW INTO *0DF*
  1429. ERRNG OVL0-5-* OVERFLOW INTO *0DQ*
  1430. TITLE FILE INITIALIZATION ROUTINES.
  1431. AMS SPACE 4,20
  1432. ** AMS - ASSIGN MASS STORAGE.
  1433. *
  1434. * ENTRY (FS - FS+4) = FST ENTRY.
  1435. * (FA) = NFL FNT OFFSET.
  1436. *
  1437. * EXIT (FS - FS+4) = FST ENTRY.
  1438. * MASS STORAGE ASSIGNED.
  1439. * SYSTEM SECTOR AND EOI WRITTEN.
  1440. * (T5) = EQUIPMENT.
  1441. *
  1442. * USES T5, T6, CM - CM+4, FS - FS+4.
  1443. *
  1444. * CALLS PDF, WEI, WSS.
  1445. *
  1446. * MACROS ENDMS, MONITOR, NFA, SETMS.
  1447.  
  1448.  
  1449. AMS SUBR ENTRY/EXIT
  1450. LDD FS+2
  1451. NJN AMSX IF FILE USED
  1452. LDD FS+1
  1453. NJN AMS2 IF FILE ASSIGNED
  1454.  
  1455. * ASSIGN MASS STORAGE.
  1456.  
  1457. AMS1 LDN ZERL CLEAR PARAMETERS
  1458. CRD CM
  1459. LDN OUTS SET *RTCM* PARAMETER FOR OUTPUT FILE
  1460. STD CM+2
  1461. LDM LFAL SET ACCESS LEVEL SELECTION
  1462. ADN 40
  1463. SHN 6
  1464. STD CM+3
  1465. MONITOR RTCM REQUEST TRACK CHAIN
  1466. LDD CM+1 SET EQUIPMENT
  1467. STD FS
  1468. LDD CM+4
  1469. NJN AMS2 IF TRACK ASSIGNED
  1470. RJM PDF PROCESS DEVICE FULL
  1471. UJN AMS1 RETRY MASS STORAGE ALLOCATION
  1472.  
  1473. * UPDATE FNT/FST.
  1474.  
  1475. AMS2 STD FS+1 SET FIRST TRACK
  1476. STD FS+2
  1477. STD T6
  1478. LDD FS SET *EST* ORDINAL
  1479. STD T5
  1480. LDN FSMS SET FIRST SECTOR
  1481. STD FS+3
  1482. LDN 14 SET FILE BUSY
  1483. STD FS+4
  1484. NFA FA,R WRITE FST
  1485. ADN FSTL
  1486. CWD FS
  1487.  
  1488. * WRITE SYSTEM SECTOR AND EOI.
  1489.  
  1490. SETMS IO
  1491. RJM WSS WRITE SYSTEM SECTOR
  1492. LDC BFMS ADDRESS OF EOI BUFFER
  1493. RJM WEI WRITE EOI
  1494. ENDMS
  1495.  
  1496. * UPDATE TRT.
  1497.  
  1498. LDD T5 SET EQUIPMENT
  1499. STD CM+1
  1500. LDD T6 SET TRACK
  1501. LPC 3777
  1502. STD CM+2
  1503. LDD T7 SET SECTOR
  1504. STD CM+3
  1505. MONITOR DTKM DROP TRACKS AND UPDATE TRT
  1506. LDM SLM SET SECTOR COUNT
  1507. STM DPPC+1
  1508. LDN CDCS SET DECREMENT FUNCTION
  1509. STM DPPB
  1510. LJM AMSX RETURN
  1511. CSL SPACE 4,10
  1512. ** CSL - CHECK FOR SPECIAL LID.
  1513. *
  1514. * ENTRY (A) = LID (MAY BE SPECIAL CODE).
  1515. *
  1516. * EXIT (A) = LID, IF NO SPECIAL CODE.
  1517. * (A) = 0 IF SPECIAL CODE = *LCZR*.
  1518. * (A) = PID IF SPECIAL CODE = *LCPD*.
  1519. *
  1520. * USES T1, CM - CM+4.
  1521.  
  1522.  
  1523. CSL1 SHN 14 RESTORE LID AND EXIT
  1524. LMD T1
  1525.  
  1526.  
  1527. CSL SUBR ENTRY/EXIT
  1528. STD T1
  1529. SHN -14
  1530. NJN CSL1 IF NOT SPECIAL CODE
  1531. LDD T1
  1532. ZJN CSLX IF ZERO LID
  1533. SBN LCZR
  1534. ZJN CSLX IF *ZERO LID* CODE SPECIFIED
  1535. ERRNZ LCPD-2 CODE DEPENDS ON VALUE
  1536. ERRNZ MXLC-3 CODE DEPENDS ON VALUE
  1537.  
  1538. * CREATE HOST PID USING THE MACHINE ID.
  1539.  
  1540. LDK MMFL GET MACHINE ID
  1541. CRD CM
  1542. LDN 1RM
  1543. SHN 14
  1544. LMD CM MERGE *M* WITH MACHINE ID
  1545. UJN CSLX RETURN
  1546. EDF SPACE 4,25
  1547. ** EDF - ENTER DEFERRED FILE.
  1548. *
  1549. * ENTRY (QT) = QUEUE TYPE.
  1550. * (ST) = STATUS WORD.
  1551. * (FA) = NFL FNT ENTRY OFFSET.
  1552. *
  1553. * EXIT *BFMS* CONTAINS UPDATED SYSTEM SECTOR FOR QUEUED FILE.
  1554. * (FS - FS+4) = QUEUED FILE FST ENTRY.
  1555. * (ST) = STATUS WORD.
  1556. *
  1557. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  1558. * THIS ROUTING NOT ALLOWED.
  1559. *
  1560. * USES QA, ST, FN - FN+4, FS - FS+4.
  1561. *
  1562. * CALLS FNB, FQI.
  1563. *
  1564. * MACROS ERROR, NFA.
  1565.  
  1566.  
  1567. EDF4 AOM DPPA SET FILE NOT BUSY
  1568. LJM DPP DROP PPU
  1569.  
  1570. EDF SUBR ENTRY/EXIT
  1571.  
  1572. * USE QUEUE TYPE FROM SYSTEM SECTOR, IF NOT SPECIFIED IN CALL.
  1573.  
  1574. LDD ST CHECK IF DISPOSITION CODE SPECIFIED
  1575. LPC DCFL
  1576. NJN EDF1 IF DISPOSITION CODE SPECIFIED
  1577. LDM IOSS+JSNQ*5+4 USE QUEUE TYPE FROM SYSTEM SECTOR
  1578. SHN -11
  1579. STD QT
  1580.  
  1581. * DETERMINE IF QUEUE TYPE HAS CHANGED.
  1582.  
  1583. EDF1 LDM IOSS+JSNQ*5+4
  1584. SHN -11
  1585. LMD QT
  1586. ZJN EDF2 IF NO CHANGE IN QUEUE TYPE
  1587. ERROR /ERR/EC26 * DSP - THIS ROUTING NOT ALLOWED.*
  1588.  
  1589. EDF2 LDN DSFL FLAG DATA IN SYSTEM SECTOR
  1590. RAD ST
  1591. LDM GQSS GET ORDINAL NUMBER
  1592. STD QA
  1593. LDN 0 SET *INTERLOCK* FUNCTION
  1594. RJM FQI FUNCTION QFT INTERLOCK
  1595. NJN EDF4 IF ENTRY NOT INTERLOCKED
  1596. NFA FA,R READ FNT ENTRY OF FILE
  1597. CRD FN
  1598. ADN FSTL
  1599. CRD FS
  1600. LDM IOSS+JSNQ*5+4 CLEAR ATTACHED TO EJT BIT
  1601. SCN 77
  1602. STM IOSS+JSNQ*5+4
  1603.  
  1604. * DETERMINE IF FILE IS BEING REQUEUED.
  1605.  
  1606. LDM FGSS CHECK IF FILE BEING REQUEUED
  1607. LPN 2
  1608. ZJN EDF3 IF FILE NOT BEING REQUEUED
  1609. LDC RQFL SAVE *FILE BEING REQUEUED* STATUS
  1610. RAD ST
  1611. EDF3 LJM EDFX RETURN
  1612. EFN SPACE 4,15
  1613. ** EFN - ENTER FILE NAME IN FNT TABLE.
  1614. *
  1615. * ENTRY (FN - FN+4) = FILE NAME.
  1616. *
  1617. * EXIT (FS - FS+4) = FST ENTRY.
  1618. * (FA) = NFL FNT OFFSET.
  1619. * (FNBB) INCREMENTED.
  1620. * (LFAL) = ACCESS LEVEL OF NEW FILE.
  1621. *
  1622. * ERROR TO *DPP*, IF DUPLICATE FILE ROUND.
  1623. *
  1624. * USES FS, CM - CM+4, UN - UN+4.
  1625. *
  1626. * CALLS *0BF*.
  1627. *
  1628. * MACROS EXECUTE, MONITOR, NFA.
  1629.  
  1630.  
  1631. EFN1 AOM FNBB SET FILE CREATED BY *DSP*
  1632. NFA FA,R
  1633. ADK FUTL
  1634. CRD CM
  1635. LDD CM+2
  1636. LPN 7
  1637. STM LFAL
  1638.  
  1639. EFN SUBR ENTRY/EXIT
  1640. LDD MA GET FILE NAME
  1641. CWD FN
  1642. CRD UN
  1643. LDN NEEQ SET NO MASS STORAGE ASSIGNMENT
  1644. STD FS
  1645. LDN 0 SELECT NO RETURN WITHOUT FILE CREATED
  1646. STM OVL0-1
  1647. EXECUTE 0BF,OVL0 BEGIN FILE
  1648. UJN EFN1 NO DUPLICATE ENTRY
  1649.  
  1650. * PROCESS ADVANCE EXIT FROM *0BF* (FILE ALREADY EXISTS).
  1651.  
  1652. LDN SWET SET SYSTEM SOFTWARE ERROR
  1653. STD CM+2
  1654. LDC * SET ADDRESS WHERE ERROR DETECTED
  1655. STD CM+1
  1656. MONITOR CHGM CONDITIONALLY HANG PP
  1657. LJM DPP DROP PP
  1658. EQF SPACE 4,10
  1659. ** EQF - ENTER QUEUED FILE IN GLOBAL TABLE.
  1660. *
  1661. * EXIT (QA) = ORDINAL OF ENTRY.
  1662. * (FNBA) = 1 (CREATION MODE).
  1663. * QFT BUFFER INITIALIZED.
  1664. * *QFT FULL.* MESSAGE ISSUED TO OPERATOR, IF
  1665. * CANNOT MAKE AN ENTRY IN THE QFT.
  1666. *
  1667. * USES QA, CM - CM+7.
  1668. * TO *RCL* IF QFT FULL.
  1669. *
  1670. * CALLS CTE, FNB, GEA.
  1671. *
  1672. * MACROS ERROR, PAUSE, SFA.
  1673.  
  1674.  
  1675. EQF SUBR ENTRY/EXIT
  1676. LDM FJSN SET FORCED JSN OR SUBSYSTEM NAME
  1677. STD CM+3
  1678. LDM FJSN+1
  1679. STD CM+4
  1680. LDD FB CHECK FOR JOB TERMINATION
  1681. SHN 21-11
  1682. PJN EQF2 IF NOT FINAL ROUTE FOR TERMINATING JOB
  1683. RJM GEA GET EJT-S JSN
  1684. ADK JSNE
  1685. CRD CM+3
  1686. EQF1 LDN 0 ZERO FILL JSN
  1687. STD CM+5
  1688. STD CM+6
  1689. AOM EQFA PREVENT ALLOCATION OF NEW JSN
  1690. UJN EQF4 CONTINUE
  1691.  
  1692. EQF2 LDM FSJS
  1693. NJN EQF1 IF FORCED JSN
  1694. LDD FB+1
  1695. SHN 21-13
  1696. PJN EQF3 IF NOT SUBSYSTEM INITIATION
  1697. LDM SBID
  1698. ZJN EQF1 IF SUBSYSTEM ID NOT SPECIFIED
  1699. SBK LSSI+1
  1700. PJN EQF1 IF SPECIFIED SUBSYSTEM IS IN *SSCT* TABLE
  1701. EQF3 LDN ZERL SET UP FOR *CTE* CALL (ASSIGN NEW JSN)
  1702. CRD CM+3
  1703. EQF4 LDN 7 SET CREATION + ATTACH + INTERLOCK
  1704. STD CM+7
  1705. LDC PQFT REQUEST QFT ENTRY
  1706. * LDC PQFT+10000 (IF NEW JSN NOT NEEDED)
  1707. EQFA EQU *-2
  1708. RJM CTE CREATE TABLE ENTRY
  1709. NJN EQF6 IF ENTRY MADE
  1710. LDD CP CONSOLE MESSAGE = * QFT FULL.*
  1711. ADK MS2W
  1712. CWM EQFB,TR
  1713. PAUSE
  1714. LDD FB CHECK IF ERROR PROCESSING NEEDED
  1715. LPN 1
  1716. ADD CM+1 CHECK FOR ERROR FLAG AT CONTROL POINT
  1717. ZJN EQF5 IF NO ERROR PROCESSING NEEDED
  1718. ERROR /ERR/EC25 * DSP - QFT FULL.*
  1719.  
  1720. EQF5 LJM RCL RECALL PP
  1721.  
  1722. EQF6 LDD CM+1 SAVE QFT ORDINAL
  1723. STD QA
  1724. AOM FNBA SET CREATION MODE QFT ENTRY
  1725. SFA QFT,QA GET ASSIGNED JSN
  1726. ADK JSNQ
  1727. CRM IOSS,ON
  1728. LDN 0 CLEAR INTERLOCK AND CREATION BITS
  1729. STM IOSS+JSNQ*5+4
  1730. LDD FS SET EQUIPMENT
  1731. STM IOSS+ENTQ*5+0
  1732. LDD FS+1 SET TRACK
  1733. STM IOSS+ENTQ*5+1
  1734. LJM EQFX RETURN
  1735.  
  1736. EQFB DATA C* QFT FULL.*
  1737. GLI SPACE 4,10
  1738. ** GLI - GET LOGICAL IDENTIFIERS.
  1739. *
  1740. * ENTRY (QT) = DESTINATION QUEUE TYPE.
  1741. *
  1742. * EXIT DLID/SLID SAVED FOR SYSTEM SECTOR AND QFT.
  1743. *
  1744. * USES T1, CN - CN+4.
  1745. *
  1746. * CALLS CSL, GFA.
  1747.  
  1748.  
  1749. GLI SUBR ENTRY/EXIT
  1750. LDM SLSS PROPAGATE OLD VALUES OF DLID/SLID
  1751. LPN 77
  1752. STM SLID
  1753. LDM SLSS+1
  1754. STM SLID+1
  1755. LDM IOSS+INSQ*5+2
  1756. SCN 77
  1757. SHN 6
  1758. LMM IOSS+INSQ*5+1
  1759. SHN 6
  1760. STM DLID+1
  1761. SHN -14
  1762. STM DLID
  1763. LDD QT
  1764. LMK INQT
  1765. ZJN GLI1 IF ROUTE TO INPUT
  1766. LDM SLID SET DLID = SLID FOR OUTPUT FILES
  1767. STM DLID
  1768. LDM SLID+1
  1769. STM DLID+1
  1770. GLI1 LDD FB+1
  1771. LPN FRLD
  1772. ZJN GLI4 IF DLID/SLID NOT SPECIFIED
  1773.  
  1774. * GET DLID FROM PARAMETER BLOCK.
  1775.  
  1776. RJM GFA GET SLID/DLID
  1777. ADN 2
  1778. CRD CN
  1779. LDD CN+1 CHECK DLID
  1780. LPN 77
  1781. SHN 14
  1782. LMD CN+2
  1783. RJM CSL CHECK FOR SPECIAL LID
  1784. STM DLID+1 SAVE DLID
  1785. SHN -14
  1786. STM DLID
  1787.  
  1788. * GET SLID FROM PARAMETER BLOCK.
  1789.  
  1790. LDD CN+1 CHECK SLID
  1791. SCN 77
  1792. SHN 6
  1793. LMD CN
  1794. ZJN GLI4 IF NO CHANGE IN SLID
  1795. SHN 6
  1796. GLI2 RJM CSL CHECK FOR SPECIAL LID
  1797. STM SLID+1 SAVE SLID
  1798. SHN -14
  1799. STM SLID
  1800. GLI3 UJN GLI5 SET ATTRIBUTES
  1801.  
  1802. * CHECK IF DEFAULT SLID NEEDED.
  1803.  
  1804. GLI4 LDM SLID
  1805. ADM SLID+1
  1806. NJN GLI5 IF SLID NONZERO
  1807. LDN LCPD
  1808. UJN GLI2 SET SLID TO PID
  1809.  
  1810. * GET ATTRIBUTES OF DLID/SLID.
  1811.  
  1812. GLI5 LDM DLID GET DLID ATTRIBUTES
  1813. SHN 14
  1814. LMM DLID+1
  1815. ZJN GLI6 IF NO DLID
  1816. RJM VID GET ATTRIBUTES FROM LID TABLE
  1817. ZJN GLI6 IF LID TABLE NOT FOUND
  1818. STM DLAT SAVE ATTRIBUTES
  1819. GLI6 LDM SLID GET SLID ATTRIBUTES
  1820. SHN 14
  1821. LMM SLID+1
  1822. ZJN GLI7 IF NO SLID
  1823. RJM VID GET ATTRIBUTES FROM LID TABLE
  1824. ZJN GLI7 IF LID TABLE NOT FOUND
  1825. STM SLAT SAVE ATTRIBUTES
  1826. GLI7 LJM GLIX RETURN
  1827. ISS SPACE 4,25
  1828. ** ISS - INITIALIZE SYSTEM SECTORS.
  1829. *
  1830. * ENTRY (FN - FN+4) = QUEUED FILE FNT ENTRY.
  1831. * (FS - FS+4) = FST ENTRY
  1832. * (FA) = NFL FNT ENTRY OFFSET.
  1833. * (ST) = STATUS WORD.
  1834. * (QT) = DESTINATION QUEUE TYPE.
  1835. *
  1836. * EXIT *BFMS* CONTAINS SYSTEM SECTOR FOR QUEUED FILE.
  1837. * (FS - FS+4) = QUEUED FILE FST ENTRY
  1838. *
  1839. * USES CM - CM+4, T1 - T7.
  1840. *
  1841. * CALLS EQF, GEA, GLI, RFN, SSJ, SSR.
  1842. *
  1843. * MACROS NFA.
  1844.  
  1845.  
  1846. ISS SUBR ENTRY
  1847. LDC FNTN READ INPUT FILE FNT
  1848. STM SSRB
  1849. NFA FNTN
  1850. CRD CM
  1851. ADN FSTL
  1852. CRD T5
  1853. LDN INFT SET DESIRED FILE TYPE
  1854. STM SSRA
  1855. LDD ST CHECK IF CALLED BY SUBSYSTEM
  1856. LPN SSFL
  1857. NJN ISS1 IF NOT CALLED BY A SUBSYSTEM
  1858. LDD QT CHECK IF SUBSYSTEM OUTPUT FILE
  1859. LMK INQT
  1860. NJN ISS1 IF OUTPUT FROM A SUBSYSTEM
  1861. AOM ISSA SET INPUT FILE NOT READ
  1862. UJN ISS2 CONTINUE
  1863.  
  1864. ISS1 LDD T5
  1865. RJM SSR READ INPUT FILE SYSTEM SECTOR
  1866. ZJN ISS4 IF INPUT FILE SYSTEM SECTOR READ
  1867. ISS2 LDC 501 CLEAR SYSTEM SECTOR BUFFER
  1868. STD T1
  1869. ISS3 LDN 0
  1870. STM BFMS,T1
  1871. SOD T1
  1872. PJN ISS3 IF MORE TO CLEAR
  1873. RJM GLI GET SLID/DLID
  1874. LDD ST CHECK ORIGIN TYPE OF CALLING CP
  1875. LPN SYFL
  1876. ZJN ISS7 IF CP NOT *SYOT*
  1877. LCN 0
  1878. STM VASS+5*AAWC+3
  1879. STM VASS+5*AAWC+4
  1880. UJN ISS7 SET DEFAULT TID
  1881.  
  1882. * SET DEFAULT DESTINATION TERMINAL ID (TID).
  1883.  
  1884. ISS4 RJM GLI GET SLID/DLID
  1885. LDN QFTE*5-1 CLEAR QFT IN SYSTEM SECTOR
  1886. STD T1
  1887. ISS5 LDN 0 CLEAR QFT
  1888. STM IOSS,T1
  1889. SOD T1
  1890. PJN ISS5 IF NOT FINISHED
  1891. LDN DDSSL CLEAR FILE DEPENDENT INFORMATION
  1892. STD T1
  1893. ISS6 LDN 0
  1894. STM JISS,T1
  1895. SOD T1
  1896. PJN ISS6 IF MORE TO CLEAR
  1897.  
  1898. * SET ROUTING INFORMATION FROM EJT.
  1899.  
  1900. ISS7 LDC **
  1901. ISSA EQU *-1 (INPUT FILE NOT READ FLAG)
  1902. NJN ISS8 IF INPUT FILE NOT READ
  1903. RJM GEA GET EJT ADDRESS
  1904. ADK SCLE
  1905. CRD CM
  1906. LDD CM SET ORIGIN TYPE OF EJT
  1907. SCN 60
  1908. STM IOSS+SCLQ*5+0
  1909. LDD CM+1 SET DEFAULT ROUTING INFORMATION
  1910. STM IOSS+SCLQ*5+1
  1911. LDD CM+2
  1912. STM IOSS+SCLQ*5+2
  1913.  
  1914. * SET CREATION DATE AND MACHINE ID.
  1915. * SET CREATION FAMILY AND USER NAME.
  1916.  
  1917. ISS8 LDC MMFL SET MACHINE ID
  1918. CRD CM
  1919. LDD CM
  1920. STM CMSS
  1921. STM RMSS
  1922. RJM RFN READ CREATION FAMILY NAME
  1923. CRM FMSS,ON
  1924. RJM SSJ CHECK FOR SSJ= BLOCK
  1925. ZJN ISS9 IF NO SSJ= ADDRESS
  1926. ADK UIDS USER NAME
  1927. UJN ISS10 READ USER NAME
  1928.  
  1929. ISS9 LDD CP READ USER NAME
  1930. ADK UIDW
  1931. ISS10 CRM ACSS,ON
  1932. LDM FMSS+3 ZERO FILL FAMILY NAME
  1933. SCN 77
  1934. STM FMSS+3
  1935. LDN 0
  1936. STM FMSS+4
  1937.  
  1938. * SET CHARGE AND PROJECT NUMBERS.
  1939.  
  1940. NFA CHGN
  1941. CRM CHSS,TR
  1942. ERRNZ PJSS-CHSS-5 CHARGE AND PROJECT NUMBER NOT CONTIGUOUS
  1943. ERRNZ CHGN-PJ1N-1 CHARGE AND PROJECT NUMBER NOT CONTIGUOUS
  1944.  
  1945. * ENTER FILE INTO QFT.
  1946.  
  1947. RJM EQF ENTER QUEUED FILE
  1948.  
  1949. * SET ORIGINAL AND CREATION JSN-S IN SYSTEM SECTOR.
  1950.  
  1951. LDM IOSS+JSNQ*5+0
  1952. STM OJSS
  1953. LDM IOSS+JSNQ*5+1
  1954. STM OJSS+1
  1955. RJM GEA SET CREATION JSN
  1956. ADK JSNE
  1957. CRD CM
  1958. LDD CM
  1959. STM CJSS
  1960. LDD CM+1
  1961. STM CJSS+1
  1962. LJM ISSX RETURN
  1963. PDF SPACE 4,15
  1964. ** PDF - PROCESS DEVICE FULL.
  1965. *
  1966. * ENTRY (FB - FB+1) = FLAG BITS.
  1967. *
  1968. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  1969. * DEVICE FULL.
  1970. *
  1971. * USES CM - CM+4.
  1972. *
  1973. * EXIT *DEVICE FULL* MESSAGE ISSUED TO OPERATOR.
  1974. *
  1975. * MACROS ERROR, MONITOR, PAUSE.
  1976.  
  1977.  
  1978. PDF SUBR ENTRY/EXIT
  1979. PDFA LDN 0 CHECK IF ROUTINE PREVIOUSLY CALLED
  1980. * LDN 1
  1981. NJN PDF1 IF ROUTINE PREVIOUSLY CALLED
  1982. AOM PDFA SET ROUTINE PREVIOUSLY CALLED
  1983. LDD CP CONSOLE MESSAGE = *TRACK LIMIT.*
  1984. ADK MS2W
  1985. CWM PDFB,TR
  1986. LDN ZERL CLEAR PARAMETERS
  1987. CRD CM
  1988. LDK TKLE SET TRACK LIMIT EVENT
  1989. STD CM+4
  1990. * LDN 0 SET SYSTEM EVENT
  1991. * STD CM+3
  1992. MONITOR EATM
  1993. PDF1 PAUSE
  1994. LDD FB
  1995. LPN 1
  1996. ADD CM+1
  1997. ZJN PDFX IF NO ERROR PROCESSING NEEDED
  1998. PDF2 ERROR /ERR/EC27 * DSP - DEVICE FULL.*
  1999.  
  2000. PDFB DATA C*TRACK LIMIT.*
  2001. RCL SPACE 4,10
  2002. ** RCL - RECALL PP.
  2003.  
  2004.  
  2005. RCL BSS 0 ENTRY
  2006. RJM FNB SET FILE NOT BUSY
  2007. LDN ZERL DEFAULT TO TIMED RECALL
  2008. CRD CM
  2009. LDD MA
  2010. CWD IR
  2011. MONITOR RECM RECALL PP
  2012. LJM PPR ENTER PP RESIDENT
  2013. SDC SPACE 4,10
  2014. ** SDC - SET DISPOSITION CODE.
  2015. *
  2016. * ENTRY (SDCA) = TABLE INDEX SET BY *DDC*.
  2017. * = 0, IF NO DISPOSITION CODE SPECIFIED.
  2018. *
  2019. * EXIT QFT AND SYSTEM SECTOR UPDATED.
  2020. *
  2021. * USES T0, T1.
  2022. *
  2023.  
  2024.  
  2025. SDC SUBR ENTRY EXIT
  2026. LDD ST CHECK IF DISPOSITION CODE SPECIFIED
  2027. LPC DCFL
  2028. ZJN SDCX IF DISPOSITION CODE NOT SPECIFIED
  2029. LDC **
  2030. SDCA EQU *-1 (*TODC* TABLE ENTRY SET BY *DDC*)
  2031. STD T1
  2032. LPN 77
  2033. STD T0
  2034. LDC ** SET DISPOSITION CODE IN SYSTEM SECTOR
  2035. SDCB EQU *-1
  2036. STM DCSS
  2037. LDM IOSS+SCLQ*5+3
  2038. SCN 77
  2039. LMD T0
  2040. STM IOSS+SCLQ*5+3
  2041. LDM IOSS+JSNQ*5+4 SET DISPOSITION CODE IN QFT
  2042. LMD T1
  2043. LPN 77
  2044. LMD T1
  2045. STM IOSS+JSNQ*5+4
  2046. UJN SDCX RETURN
  2047. SPR SPACE 4,10
  2048. ** SPR - SET PRIORITY.
  2049. *
  2050. * ENTRY (FB - FB+1) = FLAG BITS.
  2051. * (QT) = QUEUE TYPE.
  2052. * (T3) .NE. 0, IF SPECIAL REQUEUE OPERATION.
  2053. *
  2054. * EXIT QFT UPDATED.
  2055. * (FGSS) = FLAG SET IF PRIORITY PRESENT.
  2056. *
  2057. * USES CN - CN+4, T1 - T5.
  2058. *
  2059. * CALLS CET, GFA.
  2060.  
  2061.  
  2062. SPR SUBR ENTRY/EXIT
  2063. LDD FB+1 CHECK PRIORITY
  2064. SHN 21-11
  2065. MJN SPR2 IF PRIORITY SPECIFIED
  2066. LDD T3
  2067. NJN SPRX IF SPECIAL REQUEUE OPERATION
  2068. LDD FB+1 CHECK IF DEFERRED ROUTE
  2069. SHN 21-0
  2070. MJN SPRX IF DEFERRED ROUTE
  2071. LDM FGSS CHECK IF PRIORITY PREVIOUSLY SPECIFIED
  2072. LPN 4
  2073. NJN SPR3 IF PRIORITY PREVIOUSLY SPECIFIED
  2074. SPR0 LDC RTCL USE REAL TIME CLOCK
  2075. CRD T1
  2076. SPR1 LJM SPR5 SET ENTRY TIME IN QFT
  2077.  
  2078. SPR2 RJM GFA READ PRIORITY
  2079. ADN 3
  2080. CRD CN
  2081. LDD T3
  2082. ZJN SPR2.1 IF NOT SPECIAL REQUEUE OPERATION
  2083. LDD CN+2
  2084. NJN SPR0 IF NEW ENTRY TIME NEEDED
  2085. LDD CN+3 GET ENTRY TIME
  2086. STD T1
  2087. LDD CN+4
  2088. STD T2
  2089. UJN SPR1 SET ENTRY TIME IN QFT ENTRY
  2090.  
  2091. SPR2.1 LDD CN+4
  2092. STM PRSS
  2093. LDM FGSS SET PRIORITY FLAG
  2094. SCN 4
  2095. LMN 4
  2096. STM FGSS
  2097. LDD FB+1 CHECK IF DEFERRED ROUTE
  2098. SHN 21-0
  2099. MJN SPR6 IF DEFERRED ROUTE
  2100. SPR3 LDM FGSS CLEAR PRIORITY SPECIFIED FLAG
  2101. SCN 4
  2102. STM FGSS
  2103. LDM PRSS CONVERT PRIORITY INTO ENTRY TIME
  2104. STD T1
  2105. LDD QT GET QUEUE TYPE
  2106. LMK INQT
  2107. ZJN SPR4 IF INPUT FILE
  2108. LDN OTQT SET OUTPUT QUEUE TYPE
  2109. SPR4 STD T2
  2110. LDM IOSS+SCLQ*5+0
  2111. SCN 77
  2112. SHN 6
  2113. LMD T2
  2114. RJM CET CALCULATE ENTRY TIME
  2115. SPR5 LDD T2 SET ENTRY TIME IN QFT ENTRY
  2116. STM IOSS+ENTQ*5+4
  2117. LDD T1
  2118. STM IOSS+ENTQ*5+3
  2119. SPR6 LJM SPRX RETURN
  2120. SQS SPACE 4,15
  2121. ** SQS - SET QUEUED FILE SYSTEM SECTOR IN *BFMS*.
  2122. *
  2123. * ENTRY (FS - FS+4) = FST ENTRY.
  2124. * (ST) = STATUS WORD.
  2125. * (FA) = NFL FNT OFFSET.
  2126. * (QT) = QUEUE TYPE.
  2127. * (FN - FN+4) = FILE NAME.
  2128. *
  2129. * EXIT (FN - FN+4) = NFL FNT/FST ENTRY.
  2130. * (FS - FS+4) = NFL FNT/FST ENTRY.
  2131. * (QT) = QUEUE TYPE.
  2132. * (QA) = ORDINAL OF GLOBAL *QFT* TABLE ENTRY.
  2133. *
  2134. * USES FN - FN+4.
  2135. *
  2136. * USES AMS, EFN, SPR, USS, VMS.
  2137. *
  2138. * MACROS NFA.
  2139.  
  2140.  
  2141. SQS SUBR ENTRY/EXIT
  2142. LDD ST CHECK IF FILE CREATION NEEDED
  2143. LPN FCFL
  2144. ZJN SQS1 IF FILE EXISTS
  2145. RJM EFN ENTER FILE NAME
  2146. SQS1 RJM AMS ASSIGN MASS STORAGE
  2147. LDD FS SET EQUIPMENT
  2148. RJM VMS VALIDATE MASS STORAGE
  2149. NFA FA,R READ FNT OF EXISTING FILE
  2150. CRD FN
  2151. LDD FN+4 SET FILE TYPE
  2152. LPN 77
  2153. LMC QFFT*100
  2154. STD FN+4
  2155. RJM USS SET SYSTEM SECTOR
  2156. RJM SPR SET PRIORITY
  2157. UJN SQSX RETURN
  2158. SSR SPACE 4,20
  2159. ** SSR - SYSTEM SECTOR READ.
  2160. *
  2161. * ENTRY (A) = EST ORDINAL.
  2162. * (T6) = FIRST TRACK.
  2163. * (CM - CM+4) = FNT ENTRY.
  2164. * (SSRB) = NFL FNT ENTRY OFFSET.
  2165. *
  2166. * EXIT (A) = 0 IF NO ERRORS AND DATA IN SYSTEM SECTOR.
  2167. * .GT. 0 IF NO DATA IN SYSTEM SECTOR.
  2168. * .LT. 0 IF ERRORS IN SYSTEM SECTOR DATA.
  2169. * DRIVER PRESET.
  2170. *
  2171. * USES T1, T3, T5.
  2172. *
  2173. * CALLS RSS, SSE.
  2174. *
  2175. * MACROS ENDMS, NFA, SETMS.
  2176.  
  2177.  
  2178. SSR2 ENDMS
  2179. * LDN 0 RETURN (NO ERRORS)
  2180.  
  2181. SSR SUBR ENTRY/EXIT
  2182. STD T5
  2183. LMN NEEQ
  2184. ZJN SSR1 IF NO FILE
  2185. LDD CM+4
  2186. SHN -6
  2187. SSR1 LMC QFFT
  2188. * LMC INFT (READ JOB INPUT FILE)
  2189. SSRA EQU *-1 (SET BY *ISS*)
  2190. NJN SSRX IF NOT ALREADY QUEUE FILE
  2191. SETMS IO
  2192. LDN 0
  2193. RJM RSS READ SYSTEM SECTOR
  2194. ZJN SSR2 IF NO ERRORS
  2195.  
  2196. * PROCESS SYSTEM SECTOR ERROR.
  2197.  
  2198. LDN 0 SET FNT TYPE
  2199. STD T3
  2200. LDC *
  2201. SSRB EQU *-1 (FNT OFFSET OF FILE READ)
  2202. STD T1
  2203. NFA T1,R
  2204. RJM SSE REPORT SYSTEM SECTOR ERROR
  2205. LCN 1 FLAG SYSTEM SECTOR ERROR
  2206. UJN SSRX RETURN WITH ERROR
  2207. USS SPACE 4,20
  2208. ** USS - UPDATE SYSTEM SECTOR.
  2209. *
  2210. * ENTRY (FN - FN+4) = QUEUED FILE FNT ENTRY.
  2211. * (FS - FS+4) = FST ENTRY.
  2212. * (FA) = NFL FNT ENTRY OFFSET.
  2213. *
  2214. * EXIT *BFMS* CONTAINS SYSTEM SECTOR FOR QUEUED FILE.
  2215. * (QT) = QUEUE TYPE.
  2216. * (T3) .NE. 0, IF VALID SPECIAL REQUEUE FLAG SET.
  2217. * REPEAT COUNT SET, IF VALID SPECIAL REQUEUE FLAG SET.
  2218. *
  2219. * ERROR TO *ERR* IF ERROR READING *QFFT* FILE SYSTEM SECTOR.
  2220. *
  2221. * USES QT, T3, T6, CM - CM+4.
  2222. *
  2223. * CALLS EDF, GFA, GLI, ISS, SQO, SSR.
  2224. *
  2225. * MACROS ERROR, ISTORE, NFA.
  2226.  
  2227.  
  2228. USS2 RJM ISS INITIALIZE SYSTEM SECTOR
  2229. RJM SQO SET QFT OWNERSHIP
  2230. USS3 LDN 0 SET NORMAL EXIT
  2231. STD T3
  2232.  
  2233. USS SUBR ENTRY/EXIT
  2234.  
  2235. * SET QUEUE FILE TYPE.
  2236.  
  2237. LDM SDCA GET ENTRY FROM *TODC* TABLE
  2238. SHN -11
  2239. STD QT
  2240.  
  2241. * READ SYSTEM SECTOR INFORMATION IF IT EXISTS.
  2242.  
  2243. LDD FS+1 SET FIRST TRACK
  2244. STD T6
  2245. LDD FA READ CURRENT FNT ENTRY
  2246. STM SSRB SAVE FNT OFFSET
  2247. NFA FA,R
  2248. CRD CM
  2249. LDD FS
  2250. RJM SSR READ SYSTEM SECTOR
  2251. MJP USS1 IF ERROR ON *QFFT* FILE
  2252. NJN USS2 IF SYSTEM SECTOR NOT READ
  2253.  
  2254. * SET FNT/FST FOR DEFERRED ROUTED OR ATTACHED QUEUE FILE
  2255. * (SYSTEM SECTOR INFORMATION IS ALREADY PRESENT).
  2256.  
  2257. RJM GLI GET LID INFORMATION
  2258. RJM EDF ENTER DEFERRED FILE
  2259.  
  2260. * CHECK FOR SPECIAL REQUEUE FLAG.
  2261.  
  2262. LDD ST
  2263. LPN DSFL
  2264. ZJN USS3 IF FILE NOT PREVIOUSLY ROUTED
  2265. LDM EBIT+1
  2266. LPC EFRQ
  2267. STD T3
  2268. ZJN USS0 IF SPECIAL REQUEUE FLAG NOT SPECIFIED
  2269. ISTORE DSPG,(UJN DSP4)
  2270. ISTORE DSPH,(UJN DSP5)
  2271. ISTORE DSPI,(UJN DSP6.2)
  2272.  
  2273. * SET REPEAT COUNT FOR SPECIAL REQUEUE OPERATION.
  2274.  
  2275. LDD FB
  2276. SHN 21-2
  2277. PJN USS0 IF REPEAT COUNT NOT SPECIFIED
  2278. RJM GFA READ REPEAT COUNT
  2279. ADN 4
  2280. CRD CM
  2281. LDD CM+3 SET REPEAT COUNT
  2282. LPN 77
  2283. STM IOSS+INSQ*5+4
  2284. STM RCSS
  2285. USS0 LJM USSX RETURN
  2286.  
  2287. USS1 ERROR /ERR/EC24 * DSP - QUEUED FILE READ ERROR.*
  2288. VMS SPACE 4,10
  2289. ** VMS - VALIDATE MASS STORAGE.
  2290. *
  2291. * ENTRY (A) = EQUIPMENT.
  2292. *
  2293. * EXIT (CM - CM+4) = EST ENTRY.
  2294. * (T5) = EQUIPMENT.
  2295. *
  2296. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  2297. * FILE NOT ON REMOVABLE DEVICE.
  2298. * FILE NOT ON MASS STORAGE.
  2299. *
  2300. * USES T5, CM - CM+4.
  2301. *
  2302. * MACROS ERROR, SFA.
  2303.  
  2304.  
  2305. VMS1 SHN 21-10-21+13
  2306. PJN VMSX IF NOT REMOVABLE DEVICE
  2307. ERROR /ERR/EC20 * DSP - FILE ON REMOVABLE DEVICE.*
  2308.  
  2309. VMS SUBR ENTRY/EXIT
  2310. STD T5 SET EQUIPMENT
  2311. SFA EST READ EST ENTRY
  2312. ADK EQDE
  2313. CRD CM
  2314. LDD CM CHECK FOR MASS STORAGE
  2315. SHN 21-13
  2316. MJN VMS1 IF MASS STORAGE
  2317. ERROR /ERR/EC02 * DSP - FILE NOT ON MASS STORAGE.*
  2318. SPACE 4,10
  2319. ** COMMON DECKS.
  2320.  
  2321.  
  2322. CET$ SET 1 CALCULATE ENTRY TIME
  2323. *CALL COMPCPE
  2324. *CALL COMPCTE
  2325. *CALL COMPC2D
  2326. *CALL COMPRJC
  2327. QUAL MIO
  2328. RDS EQU RMS USE *RMS* IN PLACE OF *RDS*
  2329. *CALL COMPRSS
  2330. QUAL *
  2331. RSS EQU /MIO/RSS
  2332. *CALL COMPSSE
  2333. *CALL COMPVID
  2334. QUAL MIO3
  2335. WCS$ SET 1 WRITE CONSECUTIVE SECTORS
  2336. WDS EQU WMS USE *WMS* IN PLACE OF *WDS*
  2337. *CALL COMPWSS
  2338. QUAL *
  2339. WSS EQU /MIO3/WSS
  2340. SPACE 4,10
  2341. * THE FOLLOWING SUBROUTINES MAY BE OVERLAID BY ZERO-LEVEL
  2342. * OVERLAYS.
  2343. SPACE 4,10
  2344. OVL5 EQU *+5 LOAD ADDRESS FOR OVERLAY *3DC*
  2345. SPACE 4,10
  2346. ERRNG OVL0-5-* OVERFLOW INTO *0BF*
  2347. ERRNG OVL1-5-* OVERFLOW INTO *0AV*
  2348. TITLE FILE INITIALIZATION ROUTINES (OVERLAYABLE).
  2349. CFN SPACE 4,10
  2350. ** CFN - COMPARE FILE NAMES.
  2351. *
  2352. * ENTRY (T1) = FWA OF FNT ENTRY
  2353. * (FN - FN+4) = FILE NAME.
  2354. *
  2355. * EXIT (A) = 0, IF FILE FOUND.
  2356. * (A) .GT. 0, FILE ASSIGNED TO CP, BUT NOT DESIRED FILE.
  2357. * (A) .LT. 0, NO ENTRY.
  2358.  
  2359.  
  2360. CFN1 LCN 1 NO FILE FOUND
  2361.  
  2362. CFN SUBR ENTRY/EXIT
  2363. LDI T1
  2364. ZJN CFN1 IF NO ENTRY
  2365. LMD FN
  2366. NJN CFNX IF NO COMPARE
  2367. LDM 1,T1
  2368. LMD FN+1
  2369. NJN CFNX IF NO COMPARE
  2370. LDM 2,T1
  2371. LMD FN+2
  2372. NJN CFNX IF NO COMPARE
  2373. LDM 3,T1
  2374. LMD FN+3
  2375. SCN 77
  2376. UJN CFNX RETURN
  2377. DDC SPACE 4,25
  2378. ** DDC - DETERMINE DISPOSTION CODE.
  2379. *
  2380. * ENTRY (FB - FB+1) = FLAG BITS.
  2381. * (FN - FN+4) = FNT ENTRY.
  2382. * (ST) = STATUS WORD.
  2383. *
  2384. * EXIT (A) = 0, IF *DC=SC*.
  2385. * (ST) = SET, IF DISPOSITION CODE SPECIFIED.
  2386. *
  2387. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  2388. * INCORRECT DISPOSITION CODE.
  2389. * *DC=SO* OR *DC=SS* AND CALLER NOT *SYOT* OR *SSJ=*.
  2390. *
  2391. * USES ST, T1, CM+2.
  2392. *
  2393. * CALLS CFN.
  2394. *
  2395. * MACROS ERROR.
  2396.  
  2397.  
  2398. DDC SUBR ENTRY/EXIT
  2399. DDC1 LDC * SET DISPOSITION CODE
  2400. DDCB EQU *-1 (DISPOSITION CODE SET BY PRESET)
  2401. STD CM+2
  2402. LDD FB+1
  2403. SHN 21-4
  2404. MJN DDC2 IF DISPOSITION CODE SPECIFIED
  2405. LDD FN+4 GET FILE TYPE
  2406. SHN -6
  2407. LMN LOFT
  2408. ZJN DDC4 IF NOT QUEUED FILE
  2409. UJN DDCX RETURN
  2410.  
  2411. * IF *DC=SO* OR *DC=SS*, VALIDATE CALLER.
  2412.  
  2413. DDC2 LDD CM+2
  2414. LMC 2RSO
  2415. ZJN DDC3 IF *DC=SO*
  2416. LMC 2RSO&2RSS
  2417. NJN DDC7 IF NOT *DC=SS*
  2418. DDC3 LDD ST VALIDATE CALLER
  2419. LPC SJFL+SYFL
  2420. NJN DDC7 IF *SYOT* OR *SSJ=*
  2421. ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
  2422.  
  2423. * SET DEFAULT DISPOSITION CODE.
  2424.  
  2425. DDC4 LDC TSFN-TSFNL PRESET TABLE INDEX
  2426. STD T1
  2427. DDC5 LDN TSFNL ADVANCE INDEX
  2428. RAD T1
  2429. RJM CFN COMPARE FILE NAMES
  2430. ZJN DDC6 IF FILE FOUND
  2431. PJN DDC5 IF NO FILE NAME MATCH
  2432. ERROR /ERR/EC07 * DSP - INCORRECT DISPOSITION CODE.*
  2433.  
  2434. DDC6 LDM 4,T1 SET DEFAULT DISPOSITION
  2435. STD CM+2
  2436.  
  2437. * VALIDATE DISPOSITION CODE.
  2438.  
  2439. DDC7 LDC TODC-TODCL SET TABLE INDEX
  2440. STD T1
  2441. DDC8 LDN TODCL ADVANCE INDEX
  2442. RAD T1
  2443. LDI T1
  2444. NJN DDC9 IF NOT END OF TABLE
  2445. LDD CM+2
  2446. LMC 2RSC
  2447. ZJP DDCX IF *DC=SC*
  2448. ERROR /ERR/EC07 * DSP - INCORRECT DISPOSITION CODE.*
  2449.  
  2450. DDC9 LMD CM+2
  2451. NJN DDC8 IF NO MATCH
  2452. AOD T1 SET NEW QUEUE TYPE
  2453. LDI T1 SAVE TABLE ENTRY FOR ROUTINE *SDC*
  2454. STM SDCA
  2455. SHN -11
  2456. LMK INQT
  2457. NJP DDC17 IF NOT INPUT FILE
  2458.  
  2459. * VALIDATE FORCED JSN, IF ANY.
  2460.  
  2461. LDD FB+1
  2462. LPN FRFJ
  2463. ZJP DDC15 IF FORCED JSN FLAG NOT SPECIFIED
  2464. STM FSJS SET FORCED JSN
  2465. LMD FB+1 FORCE IMMEDIATE ROUTE FOR INPUT FILE
  2466. ERRNZ FRFJ-FRDR (CODE ASSUMES FRFJ AND FRDR ARE SAME FLAG)
  2467. STD FB+1
  2468. LDD OT
  2469. LMK SYOT
  2470. NJP DDC16 IF NOT SYSTEM ORIGIN
  2471. LDK EJTP READ EJT POINTER WORD
  2472. CRD CM
  2473. LDN 0 START SEARCH AT ORDINAL 0
  2474. STD CM
  2475. DDC10 LDD CM
  2476. SBD CM+2
  2477. PJN DDC12 IF END OF EJT
  2478. SFA EJT,CM GET EJT ENTRY
  2479. ADK JSNE
  2480. CRD CN
  2481. AOD CM INCREMENT EJT ORDINAL
  2482. LDD CN
  2483. ZJN DDC10 IF BLANK ENTRY
  2484. LMM FJSN
  2485. NJN DDC10 IF NO MATCH ON FIRST 2 CHARACTERS
  2486. LDD CN+1 COMPARE REMAINDER OF JSN
  2487. LMM FJSN+1
  2488. NJN DDC10 IF NOT SAME JSN
  2489. DDC11 ERROR /ERR/EC50 * DSP - JSN ALREADY IN SYSTEM.*
  2490.  
  2491. DDC12 LDC TSSN CHECK IF JSN MATCHES A SUBSYSTEM NAME
  2492. STD T1
  2493. DDC13 LDI T1 SEARCH TABLE FOR SUBSYSTEM
  2494. LMM FJSN
  2495. NJN DDC14 IF NO MATCH
  2496. LDM 1,T1
  2497. LMM FJSN+1
  2498. ZJN DDC11 IF MATCH
  2499. DDC14 LDN TSSNE GET NEXT TABLE ENTRY
  2500. RAD T1
  2501. LMC TSSNL
  2502. NJN DDC13 IF NOT END OF TABLE
  2503. RJM VJS VALIDATE JSN SPECIFICATION
  2504. DDC15 LDM FSOT CHECK FOR FORCED ORIGIN TYPE
  2505. LMK IAOT
  2506. LPN 17
  2507. NJN DDC17 IF NOT INTERACTIVE ORIGIN TYPE
  2508. DDC16 ERROR /ERR/EC40 * DSP - INCORRECT ORIGIN TYPE.*
  2509.  
  2510. DDC17 LDC DCFL SET DISPOSITION CODE SPECIFIED FLAG
  2511. RAD ST
  2512. LDD CM+2 SAVE FOR ACCOUNTING MESSAGE
  2513. STM SDCB
  2514. LJM DDCX RETURN
  2515. TODC SPACE 4,10
  2516. ** TODC - TABLE OF DEFAULT ROUTING INFORMATION.
  2517. *
  2518. *T 12/ DC, 6/ QT, 3/ EC, 3/ IC.
  2519. *
  2520. * DC = DISPOSITION CODE. (DISPLAY CODE)
  2521. * EC = EXTERNAL CHARACTERISTICS FOR QFT.
  2522. * IC = INTERNAL CHARACTERISTICS FOR QFT.
  2523. * QT = QUEUE TYPE FOR SPECIFIED DISPOSITION CODE.
  2524.  
  2525.  
  2526. IN$ EQU 1 ALLOW *DC=IN*
  2527. NO$ EQU 1 ALLOW *DC=NO*
  2528. TO$ EQU 1 ALLOW *DC=TO*
  2529. TT$ EQU 1 ALLOW *DC=TT*
  2530. SO$ EQU 1 ALLOW *DC=SO*
  2531. SS$ EQU 1 ALLOW *DC=SS*
  2532.  
  2533. TODC BSS 0
  2534. DRIN PR,DFEX,DCIC,LPQF ANY PRINTER
  2535. TODCL EQU *-TODC LENGTH OF TABLE ENTRY
  2536. DRIN LP,DFEX,DCIC,LPQF ANY PRINTER
  2537. DRIN P1,DFEX,DCIC,0 505 PRINTER
  2538. DRIN P2,DFEX,DCIC,P2QF 512 PRINTER
  2539. DRIN LQ,DFEX,DCIC,0 512 PRINTER
  2540. DRIN LR,DFEX,DCIC,LRQF 580-12 PRINTER
  2541. DRIN LS,DFEX,DCIC,LSQF 580-16 PRINTER
  2542. DRIN LT,DFEX,DCIC,LTQF 580-20 PRINTER
  2543. DRIN LX,DFEX,DCIC,LXQF 5870 NIP
  2544. DRIN LY,DFEX,DCIC,LYQF 5970 NIP
  2545. DRIN SB,PBFR,BNIC,PUQF PUNCH BINARY
  2546. DRIN P8,P8FR,BNIC,PUQF PUNCH 80 COLUMN
  2547. DRIN PB,PBFR,BNIC,PUQF PUNCH BINARY
  2548. DRIN TT,DFEX,DFEX,TQQF TERMINAL OUTPUT
  2549. DRIN SS,DFEX,DFEX,SQQF STATION OUTPUT
  2550. DRIN WT,DFEX,DFEX,TQQF WAIT QUEUE
  2551. TODCA EQU *
  2552. DRIN PU,PHFR,DCIC,PUQF PUNCH CODED
  2553. TODCB EQU *
  2554. DRIN PH,PHFR,DCIC,PUQF PUNCH CODED
  2555. DRIN FR,T6EX,0,FRQF MICROFILM PRINT
  2556. DRIN FL,T6EX,0,FLQF MICROFILM PLOT
  2557. DRIN PL,T6EX,0,PLQF PLOTTER
  2558. DRIN HR,T6EX,0,HRQF HARD COPY PRINT
  2559. DRIN HL,T6EX,0,HLQF HARD COPY PLOT
  2560. DRIN IN,0,0,INQF INPUT
  2561. DRIN NO,0,0,NOQF INPUT NO OUTPUT
  2562. * DRIN SC,0,0,LOFT SCRATCH
  2563. DRIN TO,0,0,TOQF INPUT, TERMINAL OUTPUT
  2564. DRIN SO,0,0,SOQF INPUT, STATION OUTPUT
  2565. CON 0 END OF TABLE
  2566. TSFN SPACE 4,10
  2567. ** TSFN - TABLE OF SPECIAL FILE NAMES AND DISPOSITION CODES.
  2568. *
  2569. *T 48/ FILE NAME ,12/ DC
  2570. *
  2571. * DC = DISPOSITION CODE.
  2572.  
  2573.  
  2574. TSFN BSS 0
  2575. VFD 48/0LOUTPUT,12/2LLP
  2576. TSFNL EQU *-TSFN LENGTH OF ENTRY
  2577. SPACE 4,10
  2578. VFD 48/0LPUNCH,12/2LPU
  2579. VFD 48/0LPUNCHB,12/2LSB
  2580. VFD 48/0LP8,12/2LP8
  2581. VFD 48/0,12/2LSC
  2582. TSSN SPACE 4,10
  2583. ** TABLE OF SUBSYSTEM NAMES.
  2584. *
  2585. * ENTRY FORMAT.
  2586. *
  2587. *T 24/ NAME
  2588. *
  2589. * NAME = 3-CHARACTER SUBSYSTEM NAME + BLANK.
  2590.  
  2591.  
  2592. TSSN BSS 0
  2593. LIST G
  2594. .SSN HERE
  2595. LIST *
  2596. TSSNL BSS 0 END OF TABLE
  2597. FFQ SPACE 4,20
  2598. ** FFQ - FIND FILE TO QUEUE.
  2599. *
  2600. * ENTRY (FB - FB+1) = FLAG BITS.
  2601. * (FN - FN+4) = (UN - UN+4) = FILE NAME.
  2602. * (ST) = STATUS WORD.
  2603. *
  2604. * EXIT (FN - FN+4) = FNT ENTRY.
  2605. * (FS - FS+4) = FST ENTRY.
  2606. * (FA) = NFL FNT ENTRY OFFSET.
  2607. * (ST) = SET, IF FILE CREATION NEEDED.
  2608. * (LFAL) = LOCAL FILE ACCESS LEVEL.
  2609. *
  2610. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  2611. * FILE NAME ERROR.
  2612. * IMMEDIATE ROUTE - NO FILE.
  2613. * CANNOT ROUTE JOB INPUT FILE.
  2614. * I/O SEQUENCE ERROR.
  2615. * INCORRECT FILE MODE.
  2616. * INVALID FILE TYPE.
  2617. *
  2618. * USES ST, T1, CM - CM+4, FN - FN+4.
  2619. *
  2620. * CALLS SAF, SFB, VFN, VMS.
  2621. *
  2622. * MACROS ERROR, NFA.
  2623.  
  2624.  
  2625. FFQ SUBR ENTRY/EXIT
  2626. LDC ** FNT ADDRESS
  2627. FFQA EQU *-1 (SET BY PRESET)
  2628. RJM SAF SEARCH FOR ASSIGNED FILE
  2629. NJN FFQ3 IF FILE FOUND
  2630. RJM VFN VERIFY FILE NAME
  2631. NJN FFQ1 IF VALID FILE NAME
  2632. ERROR /ERR/EC01 * DSP - FILE NAME ERROR.*
  2633.  
  2634. FFQ1 LDC LOFT*100 SET LOCAL FILE FOR *DDC*
  2635. STD FN+4
  2636. LDN FCFL SET FILE CREATION NEEDED
  2637. RAD ST
  2638. LJM FFQ10 CHECK FOR DEFERRED ROUTE
  2639.  
  2640. FFQ3 LDD FA
  2641. LMC FNTN
  2642. NJN FFQ4 IF NOT JOB INPUT FILE
  2643. ERROR /ERR/EC16 * DSP - CANNOT ROUTE JOB INPUT FILE.*
  2644.  
  2645. FFQ4 RJM SFB SET FILE BUSY
  2646. ZJN FFQ5 IF FILE SET BUSY
  2647. LDN 0 CLEAR NFL FNT OFFSET
  2648. STD FA
  2649. ERROR /ERR/EC31 * DSP - I/O SEQUENCE ERROR.*
  2650.  
  2651. * CHECK IF FILE CAN BE ROUTED.
  2652.  
  2653. FFQ5 NFA FA,R READ FNT FROM NFL
  2654. ADK FNTL
  2655. CRD FN
  2656. ADN FSTL-FNTL
  2657. CRD FS
  2658. ADN FUTL-FSTL
  2659. CRD CM
  2660. LDD CM+2 SAVE LOCAL FILE ACCESS LEVEL
  2661. LPN 7
  2662. STM LFAL
  2663. LDD FN+3 CHECK FILE MODE
  2664. SHN 21-2
  2665. PJN FFQ7 IF NOT EXECUTE ONLY MODE
  2666. ERROR /ERR/EC36 * DSP - INCORRECT FILE MODE.*
  2667.  
  2668. FFQ7 SHN 21-0-21+2
  2669. PJN FFQ7.1 IF FILE NOT LOCKED
  2670. LDC LKFL SET *FILE LOCKED* FLAG
  2671. RAD ST
  2672.  
  2673. * VALIDATE FILE TYPE.
  2674.  
  2675. FFQ7.1 LDD FN+4 SET CURRENT FILE TYPE
  2676. SHN -6
  2677. STD T1
  2678. LDC SHNI+21
  2679. SBD T1
  2680. STM FFQB
  2681. LDC QMSK
  2682. SHN 21-0
  2683. FFQB EQU *-1 (MODIFIED *SHN* INSTRUCTION)
  2684. MJN FFQ8 IF VALID FILE TYPE
  2685. ERROR /ERR/EC03 * DSP - INCORRECT FILE TYPE.*
  2686.  
  2687. * VALIDATE FILE-S CURRENT MASS STORAGE ASSIGNMENT.
  2688.  
  2689. FFQ8 LDD FS CHECK FST ENTRY
  2690. ZJN FFQ10 IF NULL ENTRY
  2691. RJM VMS VALIDATE MASS STORAGE FILE
  2692. LDD FS+1
  2693. ZJN FFQ10 IF NULL FILE
  2694. LDD FS+2
  2695. ZJN FFQ10 IF NULL FILE
  2696. FFQ9 LJM FFQX RETURN
  2697.  
  2698. * FOR A NULL OR NONEXISTENT FILE, ONLY ALLOW A DEFERRED ROUTE.
  2699.  
  2700. FFQ10 LDD FB+1
  2701. LPN FRDR
  2702. NJN FFQ9 IF DEFERRED ROUTE
  2703. ERROR /ERR/EC06 * DSP - IMMEDIATE ROUTING - NO FILE.*
  2704.  
  2705.  
  2706. INFT DECMIC INFT
  2707. QFFT DECMIC QFFT
  2708. LOFT DECMIC LOFT
  2709.  
  2710. QMSK EQU 1S"INFT"+1S"QFFT"+1S"LOFT"
  2711. VJS SPACE 4,10
  2712. ** VJS - VALIDATE JSN SPECIFICATION.
  2713. *
  2714. * ENTRY (FB - FB+1) = FLAG BITS.
  2715. * (FJSN - FJSN+1) = FORCED JSN TO VALIDATE.
  2716. *
  2717. * EXIT JSN VALIDATED.
  2718. *
  2719. * ERROR TO *ERR* IF AN INVALID JSN WAS SPECIFIED.
  2720. *
  2721. * MACROS ERROR.
  2722.  
  2723.  
  2724. VJS SUBR ENTRY/EXIT
  2725. LDM FJSN VALIDATE SPECIFIED JSN
  2726. SHN -6
  2727. ZJN VJS1 IF CHARACTER .LT. *A*
  2728. SBN 1R9+1
  2729. PJN VJS1 IF CHARACTER .GT. *9*
  2730. LDM FJSN
  2731. LPN 77
  2732. ZJN VJS1 IF CHARACTER .LT. *A*
  2733. SBN 1R9+1
  2734. PJN VJS1 IF CHARACTER .GT. *9*
  2735. LDM FJSN+1
  2736. SHN -6
  2737. ZJN VJS1 IF CHARACTER .LT. *A*
  2738. SBN 1R9+1
  2739. MJN VJSX IF CHARACTER .LE. *9*
  2740. VJS1 ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
  2741. VUL SPACE 4,10
  2742. ** VUL - VALIDATE USER LIMITS.
  2743. *
  2744. * ENTRY (FB - FB+1) = FLAG BITS.
  2745. *
  2746. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  2747. * TOO MANY DEFERRED BATCH JOBS.
  2748. *
  2749. * USES T0 - T4, CM - CM+4.
  2750. *
  2751. * CALLS CDB, DBI, GEA.
  2752. *
  2753. * MACROS ERROR.
  2754.  
  2755.  
  2756. VUL SUBR ENTRY/EXIT
  2757. LDD FB
  2758. SHN 21-13
  2759. MJN VULX IF JOB TERMINATION AND VALIDATION DISABLED
  2760. LDD FB+1
  2761. SHN 21-0
  2762. MJN VULX IF DEFERRED ROUTE
  2763. LDM CUAV CHECK USER ACCESS
  2764. ZJN VULX IF USER SYSTEM PRIVILEGES
  2765. RJM GEA GET EJT ADDRESS
  2766. CRD T0
  2767. RJM CDB COUNT DEFERRED BATCH JOBS
  2768. LDD CP GET *DB* FIELD FROM CONTROL POINT
  2769. ADN ALMW
  2770. CRD CM
  2771. LDD CM+1
  2772. RJM DBI GET DEFERRED BATCH LIMITS
  2773. MJN VULX IF UNLIMITED
  2774. SBD T4
  2775. SBN 1
  2776. PJN VULX IF LIMIT NOT REACHED
  2777. ERROR /ERR/EC33 * DSP - TOO MANY DEFERRED BATCH JOBS.*
  2778. SPACE 4,10
  2779. ** COMMON DECKS.
  2780.  
  2781.  
  2782. *CALL COMPCDB
  2783. DBI$ SET 1 DEFINE DEFERRED BATCH CONVERSION
  2784. *CALL COMPCVI
  2785. SAF$ SET 1 SELECT *COMPSAF* SEARCH FOR ASSIGNED FILE
  2786. *CALL COMPSAF
  2787. *CALL COMPSFB
  2788. *CALL COMPVFN
  2789. PRS TITLE PRESET.
  2790. ** PRS - PRESET ROUTINE.
  2791. *
  2792. * EXIT (FB - FB+1) = FLAG BITS.
  2793. * (FN - FN+4) = (UN - UN+4) = FILE NAME.
  2794. * (DDCB) = DISPOSITION CODE.
  2795. * (EBIT - EBIT+1) = EXTENDED PARAMETER BLOCK FLAG BITS.
  2796. * (SFDA) = FORCED ORIGIN TYPE INSTRUCTION.
  2797. * (VULA) = SYSTEM ORIGIN PRIVILEGES FLAG.
  2798. *
  2799. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  2800. * INCORRECT *DSP* REQUEST.
  2801. * COMPLETE BIT ALREADY SET.
  2802. * INCORRECT ORIGIN TYPE.
  2803. *
  2804. * USES ER, FA, QA, ST, T7, CM - CM+4, CN - CN+4,
  2805. * FB - FB+1, FN - FN+4.
  2806. *
  2807. * CALLS CRS, CUA, GFA, IFP, VCA, VLD, VTA.
  2808. *
  2809. * MACROS ERROR, SFA.
  2810.  
  2811.  
  2812. PRS SUBR ENTRY/EXIT
  2813. LDN 0 CLEAR ERROR STATUS AND FNT POINTERS
  2814. STD ER
  2815. STD ST
  2816. STD FA
  2817. STD QA
  2818. STD FB
  2819. STD FB+1
  2820. RJM IFP INITIALIZE *SFA* CALL
  2821. RJM CUA CHECK USER ACCESS
  2822. STM CUAV
  2823.  
  2824. * CHECK AUTO RECALL STATUS.
  2825.  
  2826. LDD CP READ SUBSYSTEM ID
  2827. ADN JCIW
  2828. CRD CM
  2829. ADN AACW-JCIW
  2830. CRD FS
  2831. ADN SEPW-AACW GET SPECIAL ENTRY POINT WORD
  2832. CRD CN
  2833. LDC LSSI
  2834. SBD CM+2
  2835. MJN PRS1 IF SUBSYSTEM
  2836. LDN SSFL FLAG NO SUBSYSTEM
  2837. RAD ST
  2838. RJM CRS CHECK RECALL STATUS
  2839. ZJN PRS3 IF NOT CALLED WITH RECALL
  2840. PRS1 LDD CN CHECK ENTRY POINTS
  2841. SHN 21-2
  2842. PJN PRS2 IF NOT *SSJ=*
  2843. LDC SJFL FLAG *SSJ=* PROGRAM
  2844. RAD ST
  2845.  
  2846. * CHECK ADDRESS OF ARGUMENT TABLE.
  2847.  
  2848. PRS2 LDD IR+3 CHECK PARAMETER ADDRESS
  2849. LPN 37
  2850. SHN 14
  2851. LMD IR+4
  2852. RJM VCA VALIDATE ADDRESS
  2853. ZJN PRS3 IF NOT VALID ADDRESS
  2854. ADN DPBL-1 CHECK IF PARAMETER BLOCK IS WITHIN FL
  2855. RJM VCA VALIDATE ADDRESS
  2856. NJN PRS4 IF VALID ADDRESS
  2857. PRS3 ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
  2858.  
  2859. PRS4 ADN EPBL-DPBL CHECK IF EXTENDED BLOCK IS WITHIN FL
  2860. RJM VCA
  2861. NJN PRS5 IF ENOUGH SPACE FOR EXTENDED BLOCK
  2862. AOM PRSA SET *NOT ENOUGH SPACE* FLAG
  2863.  
  2864. * READ FILE NAME AND FLAG BITS FROM ARGUMENT TABLE.
  2865.  
  2866. PRS5 RJM GFA READ FIRST WORD OF PARAMETER BLOCK
  2867. CRD FN
  2868. ADN 1 READ FLAG BITS
  2869. CRD CM
  2870. ADN 3 GET FNT ADDRESS
  2871. CRD CN
  2872. LDD CN+4
  2873. STM FFQA
  2874. LDD CM+1 SAVE INPUT FLAGS
  2875. STM INFL
  2876. LDD CM+3 SAVE FLAG BITS
  2877. LPN 77
  2878. STD FB
  2879. LDD CM+4
  2880. STD FB+1
  2881. SHN 21-6
  2882. MJN PRS6 IF EXTENDED BLOCK SPECIFIED
  2883. LJM PRS15 BYPASS EXTENDED BLOCK PROCESSING
  2884.  
  2885. * SAVE FLAG BITS FOR EXTENDED PARAMETER BLOCK.
  2886.  
  2887. PRS6 LDN 0
  2888. * LDN 1 (NOT ENOUGH SPACE FOR EXTENDED BLOCK)
  2889. PRSA EQU *-1
  2890. NJN PRS7 IF NOT ENOUGH SPACE
  2891. RJM GFA GET EXTENDED FLAG BITS
  2892. ADN 7
  2893. CRD CN
  2894. LDD CN+3
  2895. LPN 77
  2896. STM EBIT
  2897. LDD CN+4
  2898. STM EBIT+1
  2899. LPK EFOU+EFCU+EFSP+EFNV+EFSC+EFEP+EFRQ+EFDS+EFCH
  2900. ZJN PRS8 IF NO PRIVILEGED FLAG BITS SET
  2901. LDD ST
  2902. SHN 21-7
  2903. MJN PRS7.1 IF CALLER IS *SSJ=*
  2904. SHN 21-0-21+7
  2905. PJN PRS7.1 IF CALLER IS SUBSYSTEM
  2906. PRS7 LJM PRS3 * DSP - INCORRECT REQUEST.*
  2907.  
  2908. PRS7.1 LDM EBIT+1 CHECK FOR SUBSYSTEM PROCESSING
  2909. LPN EFSP
  2910. ZJN PRS8 IF SUBSYSTEM PROCESSING BIT NOT SET
  2911. LDD ST FLAG SUBSYSTEM
  2912. SCN SSFL
  2913. STD ST
  2914.  
  2915. * VALIDATE REMOTE TEXT ADDRESSES.
  2916.  
  2917. PRS8 RJM GFA CHECK IMPLICIT TEXT ADDRESS
  2918. ADN 10
  2919. CRD CM
  2920. RJM VTA VALIDATE TEXT ADDRESS
  2921. STM IRTL SAVE LENGTH OF IMPLICIT TEXT
  2922. ZJN PRS10 IF NO IMPLICIT TEXT SPECIFIED
  2923. LDD ST CHECK FOR *SSJ=*
  2924. SHN 21-7
  2925. PJN PRS7 IF NOT *SSJ=*
  2926. LDD FB+1
  2927. SHN 21-0
  2928. PJN PRS10 IF NOT DEFERRED ROUTE
  2929. PRS9 ERROR /ERR/EC13 * DSP - DEFERRED ROUTING NOT ALLOWED.*
  2930.  
  2931. PRS10 RJM GFA CHECK EXPLICIT TEXT ADDRESS
  2932. ADN 11
  2933. CRD CM
  2934. RJM VTA VALIDATE TEXT ADDRESS
  2935. STM ERTL SAVE LENGTH OF EXPLICIT TEXT
  2936. ZJN PRS11 IF NO EXPLICIT TEXT SPECIFIED
  2937. LDD FS+3
  2938. SHN 21-5
  2939. PJN PRS12 IF NOT VALIDATED TO SPECIFY LID
  2940. LDD FB+1
  2941. SHN 21-0
  2942. MJN PRS9 IF DEFERRED ROUTE
  2943.  
  2944. * PROCESS DATA DECLARATION.
  2945.  
  2946. PRS11 LDM EBIT+1
  2947. SHN 21-0
  2948. PJN PRS15 IF DATA DECLARATION NOT SPECIFIED
  2949. LDD FS+3
  2950. SHN 21-5
  2951. MJN PRS13 IF VALIDATED TO SPECIFY LID
  2952. PRS12 LJM PRS18 * DSP - USER ACCESS NOT VALID.*
  2953.  
  2954. PRS13 LDD FB+1
  2955. SHN 21-0
  2956. MJN PRS9 IF DEFERRED ROUTE
  2957. RJM GFA GET DATA DECLARATION VALUE
  2958. ADN 7
  2959. CRD CM
  2960. LDD CM SAVE DATA DECLARATION
  2961. STM DDEC
  2962. LDN TODDL
  2963. STD T1
  2964. PRS14 LDD CM
  2965. LMM TODD-1,T1
  2966. ZJN PRS15 IF LEGAL DATA DECLARATION
  2967. SOD T1
  2968. NJN PRS14 IF MORE LEGAL VALUES TO CHECK
  2969. ERROR /ERR/EC14 * DSP - INCORRECT DATA DECLARATION.*
  2970.  
  2971. * CLEAR ERROR CODE IN PARAMETER BLOCK.
  2972.  
  2973. PRS15 LDD FN+3 CLEAR ERROR CODE
  2974. SCN 77
  2975. STD FN+3
  2976. LDD FN+4 CHECK COMPLETE BIT
  2977. STM DSPC
  2978. LPN 1
  2979. ZJN PRS16 IF COMPLETE BIT CLEARED
  2980. ERROR /ERR/EC17 * DSP COMPLETE BIT ALREADY SET.*
  2981.  
  2982. * PROCESS *SLID*/*DLID* PARAMETERS.
  2983.  
  2984. PRS16 LDD FB+1
  2985. SHN 21-3
  2986. MJN PRS17 IF SLID/DLID SPECIFIED
  2987. LJM PRS21 SET OUTPUT FILE DESTINATION
  2988.  
  2989. PRS17 LDD FS+3
  2990. SHN 21-5
  2991. MJN PRS19 IF VALIDATED TO SPECIFY SLID/DLID
  2992. PRS18 ERROR /ERR/EC10 * DSP - USER ACCESS NOT VALID.*
  2993.  
  2994. PRS19 RJM GFA GET SLID/DLID
  2995. ADN 2
  2996. CRD CN
  2997. LDD CN+1
  2998. SCN 77
  2999. SHN 6
  3000. LMD CN
  3001. SHN 6
  3002. ZJN PRS20 IF SLID NOT SPECIFIED
  3003. RJM VLD VALIDATE SLID
  3004. LDC SLFL SET *SLID SPECIFIED* FLAG
  3005. RAD ST
  3006. PRS20 LDD CN+1
  3007. LPN 77
  3008. SHN 14
  3009. LMD CN+2
  3010. ZJN PRS21 IF DLID NOT SPECIFIED
  3011. RJM VLD VALIDATE DLID
  3012. LDC DLFL SET *DLID SPECIFIED* FLAG
  3013. RAD ST
  3014.  
  3015. * SET OUTPUT FILE DESTINATION, IF END OF JOB.
  3016.  
  3017. PRS21 LDD CP DETERMINE IF END OF JOB
  3018. ADK TFSW
  3019. CRD CM
  3020. LDD CM
  3021. STM EJTO SAVE EJT ORDINAL
  3022. SFA EJT
  3023. ADK SCHE
  3024. CRD T3
  3025. LDD CP GET END OF JOB DESTINATION
  3026. ADN EOJW
  3027. CRD CN
  3028. RJM GFA
  3029. ADN 1
  3030. CRD CM
  3031. LDD T3+2
  3032. LPC 3000
  3033. LMK NOTM*1000
  3034. ZJN PRS22 IF NOT END OF JOB
  3035. LDD CN SET END OF JOB DESTINATION
  3036. SHN -6
  3037. LPN 7
  3038. STD T7
  3039. LDM TOQD,T7 GET CORRESPONDING DISPOSITION CODE
  3040. STD T7
  3041. LDI T7
  3042. STM TSFN+TSFNL-1
  3043. LDD CM SET TERMINATION FLAG BITS
  3044. SCN 77
  3045. RAD FB
  3046. PRS22 LDD CM+2 SET DISPOSITION CODE
  3047. STM DDCB
  3048.  
  3049. * SET DEFAULT PUNCH MODE IN DISPOSITION TABLE.
  3050.  
  3051. LDD CP CHECK KEYPUNCH MODE OF JOB
  3052. ADN SNSW
  3053. CRD CM
  3054. LDD CM
  3055. SHN 21-12
  3056. PJN PRS23 IF O26
  3057. .A IF DEF,PU$
  3058. LDM TODCA+1
  3059. SCN 70
  3060. LMN P9FR*10
  3061. STM TODCA+1
  3062. .A ENDIF
  3063. .B IF DEF,PH$
  3064. LDM TODCB+1
  3065. SCN 70
  3066. LMN P9FR*10
  3067. STM TODCB+1
  3068. .B ENDIF
  3069.  
  3070. * CHECK FOR FORCED ORIGIN TYPE.
  3071.  
  3072. PRS23 LDM EJTO GET ORIGIN TYPE FROM EJT
  3073. SFA EJT
  3074. ADK SCLE
  3075. CRD CM
  3076. LDD CM SAVE ORIGIN TYPE OF CALLING JOB
  3077. SCN 60
  3078. STM JBOT
  3079. LPN 17
  3080. STD OT
  3081. LMK SYOT
  3082. NJN PRS26 IF NOT SYSTEM ORIGIN
  3083. LDN SYFL SET *SYOT* CP STATUS
  3084. RAD ST
  3085. LDD FN+4
  3086. SHN 21-13
  3087. PJN PRS26 IF NOT FORCED ORIGIN FLAG
  3088. SHN -21+13-1
  3089. LPN 77
  3090. STD T7 SAVE FORCED ORIGIN CODE
  3091. SBN MXOT
  3092. PJN PRS24 IF OUT OF RANGE
  3093. LDM TOOT,T7
  3094. NJN PRS25 IF LEGAL ORIGIN TYPE
  3095. PRS24 ERROR /ERR/EC40 * DSP - INCORRECT ORIGIN TYPE.*
  3096.  
  3097. PRS25 LDD T7
  3098. STM FSOT SAVE FORCED ORIGIN TYPE
  3099.  
  3100. * CHECK FOR FORCED SERVICE CLASS.
  3101.  
  3102. PRS26 RJM GFA GET FORCED SERVICE CLASS FLAG
  3103. ADN 1
  3104. CRD CM
  3105. ADN 3 GET FORCED SERVICE CLASS
  3106. CRD CN
  3107. LDD CM+3
  3108. SHN 21-10
  3109. PJN PRS29 IF NOT FORCED SERVICE CLASS FLAG
  3110. LCN 0 PRESET USER DEFAULT SELECTED
  3111. STD T7
  3112. LDD CN+1
  3113. LMC 2RDF
  3114. ZJN PRS28 IF USER DEFAULT SELECTED
  3115. LDN MXSC-1 SET TABLE INDEX
  3116. STD T7
  3117. PRS27 LDM TSCC,T7
  3118. LMD CN+1
  3119. ZJN PRS28 IF MATCH
  3120. SOD T7 DECREMENT INDEX
  3121. NJN PRS27 IF NOT END OF TABLE
  3122. ERROR /ERR/EC11 * DSP - UNDEFINED SERVICE CLASS.*
  3123.  
  3124. PRS28 LDD T7 SAVE FORCED SERVICE CLASS
  3125. STM FSSC
  3126.  
  3127. * PROCESS SUBSYSTEM INITIATION PARAMETERS.
  3128.  
  3129. PRS29 RJM GFA GET POSSIBLE SUBSYSTEM NAME / FORCED JSN
  3130. ADN 6
  3131. CRD CN
  3132. LDD CN+3 SAVE JSN
  3133. LPN 77
  3134. SHN 14
  3135. LMD CN+4
  3136. SHN -6+22
  3137. STM FJSN
  3138. SHN -6
  3139. SCN 77
  3140. LMN 1R SPACE FILL JSN
  3141. STM FJSN+1
  3142. LDM EBIT+1 CHECK SUBSYSTEM/CONTROL POINT SELECTION
  3143. LPN EFCP
  3144. ZJN PRS30 IF NO SUBSYSTEM/CONTROL POINT SELECTED
  3145. LDN NCPL GET NUMBER OF CONTROL POINTS IN SYSTEM
  3146. CRD CM
  3147. RJM GFA GET PARAMETER BLOCK ADDRESS
  3148. ADN 12
  3149. CRD CN READ PARAMETERS
  3150. LDD CN+3 CHECK CONTROL POINT NUMBER
  3151. LPN 77
  3152. SBD CM+1
  3153. ZJN PRS29.1 IF LAST CONTROL POINT NUMBER
  3154. PJN PRS31 IF INCORRECT CONTROL POINT NUMBER
  3155. PRS29.1 ADD CM+1
  3156. NJN PRS29.2 IF CONTROL POINT SELECTED
  3157. LDN 77 SELECT ANY AVAILABLE CONTROL POINT
  3158. PRS29.2 STM SBCP PRESET CONTROL POINT SELECTION
  3159. LDD CN+4 CHECK SSID
  3160. ZJN PRS31 IF NOT SPECIFIED
  3161. STM SBID PRESET SSID
  3162. LDD FB+1
  3163. SHN 21-13
  3164. PJN PRS31 IF SUBSYSTEM INITIATION NOT SET
  3165. PRS30 LJM PRSX RETURN
  3166.  
  3167. PRS31 LJM PRS3 * DSP - INCORRECT REQUEST *
  3168. TSCC SPACE 4,10
  3169. ** TSCC - TABLE OF SERVICE CLASS CODES.
  3170. *
  3171. * INDEXED BY SERVICE CLASS.
  3172. *
  3173. *T 12/ SVC
  3174. *
  3175. * SVC = SERVICE CLASS IN DISPLAY CODE.
  3176.  
  3177.  
  3178. TSCC BSS 0
  3179. LOC 0
  3180.  
  3181. DATA H+"NMSC"+
  3182.  
  3183. LOC *O
  3184. VLD SPACE 4,15
  3185. ** VLD - VALIDATE LID.
  3186. *
  3187. * ENTRY (A) = LID.
  3188. *
  3189. * EXIT TO *ERR* IF INCORRECT LID SPECIFIED.
  3190. *
  3191. * CALLS VID.
  3192. *
  3193. * MACROS ERROR.
  3194.  
  3195.  
  3196. VLD SUBR ENTRY/EXIT
  3197. MJN VLD1 IF NOT SPECIAL CODE
  3198. SBN MXLC
  3199. MJN VLDX IF VALID SPECIAL CODE
  3200. ADN MXLC
  3201. VLD1 RJM VID VALIDATE LOGICAL ID
  3202. NJN VLDX IF VALID LID FOUND
  3203. ERROR /ERR/EC15 * DSP - INCORRECT LID.*
  3204. VTA SPACE 4,15
  3205. ** VTA - VALIDATE TEXT ADDRESS.
  3206. *
  3207. * ENTRY (CM+3 - CM+4) = ADDRESS OF REMOTE TEXT.
  3208. *
  3209. * EXIT (A) = LENGTH OF REMOTE TEXT (IN CM WORDS).
  3210. * (A) = 0 IF NO TEXT.
  3211. * TO *ERR* IF TEXT OUTSIDE FL, OR IF BAD TEXT LENGTH.
  3212. *
  3213. * USES T3, CN - CN+4.
  3214. *
  3215. * CALLS DV5, VCA.
  3216. *
  3217. * MACROS ERROR.
  3218.  
  3219.  
  3220. VTA SUBR ENTRY/EXIT
  3221. LDD CM+3
  3222. LPN 77
  3223. SHN 14
  3224. LMD CM+4
  3225. ZJN VTAX IF NO TEXT
  3226. RJM VCA VALIDATE CENTRAL ADDRESS
  3227. ZJN VTA1 IF TEXT NOT WITHIN FL
  3228. SHN -6+22 READ LENGTH OF TEXT
  3229. ADD RA
  3230. SHN 6
  3231. CRD CN
  3232. LDD CN+4 CHECK TEXT LENGTH
  3233. ZJN VTA1 IF INCORRECT LENGTH
  3234. ADC -257D
  3235. PJN VTA1 IF INCORRECT LENGTH
  3236. ADC 257D+1 ROUND UP
  3237. SHN -1 CONVERT CHARACTER LENGTH TO CM WORDS
  3238. RJM DV5
  3239. STD T3
  3240. LDD CM+3 ENSURE ENTIRE TEXT IS WITHIN FL
  3241. LPN 77
  3242. SHN 14
  3243. LMD CM+4
  3244. ADD T3
  3245. RJM VCA VALIDATE ADDRESS
  3246. ZJN VTA1 IF TEXT NOT WITHIN FL
  3247. LDD T3 RETURN LENGTH OF TEXT
  3248. LJM VTAX RETURN
  3249.  
  3250. VTA1 ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
  3251. TODD SPACE 4,10
  3252. ** TODD - TABLE OF LEGAL DATA DEFINITIONS.
  3253.  
  3254.  
  3255. TODD BSS 0
  3256. CON 2LC6
  3257. CON 2LC8
  3258. CON 2LUS
  3259. CON 2LUU
  3260. TODDL EQU *-TODD
  3261. TOOT SPACE 4,10
  3262. ** TOOT - TABLE OF ORIGIN TYPES.
  3263. *
  3264. *T 12/FO
  3265. *
  3266. * FO = IF NONZERO, THIS ORIGIN TYPE IS VALID AS A
  3267. * ORIGIN TYPE FOR *SYOT* CALLERS.
  3268.  
  3269.  
  3270. TOOT INDEX
  3271. INDEX SYOT,2
  3272. INDEX BCOT,2
  3273. INDEX EIOT,2
  3274. INDEX IAOT,2
  3275. INDEX MXOT
  3276. TOQD SPACE 4,10
  3277. ** TOQD - TABLE OF QUEUE DESTINATIONS.
  3278. *
  3279. *T 12/DC
  3280. *
  3281. * DC= DESTINATION CODE FOR SPECIFIED QUEUE
  3282.  
  3283.  
  3284. TOQD INDEX
  3285. INDEX QOJT,(=C*LP*) QUEUE ALL OUTPUT
  3286. INDEX NOJT,(=C*SC*) DROP ALL OUTPUT
  3287. INDEX TTJT,(=C*TT*) OUTPUT TO INTERACTIVE QUEUE
  3288. INDEX SSJT,(=C*SS*) OUTPUT TO STATION OUTPUT QUEUE
  3289. INDEX MXJT
  3290. SPACE 4,10
  3291. ** COMMON DECKS.
  3292.  
  3293.  
  3294. *CALL COMPCRS
  3295. *CALL COMPCUA
  3296. RND$ EQU 1 FORCE ROUNDING ON *DV5* CONVERSION
  3297. *CALL COMPDV5
  3298. SPACE 4,10
  3299. IFP HERE REMOTE INITIALIZATION CODE
  3300. SPACE 4,10
  3301. OVERFLOW PPFW,EPFW
  3302. OVERLAY (FILE DESTINATION ROUTINES.),OVL4
  3303. CAA SPACE 4,10
  3304. ** CAA - CHECK ALTERNATE FAMILY/USER ACCESS.
  3305. *
  3306. * ENTRY (ST) = STATUS WORD.
  3307. *
  3308. * EXIT TO *ERR* IF ACCESS NOT ALLOWED.
  3309. *
  3310. * USES T1, T4 - T7, CM - CM+4, UN - UN+4.
  3311. *
  3312. * CALLS CPN, RFN, SSJ.
  3313. *
  3314. * MACROS ERROR.
  3315.  
  3316.  
  3317. CAA SUBR ENTRY/EXIT
  3318. LDD ST
  3319. LPN SYFL
  3320. NJN CAAX IF SYSTEM ORIGIN
  3321. LDD ST
  3322. LPN SSFL
  3323. ZJN CAAX IF SUBSYSTEM PROCESSING
  3324. RJM SSJ CHECK FOR *SSJ=* BLOCK
  3325. ZJN CAA1 IF NO *SSJ=* BLOCK
  3326. ADK AACS READ ACCESS WORD
  3327. CRD T4
  3328. ADK UIDS-AACS
  3329. UJN CAA2 READ USER NAME
  3330.  
  3331. CAA1 LDD CP READ ACCESS WORD
  3332. ADK AACW
  3333. CRD T4
  3334. ADK UIDW-AACW READ USER NAME
  3335. CAA2 CRD UN READ USER NAME
  3336. LDD T4+2
  3337. SHN 21-6
  3338. MJN CAA3 IF ROUTE TO ALTERNATE FAMILY ALLOWED
  3339. RJM RFN READ FAMILY NAME
  3340. CRD CM
  3341. LDN CM
  3342. STD T1 SET CURRENT FAMILY NAME ADDRESS
  3343. LDC FMSS SET NEW FAMILY NAME ADDRESS
  3344. RJM CPN COMPARE FAMILY NAMES
  3345. ZJN CAA3 IF SAME FAMILY
  3346. ERROR /ERR/EC46 * DSP - ALTERNATE FAMILY NOT ALLOWED.*
  3347.  
  3348. CAA3 LDD T4+2
  3349. SHN 21-5
  3350. MJN CAA4 IF ROUTE TO ALTERNATE USER NAME ALLOWED
  3351. LDN UN SET CURRENT USER NAME ADDRESS
  3352. STD T1
  3353. LDC ACSS SET NEW USER NAME ADDRESS
  3354. RJM CPN COMPARE USER NAMES
  3355. NJN CAA5 IF NOT SAME USER NAME
  3356. CAA4 LJM CAAX RETURN
  3357.  
  3358. CAA5 ERROR /ERR/EC51 * DSP - ALTERNATE USER NOT ALLOWED.*
  3359. CPN SPACE 4,10
  3360. ** CPN - COMPARE NAMES.
  3361. *
  3362. * ENTRY (A) = ADDRESS OF SECOND NAME TO COMPARE.
  3363. * (T1) = ADDRESS OF FIRST NAME TO COMPARE.
  3364. *
  3365. * EXIT (A) = 0 IF NAMES MATCH.
  3366. * (A) .NE. 0 IF NAMES DO NOT MATCH.
  3367. *
  3368. * USES T1, T2.
  3369.  
  3370.  
  3371. CPN SUBR ENTRY/EXIT
  3372. STD T2 SET SECOND NAME ADDRESS
  3373. ADN 3 SET ADDRESS OF LAST BYTE
  3374. STD T0
  3375. CPN1 LDI T1
  3376. LMI T2
  3377. NJN CPNX IF NO MATCH
  3378. AOD T1
  3379. AOD T2
  3380. LMD T0
  3381. NJN CPN1 IF MORE FULL BYTES TO CHECK
  3382. LDI T1
  3383. LMI T2
  3384. SCN 77
  3385. UJN CPNX RETURN WITH (A) = 0 IF MATCH
  3386. VIF SPACE 4,25
  3387. ** VIF - VERIFY INPUT FILE.
  3388. *
  3389. * ENTRY (FB - FB+1) = FLAG BITS.
  3390. * (FS - FS+4) = FST ENTRY.
  3391. * (OT) = ORIGIN TYPE.
  3392. *
  3393. * EXIT (FN - FN+4) = FNT ENTRY FOR INPUT FILE.
  3394. * (FS - FS+4) = FST ENTRY.
  3395. *
  3396. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  3397. * ROUTE TO INPUT NOT IMMEDIATE.
  3398. * IMMEDIATE ROUTE - NO FILE.
  3399. * INCORRECT USER COMMAND.
  3400. * JOB COMMAND ERROR.
  3401. * INCORRECT JOB ABORT CODE.
  3402. * INCORRECT SERVICE CLASS.
  3403. * ALTERNATE FAMILY NOT ALLOWED.
  3404. * ERROR TO *EER3* IF INACCESSIBLE DEVICE RETURN BY *0VJ*.
  3405. *
  3406. * USES ST, T1, T3, T5 - T7, FN - FN+4, CM - CM+4, CN - CN+4,
  3407. * UN - UN+4.
  3408. *
  3409. * CALLS CAA, CPN, CVS, GFA, GFM, GFO, RFN, RNS, SQO, SSJ, WMS,
  3410. * *0VJ*.
  3411. *
  3412. * MACROS ENDMS, ERROR, EXECUTE, SETMS.
  3413.  
  3414.  
  3415. VIF SUBR ENTRY/EXIT
  3416. LDM INFL CHECK INPUT FLAGS
  3417. SHN 21-10
  3418. MJP VIF15 IF FORCED ABORT FLAG SET
  3419.  
  3420. * READ FIRST SECTOR OF INPUT FILE.
  3421.  
  3422. AOM VIFA INDICATE FIRST SECTOR OF FILE WAS READ
  3423. LDD FS SET EQUIPMENT
  3424. STD T5
  3425. LDD FS+1 SET FIRST TRACK
  3426. STD T6
  3427. LDN FSMS SET FIRST SECTOR
  3428. STD T7
  3429. SETMS IO
  3430. LDC SBUF READ NEXT SECTOR
  3431. RJM RNS
  3432. ENDMS
  3433. LDD T1
  3434. NJN VIF2 IF FILE NOT EMPTY
  3435. ERROR /ERR/EC06 * DSP - IMMEDIATE ROUTING - NO FILE.*
  3436.  
  3437. * VALIDATE JOB COMMAND AND USER COMMAND.
  3438.  
  3439. VIF2 LDC STMT SET COMMAND BUFFER ADDRESS
  3440. STD CN
  3441. LDM DLAT SET DLID ATTRIBUTES
  3442. STD CN+1
  3443. LDM LFAL SET LOCAL FILE ACCESS LEVEL
  3444. STD CN+2
  3445. LDM EBIT+1 PASS *DO NOT VALIDATE PASSWORD* FLAG
  3446. LPN EFNV
  3447. STM VIFE+1
  3448. SHN 13-4
  3449. ERRNZ EFNV-20 CODE DEPENDS ON VALUE
  3450. RAD CN+2
  3451. LDD ST
  3452. LPN DSFL IF FILE ROUTED BEFORE, CHECK ENCRYPTED PW
  3453. SHN 12-1
  3454. ERRNZ DSFL-2 CODE DEPENDS ON VALUE
  3455. RAD CN+2
  3456. LDM EBIT+1
  3457. LPK EFEP
  3458. ZJN VIF3 IF ENCRYPTED PASSWORD NOT SPECIFIED
  3459. LDD CN+2 SET ENCRYPTED PW VALIDATION BIT
  3460. LPC 5777
  3461. LMC 2000
  3462. STD CN+2
  3463. RJM GFA GET PARAMETER BLOCK ADDRESS
  3464. ADN 14
  3465. CRD CM
  3466. LDD MA MOVE PASSWORD TO SYSTEM SECTOR
  3467. CWD CM
  3468. CRM EPSS,ON
  3469. VIF3 LDD OT
  3470. LMK SYOT
  3471. NJN VIF3.1 IF NOT ROUTE TO *SYOT*
  3472. LDC 1000 SET SYSTEM ORIGIN JOB BIT
  3473. RAD CN+2
  3474. VIF3.1 LDD ST
  3475. LPK DLFL
  3476. NJN VIF4 IF DLID SPECIFIED IN PARAMETER BLOCK
  3477. LDD ST
  3478. LPK DSFL
  3479. ZJN VIF3.2 IF NOT PREVIOUSLY ROUTED FILE
  3480. LDM DLID
  3481. ADM DLID+1
  3482. NJN VIF4 IF DLID NONZERO
  3483. VIF3.2 STD CN+1 CLEAR DLID ATTRIBUTES
  3484. VIF4 EXECUTE 0VJ,OVL3 VERIFY JOB/USER COMMANDS
  3485. MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
  3486. LDD ST
  3487. LPN SSFL
  3488. ZJN VIF4.1 IF SUBSYSTEM CALLER
  3489. LDD CP USE DEFERRED BATCH LIMIT OF OWNER USER
  3490. ADK ALMW
  3491. CRD CM
  3492. LDD CM+1
  3493. LMM VASS+AHMT*5+1
  3494. SCN 70
  3495. LMD CM+1
  3496. STM VASS+AHMT*5+1
  3497. VIF4.1 LDD FN+4
  3498. LPN 77
  3499. LMC INFT*100
  3500. STD FN+4
  3501. LDD CN
  3502. ZJN VIF5 IF DLID NOT SPECIFIED
  3503. STM DLAT SET DLID ATTRIBUTES
  3504. LJM VIF6.3 ALLOW ALTERNATE FAMILY/USER WITH DLID
  3505.  
  3506. VIF5 RJM CAA CHECK ALTERNATE FAMILY/USER ACCESS ALLOWED
  3507.  
  3508. * VERIFY THAT THE FAMILY AND THE USER INDEX HAVE NOT BEEN
  3509. * CHANGED IF THE *DO NOT VALIDATE PASSWORD* FLAG IS SET.
  3510.  
  3511. VIFE LDC ** (*DO NOT VALIDATE PASSWORD* FLAG)
  3512. ZJN VIF6.3 IF PASSWORD VALIDATION REQUIRED
  3513. RJM RFN READ FAMILY NAME
  3514. CRD CM
  3515. LDN CM SET CURRENT FAMILY NAME ADDRESS
  3516. STD T1
  3517. LDC FMSS ADDRESS OF FAMILY IN SYSTEM SECTOR
  3518. RJM CPN COMPARE FAMILY NAMES
  3519. NJN VIF6.2 IF DIFFERENT FAMILIES
  3520. RJM SSJ CHECK FOR *SSJ=* BLOCK
  3521. ZJN VIF6 IF NO *SSJ=* BLOCK
  3522. ADK UIDS
  3523. UJN VIF6.1 CHECK USER INDEX
  3524.  
  3525. VIF6 LDD CP GET CP USER INDEX
  3526. ADK UIDW
  3527. VIF6.1 CRD CM
  3528. LDD CM+3
  3529. LMM ACSS+3
  3530. LPN 37
  3531. SHN 14
  3532. ADD CM+4
  3533. LMM ACSS+4
  3534. VIF6.2 NJP VIF7 IF DIFFERENT USER INDEX
  3535.  
  3536. * CHECK FOR USER COMMAND ERROR.
  3537.  
  3538. VIF6.3 LDD ER CHECK ERROR STATUS
  3539. LMN 3
  3540. NJP VIF9 IF NOT USER COMMAND ERROR
  3541. LDM DLAT
  3542. SHN 21-13
  3543. MJN VIF6.4 IF HOST LID
  3544. SHN 21-11-21+13
  3545. PJN VIF9 IF VALIDATION NOT REQUIRED FOR DLID
  3546. VIF6.4 LDN 0 CLEAR DLID
  3547. STM IOSS+INSQ*5+1
  3548. LDM IOSS+INSQ*5+2
  3549. LPN 77
  3550. STM IOSS+INSQ*5+2
  3551. LDD OT
  3552. LMK SYOT
  3553. ZJN VIF10 IF ROUTE TO *SYOT* - IGNORE USER COMMAND
  3554. LDD ST
  3555. LPN SSFL
  3556. NJN VIF6.5 IF NOT SUBSYSTEM CALL
  3557. LDM INFL
  3558. SHN 21-7
  3559. MJN VIF9 IF FILE TO BE QUEUED
  3560. VIF6.5 LDM JASS CHECK ERROR CODE
  3561. LMN UCIE
  3562. ZJN VIF8 IF USER SECURITY COUNT EXHAUSTED
  3563. VIF7 ERROR /ERR/EC34 * DSP - INCORRECT USER COMMAND.*
  3564.  
  3565. VIF8 ERROR /ERR/EC47 * DSP - USER SECURITY COUNT EXHAUSTED.*
  3566.  
  3567. VIF9 LJM VIF11 CHECK SERVICE CLASS
  3568.  
  3569. * SET *SYSTEMX* LIMITS FOR SYSTEM JOBS WITH NO
  3570. * OR INCORRECT USER COMMANDS.
  3571.  
  3572. VIF10 LDD MA SAVE THE FNT ENTRY
  3573. CWD FN
  3574. CRM VIFB,ON
  3575. LDN 1 GET DEFAULT FAMILY NAME
  3576. RJM GFM
  3577. LDD MA SET UN/UI IN VALIDATION BLOCK
  3578. CWM VIFC,ON
  3579. CWD FN
  3580. ADN 1
  3581. CWM VIFD,ON
  3582. LDD MA
  3583. CRM VASS+ACCN*5,ON
  3584. SBN 1
  3585. CRM ACSS,ON SET USER NAME
  3586. CRM FMSS,ON SET FAMILY NAME
  3587. CRM VASS+AHMT*5,ON SET UNLIMITED USER VALIDATION INDICES
  3588. SBN 1
  3589. CRM VASS+AHDS*5,ON
  3590. SBN 1
  3591. CRM VASS+AAWC*5,ON
  3592. LDD MA RESTORE FNT ENTRY
  3593. CWM VIFB,ON
  3594. SBN 1
  3595. CRD FN
  3596.  
  3597. * CHECK FOR SERVICE CLASS SPECIFIED IN PARAMETER BLOCK.
  3598.  
  3599. VIF11 LDD FB+1
  3600. SHN 21-13
  3601. MJP VIF15 IF SUBSYSTEM INITIATION
  3602. LDM EBIT+1
  3603. LPK EFSC
  3604. ZJN VIF12 IF ORIGIN DEFAULT NOT SELECTED
  3605. LDM VIFT,OT
  3606. LJM VIF14 SET ORIGIN DEFAULT
  3607.  
  3608. VIF12 LDM FSSC
  3609. SHN 6
  3610. STD T1
  3611. ZJP VIF15 IF NO SERVICE CLASS SPECIFIED
  3612. PJN VIF13 IF NOT USER DEFAULT
  3613. LDD CN+1 USE DEFAULT RETURNED BY *0VJ*
  3614. STM FSSC
  3615. SHN 6
  3616. STD T1
  3617. ZJP VIF23 IF INCORRECT USER DEFAULT
  3618. VIF13 RJM CVS CHECK FOR VALID SERVICE CLASS
  3619. NJP VIF23 IF ERROR
  3620. LDM IOSS+SCLQ*5 UPDATE SERVICE CLASS IN QFT ENTRY
  3621. LPN 77
  3622. LMD T1
  3623. VIF14 STM IOSS+SCLQ*5
  3624. LDM JASS
  3625. LMN SCIE
  3626. ZJN VIF14.1 IF INCORRECT SERVICE CLASS
  3627. LMN USIE&SCIE
  3628. NJN VIF15 IF NOT UNDEFINED SERVICE CLASS ERROR
  3629. VIF14.1 STM JASS CLEAR ERROR IF SKIPPING VALIDATION
  3630.  
  3631. * CHECK FOR JOB COMMAND ERRORS.
  3632.  
  3633. VIF15 LDM JASS
  3634. ZJP VIF25 IF NO ERROR
  3635. LMN SCIE
  3636. ZJN VIF17 IF INCORRECT SERVICE CLASS
  3637. LMN USIE&SCIE
  3638. NJN VIF18 IF DEFINED SERVICE CLASS
  3639. VIF17 LDM VIFT,OT RESET SERVICE CLASS
  3640. STM IOSS+SCLQ*5
  3641. VIF18 LDM INFL GET INPUT FLAGS
  3642. SHN 21-7
  3643. PJN VIF18.1 IF FILE NOT TO BE QUEUED
  3644. AOM DSPF FLAG ABORTED INPUT FILE
  3645. LJM VIF27 QUEUE THE FILE
  3646.  
  3647. VIF18.1 LDM JASS CHECK ERROR FLAG
  3648. LMN JCIE
  3649. NJN VIF19 IF NOT JOB COMMAND ERROR
  3650. ERROR /ERR/EC32 (JOB COMMAND ERROR.)
  3651.  
  3652. VIF19 LMN IDIE&JCIE
  3653. NJN VIF20 IF NOT INCORRECT LID
  3654. ERROR /ERR/EC15 * DSP - INCORRECT LID.*
  3655.  
  3656. VIF20 LMN STIE&IDIE
  3657. NJN VIF22 IF NOT INCORRECT ATTEMPT TO SPECIFY *ST*
  3658. VIF21 ERROR /ERR/EC10 * DSP - USER ACCESS NOT VALID.*
  3659.  
  3660. VIF22 LMN SCIE&STIE
  3661. NJN VIF24 IF NOT INCORRECT SERVICE CLASS
  3662. VIF23 ERROR /ERR/EC45 * DSP - INCORRECT SERVICE CLASS.*
  3663.  
  3664. VIF24 LMN USIE&SCIE
  3665. NJN VIF25 IF NOT UNDEFINED SERVICE CLASS ERROR
  3666. ERROR /ERR/EC11 * DSP - UNDEFINED SERVICE CLASS.*
  3667.  
  3668. VIF25 LDM IOSS+INSQ*5+1
  3669. NJN VIF26 IF DLID SPECIFIED ON JOB COMMAND
  3670. LDD ST
  3671. LPC DLFL
  3672. ZJN VIF27 IF DLID NOT SPECIFIED IN PARAMETER BLOCK
  3673. VIF26 LDD CP
  3674. ADK AACW CHECK FOR *CUST* VALIDATION
  3675. CRD CM
  3676. LDD CM+3
  3677. SHN 21-5
  3678. PJN VIF21 IF CALLING USER NOT VALIDATED TO USE *ST*
  3679. SHN 21-4-21+5 CHECK FOR *CQLK* VALIDATION
  3680. MJN VIF27 IF CALLING USER VALIDATED TO USE LCN
  3681. LDM DLAT
  3682. SHN 21-13
  3683. PJP VIF21 IF DLID DOES NOT HAVE *HOST* ATTRIBUTE
  3684.  
  3685. * SET QUEUE FILE OWNERSHIP.
  3686.  
  3687. VIF27 LDD ST CHECK IF SUBSYSTEM CALL
  3688. LPN SSFL
  3689. ZJN VIF28 IF SUBSYSTEM
  3690. RJM SQO SET QFT OWNER
  3691. LJM VIF29 CONTINUE
  3692.  
  3693. VIF28 LDD MA SAVE FILE NAME
  3694. CWD FN
  3695. CRD UN
  3696. CWM ACSS,ON SET ACCOUNT OF OWNER
  3697. CWM FMSS,ON SET FAMILY OF OWNER
  3698. LDD MA
  3699. CRM OASS,ON
  3700. CRM FOSS,ON
  3701. SBN 1
  3702. CRD FN GET FAMILY ORDINAL
  3703. * LDN (NONZERO)
  3704. RJM GFO GET FAMILY ORDINAL
  3705. LDD FN+4
  3706. SHN 6
  3707. LMM OASS+3 SET *FO,UI* OF OWNER
  3708. SCN 77
  3709. LMM OASS+3
  3710. STM IOSS+JSNQ*5+2
  3711. LDM OASS+4
  3712. STM IOSS+JSNQ*5+3
  3713. LDD MA
  3714. CWD UN
  3715. CRD FN
  3716.  
  3717. * SET ACCOUNTING INFORMATION INTO SYSTEM SECTOR.
  3718.  
  3719. VIF29 LDD FB CHECK IF NO ACCOUNTING SET
  3720. SHN 21-4
  3721. PJN VIF30 IF NO ACCOUNTING INFORMATION
  3722. RJM GFA SET ACCOUNTING INFORMATION
  3723. ADN 5
  3724. CRD CM
  3725. ADN 1
  3726. CRM TNSS,ON READ TERMINAL NAME OR EST ORDINAL
  3727. LDD CM+3 SET COMMAND COUNT
  3728. STM CRSS
  3729. LDD CM+4
  3730. STM CRSS+1
  3731.  
  3732. * SET ABORT CODE IN SYSTEM SECTOR.
  3733.  
  3734. VIF30 LDM INFL CHECK INPUT FLAGS
  3735. SHN 21-10
  3736. PJN VIF31 IF FORCED ABORT FLAG NOT SET
  3737. LDM JASS
  3738. NJN VIF31 IF ERROR STATUS ALREADY SET
  3739. RJM GFA GET JOB ABORT CODE
  3740. ADN 4
  3741. CRD CM
  3742. LDD CM+2 SAVE JOB ABORT CODE
  3743. STM JASS
  3744. SBN MXIE
  3745. MJN VIF31 IF VALID JOB ABORT CODE
  3746. ERROR /ERR/EC42 * DSP - INCORRECT JOB ABORT CODE.*
  3747.  
  3748. VIF31 LDD FB+1 CHECK FOR SUBSYSTEM INITIATION
  3749. SHN 21-13
  3750. PJN VIF32 IF NOT SUBSYSTEM INITIATION
  3751. LDM SBID SET SUBSYSTEM ID
  3752. STM SISS
  3753. LDM SBCP SET CONTROL POINT NUMBER SPECIFICATION
  3754. STM CPSS
  3755. VIF32 LDN SCFL SET REQUEST SCHEDULER FLAG
  3756. RAD ST
  3757.  
  3758. * *0VJ* CALLS *0AV* TO VALIDATE THE USER NAME EVEN IF THE
  3759. * *PRE-VALIDATE* BIT IS NOT SET IN THE LID CONFIGURATION
  3760. * TABLE. ALSO, *0VJ* ALWAYS DELETES THE PASSWORD FROM THE
  3761. * BUFFER CONTAINING THE FIRST SECTOR OF THE INPUT FILE.
  3762. * THEREFORE, THE BUFFER CONTAINING THE FIRST SECTOR OF THE
  3763. * INPUT FILE SHOULD NOT BE REWRITTEN TO THE FILE IF BOTH OF
  3764. * THE FOLLOWING CONDITIONS ARE PRESENT -
  3765. * 1) THE PASSWORD WAS NOT VALID, AND
  3766. * 2) THE FILE WAS DESTINED FOR ANOTHER MAINFRAME.
  3767.  
  3768. VIFA LDN 0 CHECK IF FIRST SECTOR HAS BEEN READ
  3769. * LDN 1 (FIRST SECTOR HAS BEEN READ)
  3770. ZJN VIF35 IF FIRST SECTOR HAS NOT BEEN READ
  3771. LDM JASS
  3772. LMN UNIE
  3773. NJN VIF33 IF USER NAME/PASSWORD VALID
  3774. LDM DLAT
  3775. SHN 21-13
  3776. PJN VIF35 IF NOT HOST LID
  3777. VIF33 LDD FS SET DISK ADDRESS
  3778. STD T5
  3779. LDD FS+1
  3780. STD T6
  3781. LDN FSMS
  3782. STD T7
  3783. SETMS IO,RW
  3784. LDC SBUF+WLSF
  3785. RJM WMS WRITE SECTOR
  3786. VIF34 ENDMS
  3787. VIF35 LJM VIFX RETURN
  3788.  
  3789. VIFB BSS 5 BUFFER FOR FNT ENTRY
  3790. VIFC VFD 42/0,18/SYUI
  3791. VIFD VFD 60/-0
  3792.  
  3793.  
  3794. * TABLE OF DEFAULT ORIGIN TYPE AND SERVICE CLASS DESCRIPTORS
  3795. * FOR INPUT FILES.
  3796.  
  3797. VIFT BSS 0
  3798. LOC 0
  3799. VFD 6/SYSC,6/SYOT SYSTEM SERVICE CLASS
  3800. VFD 6/BCSC,6/BCOT BATCH SERVICE CLASS
  3801. VFD 6/RBSC,6/RBOT REMOTE BATCH SERVICE CLASS
  3802. VFD 6/BCSC,6/BCOT INTERACTIVE SERVICE CLASS
  3803. LOC *O
  3804. CRF SPACE 4,10
  3805. ** CRF - CLEAR REMOTE FAMILY/USER NAME.
  3806. *
  3807. * EXIT (RFSS - RFSS+4) AND (RUSS - RUSS+4) ARE CLEARED.
  3808.  
  3809.  
  3810. CRF SUBR ENTRY/EXIT
  3811. LDK ZERL CLEAR REMOTE FAMILY
  3812. CRM RFSS,ON
  3813. SBN 1 CLEAR REMOTE USER NAME
  3814. CRM RUSS,ON
  3815. UJN CRFX RETURN
  3816. CVS SPACE 4,10
  3817. ** CVS - CHECK FOR VALID SERVICE CLASS.
  3818. *
  3819. * ENTRY (FSSC) = SERVICE CLASS TO BE VALIDATED.
  3820. * (CN+2 - CN+4) = SERVICE CLASS VALIDATION MASK.
  3821. *
  3822. * EXIT (A) = ERROR CODE. ZERO IF NO ERROR.
  3823. *
  3824. * USES T3.
  3825. *
  3826. * CALLS VSP.
  3827.  
  3828.  
  3829. CVS3 LDN 0 INDICATE NO ERROR
  3830.  
  3831. CVS SUBR ENTRY/EXIT
  3832. LDM EBIT+1
  3833. LPK EFDS
  3834. NJN CVS3 IF NOT TO VALIDATE SERVICE CLASS
  3835. LDN 0 PRESET NON-SUBSYSTEM AND NON-SSJ= JOB
  3836. STD T3
  3837. LDM EBIT+1
  3838. LPN EFCU
  3839. NJN CVS2 IF CREATION FAMILY/USER SPECIFIED
  3840. LDD QT
  3841. LMK INQT
  3842. ZJN CVS2 IF INPUT FILE
  3843. LDD ST
  3844. LPN SSFL
  3845. ZJN CVS1 IF SUBSYSTEM
  3846. LDD ST
  3847. LPK SYFL
  3848. ZJN CVS2 IF CALLING JOB IS NOT *SYOT*
  3849. LDD ST
  3850. LPK SJFL
  3851. ZJN CVS2 IF CALLING PROGRAM IS NOT *SSJ=*
  3852. CVS1 LDN 1 SET SUBSYSTEM OR *SYOT*/*SSJ=* CALLER
  3853. STD T3
  3854. CVS2 LDM FSSC
  3855. RJM VSP VALIDATE SERVICE CLASS
  3856. UJN CVSX RETURN
  3857. SPACE 4,10
  3858. ** COMMON DECKS.
  3859.  
  3860.  
  3861. CUV$ EQU 1 CHECK SERVICE CLASS VALID FOR USER
  3862. *CALL COMPVSP
  3863. SPACE 4,10
  3864. USE OVL
  3865. ERRNG SBUF-* OVERFLOW INTO *0VJ* COMMAND BUFFER
  3866. TITLE OVERLAYABLE ROUTINES.
  3867. DFO SPACE 4,10
  3868. ** DFO - DESTINATION FAMILY ORDINAL.
  3869. *
  3870. * ENTRY (FDSS) = DESTINATION FAMILY NAME.
  3871. *
  3872. * EXIT ROUTING INFORMATION UPDATED.
  3873. *
  3874. * USES FN - FN+4, UN - UN+4.
  3875. *
  3876. * CALLS GFO.
  3877.  
  3878.  
  3879. DFO SUBR ENTRY/EXIT
  3880. LDD MA PRESERVE FILE NAME
  3881. CWD FN
  3882. CRD UN
  3883. CWM FDSS,ON
  3884. SBN 1
  3885. CRD FN
  3886. * LDN (NONZERO) DO NOT ADD FAMILY
  3887. RJM GFO GENERATE FAMILY ORDINAL
  3888. LDD FN+4
  3889. SHN 6
  3890. RAM IOSS+SCLQ*5+1
  3891. LDD MA RESTORE FILE NAME
  3892. CWD UN
  3893. CRD FN
  3894. UJN DFOX RETURN
  3895. GUD SPACE 4,10
  3896. ** GUD - GET USER DEFAULT SERVICE CLASS.
  3897. *
  3898. * ENTRY (T3) = ADDRESS OF ACCOUNT BLOCK.
  3899. *
  3900. * EXIT (FSSC) = USER DEFAULT SERVICE CLASS.
  3901. * (A) .EQ. SERVICE CLASS VALUE.
  3902. * (A) .EQ. ZERO IF ERROR.
  3903. *
  3904. * USES T1, T2.
  3905.  
  3906.  
  3907. GUD SUBR ENTRY/EXIT
  3908. LDN SYSC PRESET SYSTEM ORIGIN DEFAULT
  3909. STD T2
  3910. LDD OT
  3911. LMK SYOT
  3912. ZJP GUD4 IF SYSTEM ORIGIN
  3913. LDN 0
  3914. STD T2
  3915. LDD T3 GET ADDRESS OF USER DEFAULT
  3916. ADK ASC1*5
  3917. STD T1
  3918. LDD OT SET BYTE NUMBER WITH USER DEFAULT
  3919. SHN 21
  3920. STM GUDA
  3921. PJN GUD1 IF UPPER SIX BITS ARE USER DEFAULT
  3922. LDN 0
  3923. STM GUDB
  3924. GUD1 LDM 0,T1 GET USER DEFAULT SERVICE CLASS
  3925. GUDA EQU *-1 (BYTE NUMBER OF USER DEFAULT)
  3926. SHN -6
  3927. * SHN 0 (LOWER SIX BITS ARE USER DEFAULT)
  3928. GUDB EQU *-1
  3929. LPN 77
  3930. STD T1
  3931. GUD2 LDM TGUD,T2 GET SERVICE CLASS VALUE
  3932. LMD T1
  3933. ZJN GUD4 IF MATCH
  3934. AOD T2
  3935. SBN MXSC
  3936. NJN GUD2 IF NOT END OF SERVICE CLASSES
  3937. GUD3 LJM GUDX RETURN
  3938.  
  3939. GUD4 LDD T2 SET SERVICE CLASS
  3940. STM FSSC
  3941. UJN GUD3 RETURN
  3942.  
  3943.  
  3944. ** TGUD - TABLE OF USER DEFAULT SERVICE CLASSES.
  3945.  
  3946. TGUD INDEX
  3947. LIST D
  3948. .SCL HERE
  3949. LIST *
  3950. INDEX MXJC
  3951. NTS SPACE 4,15
  3952. ** NTS - NO TID SPECIFIED.
  3953. *
  3954. * EXIT FAMILY NAME DETERMINED FROM *FO*.
  3955. * DESTINATION USER INDEX TAKEN FROM EJT.
  3956. *
  3957. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  3958. * INCORRECT TID.
  3959. *
  3960. * USES CN - CN+4, FN - FN+4, UN - UN+4.
  3961. *
  3962. * CALLS CRF, GEA, GFM.
  3963. *
  3964. * MACROS ERROR.
  3965.  
  3966.  
  3967. NTS1 LDD MA SAVE FAMILY NAME
  3968. CWD FN
  3969. CRM FDSS,ON
  3970. NTS2 LDD MA RESTORE (FN - FN+4)
  3971. CWD UN
  3972. CRD FN
  3973. LDD CN+1 SET DESTINATION UI
  3974. LMM DASS+3
  3975. SCN 37
  3976. LMD CN+1
  3977. STM DASS+3
  3978. LDD CN+2
  3979. STM DASS+4
  3980. RJM CRF CLEAR REMOTE FAMILY/USER NAME
  3981.  
  3982. NTS SUBR ENTRY/EXIT
  3983. LDD ST
  3984. LPN DSFL
  3985. NJN NTSX IF FILE PREVIOUSLY ROUTED
  3986. RJM GEA GET *FO,UI* FROM EJT
  3987. ADK SCLE
  3988. CRD CN
  3989. LDD MA PRESERVE (FN - FN+4)
  3990. CWD FN
  3991. CRD UN
  3992. LDD CN+1
  3993. SHN -6
  3994. ZJN NTS2 IF NO DESTINATION FAMILY SPECIFIED
  3995. RJM GFM GET FAMILY NAME
  3996. NJP NTS1 IF FAMILY NAME FOUND
  3997. ERROR /ERR/EC21 * DSP - INCORRECT TID.*
  3998. PSI SPACE 4,15
  3999. ** PSI - PROCESS SUBSYSTEM INITIATION.
  4000. *
  4001. * ENTRY (FJSN - FJSN+1) = SUBSYSTEM NAME.
  4002. * (SBID) = SUBSYSTEM ID (IF SPECIFIED IN CALL).
  4003. *
  4004. * EXIT (SBID) = SUBSYSTEM ID.
  4005. * TO ERR, IF INCORRECT REQUEST.
  4006. *
  4007. * USES RI.
  4008. *
  4009. * CALLS AST.
  4010. *
  4011. * MACROS ERROR.
  4012.  
  4013.  
  4014. PSI SUBR ENTRY/EXIT
  4015. LDM CUAV CHECK USER ACCESS
  4016. ZJN PSI2 IF VALID USER
  4017. PSI1 ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
  4018.  
  4019. PSI2 LDD QT
  4020. LMK INQT
  4021. NJN PSI1 IF NOT INPUT FILE
  4022. LDD OT
  4023. LMK SYOT
  4024. NJN PSI1 IF NOT ROUTE TO SYSTEM ORIGIN
  4025. LDC TSUB
  4026. STD RI
  4027. LDM SBID
  4028. ZJN PSI3 IF SUBSYSTEM ID NOT SPECIFIED IN CALL
  4029. SBK LSSI+1
  4030. MJN PSIX IF SUBSYSTEM NOT IN *SSCT* SPECIFIED
  4031. PSI3 LDI RI SEARCH TABLE FOR SUBSYSTEM
  4032. LMM FJSN
  4033. NJN PSI4 IF NO MATCH
  4034. LDM 1,RI
  4035. LMM FJSN+1
  4036. ZJN PSI6 IF MATCH
  4037. PSI4 LDN TSUBE GET NEXT TABLE ENTRY
  4038. RAD RI
  4039. LMC TSUBL
  4040. NJN PSI3 IF NOT END OF TABLE
  4041. PSI5 LJM PSI1 * DSP - INCORRECT REQUEST.*
  4042.  
  4043. PSI5.1 LDM SBID CHECK FOR CYBIS
  4044. LMC PLSI
  4045. ZJP PSIX IF ALREADY ACTIVE
  4046. UJN PSI5 SET ERROR
  4047.  
  4048. PSI6 LDM SBID
  4049. ZJN PSI6.1 IF SUBSYSTEM ID NOT SPECIFIED IN CALL
  4050. LMM 2,RI
  4051. NJN PSI5 IF SUBSYSTEM ID DID NOT MATCH NAME
  4052. PSI6.1 LDM 2,RI SAVE SUBSYSTEM ID
  4053. STM SBID
  4054. LMC FEAF*10000 CHECK FOR SUBSYSTEM ALREADY ACTIVE
  4055. RJM AST
  4056. PSI6.2 NJN PSI5.1 IF SUBSYSTEM ALREADY ACTIVE
  4057. LDM SBID
  4058. LMC RDSI
  4059. NJN PSI9 IF NOT *RDF*
  4060. LDC IFSI+FEAF*10000 CHECK IF *IAF* ACTIVE
  4061. PSI7 RJM AST
  4062. NJN PSI6.2 IF SUBSYSTEM ACTIVE
  4063. PSI8 LJM PSIX RETURN
  4064.  
  4065. PSI9 LMC IFSI&RDSI
  4066. NJN PSI8 IF NOT *IAF*
  4067. LDC RDSI+FEAF*10000
  4068. UJN PSI7 CHECK IF *RDF* ACTIVE
  4069. TSUB SPACE 4,10
  4070. ** TABLE OF NON-PP-INITIATED SUBSYSTEMS.
  4071. *
  4072. * ENTRY FORMAT.
  4073. *
  4074. *T 24/NAME, 12/SSID
  4075. *
  4076. * NAME = 3-CHARACTER SUBSYSTEM NAME + BLANK.
  4077. * SSID = SUBSYSTEM ID.
  4078.  
  4079.  
  4080. TSUB BSS 0
  4081. LIST G
  4082. .SUB HERE
  4083. LIST *
  4084. TSUBL BSS 0 END OF TABLE
  4085. SBI SPACE 4,10
  4086. ** SBI - SET BATCH ID.
  4087. *
  4088. * ENTRY (CM - CM+4) = SECOND WORD OF ARGUMENT TABLE.
  4089. * (CM - CM+4) = 0 IF NO BATCH ID IS SPECIFIED.
  4090. * (FB+1) = FLAG BITS.
  4091. * (OT) = DESTINATION ORIGIN TYPE.
  4092. *
  4093. * EXIT QFT UPDATED.
  4094. *
  4095. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  4096. * INCORRECT TID.
  4097. *
  4098. * USES T1, T2.
  4099. *
  4100. * CALLS CRF.
  4101. *
  4102. * MACROS ERROR.
  4103.  
  4104.  
  4105. SBI SUBR ENTRY
  4106. LDD FB+1
  4107. LPN 4
  4108. NJN SBI0 IF BATCH ID SPECIFIED
  4109. LDM IOSS+SCLQ*5+1
  4110. ZJN SBIX IF BATCH ID IS ALREADY SET
  4111. SBI0 LDD CM+3
  4112. STM IOSS+SCLQ*5+1
  4113. ZJN SBI2 IF VALID TID
  4114. SBI1 ERROR /ERR/EC21 * DSP - INCORRECT TID.*
  4115.  
  4116. SBI2 LDD CM+4
  4117. STM IOSS+SCLQ*5+2
  4118. SBN IDLM
  4119. PJN SBI1 IF ID .GT. MAXIMUM ALLOWED
  4120. LDN ZERL CLEAR DESTINATION FAMILY
  4121. CRM FDSS,ON
  4122. SBN 1 CLEAR DESTINATION USER NAME
  4123. CRM DASS,ON
  4124. RJM CRF CLEAR REMOTE FAMILY/USER NAME
  4125. UJN SBIX RETURN
  4126. SDO SPACE 4,10
  4127. ** SDO - SET DESTINATION ORIGIN TYPE.
  4128. *
  4129. * ENTRY (FB - FB+1) = FLAG BITS.
  4130. * (OT) = ORIGIN TYPE OF CONTROL POINT AREA.
  4131. * (QT) = DESTINATION QUEUE TYPE.
  4132. *
  4133. * EXIT (OT) = ORIGIN TYPE.
  4134. * (A) = ORIGIN TYPE OF QUEUED FILE.
  4135. *
  4136. * USES OT, CM - CM+4.
  4137. *
  4138. * CALLS GFA.
  4139.  
  4140.  
  4141. SDO SUBR ENTRY/EXIT
  4142.  
  4143. * SET ORIGIN TYPE FOR FILE.
  4144.  
  4145. LDD ST CHECK IF FILE PREVIOUSLY ROUTED
  4146. LPN DSFL
  4147. ZJN SDO1 IF NOT PREVIOUSLY ROUTED
  4148. LDM IOSS+SCLQ*5
  4149. UJN SDO3 SET FROM QFT ENTRY
  4150.  
  4151. SDO1 LDD QT
  4152. LMK INQT
  4153. NJN SDO2 IF NOT INPUT FILE
  4154. LDM JBOT
  4155. LPN 17
  4156. LMK SYOT
  4157. NJN SDO1.1 IF NOT SYSTEM ORIGIN JOB
  4158. LDN BCOT SET BATCH ORIGIN TYPE
  4159. STD OT
  4160. SDO1.1 LDM VIFT,OT INITIALIZE ORIGIN TYPE AND SERVICE CLASS
  4161. STM JBOT
  4162. SDO2 LDM JBOT SET FROM EJT ENTRY OF CALLER
  4163. STM IOSS+SCLQ*5
  4164. SDO3 LPN 17
  4165. STD OT
  4166. LDM FSOT
  4167. SHN 21-13
  4168. MJN SDO4 IF NOT FORCED ORIGIN REQUEST
  4169. SHN 13-21
  4170. STD OT
  4171. LDM SCDT,OT RESET ORIGIN TYPE AND SERVICE CLASS
  4172. STM IOSS+SCLQ*5
  4173. SDO4 LDD FB+1
  4174. SHN 21-13
  4175. PJN SDO5 IF NOT SUBSYSTEM INITIATION
  4176. LDM IOSS+SCLQ*5 RESET SERVICE CLASS
  4177. LPN 17
  4178. LMC SSSC*100
  4179. STM IOSS+SCLQ*5
  4180. SDO5 UJP SDOX RETURN
  4181.  
  4182.  
  4183. * TABLE OF DEFAULT ORIGIN TYPE AND SERVICE CLASS DESCRIPTORS
  4184. * FOR OUTPUT FILES.
  4185.  
  4186. SCDT BSS 0
  4187. LOC 0
  4188. VFD 6/SYSC,6/SYOT SYSTEM SERVICE CLASS
  4189. VFD 6/BCSC,6/BCOT BATCH SERVICE CLASS
  4190. VFD 6/RBSC,6/EIOT REMOTE BATCH SERVICE CLASS
  4191. VFD 6/TSSC,6/IAOT INTERACTIVE SERVICE CLASS
  4192. LOC *O
  4193. SFD SPACE 4,30
  4194. ** SFD - SET FILE DESTINATION.
  4195. *
  4196. * ENTRY (FB - FB+1) = FLAG BITS.
  4197. * (FN - FN+4) = FNT ENTRY.
  4198. * (FS - FS+4) = FST ENTRY.
  4199. * (OT) = DEFAULT ORIGIN TYPE.
  4200. * (QT) = QUEUE TYPE.
  4201. *
  4202. * EXIT (FN - FN+4) = UPDATED FNT.
  4203. * (FS - FS+4) = FST ENTRY.
  4204. * (OT) = ORIGIN TYPE.
  4205. * (QT) = QUEUE TYPE.
  4206. * (DASS - DASS+4) = DESTINATION USER NAME.
  4207. * QFT ROUTE INFO UPDATED.
  4208. * (FDSS - FDSS+4) = DESTINATION FAMILY NAME.
  4209. *
  4210. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  4211. * INCORRECT TID.
  4212. * INCORRECT SERVICE CLASS.
  4213. * ALTERNATE FAMILY NOT ALLOWED.
  4214. * ERROR TO *EER3* IF INACCESSIBLE DEVICE RETURN BY *0AV*.
  4215. *
  4216. * USES FN+3, FS+2, FS+3, OT, T1, T2, CM - CM+4,
  4217. * CN - CN+4, UN - UN+4.
  4218. *
  4219. * CALLS CRF, CVS, DFO, GUD, GFA, NTS, RFN, SBI, SDO, SSJ, VCA.
  4220. * *0AV*.
  4221. *
  4222. * MACROS ERROR, EXECUTE.
  4223.  
  4224.  
  4225. SFD SUBR ENTRY/EXIT
  4226. RJM SDO SET DESTINATION ORIGIN TYPE
  4227. LDD FB+1
  4228. LPN 6
  4229. NJN SFD1 IF CENTRAL SITE OR TID SPECIFIED
  4230. RJM NTS NO TID SPECIFIED
  4231. UJN SFD4 CHECK FOR FORCED SERVICE CLASS
  4232.  
  4233. SFD1 LPN 4
  4234. NJN SFD2 IF TID SPECIFIED
  4235. LDN ZERL
  4236. UJN SFD3 CLEAR ROUTING INFORMATION
  4237.  
  4238. SFD2 RJM GFA GET TID FROM PARAMETER BLOCK
  4239. ADN 2
  4240. SFD3 CRD CM
  4241. LDD CM+3
  4242. NJN SFD6 IF ADDRESS SPECIFIED
  4243. RJM SBI SET BATCH ID
  4244. SFD4 LJM SFD19 CHECK FOR FORCED SERVICE CLASS
  4245.  
  4246. SFD5 ERROR /ERR/EC21 * DSP - INCORRECT TID.*
  4247.  
  4248. * PROCESS TID PARAMETER BLOCK.
  4249.  
  4250. SFD6 LDD QT
  4251. LMK INQT
  4252. NJN SFD7 IF NOT ROUTE TO INPUT
  4253. LDM SLAT
  4254. UJN SFD8 CHECK SLID ATTRIBUTES (INPUT FILE)
  4255.  
  4256. SFD7 LDM DLAT CHECK DLID ATTRIBUTES (OUTPUT FILE)
  4257. SFD8 SHN 21-13
  4258. MJN SFD9 IF LOCAL HOST
  4259. LDN PSNI SET RUSS/RFSS RATHER THAN DASS/FDSS
  4260. STM SFDA
  4261. STM SFDA+1
  4262. STM SFDC
  4263. LDN ZERL PRESET SELECTION OF DEFAULT FAMILY
  4264. CRM RFSS,ON
  4265. SFD9 LDD CM+3 VALIDATE ADDRESS OF PARAMETER BLOCK
  4266. SHN 14
  4267. SCN 77
  4268. LMD CM+4
  4269. LMC 777777
  4270. NJN SFD10 IF NONZERO ADDRESS SPECIFIED
  4271. LJM SFD12 SET DEFAULT FAMILY AND USER NAME
  4272.  
  4273. SFD10 RJM VCA VALIDATE ADDRESS
  4274. SFD11 ZJP SFD5 IF INCORRECT ADDRESS
  4275. ADN 1
  4276. RJM VCA VALIDATE CENTRAL ADDRESS
  4277. ZJN SFD11 IF INCORRECT ADDRESS
  4278. SBN 1
  4279. SFDA LJM SFD15 PROCESS TID
  4280. * PSN (SET RUSS/RFSS FROM TID)
  4281.  
  4282. * SET REMOTE FAMILY AND USER NAME FROM TID BLOCK.
  4283.  
  4284. SHN 14 READ REMOTE USER/FAMILY
  4285. ADD RA
  4286. SHN 6
  4287. CRM RFSS,ON
  4288. CRM RUSS,ON
  4289. SFD11.1 LDN 0 ZERO FILL REMOTE USER/FAMILY
  4290. STM RUSS+4
  4291. STM RFSS+4
  4292. LDM RUSS+3
  4293. SCN 77
  4294. STM RUSS+3
  4295. LDM RFSS+3
  4296. SCN 77
  4297. STM RFSS+3
  4298. LDK ZERL CLEAR DESTINATION FAMILY
  4299. CRM FDSS,ON
  4300. SBN 1 CLEAR DESTINATION USER NAME
  4301. CRM DASS,ON
  4302. LJM SFD19 CHECK FOR FORCED SERVICE CLASS
  4303.  
  4304. * READ DEFAULT FAMILY AND USER NAME FROM CPA.
  4305.  
  4306. SFD12 RJM SSJ CHECK IF SSJ= JOB
  4307. ZJN SFD13 IF NO SSJ= BLOCK
  4308. ADK UIDS
  4309. UJN SFD14 CONTINUE PROCESSING
  4310.  
  4311. SFD13 LDD CP READ UI FROM CONTROL POINT AREA
  4312. ADK UIDW
  4313. SFD14 CRD CM
  4314. SFDC UJN SFD14.1 SET DASS/FDSS
  4315. * PSN (SET RUSS/RFSS)
  4316. CRM RUSS,ON READ REMOTE USER NAME
  4317. RJM RFN DETERMINE FAMILY NAME
  4318. CRM RFSS,ON
  4319. LJM SFD11.1 ZERO FILL REMOTE USER/FAMILY
  4320.  
  4321. SFD14.1 CRM DASS,ON READ DESTINATION USER NAME
  4322. LDD CM+3 PRESET UI FOR ROUTING FIELD
  4323. LPN 37
  4324. STD T1
  4325. LDD CM+4
  4326. STD T2
  4327. RJM RFN READ DESTINATION FAMILY NAME
  4328. CRM FDSS,ON
  4329. LJM SFD18 DETERMINE FAMILY ORDINAL
  4330.  
  4331. * SET DESTINATION FAMILY AND USER NAME FROM TID BLOCK.
  4332.  
  4333. SFD15 SHN 14
  4334. ADD RA
  4335. SHN 6
  4336. CRD CN READ FAMILY NAME
  4337. CRM FDSS,ON
  4338. CRD UN READ USER NAME
  4339. CRM DASS,ON
  4340. LDD CN
  4341. NJN SFD16 IF FAMILY NAME PRESENT
  4342. RJM RFN READ FAMILY NAME
  4343. CRD CN
  4344. CRM FDSS,ON
  4345. SFD16 LDD ST
  4346. LPN SSFL
  4347. NJN SFD17 IF NOT SUBSYSTEM CALL
  4348. LDD UN+3 CHECK IF UI IS SPECIFIED
  4349. LPN 37
  4350. STD T1
  4351. SHN 14
  4352. LMD UN+4
  4353. STD T2
  4354. NJN SFD18 IF USER INDEX SPECIFIED
  4355.  
  4356. * VALIDATE USER NAME.
  4357.  
  4358. SFD17 LDN 0 SET VALIDATE USER NAME FUNCTION
  4359. STD UN+4
  4360. EXECUTE 0AV,OVL1
  4361. MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
  4362. LDD T1
  4363. SHN 14
  4364. LMD T2
  4365. NJN SFD18 IF UI PRESENT
  4366. LJM SFD5 * DSP - INCORRECT TID.*
  4367.  
  4368. * STORE ROUTING INFORMATION IN QFT.
  4369.  
  4370. SFD18 LDD T1 PRESERVE UI IN QFT
  4371. STM IOSS+SCLQ*5+1
  4372. LDM DASS+3
  4373. SCN 77
  4374. LMD T1
  4375. STM DASS+3
  4376. LDD T2
  4377. STM IOSS+SCLQ*5+2
  4378. STM DASS+4
  4379. RJM DFO DETERMINE FAMILY ORDINAL
  4380. RJM CRF CLEAR REMOTE FAMILY/USER NAME
  4381.  
  4382. * VALIDATE SERVICE CLASS.
  4383.  
  4384. SFD19 LDD QT
  4385. LMK INQT
  4386. ZJP SFDX IF INPUT FILE
  4387. LDM EBIT+1
  4388. SHN 21-6
  4389. ERRNZ EFSC-100 SHIFT COUNT INCORRECT
  4390. PJN SFD21 IF ORIGIN DEFAULT NOT SELECTED
  4391. SFD20 LDM SCDT,OT
  4392. UJP SFD30 SET ORIGIN DEFAULT SERVICE CLASS
  4393.  
  4394. * IF CREATION USER NAME IS SPECIFIED, GET SERVICE
  4395. * CLASS VALIDATION MASK FOR THAT USER.
  4396.  
  4397. SFD21 LDM EBIT+1
  4398. LPN EFCU
  4399. ZJN SFD22 IF CREATION USER NAME NOT SPECIFIED
  4400. RJM GFA GET PARAMETER BLOCK ADDRESS
  4401. ADN 13
  4402. CRD CN GET CREATION FAMILY NAME
  4403. SBN 1
  4404. UJN SFD25 GET CREATION USER NAME
  4405.  
  4406. SFD22 LDM FSSC
  4407. ZJN SFD23 IF NO SERVICE CLASS SELECTED
  4408. SHN 6
  4409. MJN SFD24 IF USER DEFAULT REQUIRED
  4410. NFA SCVN
  4411. UJP SFD29 GET VALIDATION MASK
  4412.  
  4413. * PROCESS USER DEFAULT SERVICE CLASS SPECIFICATION.
  4414.  
  4415. SFD23 LDM FSOT
  4416. SHN 21-13
  4417. MJP SFDX IF NO FORCED ORIGIN TYPE
  4418. SHN 13-21
  4419. LMK SYOT
  4420. ZJN SFD20 IF SYSTEM ORIGIN DEFAULT REQUIRED
  4421. LCN 0 FORCE USER DEFAULT
  4422. STM FSSC
  4423. SFD24 LDN ZERL SET NO FAMILY NAME
  4424. CRD CN
  4425. RJM SSJ CHECK FOR SSJ= BLOCK
  4426. ZJN SFD24.1 IF NO SSJ= BLOCK PRESENT
  4427. ADK UIDS
  4428. UJN SFD25 GET USER NAME
  4429.  
  4430. SFD24.1 LDD CP GET USER NAME
  4431. ADK UIDW
  4432. SFD25 CRD UN
  4433. LDD UN
  4434. ZJP SFD20 IF NO USER NAME FOR *DIS* JOB
  4435. LDD UN+3
  4436. SCN 77
  4437. STD UN+3
  4438. LDN 0 SET VALIDATE USER NAME FUNCTION
  4439. STD UN+4
  4440. EXECUTE 0AV,OVL1
  4441. MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
  4442. LDD T1
  4443. ADD T2
  4444. ZJP SFD20 IF CREATION USER NOT VALID
  4445. LDM FSSC
  4446. SHN 21-13
  4447. PJN SFD28 IF USER DEFAULT SERVICE CLASS NOT NEEDED
  4448. RJM GUD GET USER DEFAULT SERVICE CLASS
  4449. NJN SFD28 IF FOUND
  4450. SFD27 ERROR /ERR/EC45 * DSP - INCORRECT SERVICE CLASS.*
  4451.  
  4452. SFD28 LDD T3 GET VALIDATION MASK
  4453. ADK ASCV*5
  4454. STM SFDB
  4455. LDD MA
  4456. CWM **,ON
  4457. SFDB EQU *-1 (ADDRESS OF VALIDATION MASK)
  4458. SBN 1
  4459. SFD29 CRD CN
  4460. RJM CVS CHECK FOR VALID SERVICE CLASS
  4461. NJN SFD27 IF INCORRECT
  4462. LDM IOSS+SCLQ*5 SET SERVICE CLASS
  4463. SHN 21-5
  4464. SCN 77
  4465. LMM FSSC
  4466. SHN 6
  4467. SFD30 STM IOSS+SCLQ*5
  4468. LJM SFDX RETURN
  4469. SPACE 4,10
  4470. ** COMMON DECKS.
  4471.  
  4472.  
  4473. *CALL COMPAST
  4474. *CALL COMPCUA
  4475. QUAL MIO
  4476. RDS EQU RMS USE *RMS* IN PLACE OF *RDS*
  4477. *CALL COMPRNS
  4478. QUAL *
  4479. RNS EQU /MIO/RNS
  4480. SPACE 4,10
  4481. ** DEFINE UNQUALIFIED ENTRY POINTS.
  4482.  
  4483. QUAL
  4484. PSI EQU /3DA/PSI
  4485. SFD EQU /3DA/SFD
  4486. VIF EQU /3DA/VIF
  4487. QUAL *
  4488. SPACE 4,10
  4489. OVERFLOW OVL4,BFMS
  4490. SPACE 4,10
  4491. USE OVERFLOW
  4492. ERRNG OVL1-5-* OVERFLOW INTO *0AV*
  4493. OVERLAY (FILE ATTRIBUTE ROUTINES.),OVL4
  4494. SOD SPACE 4,20
  4495. ** SOD - SET OUTPUT FILE DATA.
  4496. *
  4497. * ENTRY (FB - FB+1) = FLAG BITS.
  4498. * (FS - FS+4) = FST ENTRY.
  4499. * (QT) = QUEUE TYPE.
  4500. *
  4501. * EXIT (RCSS) = REPEAT COUNT.
  4502. * QFT FIELDS UPDATED.
  4503. *
  4504. * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
  4505. * INCORRECT EXTERNAL CHARACTERISTICS.
  4506. * INCORRECT INTERNAL CHARACTERISTICS.
  4507. * FORMS CODE NOT ALPHANUMERIC.
  4508. * INCORRECT SPACING CODE.
  4509. *
  4510. * USES CM - CM+4, T0 - T5.
  4511. *
  4512. * CALLS GEA, GFA, VFC.
  4513. *
  4514. * MACROS ERROR.
  4515.  
  4516.  
  4517. SOD SUBR ENTRY/EXIT
  4518.  
  4519. * SET REPEAT COUNT.
  4520.  
  4521. LDD FB
  4522. SHN 21-2
  4523. PJN SOD1 IF REPEAT COUNT NOT SPECIFIED
  4524. RJM GFA READ REPEAT COUNT
  4525. ADN 4
  4526. CRD CM
  4527. LDD CM+3 SET REPEAT COUNT
  4528. LPN 77
  4529. STM IOSS+INSQ*5+4
  4530. STM RCSS
  4531.  
  4532. * SET RANDOM ADDRESS.
  4533.  
  4534. SOD1 RJM GFA
  4535. ADN 1 READ INTERNAL AND EXTERNAL CHARACTERISTICS
  4536. CRD CM
  4537. ADN 6 READ RANDOM ADDRESS
  4538. CRD T1
  4539. LDD FB
  4540. SHN 21-11
  4541. PJN SOD2 IF RANDOM ADDRESS NOT SET
  4542. LDD T1+1 SET RANDOM ADDRESS IN SYSTEM SECTOR
  4543. STM RASS
  4544. LDD T1+2
  4545. STM RASS+1
  4546.  
  4547. * SET EXTERNAL CHARACTERISTICS.
  4548.  
  4549. SOD2 LDD CM+3 SET EXTERNAL CHARACTERISTICS
  4550. SHN -11
  4551. STD T1
  4552. LDM TDIC,T1 SET DEFAULT INTERNAL CHARACTERISTICS
  4553. STD T2
  4554. LDD FB+1
  4555. SHN 21-7
  4556. MJN SOD3 IF EXTERNAL CHARACTERISTICS SPECIFIED
  4557. LJM SOD7 SET INTERNAL CHARACTERISTICS
  4558.  
  4559. SOD3 LDD T1 SAVE EXTERNAL CHARACTERISTICS
  4560. SHN 3
  4561. STD T0
  4562.  
  4563. * SET DEFAULT INTERNAL CHARACTERISTICS BASED ON
  4564. * EXTERNAL CHARACTERISTICS.
  4565.  
  4566. LDD QT DETERMINE QUEUE TYPE
  4567. LMN PHQT
  4568. ZJN SOD5 IF PUNCH FILE
  4569. LMN PLQT&PHQT
  4570. ZJN SOD4 IF PLOT FILE
  4571. LDD T2 SET IC FOR PRINT FILES
  4572. SHN -10
  4573. UJN SOD6 SET IC
  4574.  
  4575. SOD4 LDD T2 SET IC FOR PLOT FILES
  4576. UJN SOD6 SET IC
  4577.  
  4578. SOD5 LDD T2 SET IC FOR PUNCH FILES
  4579. SHN -4
  4580. SOD6 LPN 17
  4581. STD T2
  4582. RAD T0
  4583.  
  4584. * SET INTERNAL AND EXTERNAL CHARACTERISTICS.
  4585.  
  4586. LDM IOSS+SCLQ*5+3
  4587. SCN 77
  4588. LMD T0
  4589. STM IOSS+SCLQ*5+3
  4590. LDD T2 VALIDATE EXTERNAL CHARACTERISTICS
  4591. LMN 17
  4592. NJN SOD7 IF VALID EXTERNAL CHARACTERISTICS
  4593. ERROR /ERR/EC37 *DSP - INCORRECT EXTERNAL CHARACTERISTICS.*
  4594.  
  4595. * SET INTERNAL CHARACTERISTICS.
  4596.  
  4597. SOD7 LDD FB+1
  4598. SHN 21-10
  4599. PJN SOD8 IF INTERNAL CHARACTERISTICS NOT SPECIFIED
  4600. LDD CM+3 SET INTERNAL CHARACTERISTICS
  4601. SHN -6
  4602. LPN 3
  4603. STD T0
  4604. LDM IOSS+SCLQ*5+3
  4605. SCN 7
  4606. LMD T0
  4607. STM IOSS+SCLQ*5+3
  4608. LPN 7
  4609. SBN MXIC
  4610. MJN SOD8 IF VALID INTERNAL CHARACTERISTICS
  4611. ERROR /ERR/EC23 *DSP - INCORRECT INTERNAL CHARACTERISTICS.*
  4612.  
  4613. * CHECK IF FILE NEEDS *SOST* STATUS.
  4614.  
  4615. SOD8 LDD T1
  4616. LMN A9EX
  4617. NJN SOD9 IF EC .NE. A9
  4618. LDM IOSS+SCLQ*5+3
  4619. LPN 7
  4620. LMK DCIC
  4621. ZJN SOD9 IF IC .EQ. DIS
  4622. LMK A6IC&DCIC
  4623. ZJN SOD9 IF IC .EQ. ASCII6
  4624. LDD QT DETERMINE IF PRINT FILE
  4625. LMN PRQT
  4626. NJN SOD9 IF NOT PRINT FILE
  4627. LDD FB+1
  4628. SHN 21-0
  4629. PJN SOD9 IF NOT DEFERRED ROUTE
  4630. LDN SOST SET *SOST* STATUS
  4631. STM LFST
  4632.  
  4633. * SET FORMS CODE.
  4634.  
  4635. SOD9 LDD FB+1
  4636. SHN 21-12
  4637. PJN SOD10 IF FORMS CODE NOT SELECTED
  4638. LDD CM+1
  4639. STM IOSS+SCLQ*5+4
  4640. RJM VFC VALIDATE FORMS CODE
  4641. PJN SOD10 IF VALID FORMS CODE
  4642. ERROR /ERR/EC22 * DSP - FORMS CODE NOT ALPHANUMERIC.*
  4643.  
  4644. * SET PRINT IMAGE CODE FOR PRINT FILES.
  4645.  
  4646. SOD10 RJM GFA GET PARAMETER BLOCK ADDRESS
  4647. ADN 4
  4648. CRD CM
  4649. LDD CM
  4650. SHN 21-11
  4651. PJN SOD10.1 IF NO PRINT IMAGE SPECIFIED
  4652. LDM SCSS CLEAR PRINT IMAGE PRESERVING SPACING CODE
  4653. LPN 77
  4654. STM SCSS
  4655. LDD CM
  4656. LPC 1700 PRINT IMAGE FLAG AND CODE
  4657. RAM SCSS
  4658.  
  4659. * SET SPACING CODE FOR PRINT FILES.
  4660.  
  4661. SOD10.1 LDD FB
  4662. SHN 21-3
  4663. PJN SOD11 IF SPACING CODE NOT SPECIFIED
  4664. LDM SCSS CLEAR SPACING CODE PRESERVING PRINT IMAGE
  4665. SCN 77
  4666. STM SCSS
  4667. LDD CM SET SPACING CODE
  4668. LPN 77
  4669. RAM SCSS
  4670. LDD CM
  4671. SHN -6
  4672. ZJN SOD11 IF VALID SPACING CODE
  4673. LPN 10 CHECK PRINT IMAGE FLAG
  4674. NJN SOD11 IF PRINT IMAGE SPECIFIED
  4675. ERROR /ERR/EC41 * DSP - INCORRECT SPACING CODE.*
  4676.  
  4677. * SET ACCESS LEVEL INTO QFT ENTRY.
  4678.  
  4679.  
  4680. SOD11 LDM LFAL GET LOCAL FILE ACCESS LEVEL
  4681. SHN 3
  4682. LMM IOSS+INSQ*5+3
  4683. LPN 70
  4684. LMM IOSS+INSQ*5+3
  4685. STM IOSS+INSQ*5+3
  4686.  
  4687. * SET UP ACCOUNTING LIMITS FOR PRINT, PUNCH AND PLOT FILES.
  4688.  
  4689. LDD CP READ FILE SIZE LIMITS
  4690. ADK ALMW
  4691. CRD CM
  4692. LDD QT DETERMINE QUEUE TYPE
  4693. LMN PHQT
  4694. ZJN SOD13 IF PUNCH FILE
  4695. LMN PLQT&PHQT
  4696. ZJN SOD12 IF PLOT FILE
  4697. LDD CM+4 SET PRINT FILE LIMIT
  4698. SHN -6
  4699. UJN SOD14 SET LIMIT
  4700.  
  4701. SOD12 LDD CM SET PLOT FILE LIMIT
  4702. UJN SOD14 SET LIMIT
  4703.  
  4704. SOD13 LDD CM+4 SET PUNCH FILE LIMIT
  4705. SOD14 LPN 77
  4706. STM LCSS
  4707. UJP SODX RETURN
  4708. SPACE 4,10
  4709. ** TDIC - TABLE OF DEFAULT INTERNAL CHARACTERISTICS.
  4710. *
  4711. * INDEXED BY EXTERNAL CHARACTERISTICS CODE.
  4712. *
  4713. *T 4/ PRIC, 4/PHIC, 4/ PLIC
  4714. * PHIC = PUNCH INTERNAL CHARACTERISTICS.
  4715. * PRIC = PRINT INTERNAL CHARACTERISTICS.
  4716. * PLIC = PLOT INTERNAL CHARACTERISTICS.
  4717. * 17B = INCORRECT INTERNAL CHARACTERISTICS.
  4718.  
  4719.  
  4720. TDIC BSS 0
  4721. LOC 0
  4722. * PRINT PUNCH PLOT
  4723. VFD 4/DCIC,4/DCIC,4/17B DISPLAY DISPLAY INVALID
  4724. VFD 4/17B,4/BNIC,4/BNIC INVALID BINARY BINARY
  4725. VFD 4/ASIC,4/BNIC,4/ASIC ASCII BINARY ASCII
  4726. VFD 4/DCIC,4/17B,4/17B DISPLAY INVALID INVALID
  4727. VFD 4/DCIC,4/DCIC,4/17B DISPLAY DISPLAY INVALID
  4728. VFD 4/DCIC,4/DCIC,4/17B DISPLAY DISPLAY INVALID
  4729. VFD 4/ASIC,4/ASIC,4/17B ASCII ASCII INVALID
  4730. VFD 4/17B,4/17B,4/17B INVALID INVALID INVALID
  4731. LOC *O
  4732. SPACE 4,10
  4733. ** COMMON DECKS.
  4734.  
  4735.  
  4736. *CALL COMPVFC
  4737. SPACE 4,10
  4738. ** DEFINE UNQUALIFIED ENTRY POINTS.
  4739.  
  4740.  
  4741. QUAL
  4742. SOD EQU /3DB/SOD
  4743. QUAL *
  4744. SPACE 4,10
  4745. OVERFLOW OVL4,BFMS
  4746. SPACE 4,10
  4747. USE OVERFLOW
  4748. ERRNG OVL1-5-* OVERFLOW INTO *0AV*
  4749. OVERLAY (SYSTEM SECTOR/EOI UPDATE ROUTINES.),OVL4
  4750. AEO SPACE 4,10
  4751. ** AEO - ATTACH EJT ORDINAL.
  4752. *
  4753. * *AEO* DETERMINES THE EJT ORDINAL OF THE CONTROL
  4754. * POINT AND THEN INSERTS THE ORDINAL INTO THE QFT.
  4755. *
  4756. * EXIT APPROPRIATE FLAGS SET IN QFT SAYING QFT
  4757. * IS ATTACHED TO AN EJT.
  4758.  
  4759.  
  4760. AEO SUBR ENTRY/EXIT
  4761. LDM EJTO GET EJT ORDINAL
  4762. STM IOSS+ENTQ*5+4
  4763. LDM IOSS+JSNQ*5+4 FLAG FILE ASSIGNED TO EJT
  4764. SCN 37
  4765. LMN 2 FLAG FILE ASSIGNED TO EJT
  4766. STM IOSS+JSNQ*5+4
  4767. UJN AEOX RETURN
  4768. BSE SPACE 4,15
  4769. ** BSE - CHECK FOR BINARY CARD SEQUENCE ERROR.
  4770. *
  4771. * ENTRY (ST) = STATUS WORD.
  4772. * (QT) = QUEUE TYPE.
  4773. *
  4774. * EXIT SYSTEM SECTOR UPDATED.
  4775. *
  4776. * USES CM - CM+6.
  4777. *
  4778. * CALLS GFA.
  4779.  
  4780.  
  4781. BSE SUBR ENTRY/EXIT
  4782. LDD QT
  4783. LMK INQT
  4784. NJN BSEX IF NOT ROUTE TO INPUT
  4785. LDD ST DETERMINE IF SUBSYSTEM
  4786. LPN SSFL
  4787. NJN BSEX IF NOT SUBSYSTEM
  4788. LDM INFL GET INPUT FLAGS
  4789. SHN 21-6
  4790. PJN BSEX IF NOT ERRORS
  4791. RJM GFA READ BINARY CARD DATA
  4792. ADN 5
  4793. CRD CM
  4794. SBN 1 READ ABORT CODE
  4795. CRD CM+2
  4796. LDD CM+2+2 SET ABORT CODE
  4797. STM JASS
  4798. LDD CM SET RECORD NUMBER
  4799. STM RNSS
  4800. LDD CM+1 SET CARD NUMBER
  4801. STM CNSS
  4802. UJN BSEX RETURN
  4803. CLE SPACE 4,10
  4804. ** CLE - COMPLETE LOCAL ENTRY.
  4805. *
  4806. * ENTRY (FB - FB+1) = FLAG BITS.
  4807. * (FN - FN+4) = NFL FNT ENTRY.
  4808. * (FS - FS+4) = NFL FST ENTRY.
  4809. *
  4810. * EXIT (FS - FS+4) = WRITTEN TO NFL.
  4811. * (FN - FN+4) = WRITTEN TO NFL.
  4812. *
  4813. * USES FN+4, FS+4, CM - CM+4.
  4814. *
  4815. * MACROS MONITOR, NFA.
  4816.  
  4817.  
  4818. CLE2 LDN ZERL CLEAR PARAMETERS
  4819. CRD CM
  4820. LDN DLFS DROP LOCAL ENTRY
  4821. STD CM+1
  4822. LDC * (LOCAL FNT ORDINAL)
  4823. CLEB EQU *-1
  4824. STD CM+4
  4825. MONITOR PLFM
  4826.  
  4827. CLE SUBR ENTRY/EXIT
  4828. LDD FB+1
  4829. SHN 21-0
  4830. PJN CLE2 IF IMMEDIATE ROUTE
  4831. LDD FS+4 SET FILE NOT BUSY
  4832. SCN 1
  4833. LMN 1
  4834. STD FS+4
  4835. LDM LFST SET FILE STATUS
  4836. NJN CLE1 IF FILE STATUS CHANGED
  4837. LDD FN+4 GET CURRENT FILE STATUS
  4838. LPN 77
  4839. CLE1 LMC QFFT*100
  4840. STD FN+4
  4841. NFA CLEB,R REWRITE NFL FNT/FST ENTRY
  4842. CWD FN
  4843. ADN FSTL
  4844. CWD FS
  4845. UJN CLEX RETURN
  4846. IAM SPACE 4,10
  4847. ** IAM - ISSUE ACCOUNTING MESSAGES.
  4848. *
  4849. * EXIT *ABLQ* OR *ARRQ* MESSAGES ISSUED TO ACCOUNT FILE.
  4850. *
  4851. * CALLS *0QM*.
  4852. *
  4853. * MACROS EXECUTE.
  4854.  
  4855.  
  4856. IAM SUBR ENTRY/EXIT
  4857. LDD ST
  4858. LPC RQFL
  4859. NJN IAM1 IF FILE BEING REQUEUED
  4860. LDC 2RAB SET *ABLQ* MESSAGE
  4861. STM OVL7-2
  4862. LDC 2RLQ
  4863. UJN IAM2 SET MESSAGE IDENTIFIER
  4864.  
  4865. IAM1 LDC 2RAR SET *ARRQ* MESSAGE
  4866. STM OVL7-2
  4867. LDC 2RRQ
  4868. IAM2 STM OVL7-1
  4869. EXECUTE 0QM,OVL7 ISSUE MESSAGES
  4870. UJN IAMX RETURN
  4871. IES SPACE 4,15
  4872. ** IES - INITIALIZE EOI SECTOR.
  4873. *
  4874. * ENTRY (FS - FS+4) = FST ENTRY.
  4875. * (QT) = DESTINATION QUEUE TYPE.
  4876. *
  4877. * EXIT *EBUF* INITIALIZED AS EOI SECTOR.
  4878. *
  4879. * USES T1, T5 - T5+4.
  4880. *
  4881. * CALLS RMS, SEI.
  4882. *
  4883. * MACROS ENDMS, ERROR, NFA, SETMS.
  4884.  
  4885.  
  4886. IES SUBR ENTRY/EXIT
  4887. LDD ST
  4888. LPN DSFL
  4889. ZJN IES1 IF FILE NOT ALREADY A QUEUE FILE
  4890. LDD ST
  4891. LPC LKFL
  4892. NJN IES5 IF FILE IS LOCKED
  4893. IES1 LDD ST
  4894. LPN SSFL
  4895. NJN IES4 IF NOT CALLED BY SUBSYSTEM
  4896. LDD QT
  4897. LMK INQT
  4898. NJN IES4 IF NOT ROUTE TO INPUT QUEUE
  4899.  
  4900. * INITIALIZE EOI FOR ROUTE TO INPUT QUEUE FROM SUBSYSTEM.
  4901.  
  4902. LDC 501 CLEAR EOI BUFFER
  4903. STD T1
  4904. IES2 LDN 0
  4905. STM EBUF,T1
  4906. SOD T1
  4907. PJN IES2 IF MORE TO CLEAR
  4908. IES3 UJN IESX RETURN
  4909.  
  4910. * READ EOI FROM JOB INPUT FILE.
  4911.  
  4912. IES4 NFA FNTN READ JOB INPUT FILE FST
  4913. ADN FSTL
  4914. CRD T5
  4915. UJN IES6 READ EOI SECTOR
  4916.  
  4917. * IF FILE IS *QFFT* AND LOCKED, IT IS A QUEUED FILE ATTACHED
  4918. * BY *QAC*/*GET*. READ EXISTING EOI SECTOR FROM FILE.
  4919.  
  4920. IES5 LDD FS
  4921. STD T5
  4922. LDD FS+1
  4923. STD T6
  4924. IES6 LDN 0 FIND EOI SECTOR
  4925. RJM SEI
  4926. SETMS IO READ EOI SECTOR
  4927. LDC EBUF
  4928. RJM RMS
  4929. ENDMS
  4930. UJN IES3 RETURN
  4931. PRT SPACE 4,10
  4932. ** PRT - PROCESS REMOTE TEXT.
  4933. *
  4934. * ENTRY (FB - FB+1) = FLAG BITS.
  4935. * (EBUF) = EOI SECTOR.
  4936. *
  4937. * EXIT IMPLICIT/EXPLICIT TEXTS SET IN EOI.
  4938. * DATA DECLARATION SET IN EOI.
  4939. *
  4940. * USES T1, CM - CM+4, CN - CN+4.
  4941. *
  4942. * CALLS GFA.
  4943.  
  4944.  
  4945. PRT SUBR ENTRY/EXIT
  4946. LDD ST CHECK IF SLID SPECIFIED
  4947. SHN 21-11
  4948. PJN PRT2 IF SLID NOT SPECIFIED
  4949. LDN 0 CLEAR IMPLICIT TEXT IN EOI
  4950. STM EBUF+ILEI
  4951. LDC TXLEI-1
  4952. STD T1
  4953. PRT1 LDN 0
  4954. STM EBUF+ITEI,T1
  4955. SOD T1
  4956. PJN PRT1 IF MORE TEXT TO CLEAR
  4957.  
  4958. * SET IMPLICIT AND EXPLICIT TEXT IN EOI.
  4959.  
  4960. PRT2 LDD FB+1
  4961. SHN 21-6
  4962. PJN PRTX IF NO EXTENDED BLOCK
  4963. RJM GFA GET TEXT ADDRESSES
  4964. ADN 10
  4965. CRD CM
  4966. ADN 1
  4967. CRD CN
  4968. LDM IRTL LENGTH OF IMPLICIT TEXT
  4969. ZJN PRT3 IF IMPLICIT TEXT NOT SPECIFIED
  4970. STD T1
  4971. LDD CM+3
  4972. LPN 77
  4973. SHN 6
  4974. ADD RA
  4975. SHN 6
  4976. ADD CM+4
  4977. CRD CM
  4978. ADN 1
  4979. CRM EBUF+ITEI,T1 READ TEXT
  4980. LDD CM+4
  4981. STM EBUF+ILEI SET CHARACTER LENGTH OF TEXT
  4982. PRT3 LDM ERTL LENGTH OF EXPLICIT TEXT
  4983. ZJN PRT4 IF EXPLICIT TEXT NOT SPECIFIED
  4984. STD T1
  4985. LDD CN+3
  4986. LPN 77
  4987. SHN 6
  4988. ADD RA
  4989. SHN 6
  4990. ADD CN+4
  4991. CRD CN
  4992. ADN 1
  4993. CRM EBUF+EXEI,T1 READ TEXT
  4994. LDD CN+4
  4995. STM EBUF+ELEI SET CHARACTER LENGTH OF TEXT
  4996.  
  4997. * SET DATA DECLARATION IN EOI.
  4998.  
  4999. PRT4 LDM DDEC DATA DECLARATION VALUE
  5000. ZJN PRT5 IF DATA DECLARATION NOT SPECIFIED
  5001. STM EBUF+DDEI
  5002. PRT5 LJM PRTX RETURN
  5003. PUF SPACE 4,15
  5004. ** PUF - PROCESS USER/FAMILY NAMES.
  5005. *
  5006. * EXIT (FN - FN+4) PRESERVED.
  5007. * SYSTEM SECTOR UPDATED.
  5008. * QFT ENTRY UPDATED.
  5009. *
  5010. * ERROR TO *EER3* IF INACCESSIBLE DEVICE RETURN BY *0AV*.
  5011. *
  5012. * USES CN - CN+4, FN - FN+4, UN - UN+4.
  5013. *
  5014. * CALLS GFA, GFO, *0AV*.
  5015. *
  5016. * MACROS EXECUTE.
  5017.  
  5018.  
  5019. PUF SUBR ENTRY/EXIT
  5020.  
  5021. * SET AND VALIDATE SPECIFIED CREATOR USER/FAMILY
  5022. * (SKIP FOR INPUT FILES).
  5023.  
  5024. LDM EBIT+1
  5025. LPN EFCU
  5026. ZJN PUF1 IF CREATOR USER/FAMILY NOT SPECIFIED
  5027. LDD QT
  5028. LMK INQT
  5029. PUF1 ZJP PUF2 IF INPUT QUEUE TYPE
  5030. RJM GFA SET SPECIFIED USER/FAMILY IN SYSTEM SECTOR
  5031. ADN 12
  5032. CRD UN
  5033. CRM ACSS,ON
  5034. CRD CN
  5035. CRM FMSS,ON
  5036. LDD UN+3 CLEAR LOWER 18 BITS OF USER NAME
  5037. SCN 77
  5038. STD UN+3
  5039. LDN 0 VALIDATE CREATOR USER/FAMILY
  5040. STD UN+4
  5041. EXECUTE 0AV,OVL1
  5042. MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
  5043. LDD T2 SET CREATOR USER INDEX IN SYSTEM SECTOR
  5044. STM ACSS+4
  5045. LDM ACSS+3
  5046. SCN 77
  5047. LMD T1
  5048. STM ACSS+3
  5049.  
  5050. * SET AND VALIDATE SPECIFIED OWNER USER/FAMILY.
  5051.  
  5052. PUF2 LDM EBIT+1
  5053. LPN EFOU
  5054. ZJP PUFX IF OWNER USER/FAMILY NOT SPECIFIED
  5055. RJM GFA SET SPECIFIED USER/FAMILY IN SYSTEM SECTOR
  5056. ADN 10
  5057. CRD UN
  5058. CRM OASS,ON
  5059. CRD CN
  5060. CRM FOSS,ON
  5061. LDD UN+3
  5062. SCN 77
  5063. STD UN+3
  5064. LDN 0 VALIDATE OWNER USER/FAMILY
  5065. STD UN+4
  5066. EXECUTE 0AV,OVL1
  5067. MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
  5068. LDD T2 SET OWNER USER INDEX IN SYSTEM SECTOR
  5069. STM OASS+4
  5070. STM PUFB+1 SAVE OWNER USER INDEX FOR QFT
  5071. LDM OASS+3
  5072. SCN 77
  5073. LMD T1
  5074. STM OASS+3
  5075. STM PUFA+1
  5076.  
  5077. * SET OWNER FO/UI IN QFT. IF SPECIFIED OWNER USER/FAMILY
  5078. * WAS NOT VALID, USE FO/UI OF CREATOR USER/FAMILY.
  5079.  
  5080. LDD T1
  5081. ADD T2
  5082. NJN PUF3 IF SPECIFIED OWNER USER/FAMILY VALID
  5083. LDD MA SET FAMILY = CREATOR FAMILY
  5084. CWM FMSS,ON
  5085. SBN 1
  5086. CRD CN
  5087. LDM ACSS+3 SET USER INDEX = CREATOR USER INDEX
  5088. STM PUFA+1
  5089. LDM ACSS+4
  5090. STM PUFB+1
  5091. PUF3 LDD MA SAVE (FN - FN+4)
  5092. CWD FN
  5093. CRD UN
  5094. CWD CN SET FAMILY NAME
  5095. CRD FN
  5096. * LDN (NONZERO)
  5097. RJM GFO GET FAMILY ORDINAL
  5098. LDD FN+4 SET OWNER FAMILY ORDINAL IN QFT ENTRY
  5099. SHN 6
  5100. STM IOSS+JSNQ*5+2
  5101. PUFA LDC * SET OWNER USER INDEX IN QFT ENTRY
  5102. LPN 77
  5103. RAM IOSS+JSNQ*5+2
  5104. PUFB LDC *
  5105. STM IOSS+JSNQ*5+3
  5106. LDN 0 CLEAR BOTTOM OF FAMILY NAME
  5107. STM FOSS+4
  5108. LDM FOSS+3
  5109. SCN 77
  5110. STM FOSS+3
  5111. LDD MA RESTORE (FN - FN+4)
  5112. CWD UN
  5113. CRD FN
  5114. LJM PUFX RETURN
  5115. PUP SPACE 4,10
  5116. ** PUP - PROCESS UJN PRESENCE.
  5117. *
  5118. * ENTRY (FB - FB+1) = FLAG BITS.
  5119. *
  5120. * EXIT (JNSS - JNSS+4) = UJN IF PRESENT.
  5121. *
  5122. * CALLS GFA.
  5123.  
  5124.  
  5125. PUP SUBR ENTRY/EXIT
  5126. LDD FB CHECK FOR UJN SPECIFIED
  5127. SHN 21-1
  5128. PJN PUPX IF NO UJN SPECIFIED
  5129. RJM GFA MOVE UJN TO SYSTEM SECTOR
  5130. ADN 3
  5131. CRM JNSS,ON
  5132. LDN 0 ZERO FILL UJN FIELD
  5133. STM JNSS+4
  5134. LDM JNSS+3
  5135. SCN 77
  5136. STM JNSS+3
  5137. UJN PUPX RETURN
  5138. SCP SPACE 4,10
  5139. ** SCP - SET SPECIFIED CHARGE AND PROJECT NUMBERS.
  5140. *
  5141. * EXIT CHARGE/PROJECT NUMBERS SET IF SPECIFIED.
  5142. *
  5143. * CALLS GFA.
  5144.  
  5145.  
  5146. SCP SUBR ENTRY/EXIT
  5147. LDM EBIT+1
  5148. LPK EFCH
  5149. ZJN SCPX IF CHARGE/PROJECT NUMBERS NOT SPECIFIED
  5150. RJM GFA
  5151. ADN 17
  5152. CRM CHSS,TR
  5153. ERRNZ PJSS-CHSS-5 CHARGE AND PROJECT NUMBER NOT CONTIGUOUS
  5154. UJN SCPX RETURN
  5155. SLI SPACE 4,10
  5156. ** SLI - SET LOGICAL IDENTIFIERS.
  5157. *
  5158. * ENTRY (QT) = QUEUE TYPE.
  5159. * (SLID) = SOURCE LID.
  5160. * (DLID) = DESTINATION LID.
  5161. *
  5162. * EXIT SLID/DLID SET IN SYSTEM SECTOR AND QFT.
  5163.  
  5164.  
  5165. SLI SUBR ENTRY/EXIT
  5166.  
  5167. * SET DLID IN QFT / SYSTEM SECTOR.
  5168.  
  5169. LDD ST
  5170. LPC DLFL
  5171. NJN SLI1 IF DLID SPECIFIED IN PARAMETER BLOCK
  5172. LDD QT
  5173. LMK INQT
  5174. NJN SLI1 IF NOT ROUTE TO INPUT
  5175. LDM IOSS+INSQ*5+1
  5176. NJN SLI2 IF DLID SET IN SYSTEM SECTOR BY *0VJ*
  5177. SLI1 LDM DLID
  5178. SHN 14
  5179. LMM DLID+1
  5180. SHN -6+22
  5181. STM IOSS+INSQ*5+1
  5182. SHN -6
  5183. LMM IOSS+INSQ*5+2
  5184. SCN 77
  5185. LMM IOSS+INSQ*5+2
  5186. STM IOSS+INSQ*5+2
  5187.  
  5188. * SET SLID IN SYSTEM SECTOR.
  5189.  
  5190. SLI2 LDM IOSS+INSQ*5+1
  5191. NJN SLI3 IF DLID PRESENT
  5192. STM SLID CLEAR SLID
  5193. STM SLID+1
  5194. SLI3 LDM SLID+1 SET SLID
  5195. STM SLSS+1
  5196. LDM SLSS
  5197. SCN 77
  5198. LMM SLID
  5199. STM SLSS
  5200. LJM SLIX RETURN
  5201. UFS SPACE 4,15
  5202. ** UFS - UPDATE FILE STATE.
  5203. *
  5204. * ENTRY (FB - FB+1) = FLAG BITS.
  5205. * (FS - FS+4) = FST STATUS.
  5206. * (ST) = STATUS BITS.
  5207. *
  5208. * EXIT (T5) = EQUIPMENT.
  5209. * FILE LENGTH DETERMINED.
  5210. * IF IMMEDIATE ROUTE, GET DATA FOR *UADM* MESSAGE.
  5211. * IF FILE BEING REQUEUED BY SUBSYSTEM, RANDOM INDEX SET.
  5212. *
  5213. * USES T5, T6, T7.
  5214. *
  5215. * CALLS SEI, SRA.
  5216.  
  5217.  
  5218. UFS SUBR ENTRY/EXIT
  5219. LDD FS SET EQUIPMENT
  5220. STD T5
  5221. LDD ST
  5222. SHN 21-13
  5223. ERRNZ RQFL-4000 CODE DEPENDS ON VALUE
  5224. PJN UFS2 IF NOT REQUEUEING FILE
  5225. SHN 21-0-21+13
  5226. ERRNZ SSFL-1 CODE DEPENDS ON VALUE
  5227. MJN UFS2 IF NOT SUBSYSTEM CALLER
  5228. LDD QT
  5229. LMK INQT
  5230. ZJN UFS2 IF INPUT FILE
  5231. LDD FS+2 SET RANDOM ADDRESS
  5232. STD T6 SET CURRENT TRACK
  5233. LDD FS+3 SET CURRENT SECTOR
  5234. STD T7
  5235. LDD FS+1 SET FIRST TRACK
  5236. RJM SRA SET RANDOM ADDRESS
  5237. ZJN UFS1 IF TRACK AND SECTOR IN TRACK CHAIN
  5238. LDN SWET SET SYSTEM SOFTWARE ERROR
  5239. STD CM+2
  5240. LDC * SET ADDRESS WHERE ERROR DETECTED
  5241. STD CM+1
  5242. MONITOR CHGM CONDITIONALLY HANG PP
  5243. LJM DPP DROP PP
  5244.  
  5245. * SET INTERRUPT RANDOM ADDRESS IN SYSTEM SECTOR.
  5246.  
  5247. UFS1 LDD RI SET RANDOM ADDRESS IN SYSTEM SECTOR
  5248. STM RTSS
  5249. LDD RI+1
  5250. STM RTSS+1
  5251. UFS2 LDD FS+1 SET FIRST TRACK
  5252. STD T6
  5253. * LDN (NONZERO) (DO NOT REQUIRE CURRENT TRT)
  5254. RJM SEI SEARCH FOR END OF INFORMATION
  5255.  
  5256. * SET DATA FOR *UADM* FUNCTION.
  5257.  
  5258. LDD T2 SET FILE LENGTH
  5259. STM FLSS
  5260. LDD T3
  5261. SBN 1
  5262. STM FLSS+1
  5263. PJN UFS2.1 IF NO UNDERFLOW
  5264. AOM FLSS+1
  5265. SOM FLSS
  5266. UFS2.1 LDD FB+1
  5267. SHN 21-0
  5268. MJN UFS3 IF DEFERRED ROUTE
  5269. LDD T2 ROUND UP SECTOR COUNT
  5270. SHN 14
  5271. LMD T3
  5272. SBD T7
  5273. ADM SLM (*COMPWEI* LOADED CORRECT DRIVER)
  5274. STM DPPC+1
  5275. SHN -14
  5276. STM DPPC
  5277. UFS3 LJM UFSX RETURN
  5278. WES SPACE 4,15
  5279. ** WES - WRITE EOI SECTOR.
  5280. *
  5281. * ENTRY (FS - FS+4) = FST ENTRY.
  5282. * (EBUF) = EOI SECTOR.
  5283. *
  5284. * EXIT EOI SECTOR WRITTEN.
  5285. *
  5286. * USES T5, T6.
  5287. *
  5288. * CALLS SEI, WEI.
  5289. *
  5290. * MACROS ENDMS, ERROR, SETMS.
  5291.  
  5292.  
  5293. WES SUBR ENTRY/EXIT
  5294. LDD FS SET EQUIPMENT AND FIRST TRACK
  5295. STD T5
  5296. LDD FS+1
  5297. STD T6
  5298. STM EBUF+FTEI
  5299. LDN 0 FIND EOI
  5300. RJM SEI
  5301. SETMS IO
  5302. LDC EBUF WRITE EOI SECTOR
  5303. RJM WEI
  5304. ENDMS
  5305. UJN WESX RETURN
  5306. WQS SPACE 4,20
  5307. ** WQS - WRITE QUEUED FILE SYSTEM SECTOR.
  5308. *
  5309. * ENTRY (WQSA) .NE. 0, DO NOT PRESERVE FILE.
  5310. * (FA) = NFL FNT ENTRY OFFSET.
  5311. * (QA) = ORDINAL OF QFT ENTRY.
  5312. * (FS - FS+4) = FST ENTRY.
  5313. *
  5314. * EXIT SYSTEM SECTOR WRITTEN.
  5315. * FILE PRESERVED, IF REQUESTED.
  5316. * (FASS) = LOCAL FNT ENTRY OFFSET.
  5317. * (GQSS) = ORDINAL OF QFT ENTRY.
  5318. *
  5319. * USES FA, T6, CM - CM+4.
  5320. *
  5321. * CALLS RFI, UFS, WSS.
  5322. *
  5323. * MACROS ENDMS, MONITOR, SETMS.
  5324.  
  5325.  
  5326. WQS SUBR ENTRY/EXIT
  5327.  
  5328. * IF *DC=SO* OR *DC=SS*, DO NOT PRESERVE FILE.
  5329.  
  5330. LDM DCSS CHECK DISPOSITION CODE
  5331. LMC 2RSO
  5332. ZJN WQS1 IF *DC=SO*
  5333. LMN 2RSS&2RSO
  5334. NJN WQS2 IF NOT *DC=SS*
  5335. WQS1 AOM WQSA DO NOT PRESERVE FILE
  5336. WQS2 LDM WQSA
  5337. NJN WQS3 IF FILE NOT TO BE REQUEUED
  5338. LDM FGSS CHECK FOR FILE BEING REQUEUED
  5339. LPN 2
  5340. STM WQSB
  5341. LDM FGSS SET FILE IN QUEUE AND ACTIVE STATUS
  5342. SCN 3
  5343. LMN 3
  5344. STM FGSS
  5345. LDC 0
  5346. * LDC 2 (FILE BEING REQUEUED)
  5347. WQSB EQU *-1
  5348. NJN WQS3 IF FILE BEING REQUEUED
  5349. LDN PDTL SET QUEUED FILE CREATION DATE AND TIME
  5350. CRD CM
  5351. LDD CM+2
  5352. STM CDSS+2
  5353. LDD CM+3
  5354. STM CDSS+3
  5355. LDD CM+4
  5356. STM CDSS+4
  5357. WQS3 RJM UFS UPDATE FILE STATE
  5358. LDC FLSS ADDRESS OF SYSTEM SECTOR FILE LENGTH
  5359. RJM RFI SET FILE SIZE INDEX IN QFT ENTRY
  5360.  
  5361. * COMPLETE SYSTEM SECTOR.
  5362.  
  5363. LDD FA SET FNT POINTERS
  5364. STM FASS
  5365. STM EERA
  5366. STM CLEB
  5367. LDD QA
  5368. STM GQSS
  5369. LDN 0 INDICATE PRESET SYSTEM SECTOR FNT
  5370. STD FA
  5371. LDD FS+1 SET FIRST TRACK
  5372. STD T6
  5373. SETMS IO,RW
  5374. RJM WSS WRITE SYSTEM SECTOR
  5375. ENDMS
  5376.  
  5377. * PRESERVE QUEUED FILE.
  5378.  
  5379. LDC 0
  5380. * LDC 1 (IF FILE NOT TO BE PRESERVED)
  5381. WQSA EQU *-1
  5382. NJN WQS4 IF FILE NOT TO BE PRESERVED
  5383. LDD T5 CONDITIONALLY SET PROTECT BIT, CHECKPOINT
  5384. LMC 6000
  5385. STD CM+1
  5386. LDD T6
  5387. STD CM+2
  5388. LDN SPFS SET PRESERVED FILE BIT
  5389. STD CM+3
  5390. MONITOR STBM
  5391. WQS4 LJM WQSX RETURN
  5392. SPACE 4,10
  5393. ** COMMON DECKS.
  5394.  
  5395.  
  5396. *CALL COMPRFI
  5397. SEI$ SET 1 GUARANTEE CURRENT TRT FOR *COMPSEI*
  5398. *CALL COMPSEI
  5399. *CALL COMPSFE
  5400. *CALL COMPSRA
  5401. QUAL MIO
  5402. WDS EQU WMS USE *WMS* IN PLACE OF *WDS*
  5403. *CALL COMPWSS
  5404. QUAL *
  5405. WSS EQU /MIO/WSS
  5406. SPACE 4,10
  5407. ** DEFINE UNQUALIFIED ENTRY POINTS.
  5408.  
  5409.  
  5410. QUAL
  5411. AEO EQU /3DC/AEO
  5412. BSE EQU /3DC/BSE
  5413. CLE EQU /3DC/CLE
  5414. IAM EQU /3DC/IAM
  5415. IES EQU /3DC/IES
  5416. PRT EQU /3DC/PRT
  5417. PUF EQU /3DC/PUF
  5418. PUP EQU /3DC/PUP
  5419. RFI EQU /3DC/RFI
  5420. SCP EQU /3DC/SCP
  5421. SLI EQU /3DC/SLI
  5422. WES EQU /3DC/WES
  5423. WQS EQU /3DC/WQS
  5424. WQSA EQU /3DC/WQSA
  5425. QUAL *
  5426. SPACE 4,10
  5427. OVERFLOW OVL4,EBUF
  5428. SPACE 4,10
  5429. USE OVERFLOW
  5430. ERRNG OVL1-5-* OVERFLOW INTO *0AV*
  5431. ERRNG OVL7-5-* OVERFLOW INTO *0QM*
  5432. ERRNG QBUF-* OVERFLOW INTO QFT ENTRY BUFFER
  5433. OVERLAY (CHANGE TO LOCAL FILE.),OVL5
  5434. CLF SPACE 4,15
  5435. ** CLF - CHANGE TO LOCAL FILE.
  5436. *
  5437. * ENTRY (FN - FN+4) = LOCAL FNT ENTRY.
  5438. * (FS - FS+4) = LOCAL FST ENTRY.
  5439. * (UN - UN+4) = FILE NAME, IF *FCFL* IS SET IN (ST).
  5440. * (FA) = NFL FNT OFFSET.
  5441. *
  5442. * EXIT QFT ENTRY DROPPED.
  5443. * FILE UNPRESERVED.
  5444. * LOCAL FILE CREATED IF NONE EXISTS.
  5445. *
  5446. * ERROR TO *EER3* IF INACCESSIBLE DEVICE RETURN BY *0DQ*.
  5447. *
  5448. * USES FN+4, FS+4, QA, T5, T6, CM - CM+4.
  5449. *
  5450. * CALLS AMS, EFN, WSS, *0DQ*.
  5451. *
  5452. * MACROS ENDMS, EXECUTE, MONITOR, NFA, SETMS, SFA.
  5453.  
  5454.  
  5455. CLF SUBR ENTRY/EXIT
  5456. LDD ST CHECK IF FILE EXISTS
  5457. LPN FCFL
  5458. ZJN CLF1 IF FILE EXISTS
  5459. RJM EFN ENTER FILE NAME
  5460. RJM AMS ASSIGN MASS STORAGE
  5461. UJN CLF3 CHANGE FILE TYPE
  5462.  
  5463. CLF1 STD QA SET TO SEARCH FOR QFT ENTRY
  5464. LDD FS
  5465. ZJN CLF3 IF NO EQUIPMENT
  5466. LDD FS+1
  5467. ZJN CLF3 IF NO TRACK
  5468. LDN 1 DROP QFT ENTRY ONLY
  5469. STM OVL6-1
  5470. EXECUTE 0DQ,OVL6 CLEAR QFT ENTRY
  5471. MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
  5472. CLF3 AOD FS+4 SET FILE NOT BUSY
  5473. LDD FN+4 SET LOCAL FILE TYPE
  5474. LPN 77
  5475. LMC LOFT*100
  5476. STD FN+4
  5477. LDD FN+3 CLEAR LOCK (READ-ONLY) BIT
  5478. SCN 1
  5479. STD FN+3
  5480.  
  5481. * DETERMINE IF FILE WAS A PRESERVED FILE.
  5482.  
  5483. LDD FS CHECK FOR EQUIPMENT ASSIGNMENT
  5484. ZJP CLF4 IF NO EQUIPMENT ASSIGNED
  5485. SFA EST,FS READ EST ENTRY
  5486. ADK EQDE
  5487. CRD CM
  5488. LDD FS+1 GET TRACK
  5489. LPC 3777 SET TRT WORD NUMBER
  5490. SHN 21-1
  5491. STD T2
  5492. SHN 1-21
  5493. ADC SHNI+21-13
  5494. STM CLFA
  5495. LDD CM+4 GET FWA OF TRT
  5496. SHN 3
  5497. ADN TRLL
  5498. CRD CM
  5499. LDD CM+3
  5500. LPN 77
  5501. SHN 14
  5502. LMD CM+4
  5503. ADD T2 READ TRT WORD
  5504. CRD CM
  5505. LDD CM+4 SET TRACK BITS
  5506. CLFA SHN 0
  5507. PJN CLF4 IF FILE NOT PRESERVED
  5508. LDD FS SET EQUIPMENT
  5509. STD T5
  5510. STD CM+1
  5511. LDD FS+1 SET TRACK
  5512. STD T6
  5513. STD CM+2
  5514. LDN CPFS SET CLEAR PRESERVED FILE BIT FUNCTION
  5515. STD CM+3
  5516. MONITOR STBM
  5517. SETMS IO,RW
  5518. RJM WSS REWRITE SYSTEM SECTOR
  5519. ENDMS
  5520. CLF4 NFA FA,R REWRITE LOCAL FNT/FST
  5521. CWD FN
  5522. ADN FSTL
  5523. CWD FS
  5524. LDN 0 CLEAR JSN IN PARAMETER BLOCK
  5525. STM DSPD
  5526. STM DSPE
  5527. LJM CLFX RETURN
  5528. SPACE 4,10
  5529. ** DEFINE UNQUALIFIED ENTRY POINTS.
  5530.  
  5531. QUAL
  5532. CLF EQU /3DD/CLF
  5533. QUAL *
  5534. SPACE 4,10
  5535. * COMMON DECKS.
  5536.  
  5537.  
  5538. *CALL COMPSFI
  5539. QUAL MIO2
  5540. WDS EQU WMS USE *WMS* IN PLACE OF *WDS*
  5541. *CALL COMPWSS
  5542. QUAL *
  5543. WSS EQU /MIO2/WSS
  5544. SPACE 4,10
  5545. OVERFLOW OVL5,BFMS
  5546. SPACE 4,10
  5547. USE OVERFLOW
  5548. ERRNG OVL0-5-* OVERFLOW INTO *0BF*
  5549. ERRNG OVL6-5-* OVERFLOW INTO *0DQ*
  5550. OVERLAY (ERROR PROCESSOR.),OVL3
  5551. ERP SPACE 4,15
  5552. ** ERP - ERROR PROCESSOR.
  5553. *
  5554. * ENTRY (ER) = ERROR CODE.
  5555. * (FA) = FST ADDRESS.
  5556. * (DSPB) = ERROR CODE.
  5557. *
  5558. * EXIT TO *PPR* IF JOB IS TO BE ABORTED.
  5559. * TO *DSPX* IF ERROR CODE IS TO BE RETURNED.
  5560. *
  5561. * USES T2, FN - FN+4.
  5562. *
  5563. * CALLS FEM, FNB, GFA, IDM, PUE, SQE.
  5564. *
  5565. * MACROS MONITOR.
  5566.  
  5567.  
  5568. ERP SUBR ENTRY/EXIT
  5569. LDD ER
  5570. LMN /ERR/EC24
  5571. NJN ERP1 IF NOT * QUEUED FILE READ ERROR*
  5572. RJM SQE SET QFT ERROR
  5573. UJN ERP2 CONTINUE
  5574.  
  5575. ERP1 RJM FNB SET FILE NOT BUSY
  5576. ERP2 LDD ER
  5577. LMN /ERR/EC34
  5578. ZJN ERP3 IF USER NAME ERROR
  5579. LMN /ERR/EC47&/ERR/EC34
  5580. NJN ERP4 IF NOT USER SECURITY COUNT EXHAUSTED ERROR
  5581. ERP3 RJM PUE PROCESS USER NAME ERROR
  5582. ERP4 LDD ST
  5583. LPN SSFL
  5584. ZJN ERP6 IF SUBSYSTEM CALL
  5585.  
  5586. * CHECK IF ERROR PROCESSING ALLOWED.
  5587.  
  5588. LDN 0
  5589. STD T2
  5590. ERP5 LDM TABT,T2
  5591. ZJN ERP6 IF END OF TABLE
  5592. LMD ER
  5593. ZJN ERP7 IF JOB SHOULD BE ABORTED
  5594. AOD T2 INCREMENT INDEX
  5595. UJN ERP5 CHECK NEXT TABLE ENTRY
  5596.  
  5597. ERP6 LDD FB
  5598. SHN 21-0
  5599. PJN ERP7 IF ERROR PROCESSING NOT SELECTED
  5600. LDD ER
  5601. STM DSPB
  5602. LJM DSPX RETURN
  5603.  
  5604. ERP7 LDD ER CHECK FOR JOB COMMAND ERROR
  5605. SBN /ERR/EC32
  5606. NJN ERP8 IF NOT JOB COMMAND ERROR
  5607. RJM FEM FORMAT ERROR MESSAGE
  5608. ERP8 LDM TDFM,ER
  5609. RJM IDM ISSUE DAYFILE MESSAGES
  5610. LDD ER CHECK ERROR STATUS
  5611. LMN /ERR/EC12
  5612. ZJN ERP9 IF INCORRECT REQUEST
  5613. RJM GFA GET PARAMETER BLOCK ADDRESS
  5614. CRD FN
  5615. LDD FN+4 SET FUNCTION COMPLETE
  5616. SCN 1
  5617. LMN 1
  5618. STD FN+4
  5619. RJM GFA WRITE COMPLETE BIT
  5620. CWD FN
  5621. ERP9 MONITOR ABTM ABORT CONTROL POINT
  5622. LJM PPR
  5623. SPACE 4
  5624. ** TABT - TABLE OF ERROR CODES TO ABORT UNCONDITIONALLY.
  5625.  
  5626.  
  5627. TABT BSS 0
  5628. CON /ERR/EC12 * DSP - INCORRECT REQUEST.*
  5629. CON /ERR/EC10 * DSP - USER ACCESS NOT VALID.*
  5630. CON /ERR/EC17 * DSP - COMPLETE BIT ALREADY SET.*
  5631. CON /ERR/EC31 * DSP - I/O SEQUENCE ERROR.*
  5632. CON 0 END OF TABLE
  5633. FEM SPACE 4,10
  5634. ** FEM - FORMAT ERROR MESSAGE.
  5635. *
  5636. * EXIT ERROR MESSAGE FORMATTED AND PLACED IN *FEMA*.
  5637. *
  5638. * USES T1.
  5639.  
  5640.  
  5641. FEM SUBR ENTRY
  5642. LDD MA SET-UP ERROR MESSAGE
  5643. CWM STMT,TR
  5644. SBD TR
  5645. CRM FEMB,TR
  5646. LDC FEMB-1
  5647. STD T1
  5648. FEM1 AOD T1 SET END OF JOB COMMAND ERROR MESSAGE
  5649. LMC FEMC
  5650. ZJN FEM2 IF END OF MESSAGE BUFFER
  5651. LDI T1
  5652. ZJN FEM2 IF END OF JOB COMMAND
  5653. LPN 77
  5654. NJN FEM1 IF NOT END OF JOB COMMAND
  5655. LDN 1R)
  5656. RAI T1
  5657. UJN FEM3 SET END OF MESSAGE
  5658.  
  5659. FEM2 LDC 2R)
  5660. STI T1
  5661. FEM3 LDN 0
  5662. STM 1,T1
  5663. UJN FEMX RETURN
  5664. TDFM SPACE 4
  5665. ** TDFM - TABLE OF DAYFILE MESSAGE ADDRESSES.
  5666.  
  5667.  
  5668. TDFM INDEX
  5669. INDEX /ERR/EC01,(=C* DSP - FILE NAME ERROR.*)
  5670. INDEX /ERR/EC02,(=C* DSP - FILE NOT ON MASS STORAGE.*)
  5671. INDEX /ERR/EC03,(=C* DSP - INCORRECT FILE TYPE.*)
  5672. INDEX /ERR/EC05,(=C* DSP - ROUTE TO INPUT NOT IMMEDIATE.*)
  5673. INDEX /ERR/EC06,(=C* DSP - IMMEDIATE ROUTING - NO FILE.*)
  5674. INDEX /ERR/EC07,(=C* DSP - INCORRECT DISPOSITION CODE.*)
  5675. INDEX /ERR/EC10,(=C* DSP - USER ACCESS NOT VALID.*)
  5676. INDEX /ERR/EC11,(=C* DSP - UNDEFINED SERVICE CLASS.*)
  5677. INDEX /ERR/EC12,(=C* DSP - INCORRECT REQUEST.*)
  5678. INDEX /ERR/EC13,(=C* DSP - DEFERRED ROUTING NOT ALLOWED.*)
  5679. INDEX /ERR/EC14,(=C* DSP - INCORRECT DATA DECLARATION.*)
  5680. INDEX /ERR/EC15,(=C* DSP - INCORRECT LID.*)
  5681. INDEX /ERR/EC16,(=C* DSP - CANNOT ROUTE JOB INPUT FILE.*)
  5682. INDEX /ERR/EC17,(=C* DSP - COMPLETE BIT ALREADY SET.*)
  5683. INDEX /ERR/EC20,(=C* DSP - FILE ON REMOVABLE DEVICE.*)
  5684. INDEX /ERR/EC21,(=C* DSP - INCORRECT TID.*)
  5685. INDEX /ERR/EC22,(=C* DSP - FORMS CODE NOT ALPHANUMERIC.*)
  5686. INDEX /ERR/EC23,(=C* DSP - INCORRECT INTERNAL CHARACTERISTICS
  5687. ,.*)
  5688. INDEX /ERR/EC24,(=C* DSP - QUEUED FILE READ ERROR.*)
  5689. INDEX /ERR/EC25,(=C* DSP - QFT FULL.*)
  5690. INDEX /ERR/EC26,(=C* DSP - THIS ROUTING NOT ALLOWED.*)
  5691. INDEX /ERR/EC27,(=C* DSP - DEVICE FULL.*)
  5692. INDEX /ERR/EC30,(=C* DSP - MASS STORAGE ERROR.*)
  5693. INDEX /ERR/EC31,(=C* DSP - I/O SEQUENCE ERROR.*)
  5694. INDEX /ERR/EC32,FEMA JOB COMMAND ERROR
  5695. INDEX /ERR/EC33,(=C* DSP - TOO MANY DEFERRED BATCH JOBS.*)
  5696. INDEX /ERR/EC34,(=C* DSP - INCORRECT USER COMMAND.*)
  5697. INDEX /ERR/EC35,(=C* DSP - DEVICE INACCESSIBLE.*)
  5698. INDEX /ERR/EC36,(=C* DSP - INCORRECT FILE MODE.*)
  5699. INDEX /ERR/EC37,(=C* DSP - INCORRECT EXTERNAL CHARACTERISTICS
  5700. ,.*)
  5701. INDEX /ERR/EC40,(=C* DSP - INCORRECT ORIGIN TYPE.*)
  5702. INDEX /ERR/EC41,(=C* DSP - INCORRECT SPACING CODE.*)
  5703. INDEX /ERR/EC42,(=C* DSP - INCORRECT JOB ABORT CODE.*)
  5704. INDEX /ERR/EC45,(=C* DSP - INCORRECT SERVICE CLASS.*)
  5705. INDEX /ERR/EC46,(=C* DSP - ALTERNATE FAMILY NOT ALLOWED.*)
  5706. INDEX /ERR/EC47,(=C* DSP - USER SECURITY COUNT EXHAUSTED.*)
  5707. INDEX /ERR/EC50,(=C* DSP - JSN ALREADY IN SYSTEM.*)
  5708. INDEX /ERR/EC51,(=C* DSP - ALTERNATE USER NOT ALLOWED.*)
  5709. INDEX /ERR/ECMX
  5710. IDM SPACE 4,10
  5711. ** IDM - ISSUE DAYFILE MESSAGES.
  5712. *
  5713. * ENTRY (A) = FWA OF MESSAGE.
  5714. *
  5715. * EXIT MESSAGE ISSUED.
  5716. *
  5717. * USES ER.
  5718. *
  5719. * CALLS DFM, GFA, SEM.
  5720.  
  5721.  
  5722. IDM SUBR ENTRY/EXIT
  5723. STM IDMA
  5724. RJM GFA SET FILE NAME IN MESSAGE
  5725. CRM IDMB,ON
  5726. LDC IDMB
  5727. RJM SEM SET END OF MESSAGE
  5728. LDC MSGA * ERROR IN ROUTE FUNCTION, LFN = XXXXXXX.*
  5729. RJM DFM
  5730. LDC ** ISSUE DAYFILE MESSAGE
  5731. IDMA EQU *-1 (FWA OF MESSAGE)
  5732. ZJN IDMX IF NO ADDRESS
  5733. ADC CPON
  5734. RJM DFM
  5735. UJN IDMX RETURN
  5736.  
  5737.  
  5738. MSGA DATA H* ERROR IN ROUTE FUNCTION, LFN =*
  5739. IDMB VFD 60/0
  5740.  
  5741. MSGB DATA H*SIUN,*
  5742. IDMC EQU *
  5743. PUE SPACE 4,13
  5744. ** PUE - PROCESS USER NAME ERROR.
  5745. *
  5746. * ENTRY (UN - UN+4) = USER NAME.
  5747. *
  5748. * EXIT TO *DPP*, IF NOT A SUBSYSTEM CALL.
  5749. *
  5750. * USES CM+1.
  5751. *
  5752. * CALLS DFM, IDM, SEM.
  5753. *
  5754. * MACROS MONITOR.
  5755.  
  5756.  
  5757. PUE SUBR ENTRY/EXIT
  5758. LDD ST
  5759. LPN SSFL
  5760. ZJN PUEX IF SUBSYSTEM CALL
  5761. LDM TDFM,ER ISSUE ERROR MESSAGE
  5762. RJM IDM
  5763. LDD ER
  5764. LMN /ERR/EC47
  5765. ZJN PUE1 IF *SECURITY COUNT EXHAUSTED* ERROR
  5766. LDD MA SET USER NAME IN ACCOUNT FILE MESSAGE
  5767. CWD UN
  5768. CRM IDMC,ON
  5769. LDC IDMC
  5770. RJM SEM SET END OF MESSAGE
  5771. LDC MSGB+ACFN * SIUN, USERNAM.*
  5772. RJM DFM
  5773. PUE1 LDN SVET SET SECURITY CONFLICT ERROR FLAG
  5774. STD CM+1
  5775. MONITOR CEFM
  5776. LJM DPP DROP PPU
  5777. SEM SPACE 4,10
  5778. ** SEM - SET END OF MESSAGE.
  5779. *
  5780. * ENTRY (A) = ADDRESS OF MESSAGE INSERT.
  5781. *
  5782. * EXIT PERIOD SET AT END OF MESSAGE.
  5783. *
  5784. * USES T1, T2.
  5785.  
  5786.  
  5787. SEM SUBR ENTRY/EXIT
  5788. STD T1
  5789. ADN 3
  5790. STD T2
  5791. SEM1 LDI T1
  5792. ZJN SEM2 IF END OF FILE NAME
  5793. LPN 77
  5794. ZJN SEM3 IF END OF FILE NAME
  5795. AOD T1
  5796. LMD T2
  5797. NJN SEM1 IF NOT 7TH CHARACTER
  5798. LDI T1 CHECK 7TH CHARACTER
  5799. SCN 77
  5800. NJN SEM3 IF NOT END OF FILE NAME
  5801. SEM2 LDC 1R.*100
  5802. UJN SEM4
  5803.  
  5804. SEM3 LDI T1
  5805. SCN 77
  5806. LMN 1R.
  5807. SEM4 STI T1 SET PERIOD
  5808. LDN 0 SET END OF MESSAGE
  5809. STM 1,T1
  5810. UJN SEMX RETURN
  5811. FEMA SPACE 4,10
  5812. * ERROR MESSAGE FORMATTING BUFFER.
  5813.  
  5814. FEMA DATA H* JOB COMMAND ERROR. (*
  5815. FEMB EQU *
  5816. FEMC EQU FEMB+10D
  5817. SQE SPACE 4,15
  5818. ** SQE - SET QFT ERROR.
  5819. *
  5820. * *SQE* CHANGES THE QUEUE TYPE OF THE QFT ENTRY TO
  5821. * *ERQF* AND RETURNS THE LOCAL COPY OF THE FILE.
  5822. *
  5823. * ENTRY (FA) = NFL OFFSET OF FILE.
  5824. *
  5825. * EXIT FILE RETURNED.
  5826. * QFT UPDATED BEFORE RELEASED.
  5827. *
  5828. * USES T7, CM - CM+4, CN - CN+4, FN - FN+4, FS - FS+4,
  5829. * UN - UN+4.
  5830. *
  5831. * MACROS MONITOR, NFA, SFA.
  5832.  
  5833.  
  5834. SQE SUBR ENTRY/EXIT
  5835. LDN QFTP SET LIMIT FOR QFT SEARCH
  5836. CRD UN
  5837. LDN 0 INITIALIZE ORDINAL POINTER
  5838. STD T7
  5839. NFA FA,R RETRIEVE NFL FNT/FST ENTRY
  5840. CRD FN
  5841. ADN FSTL
  5842. CRD FS
  5843.  
  5844. * FIND MATCHING QFT ENTRY.
  5845.  
  5846. SQE1 AOD T7 ADVANCE ORDINAL
  5847. LMD UN+2
  5848. ZJN SQE3 IF QFT NOT FOUND
  5849. SQE2 SFA QFT,T7 READ TRACK AND EQUIPMENT OF QFT ENTRY
  5850. ADK ENTQ
  5851. CRD CN
  5852. SBN ENTQ
  5853. STD CM+4
  5854. SHN -14
  5855. STD CM+3
  5856.  
  5857. * COMPARE TRACK AND EQUIPMENT IN FST FOR MATCH.
  5858.  
  5859. LDD CN+1 CHECK FIRST TRACK
  5860. LMD FS+1
  5861. NJN SQE1 IF NO MATCH
  5862. LDD CN CHECK EQUIPMENT
  5863. LMD FS
  5864. NJN SQE1 IF NO MATCH
  5865. LDN 2 SET NUMBER OF REQUESTS FOR *UTEM*
  5866. STD CM+1
  5867. LDD MA WRITE *UTEM* PARAMETER WORDS
  5868. CWM SQEA,CM+1
  5869. LDN 0
  5870. STD CM+2
  5871. MONITOR UTEM UPDATE QFT ENTRY
  5872. LDD CM+1 CHECK STATUS OF UPDATE
  5873. NJN SQE2 IF UPDATE FAILED
  5874. UJN SQE4 RETURN LOCAL FILE ENTRY
  5875.  
  5876. SQE3 LDN 0 SET NO ERROR FLAG
  5877. STD CM+2
  5878. LDC * SET ADDRESS WHERE ERROR DETECTED
  5879. STD CM+1
  5880. MONITOR CHGM CONDITIONALLY HANG PP
  5881.  
  5882. * RETURN LOCAL FILE ENTRY.
  5883.  
  5884. SQE4 LDD FA SET NFL OFFSET FOR *PLFM*
  5885. STD CM+4
  5886. LDN 0
  5887. STD CM+2
  5888. STD CM+3
  5889. LDN DLFS SET DELETE LOCAL FILE OPTION
  5890. STD CM+1
  5891. MONITOR PLFM RETURN LOCAL FILE
  5892. LJM SQEX RETURN
  5893.  
  5894. SQEA VFD 1/0,5/JSNQ,6/6,6/6,42/ERQF
  5895. VFD 1/0,5/JSNQ,6/5,6/1,42/0
  5896. SPACE 4,10
  5897. ** DEFINE UNQUALIFIED ENTRY POINTS.
  5898.  
  5899. QUAL
  5900. ERP EQU /3DE/ERP
  5901. QUAL *
  5902. SPACE 4,10
  5903. OVERFLOW OVL3,BFMS
  5904. SPACE 4
  5905. TTL DSP - DISPOSE FILE TO I/O QUEUE.
  5906. USE OVERFLOW
  5907. ERRNG OVL0-5-* OVERFLOW INTO *0DQ*
  5908. ERRNG OVL2-5-* OVERFLOW INTO *0DF*
  5909. SPACE 4
  5910. TTL DSP - DISPOSE FILE TO I/O QUEUE.
  5911. END
cdc/nos2.source/opl871/dsp.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator