User Tools

Site Tools


cdc:nos2.source:opl871:cldt

Table of Contents

CLDT

Table Of Contents

  • [00012] CREATE LID MANAGEMENT TABLE.
  • [00482] FIELD - DEFINE FIELDS.
  • [00551] DEFINITIONS.
  • [00582] MAIN PROGRAM.
  • [00583] CREATE LID TABLE.
  • [00639] CAS - CHECK ACTIVE SUBSYSTEMS.
  • [00712] CLE - CREATE LID ENTRY.
  • [01001] CLT - CREATE LID TABLE.
  • [01163] CPE - CREATE PID ENTRY.
  • [01590] PSE - PAUSE FOR OPERATOR GO/DROP.
  • [01610] PTL - PROCESS TEXT LINE.
  • [01774] BUFFERS.
  • [01784] PRS - PRESET ROUTINE.
  • [01969] CFS - CALCULATE FREE SPACE.

Source Code

CLDT.txt
  1. IDENT CLDT,FWA,CLDT
  2. ABS
  3. SST CLET,CLTE,CLTF,CPET
  4. ENTRY CLDT
  5. ENTRY RFL=
  6. ENTRY SSJ=
  7. SYSCOM B1
  8. CLDT TITLE CLDT - CREATE LID TABLE.
  9. *COMMENT CLDT - CREATE LID TABLE.
  10. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  11. SPACE 4,10
  12. *** CLDT - CREATE LID MANAGEMENT TABLE.
  13. *
  14. * M. M. CHEN 83/01/01.
  15. SPACE 4,10
  16. *** *CLDT* CREATES A LID TABLE (LDT) ACCORDING TO THE CONTENTS OF
  17. * A LID CONFIGURATION FILE. *CLDT* IS INITIALLY EXECUTED BY
  18. * *MSM* DURING A LEVEL ZERO DEADSTART BUT MAY ALSO BE EXECUTED
  19. * ONLINE TO REBUILD THE LDT. NON-SYSTEM ORIGIN JOBS MAY CALL
  20. * *CLDT* TO CHECK FOR FATAL ERRORS IN A LID CONFIGURATION FILE
  21. * BUT NO LDT WILL BE CREATED/UPDATED IN CENTRAL MEMORY.
  22. SPACE 4,10
  23. *** COMMAND FORMAT.
  24. *
  25. * CLDT,I=LFN.
  26. *
  27. * I=LFN SPECIFIES THE LOCAL FILE NAME WHICH CONTAINS THE
  28. * DIRECTIVES TO BUILD THE LDT. IF YOU SPECIFY ONLY
  29. * PARAMETER *I* OR *I=0* OR IF YOU OMIT THE
  30. * PARAMETER, FILE *LIDCMXX* (WHERE XX = HOST PID
  31. * MACHINE ID) BECOMES LFN. IF LFN IS NOT LOCAL TO
  32. * THE JOB, THE FILE IS OBTAINED FROM THE JOB-S USER
  33. * NAME ON THE SYSTEM DEFAULT FAMILY. THIS PARAMETER
  34. * IS OPTIONAL.
  35. SPACE 4,10
  36. *** LIDCMID FILE.
  37. *
  38. *LIDCMID
  39. *KEYWORD(1),P1,P2, ,, .
  40. * .
  41. * .
  42. * .
  43. *KEYWORD(N),P1,P2, ,, .
  44. *
  45. * WHERE
  46. * LIDCMID IS THE RECORD HEADER. ID IS THE
  47. * MACHINE ID.
  48. *
  49. *
  50. * KEYWORDS INCLUDE -
  51. *
  52. * NPID - NAME OF PID.
  53. *
  54. * NLID - NAME OF LID.
  55. *
  56. * * - COMMENT.
  57. *
  58. * COMMENT - COMMENT.
  59. *
  60. * PARAMETERS FOR THE *NPID* KEYWORD -
  61. *
  62. * PID=XXX.
  63. * WHERE XXX IS A UNIQUE 3 ALPHANUMERIC CHARACTER
  64. * PHYSICAL IDENTIFIER OF THE REMOTE MAINFRAME.
  65. * (NOS MAINFRAMES ARE REQUIRED TO HAVE PIDS IN
  66. * THE FORMAT MXX, WHERE XX IS THE MACHINE ID.)
  67. * THE FIRST CHARACTER MUST BE ALPHABETIC.
  68. * THIS PARAMETER IS REQUIRED.
  69. *
  70. * ENABLED=YES OR NO.
  71. * INDICATES WHETHER THE MAINFRAME SPECIFIED BY XXX
  72. * IS AVAILABLE OR NOT. DEFAULT IS YES IF THE ENABLED
  73. * KEYWORD IS NOT SPECIFIED.
  74. *
  75. * MFTYPE=XXXXXXX.
  76. * WHERE XXXXXXX IS A 1-7 CHARACTER STRING INDICATING
  77. * THE MAINFRAME TYPE. AN EXAMPLE OF MAINFRAME TYPE
  78. * IS NOS/BE OR NOS OR NS2 OR CY700 OR IBM.
  79. * THIS PARAMETER IS REQUIRED.
  80. *
  81. * AT=VALID/NVALID/NLIST.
  82. * INDICATES THE ATTRIBUTES ASSOCIATED WITH THE
  83. * MAINFRAME IDENTIFIED BY PID. DEFAULT IS
  84. * VALID AND LIST ENABLED. EITHER VALID OR
  85. * NVALID MAYBE SPECIFIED BUT NOT BOTH.
  86. *
  87. * NETDIS=SSF/RHF/NAM.
  88. * INDICATES WHICH NETWORK ACCESSES TO THE
  89. * MAINFRAME IDENTIFIED BY XXX ARE DISABLED. DEFAULTS IS
  90. * ALL NETWORK ACCESSES ENABLED.
  91. * NETDIS IS INCORRECT FOR A PID WITH HOST ATTRIBUTE.
  92. * ANY COMBINATION OF NETWORK ACCESSES MAY BE SPECIFIED.
  93. *
  94. * PARAMETERS FOR THE *NLID* KEYWORD -
  95. *
  96. * LID=XXX.
  97. * WHERE XXX IS A 3 CHARACTER LOGICAL IDENTIFIER
  98. * FOR THE MAINFRAME IDENTIFIED BY THE LAST PID
  99. * DEFINITION. THE LID MAY BE THE SAME AS THE LAST
  100. * PID DEFINED. THIS PARAMETER IS REQUIRED.
  101. *
  102. * ENABLED=YES OR NO.
  103. * INDICATES WHETHER OR NOT THE MAINFRAME IDENTIFIED
  104. * BY THE LID IS AVAILABLE. DEFAULT IS YES IF THE
  105. * ENABLED KEYWORD IS NOT SPECIFIED.
  106. *
  107. * AT=LOOPB/STOREF/VALID/NVALID/NLIST.
  108. * INDICATES THE ATTRIBUTES ASSOCIATED WITH THE LID.
  109. * ATTRIBUTES OF LOOPB AND VALID ARE ONLY FOR
  110. * LID-S DEFINED FOR THE HOST MAINFRAMES. DEFAULT IS
  111. * *NVALID*.
  112. SPACE 4,10
  113. *** DAYFILE MESSAGES.
  114. *
  115. *
  116. * THE FOLLOWING MESSAGES ARE ISSUED WHEN FATAL ERRORS
  117. * ARE ENCOUNTERED.
  118. *
  119. *
  120. * CLDT ABORTED. SEE -A- DISPLAY.
  121. * SIGNIFICANCE - A FLASHING INFORMATIVE MESSAGE ISSUED TO
  122. * NOTIFY THE OPERATOR THAT A FATAL ERROR WAS
  123. * DETECTED AND NO LDT CAN BE CREATED.
  124. * ACTION - CORRECT THE ERROR BASED UPON THE MESSAGE(S) IN THE
  125. * SYSTEM DAYFILE AND EITHER PERFORM A LEVEL ZERO
  126. * DEADSTART OR RERUN *CLDT*.
  127. *
  128. * CLDT - BUFFER TOO SMALL.
  129. * CLDT - UNABLE TO GENERATE LID TABLE.*
  130. * NUMBER OF WORDS AVAILABLE FOR LID - XXX.*
  131. * NUMBER OF WORDS NEEDED FOR LID - XXX.*
  132. * SIGNIFICANCE - EITHER THE LENGTH OF THE LID TABLE
  133. * SPECIFIED IN IPRDECK IS TOO SMALL OR
  134. * NUMBER OF PID-S OF LID-S EXCEEDED THE
  135. * BUFFER SET IN CLDT.
  136. * ACTION - INCREASE THE LENGTH OF LID TABLE AT DEADSTART
  137. * TIME OR INCREASE THE BUFFER SIZE IN CLDT.
  138. *
  139. * CLDT ABORT.
  140. * SIGNIFICANCE - SELF-EXPLANATORY.
  141. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING
  142. * DAYFILE MESSAGES.
  143. *
  144. * CLDT - COMMAND ERROR.
  145. * SIGNIFICANCE - AN INCORRECT PARAMETER WAS SPECIFIED ON THE
  146. * *CLDT* STATEMENT.
  147. * ACTION - SPECIFY ONLY ACCEPTABLE PARAMETERS ON THE STATEMENT.
  148. *
  149. * CLDT - DUPLICATE PID ON NPID STATEMENT.
  150. * SIGNIFICANCE - SELF-EXPLANATORY.
  151. * ACTION - DELETE THE DUPLICATE *NPID* ENTRIES.
  152. *
  153. * CLDT - EXCEEDED MAXIMUM NUMBER OF PID-S - XXX.
  154. * SIGNIFICANCE - THE MAXIMUM NUMBER OF THE PID-S IN THE
  155. * LID TABLE IS DEFINED BY THE NAME *MAXPID-S*
  156. * IN NOSTEXT. TOO MANY PID-S ARE SPECIFIED
  157. * ON THE *LIDCMID* FILE.
  158. * ACTION - REDUCE THE NUMBER OF PID-S ON THE *LIDCMID* FILE.
  159. *
  160. * CLDT - EXCEEDED MAXIMUM NUMBER OF LIDS/PID - XXX.
  161. * SIGNIFICANCE - THE MAXIMUM NUMBER OF THE LID-S PER PID IN THE
  162. * LID TABLE IS DEFINED BY THE NAME *MXLID* IN
  163. * NOSTEXT. TOO MANY LIDS ARE SPECIFIED FOR A PID
  164. * ON THE *LIDCMID* FILE.
  165. * ACTION - REDUCE NUMBER OF LIDS FOR THIS PID.
  166. *
  167. * CLDT - FIRST STATEMENT NOT LIDCMXX.
  168. * SIGNIFICANCE - THE FIRST STATEMENT ON THE LIDCMID FILE
  169. * MUST BE *LIDCMXX* WHERE XX IS THE MACHINE ID.
  170. * ACTION - CORRECT THE FIRST STATEMENT ON THE LIDCMID FILE.
  171. *
  172. * CLDT - NETDIS IS INCORRECT FOR HOST PID.
  173. * SIGNIFICANCE - SELF-EXPLANATORY.
  174. * ACTION - DELETE *NETDIS* KEYWORD.
  175. * NOTE - WHEN YOU ARE ON MAINFRAME A AND ARE CHECKING FOR
  176. * SYNTAX ERRORS OF A LID CONFIGURATION FILE INTENDED
  177. * FOR MAINFRAME B, THIS MESSAGE MAY NOT APPLY.
  178. *
  179. * CLDT - NO PID SPECIFIED ON NPID STATEMENT.
  180. * SIGNIFICANCE - SELF-EXPLANATORY.
  181. * ACTION - SPECIFY *PID=XXX* ON THE *NPID* STATEMENT.
  182. * XXX IS THE PHYSICAL ID.
  183. *
  184. * CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS IN PID.
  185. * SIGNIFICANCE - SELF-EXPLANATORY.
  186. * ACTION - MAKE SURE EXACTLY 3 ALPHANUMERIC CHARACTERS ARE
  187. * SPECIFIED FOR THE PID.
  188. *
  189. * CLDT - MAXIMUM OF 7 CHARACTERS ALLOWED ON MFTYPE.
  190. * SIGNIFICANCE - SELF-EXPLANATORY.
  191. * ACTION - MAKE SURE ONLY SEVEN CHARACTERS SPECIFIED ON
  192. * THE MFTYPE KEYWORD.
  193. *
  194. * CLDT - VALID KEYWORDS FOR NPID ARE
  195. * PID,MFTYPE,ENABLED,AT AND NETDIS.
  196. * SIGNIFICANCE - SELF-EXPLANATORY.
  197. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING
  198. * DAYFILE MESSAGES.
  199. *
  200. * CLDT - VALID OPTIONS FOR *AT* ARE VALID OR NVALID OR NLIST.
  201. * SIGNIFICANCE - SELF-EXPLANATORY.
  202. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING
  203. * DAYFILE MESSAGES.
  204. *
  205. * CLDT - VALID OPTIONS FOR NETDIS ARE SSF, RHF AND NAM.
  206. * SIGNIFICANCE - SELF-EXPLANATORY.
  207. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING
  208. * DAYFILE MESSAGES.
  209. *
  210. * CLDT - FILE XXXXXXX NOT FOUND.
  211. * SIGNIFICANCE - FILE XXXXXXX IS NOT LOCAL AND CANNOT BE
  212. * LOCATED UNDER THE JOB-S USER NAME.
  213. * ACTION - CREATE FILE XXXXXXX UNDER THE JOB-S USER NAME
  214. * OR HAVE THE FILE LOCAL TO THE JOB.
  215. *
  216. * CLDT - NO LID TABLE CREATED -
  217. * SIGNIFICANCE - SELF-EXPLANATORY.
  218. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING
  219. * DAYFILE MESSAGES. NO ACTION IS REQUIRED IF NO
  220. * LDT WAS INTENDED TO BE BUILT OR IF ONLY SYNTAX
  221. * CHECKING WAS BEING DONE ON THE LID FILE.
  222. *
  223. * CLDT - UNRECOGNIZABLE DIRECTIVE.
  224. * SIGNIFICANCE - SELF-EXPLANATORY.
  225. * ACTION - CORRECT OR DELETE THE UNRECOGNIZABLE DIRECTIVE.
  226. *
  227. * CLDT - NO MFTYPE SPECIFIED ON NPID STATEMENT.
  228. * SIGNIFICANCE - SELF-EXPLANATORY.
  229. * ACTION - SPECIFY *MFTYPE=XXXXXXX* ON THE *NPID* STATEMENT.
  230. * XXXXXXX IS A 1-7 CHARACTER STRING INDICATING THE
  231. * MAINFRAME TYPE.
  232. *
  233. * CLDT - IDLE SUBSYSTEMS, RHF, NAM, AND SSF
  234. * BEFORE ATTEMPTING CLDT.
  235. * SIGNIFICANCE - SELF-EXPLANATORY.
  236. * ACTION - IDLE ANY OF THE THREE SUBSYSTEMS THAT MAYBE
  237. * AT A CONTROL POINT. EITHER RHF OR NAM OR SSF.
  238. *
  239. * CLDT - INCORRECT CHARACTER IN DIRECTIVE.
  240. * SIGNIFICANCE - SELF-EXPLANATORY.
  241. * ACTION - CORRECT THE WRONG CHARACTER IN THE DIRECTIVE.
  242. * THE INCORRECT CHARACTER IS A COLON.
  243. *
  244. * CLDT - NPID DIRECTIVE MUST BE PROCESSED BEFORE A NLID
  245. * DIRECTIVE.
  246. * SIGNIFICANCE - SELF-EXPLANATORY.
  247. * ACTION - PUT A *NPID* DIRECTIVE BEFORE THE FIRST *NLID*
  248. * DIRECTIVE.
  249. *
  250. * CLDT - A SEPARATOR MUST FOLLOW NLID OR NPID.
  251. * SIGNIFICANCE - A DIRECTIVE WAS ENCOUNTERED THAT DID NOT
  252. * HAVE A SEPARATOR.
  253. * EXAMPLE ( NPID PID=XXX,MFTYPE=XXXXXXX.)
  254. * ACTION - PUT A SEPARATOR IN THE NPID OR NLID DIRECTIVE.
  255. * EXAMPLE( NPID,PID=XXX,MFTYPE=XXXXXXX.)
  256. *
  257. *
  258. * THE FOLLOWING MESSAGES ARE INFORMATIVE MESSAGES AND ARE
  259. * NOT FATAL.
  260. *
  261. * CLDT COMPLETE.
  262. * SIGNIFICANCE - SELF-EXPLANATORY.
  263. * ACTION - NONE.
  264. *
  265. * CLDT - DUPLICATE LID ON NLID STATEMENT.
  266. * SIGNIFICANCE - SELF-EXPLANATORY.
  267. * ACTION - DELETE THE DUPLICATE *NPID* ENTRIES.
  268. *
  269. * CLDT - ERROR IN THE FOLLOWING STATEMENT.
  270. * SIGNIFICANCE - SELF-EXPLANATORY.
  271. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING
  272. * DAYFILE MESSAGES.
  273. *
  274. * CLDT - LID KEYWORD NOT SPECIFIED.
  275. * SIGNIFICANCE - SELF-EXPLANATORY.
  276. * ACTION - SPECIFY *LID=XXX* ON THE *NLID* STATEMENT.
  277. *
  278. * CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS IN LID.
  279. * SIGNIFICANCE - SELF-EXPLANATORY.
  280. * ACTION - MAKE SURE EXACTLY THREE CHARACTERS ARE SPECIFIED
  281. * FOR THE LID. THE THREE CHARACTERS MUST BE
  282. * ALPHANUMERIC.
  283. *
  284. * CLDT - VALID OPTIONS FOR *AT* ARE LOOPB/STOREF/VALID
  285. * NVALID/NLIST.
  286. * SIGNIFICANCE - SELF-EXPLANATORY.
  287. * ACTION - MAKE SURE ONLY LOOPB OR STOREF OR VALID OR
  288. * NVALID OR NLIST ARE SPECIFIED FOR THE
  289. * *AT* KEYWORD.
  290. *
  291. * CLDT - ONLY YES OR NO ALLOWED ON ENABLED KEYWORD.
  292. * SIGNIFICANCE - SELF-EXPLANATORY.
  293. * ACTION - MAKE SURE EITHER YES OR NO ARE SPECIFIED ON
  294. * THE ENABLED KEYWORD.
  295. * QUALIFICATION - THIS MESSAGE IS A FATAL MESSAGE
  296. * IF ISSUED IN REFERENCE TO A NPID
  297. * STATEMENT.
  298. *
  299. * CLDT - VALID KEYWORDS FOR NLID ARE LID, ENABLED AND AT.
  300. * SIGNIFICANCE - SELF-EXPLANATORY.
  301. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING
  302. * DAYFILE MESSAGES.
  303. *
  304. * CLDT - STATEMENT IGNORED.
  305. * SIGNIFICANCE - SELF-EXPLANATORY.
  306. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING
  307. * DAYFILE MESSAGES.
  308. *
  309. * CLDT - INCORRECT HOST LID ATTRIBUTE.
  310. * SIGNIFICANCE - LID ATTRIBUTES OF STOREF AND LOOPB WERE BOTH
  311. * SPECIFIED FOR A LID UNDER A HOST PID.
  312. * ACTION - DELETE AT LEAST ONE OF THESE ATTRIBUTES FROM THE
  313. * NLID STATEMENT.
  314. * NOTE - WHEN YOU ARE ON MAINFRAME A AND ARE CHECKING FOR
  315. * SYNTAX ERRORS OF A LID CONFIGURATION FILE INTENDED FOR
  316. * MAINFRAME B, THIS MESSAGE MAY NOT APPLY.
  317. *
  318. * CLDT - INCORRECT LINKED LID ATTRIBUTE.
  319. * SIGNIFICANCE - A LID ATTRIBUTE OF LOOPB WAS SPECIFIED
  320. * FOR A LID UNDER A LINKED PID.
  321. * ACTION - DELETE THE LOOPB ATTRIBUTE FROM THE NLID
  322. * STATEMENT.
  323. * NOTE - WHEN YOU ARE ON MAINFRAME A AND ARE CHECKING FOR
  324. * SYNTAX ERRORS OF A LID CONFIGURATION FILE INTENDED
  325. * FOR MAINFRAME B, THIS MESSAGE MAY NOT APPLY.
  326. *
  327. * CLDT - = MUST FOLLOW KEYWORD.
  328. * SIGNIFICANCE - SELF-EXPLANATORY.
  329. * ACTION - CORRECT THE ERROR AND RETRY.
  330. * QUALIFICATION - THIS MESSAGE IS A FATAL MESSAGE
  331. * IF ISSUED IN REFERENCE TO A NPID
  332. * STATEMENT.
  333. *
  334. * CLDT - VALID OPTION CAN ONLY BE SPECIFIED IF THE STOREF
  335. * OPTION IS SPECIFIED.
  336. * SIGNIFICANCE - SELF-EXPLANATORY.
  337. * ACTION - CORRECT THE NLID STATEMENT TO INCLUDE ATTRIBUTES
  338. * VALID AND STOREF.
  339. *
  340.  
  341.  
  342. *CASC DATA C* CLDT - IDLE SUBSYSTEMS RHF, NAM, AND SSF*
  343. *CASD DATA C* BEFORE ATTEMPTING CLDT.*
  344. *CLDA DATA C* CLDT COMPLETE.*
  345. *CLDB DATA C* CLDT ABORT.*
  346. *CLDC DATA C* CLDT ABORTED. SEE -A- DISPLAY.*
  347. *CLDD DATA C* CLDT - NO LID TABLE CREATED.*
  348. *CLEC DATA C* CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS*
  349. *CLED DATA C* IN LID.*
  350. *CLEE DATA C* CLDT - VALID KEYWORDS FOR NLID ARE *
  351. *CLEF DATA C* LID, ENABLED AND AT.*
  352. *CLEG DATA C* CLDT - VALID OPTIONS FOR *AT* ARE LOOPB/STOREF/*
  353. *CLEH DATA C* VALID/NVALID/NLIST.*
  354. *CLEI DATA C* CLDT - INCORRECT HOST LID ATTRIBUTE.*
  355. *CLEJ DATA C* CLDT - INCORRECT LINKED LID ATTRIBUTE.*
  356. *CLEK DATA C* CLDT - STATEMENT IGNORED.*
  357. *CLEL DATA C* CLDT - LID KEYWORD NOT SPECIFIED.*
  358. *CLEM DATA C* CLDT - DUPLICATE LID ON NLID STATEMENT.*
  359. *CLEN DATA C* CLDT - VALID OPTION CAN ONLY BE SPECIFIED*
  360. *CLEO DATA C* IF THE STOREF OPTION IS SPECIFIED.*
  361. *CLEU DATA C* CLDT - EXCEEDED MAXIMUM NUMBER OF LIDS/PID - XXX.*
  362. *CLTL DATA C* CLDT - NPID DIRECTIVE MUST BE PROCESSED BEFORE*
  363. *CLTM DATA C* A NLID DIRECTIVE.*
  364. *CFSF DATA C* CLDT - UNABLE TO GENERATE LID TABLE *
  365. *CFSG DATA C* NUMBER OF WORDS AVAILABLE FOR LID - XXX.*
  366. *CFSH DATA C* NUMBER OF WORDS NEEDED FOR LID - XXX.*
  367. *CFSI DATA C* CLDT - EXCEEDED MAXIMUM NUMBER OF PID-S - XXX.*
  368. *CFSJ DATA C* CLDT - UNRECOGNIZABLE DIRECTIVE.*
  369. *CPEE DATA C* CLDT - VALID KEYWORDS FOR NPID ARE *
  370. *CPEF DATA C* PID,MFTYPE,ENABLED,AT AND NETDIS.*
  371. *CPEG DATA C* CLDT - ERROR IN THE FOLLOWING STATEMENT.*
  372. *CPEH DATA C* CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS *
  373. * IN PID.*
  374. *CPEJ DATA C+ CLDT - VALID OPTIONS FOR *AT* ARE VALID/NVALID/+
  375. *CPEK DATA C* NLIST.*
  376. *CPEL DATA C* CLDT - NETDIS IS INCORRECT FOR HOST PID.*
  377. *CPEM DATA C* CLDT - VALID OPTIONS FOR NETDIS ARE *
  378. *CPEN DATA C* SSF, RHF AND NAM.*
  379. *CPEO DATA C* CLDT - = MUST FOLLOW KEYWORD.*
  380. *CPEP DATA C* CLDT - NO PID SPECIFIED ON NPID STATEMENT.*
  381. *CPEQ DATA C* CLDT - DUPLICATE PID ON NPID STATEMENT.*
  382. *CPER DATA C* CLDT - MAXIMUM OF 7 CHARACTERS ALLOWED ON MFTYPE.*
  383. *CPES DATA C* CLDT - NO MFTYPE SPECIFIED ON NPID STATEMENT.*
  384. *CPEZ DATA C* CLDT - ONLY YES OR NO ALLOWED ON ENABLED KEYWORD.*
  385. *PRSA DATA C* CLDT - FIRST STATEMENT NOT LIDCMXX.*
  386. *PRSB DATA C* CLDT - COMMAND ERROR.*
  387. *PRSC DATA C* CLDT - BUFFER TOO SMALL.*
  388. *PRSD DATA C* CLDT - FILE XXXXXXX NOT FOUND.*
  389. *PTLD DATA C* CLDT - INCORRECT CHARACTER IN DIRECTIVE.*
  390. *PTLE DATA C* CLDT - A SEPARATOR MUST FOLLOW NLID OR NPID.*
  391. SPACE 4,10
  392. ** LID TABLE.
  393. *
  394. *T, LTW0 12/LENH,36/RFU,12/NO-PID
  395. *T,1 LTW1 18/PID,1/H,1/E,1/V,1/N,4/RFU,10/RFI,12/RFU,4/SF,
  396. * 4/RH,4/NP
  397. *T,2 LTW2 42/MF,6/RFU,12/NEXT-PID
  398. *T,3 LTW3 12/RFI,36/RFU,12/NO-LID
  399. *T,4 LTW4 18/LID,6/0,1/E,1/S,1/V,1/B,1/N,7/RFU,6/RFI,18/RFU
  400. * .
  401. * .
  402. * .
  403. *T,I LTWI REPEAT LTW4 FOR ADDITIONAL LID-S.
  404. *
  405. *T,N+1 LTWN+1 REPEAT LTW1 - LTWI FOR NEXT PID
  406. * .
  407. * .
  408. * .
  409. *
  410. *
  411. * WORD 0.
  412. *
  413. * LENH 59-48 LENGTH OF LID TABLE IN CM WORDS.
  414. * RFU 47-12 RESERVED FOR CDC.
  415. * NO-PID 11-0 NUMBER OF PID-S.
  416. *
  417. * WORD 1.
  418. *
  419. * PID 59-42 PHYSICAL ID.
  420. * H 41 HOST = 1, LINK = 0.
  421. * E 40 ENABLED.
  422. * V 39 PRE-VALIDATION.
  423. * N 38 NO-LIST.
  424. * RFU 37-34 RESERVED FOR CDC.
  425. * RFI 33-24 RESERVED FOR INSTALLATION.
  426. * RFU 23-12 RESERVED FOR CDC.
  427. * SF 11-8 SSF - SCOPE 2 STATION FACILITY.
  428. * RH 7-4 RHF - REMOTE HOST STATUS.
  429. * NP 3-0 NHP - NETWORK HOST PRODUCTS STATUS.
  430. *
  431. * (1) NETWORK STATUS CODES.
  432. * 0 - NETWORK NOT AVAILABLE.
  433. * 1 - PATHS TO PID IN SERVICE.
  434. * 2 - ALL PATHS TO PID OUT OF SERVICE.
  435. * 3-7 - RESERVED FOR CDC.
  436. * 10 - PATHS TO PID DISABLED BY OPERATOR.
  437. * NETWORK NOT AVAILABLE.
  438. * 11 - PATHS TO PID DISABLED BY OPERATOR.
  439. * PATHS TO PID IN SERVICE
  440. * 12 - PATHS TO PID DISABLED BY OPERATOR.
  441. * ALL PATHS TO PID OUT OF SERVICE.
  442. *
  443. * WORD 2.
  444. *
  445. * MF 59-18 MAINFRAME DESCRIPTION.
  446. * RFU 17-12 RESERVED OF CDC.
  447. * NEXT-PID 11-0 NEXT PID OFFSET ADDRESS.
  448. *
  449. * WORD 3.
  450. *
  451. * RFI 59-48 RESERVED FOR INSTALLATION.
  452. * RFU 47-12 RESERVED FOR CDC.
  453. * NO-LID 11-0 NUMBER OF LID SLOTS FOR THIS PID.
  454. *
  455. * WORD 4.
  456. *
  457. * LID 59-42 FIRST - LID.
  458. * ZERO 41-36 RESERVED FOR CDC.
  459. * E 35 ENABLED FLAG FOR LID.
  460. * S 34 STORE AND FORWARD MAINFRAME FOR LID.
  461. * V 33 LID VALIDATION ATTRIBUTE.
  462. * B 32 LOOP BACK FLAG FOR LID.
  463. * N 31 LID NOLIST ATTRIBUTE.
  464. * RFU 30-24 RESERVED FOR CDC.
  465. * RFI 23-18 RESERVED FOR INSTALLATION.
  466. * RFU 17-0 RESERVED FOR CDC.
  467. SPACE 4,10
  468. * COMMON DECKS.
  469.  
  470.  
  471. *CALL COMCMAC
  472. *CALL COMCCMD
  473. *CALL COMSPFM
  474. *CALL COMSSCD
  475. *CALL COMSSFM
  476. *CALL COMSSSD
  477. *CALL COMSSSJ
  478. BASE D
  479. SPACE 4,10
  480. * MACRO DEFINITIONS.
  481.  
  482. ** FIELD - DEFINE FIELDS.
  483. * TAGS ARE GENERATED TO GIVE THE WORD LOCATION, BIT
  484. * LOCATION, AND NUMBER OF BITS IN FIELD.
  485. *
  486. * ENTRY TAG FIELD WP,LB,RB
  487. * TAG = NAME OF FIELD (1-6 LEGAL COMPASS CHARACTERS)
  488. * = *, USE CURRENT VALUE OF PSEUDO ORG COUNTER ORLOC1$
  489. * WP = RELATIVE WORD POSITION IN A TABLE.
  490. * LB = LEFT-MOST BIT POSITION WITHIN A WORD (BIT 59 BEING
  491. * SIGN BIT).
  492. * RB = RIGHT-MOST BIT POSITION WITHIN A WORD.
  493. *
  494. * EXIT TAGW = WORD LOCATION OF FIELD.
  495. * TAGS = LEFT BIT POSITION OF FIELD.
  496. * TAGN = NUMBER OF BITS IN FIELD.
  497.  
  498.  
  499. PURGMAC FIELD
  500.  
  501. MACRO FIELD,TAG,WP,LB,RB
  502. IFC NE,/WP//,4
  503. IFC EQ,/WP/*/,2
  504. _TAG_W EQU ORLOC1$
  505. SKIP 1
  506. _TAG_W EQU WP
  507. _TAG_S EQU LB
  508. _TAG_N EQU LB-RB+1
  509. ENDM
  510. SPACE 4,10
  511. * LID TABLE (LDT) FIELD DEFINITIONS.
  512.  
  513.  
  514. LNTH FIELD 0,59,48 LID TABLE LENGTH
  515. LRF0 FIELD 0,47,12 RESERVED FOR CDC
  516. LILK FIELD 0,11,0 NUMBER OF PID-S
  517.  
  518. LPID FIELD 1,59,42 PID
  519. LHST FIELD 1,41,41 1 IF HOST, 0 IF LINK
  520. LENA FIELD 1,40,40 1 IF ENABLED
  521. LVAD FIELD 1,39,39 1 IF PRE-VALIDATION REQUIRED
  522. LNST FIELD 1,38,38 1 IF NOT TO LIST PID
  523. LRF1 FIELD 1,37,34 RESERVED FOR CDC
  524. LRFI FIELD 1,33,24 RESERVED FOR INSTALLATION
  525. LRF2 FIELD 1,23,12 RESERVED FOR CDC
  526. LSFS FIELD 1,11,8 SSF - SCOPE 2 STATION FACILITY STATUS
  527. LRHS FIELD 1,7,4 RHF - REMOTE HOST FACILITY STATUS
  528. LNPS FIELD 1,3,0 NHP - NETWORK HOST PRODUCTS STATUS
  529.  
  530. LMFD FIELD 2,59,18 MAINFRAME DESCRIPTION
  531. LRF3 FIELD 2,17,12 RESERVED FOR CDC
  532. LNPD FIELD 2,11,0 NEXT PID OFFSET ADDRESS
  533.  
  534. LRI3 FIELD 3,59,48 RESERVED FOR INSTALLATION
  535. LRF4 FIELD 3,47,12 RESERVED FOR CDC
  536. LNLD FIELD 3,11,0 NUMBER OF LID SLOTS FOR THIS PID
  537.  
  538. LLD1 FIELD 4,59,42 FIRST LID
  539. LRF5 FIELD 4,41,36 RESERVED FOR CDC
  540. LLEN FIELD 4,35,35 1 IF ENABLED LID
  541. LSTF FIELD 4,34,34 1 IF STORE AND FORWARD
  542. LLVA FIELD 4,33,33 1 IF PRE-VALIDATION REQUIRED
  543. LLBK FIELD 4,32,32 1 IF LOOP BACK
  544. LNLS FIELD 4,31,31 1 IF NOLIST ATTRIBUTE
  545. LRF6 FIELD 4,30,24 RESERVED FOR CDC
  546. LRI4 FIELD 4,23,18 RESERVED FOR INSTALLATION
  547. LRF7 FIELD 4,17,0 RESERVED FOR CDC
  548. SPACE 4
  549. QUAL$ EQU 0
  550. BASE D
  551. TITLE DEFINITIONS.
  552. **** ASSEMBLY CONSTANTS.
  553.  
  554. IBUFL EQU 400 BUFFER LENGTH
  555. SSJ= EQU 400000B SSJ= ENTRY POINT
  556. UBUFL EQU 220 UNPACK BUFFER LENGTH
  557. WBUFL EQU 22 WORKING BUFFER LENGTH
  558. ****
  559. SPACE 4,10
  560. ORG 200B
  561. FWA BSS 0
  562. SPACE 4,10
  563. * FET DEFINITIONS.
  564.  
  565. I BSS 0 LID CONFIGURATION FILE
  566. LIDCM FILEC IBUF,IBUFL,(FET=13D)
  567. SPACE 4
  568. * GLOBAL VARIABLES.
  569.  
  570. DSSQ CON 0 DEADSTART SEQUENCE FLAG (0 IF DEADSTART)
  571. FERF CON 0 FATAL ERROR FLAG
  572. FS CON 0 FREE SPACE FOR EACH PID
  573. FSR CON 0 REMAINDER OF FREE SPACE
  574. HOST CON 0 ZERO IF NO HOST PID SPECIFIED
  575. HOSTFLG VFD 60/1 ZERO IF HOST MAINFRAME
  576. HOSTPID VFD 60/0LM HOST MAINFRAME PID
  577. JORG CON 0 JOB ORIGIN FLAG (0 IF SYSTEM ORIGIN)
  578. LIDD VFD 24/0,1/1,35/0 LID DEFAULT VALUE (ENABLED)
  579. LIDL CON 0 LID TABLE LENGTH
  580. PIDD VFD 18/0,1/0,1/1,28/0,4/0,4/0,4/0
  581. * (ENABLED AND NOT VALIDATE)
  582. TITLE MAIN PROGRAM.
  583. ** CLDT - CREATE LID TABLE.
  584. *
  585. * EXIT LID TABLE GENERATED IF NO FATAL ERRORS ENCOUNTERED
  586. * IN THE FILE AND CALLED BY A SYSTEM ORIGIN JOB.
  587. * IF CALLED BY A NON-SYSTEM ORIGIN JOB, THE LID
  588. * CONFIGURATION FILE IS VERIFIED AND NO LID TABLE
  589. * IS CREATED.
  590. *
  591. * USES X - 2.
  592. * A - 2.
  593. *
  594. * CALLS CAS, CFS, CLT, PRS, PSE.
  595. *
  596. * MACROS ABORT, ENDRUN, FLASH, MESSAGE, RETURN, SETPIDI.
  597. *
  598. * NOTE FATAL *CLDT* ERRORS ENCOUNTERED DURING A LEVEL ZERO
  599. * DEADSTART WILL NOT CAUSE *CLDT* TO ABORT. THIS ERROR
  600. * EXIT PROCESSING IS TO ENSURE THAT SUBSEQUENT *ISF*
  601. * PROCESSING (INITIATED BY *MSM*) WILL OCCUR REGARDLESS
  602. * *CLDT* ERRORS. NO LID TABLE IS CREATED IF FATAL
  603. * ERRORS ARE ENCOUNTERED.
  604.  
  605. CLDT BSS 0 ENTRY
  606. RJ PRS PRESET
  607. RJ CFS CALCULATE FREE SPACE
  608. RJ CLT CREATE LID TABLE
  609. SA2 FERF
  610. NZ X2,CLD3 IF FATAL ERROR ENCOUNTERED
  611. SA2 JORG
  612. NZ X2,CLD1 IF NON-SYSTEM ORIGIN USER
  613. RJ CAS CHECK ACTIVE SUBSYSTEMS
  614. SETPIDI LIDT GENERATE LID TABLE
  615. EQ CLD2 * CLDT COMPLETE.*
  616.  
  617. CLD1 MESSAGE CLDD * CLDT - NO LID TABLE CREATED.*
  618. CLD2 MESSAGE CLDA * CLDT COMPLETE.*
  619. EQ CLD5 EXIT
  620.  
  621. CLD3 MESSAGE CLDB * CLDT ABORT.*
  622. SA2 DSSQ
  623. ZR X2,CLD4 IF DEADSTART SEQUENCE
  624. RETURN I,R RETURN LID CONFIGURATION FILE
  625. ABORT
  626.  
  627. CLD4 MESSAGE CLDC,1 * CLDT ABORTED. SEE -A- DISPLAY.*
  628. FLASH INTENSIFY MESSAGE ON CONSOLE
  629. RJ PSE PAUSE FOR OPERATOR GO/DROP
  630. CLD5 RETURN I,R RETURN LID CONFIGURATION FILE
  631. ENDRUN CLDT
  632.  
  633.  
  634. CLDA DATA C* CLDT COMPLETE.*
  635. CLDB DATA C* CLDT ABORT.*
  636. CLDC DATA C* CLDT ABORTED. SEE -A- DISPLAY.*
  637. CLDD DATA C* CLDT - NO LID TABLE CREATED.*
  638. CAS TITLE SUBROUTINES.
  639. ** CAS - CHECK ACTIVE SUBSYSTEMS.
  640. *
  641. * EXIT AN ERROR MESSAGE IS ISSUED IF ANY OF THREE SUBSYSTEMS
  642. * ARE ACTIVE AT A CONTROL POINT (RHF, NAM, OR SSF).
  643. * TO *CLD3* IF ANY OR ALL OF THE ABOVE SUBSYSTEMS ARE
  644. * CURRENTLY ACTIVE.
  645. *
  646. * USES X - 0, 1, 2, 6.
  647. * A - 1, 2, 6.
  648. * B - 2, 3, 4.
  649. *
  650. * MACROS MESSAGE, SYSTEM.
  651.  
  652.  
  653. CAS SUBR ENTRY/EXIT
  654.  
  655. * GET *SSCP* TABLE POINTER.
  656.  
  657. SYSTEM RSB,R,CASA GET *SSCP*
  658.  
  659. SA1 CASA+1 *SSC* POINTER
  660. MX0 24
  661. LX0 -24
  662. BX1 X0*X1 *SSC*
  663. LX1 6
  664. SX2 SSCTL
  665. LX2 18
  666. IX1 X2+X1 TO GET WORD FOR RHF SSC
  667. SA2 CASB
  668. BX6 X2+X1 ADD ADDRESS OF SSC FOR RSB CALL
  669. SA6 CASB
  670.  
  671. * GET *SSC* SUBSYSTEM CONTROL POINT TABLE.
  672.  
  673. SYSTEM RSB,R,CASB GET *SSC*
  674.  
  675. SB4 3-1 SET NUMBER OF SUBSYSTEMS TO CHECK -1
  676. SB2 MXSI-RFSI SET RHF ID
  677. CAS1 MX0 12
  678. SX2 CASB+1
  679. SB3 5 SET NUMBER OF BYTES IN WORD
  680. CAS2 ZR B2,CAS3 IF SUBSYSTEM ASSIGNMENT FOUND
  681. SB2 B2-B1
  682. LX0 -12
  683. SB3 B3-B1
  684. NZ B3,CAS2 IF MORE BYTES IN WORD TO CHECK
  685. SX2 X2+B1 CHECK NEXT WORD
  686. SB3 5 SET NUMBER OF BYTES IN WORD
  687. EQ CAS2 CONTINUE SUBSYSTEM SEARCH
  688.  
  689. CAS3 SA1 X2
  690. BX1 X0*X1 GET EJT ORDINAL ASSIGNED TO SUBSYSTEM
  691. NZ X1,CAS4 IF SUBSYSTEM IS ASSIGNED
  692. ZR B4,CASX IF DONE CHECKING SUBSYSTEMS
  693. SB4 B4-B1
  694. SB2 MXSI-NMSI SET NAM ID
  695. EQ B4,B1,CAS1 IF CHECKING NAM ACTIVITY
  696. SB2 MXSI-SSSI
  697. EQ CAS1 CHECK FOR SSF ACTIVITY
  698.  
  699.  
  700. CAS4 MESSAGE CASC * CLDT - IDLE SUBSYSTEMS RHF, NAM AND SSF*
  701. MESSAGE CASD * BEFORE ATTEMPTING CLDT.*
  702. EQ CLD3 * CLDT ABORT.*
  703.  
  704. CASA VFD 12/0,12/1,18/SSCP,18/CASA+1
  705. CON -1
  706. CASB VFD 12/0,12/SSCTL,18/0,18/CASB+1
  707. CON -1
  708. BSSZ SSCTL-1
  709. CASC DATA C* CLDT - IDLE SUBSYSTEMS RHF, NAM, AND SSF*
  710. CASD DATA C* BEFORE ATTEMPTING CLDT.*
  711. CLE SPACE 4,15
  712. ** CLE - CREATE LID ENTRY.
  713. *
  714. * ENTRY (CLTB) = CURRENT LID POINTER.
  715. * (CLTD) = CURRENT FWA OF PID.
  716. *
  717. * EXIT (CLTB) = CURRENT LID POINTER.
  718. * (CLTE) = NUMBER OF LID FOR PID.
  719. *
  720. * USES X - 0, 1, 2, 3, 4, 5, 6, 7.
  721. * A - 1, 2, 6, 7.
  722. * B - 1, 2, 3.
  723. *
  724. * MACRO MESSAGE.
  725.  
  726.  
  727. CLE SUBR ENTRY/EXIT
  728. SA1 UBUF GET UNPACK BUFFER
  729. BX7 X7-X7 INITIAL LID ENTRY
  730. SA2 LIDD LID DEFAULT VALUE, ENABLED
  731. BX6 X2
  732. SA7 CLEQ CLEAR *LID* SPECIFIED FLAG
  733. SA7 CLER CLEAR LOOPB SPECIFIED FLAG
  734. SA7 CLES CLEAR STOREF SPECIFIED FLAG
  735. SA7 CLEP CLEAR VALID SPECIFIED FLAG
  736. CLE1 MX0 42
  737. SA1 A1+B1 GET KEYWORD
  738. SA2 CLEA GET KEYWORD TABLE
  739. ZR X1,CLE18 IF DONE PROCESSING
  740. CLE2 ZR X2,CLE23 IF NO MATCH FOUND
  741. BX3 X1-X2
  742. BX4 X0*X3
  743. ZR X4,CLE3 IF KEYWORD MATCH
  744. SA2 A2+1
  745. EQ CLE2 TRY NEXT WORD
  746.  
  747. CLE3 SB3 X2 GET ADDRESS OF PROCESSOR
  748. SX3 1R=
  749. BX2 X1-X3
  750. BX4 -X0*X2
  751. NZ X4,CLE21 IF SEPARATOR NOT *=*
  752. SA1 A1+B1
  753. JP B3 PROCESS RESPECTIVE KEYWORD
  754.  
  755. * PROCESS *LID* KEYWORD.
  756.  
  757. CLE4 MX0 18
  758. SA2 CLEQ GET *LID* KEYWORD FLAG
  759. BX3 X0*X1
  760. ZR X3,CLE22 IF NO *LID* SPECIFIED
  761. NZ X2,CLE20 IF *LID* ALREADY SPECIFIED
  762. LX0 -18
  763. BX7 X0*X1
  764. NZ X7,CLE22 IF LID HAS MORE THAN 3 CHARACTERS
  765. LX0 6
  766. BX7 X0*X1
  767. ZR X7,CLE22 IF LID HAS LESS THAN 3 CHARACTERS
  768. BX7 X3
  769. MX0 6
  770. SB2 3
  771. CLE5 BX2 X7*X0
  772. LX2 6
  773. ZR X2,CLE22 IF CHARACTER EQUALS A COLON
  774. NG X2,CLE22 IF CHARACTER IS NOT ALPHANUMERIC
  775. SX2 X2-1R9-1
  776. PL X2,CLE22 IF CHARACTER IS NOT ALPHANUMERIC
  777. LX7 6
  778. SB2 B2-B1
  779. NZ B2,CLE5 IF THERE ARE MORE CHARACTERS TO CHECK
  780. SA2 CLTE GET NUMBER OF LID-S
  781. SB3 X2+
  782. CLE6 SA4 B3+CLET-1 CHECK FOR DUPLICATE LID-S
  783. BX7 X3-X4
  784. SB3 B3-B1
  785. ZR X7,CLE20 IF DUPLICATE LID
  786. GT B3,CLE6 IF MORE LID-S TO CHECK
  787. BX7 X3
  788. BX6 X3+X6
  789. SA7 X2+CLET ADD NEW LID
  790. SA6 CLEQ INDICATE *LID* SPECIFIED
  791. EQ CLE1 PROCESS NEXT KEYWORD
  792.  
  793. * PROCESS *ENABLED* KEYWORD.
  794.  
  795. CLE7 SX3 3RYES
  796. LX3 -18
  797. BX7 X1-X3
  798. BX7 X0*X7
  799. ZR X7,CLE1 IF *YES*
  800. SX3 2RNO
  801. LX3 -12
  802. BX7 X1-X3
  803. BX7 X0*X7
  804. NZ X7,CLE24 IF INCORRECT KEYWORD
  805. SX3 B1
  806. LX3 LLENS-0
  807. BX6 -X3*X6
  808. EQ CLE1 PROCESS NEXT KEYWORD
  809.  
  810. * PROCESS *AT* KEYWORD.
  811.  
  812. CLE8 SA2 CLEB GET *AT* KEYWORD TABLE
  813. CLE9 BX3 X1-X2
  814. BX4 X0*X3
  815. ZR X4,CLE10 IF AT KEYWORD MATCH
  816. SA2 A2+1
  817. NZ X2,CLE9 IF NOT END OF TABLE
  818. EQ CLE25 UNRECOGNIZED KEYWORD
  819.  
  820. CLE10 SX7 B1
  821. SB3 X2
  822. JP B3 PROCESS RESPECTIVE KEYWORD
  823.  
  824. * PROCESS *LOOPB* KEYWORD.
  825.  
  826. CLE11 SA2 HOSTFLG CHECK FOR HOST
  827. NZ X2,CLE28 IF LINKED, ISSUE ERROR MESSAGE
  828. SA2 CLES CHECK FOR STOREF
  829. NZ X2,CLE29 IF STOREF ALREADY SET
  830. BX5 X6 SAVE X6 VALUE
  831. SX6 B1
  832. SA6 CLER SET LOOPB
  833. LX7 LLBKS-0 ADD LOOP BACK FLAG
  834. BX6 X5 RESTORE X6 VALUE
  835. BX6 X6+X7
  836. EQ CLE17 CONTINUE WITH NEXT KEYWORD
  837.  
  838. * PROCESS *STOREF* KEYWORD.
  839.  
  840. CLE12 SA2 HOSTFLG CHECK FOR HOST
  841. NZ X2,CLE13 IF LINKED CONTINUE
  842. SA2 CLER CHECK FOR LOOPB
  843. NZ X2,CLE29 IF LOOPB ALREADY SET
  844. CLE13 BX5 X6 SAVE X6 VALUE
  845. SX6 B1
  846. SA6 CLES SET STOREF OPTION
  847. LX7 LSTFS-0 ADD STORE FORWARD FLAG
  848. BX6 X5 RESTORE X6 VALUE
  849. BX6 X6+X7
  850. EQ CLE17 CONTINUE WITH NEXT KEYWORD
  851.  
  852. * PROCESS *VALID* KEYWORD.
  853.  
  854. CLE14 LX7 LLVAS-0 ADD VALIDATION FLAG
  855. BX6 X6+X7
  856. SA6 CLEP SET VALID OPTION SPECIFIED
  857. EQ CLE17 CONTINUE WITH NEXT KEYWORD
  858.  
  859. * PROCESS *NVALID* KEYWORD.
  860.  
  861. CLE15 LX7 LLVAS-0 DELETE VALIDATION FLAG
  862. BX6 -X7*X6
  863. BX7 X7-X7
  864. SA7 CLEP CLEAR VALID OPTION SPECIFIED
  865. EQ CLE17 CONTINUE WITH NEXT KEYWORD
  866.  
  867. * PROCESS *NLIST* KEYWORD.
  868.  
  869. CLE16 LX7 LNLSS-0 ADD NO LIST FLAG
  870. BX6 X6+X7
  871. EQ CLE17 CONTINUE WITH NEXT KEYWORD
  872.  
  873. * *AT* KEYWORD POST-PROCESSOR.
  874.  
  875. CLE17 SX5 1R/
  876. SX4 X1
  877. BX7 X5-X4
  878. NZ X7,CLE1 IF NOT */*
  879. SA1 A1+B1
  880. MX0 42
  881. EQ CLE8 PROCESS NEXT *AT* KEYWORD
  882.  
  883. * DONE PROCESSING KEYWORDS.
  884.  
  885. CLE18 SA2 CLEQ *LID* KEYWORD SPECIFIED FLAG
  886. SA3 CLTB
  887. ZR X2,CLE27 IF *LID* KEYWORD NOT SPECIFIED
  888. SA2 CLEP *VALID* OPTION SPECIFIED
  889. ZR X2,CLE19 IF *VALID* OPTION NOT SPECIFIED
  890. SA2 CLES *STOREF* OPTION SPECIFIED
  891. ZR X2,CLE30 IF *STOREF* OPTION NOT SPECIFIED
  892. CLE19 SX7 X3+B1 INCREMENT LID POINTER BY 1
  893. SA2 CLTE CHECK NUMBER OF LID-S IN THIS PID SO FAR
  894. SB3 X2-MXLID
  895. ZR B3,CLE31 IF TOO MANY LIDS FOR THIS PID
  896. SA7 A3
  897. SA6 X3 ADD NEW LID
  898. SX7 X2+B1 INCREMENT NUMBER OF LID-S
  899. SA7 A2
  900. EQ CLEX RETURN
  901.  
  902. * DUPLICATE LID-S.
  903.  
  904. CLE20 MESSAGE CLEM *DUPLICATE LID ON THE NLID STATEMENT.*
  905. EQ CLE26 ISSUE ERROR MESSAGE
  906.  
  907. * SEPARATOR NOT *=*.
  908.  
  909. CLE21 MESSAGE CPEO *CLDT = MUST FOLLOW KEYWORD*
  910. EQ CLE26 ISSUE ERROR MESSAGE
  911.  
  912. * INCORRECT LID.
  913.  
  914. CLE22 MESSAGE CLEC *SPECIFY EXACTLY 3 CHARACTERS*
  915. MESSAGE CLED *IN LID.*
  916. EQ CLE26 ISSUE ERROR MESSAGE
  917.  
  918. * INCORRECT KEYWORD.
  919.  
  920. CLE23 MESSAGE CLEE * CLDT - VALID KEYWORDS FOR NLID ARE*
  921. MESSAGE CLEF * LID, ENABLED AND AT*
  922. EQ CLE26 ISSUE ERROR MESSAGE
  923.  
  924. * INCORRECT *ENABLED* PARAMETER.
  925.  
  926. CLE24 MESSAGE CPEZ *ONLY YES/NO ALLOWED ON ENABLED KEYWORD*
  927. EQ CLE26 ISSUE ERROR MESSAGE
  928.  
  929. * INCORRECT *AT* PARAMETER.
  930.  
  931. CLE25 MESSAGE CLEG *CLDT - VALID OPTIONS FOR *AT* ARE LOOPB/
  932. MESSAGE CLEH STOREF/VALID/NVALID/NLIST.*
  933.  
  934. CLE26 MESSAGE CPEG *ERROR IN THE FOLLOWING STATEMENT*
  935. MESSAGE WBUF
  936. MESSAGE CLEK *STATEMENT IGNORED.*
  937. EQ CLEX RETURN
  938.  
  939. * *LID* KEYWORD NOT SPECIFIED.
  940.  
  941. CLE27 MESSAGE CLEL *NO LID SPECIFIED ON NLID STATEMENT.*
  942. EQ CLE26 ISSUE ERROR MESSAGE
  943.  
  944. * INCORRECT LINKED *LID* ATTRIBUTE.
  945.  
  946. CLE28 MESSAGE CLEJ * CLDT - INCORRECT LINKED LID ATTRIBUTE.*
  947. EQ CLE26 ISSUE ERROR MESSAGE
  948.  
  949. * INCORRECT HOST *LID* ATTRIBUTE.
  950.  
  951. CLE29 MESSAGE CLEI * CLDT - INCORRECT HOST LID ATTRIBUTE.*
  952. EQ CLE26 ISSUE ERROR MESSAGE
  953.  
  954. * *VALID* OPTION SPECIFIED BUT NOT *STOREF* OPTION.
  955.  
  956. CLE30 MESSAGE CLEN * VALID OPTION CAN ONLY BE SPECIFIED*
  957. MESSAGE CLEO * IF THE STOREF OPTION IS SPECIFIED.*
  958. EQ CLE26 ISSUE ERROR MESSAGE
  959.  
  960. CLE31 MESSAGE CLEU * EXCEEDED MAXIMUM NUMBER OF LIDS/PID... *
  961. EQ CLE26 ISSUE ERROR MESSAGE
  962.  
  963. * *NLID* KEYWORD TABLE.
  964.  
  965. CLEA VFD 42/3LLID,18/CLE4 *LID*
  966. VFD 42/7LENABLED,18/CLE7 *ENABLED*
  967. VFD 42/2LAT,18/CLE8 *AT*
  968. VFD 60/0
  969.  
  970. * *AT* KEYWORD TABLE.
  971.  
  972. CLEB VFD 42/5LLOOPB,18/CLE11 *LOOPB*
  973. VFD 42/6LSTOREF,18/CLE12 *STOREF*
  974. VFD 42/0LVALID,18/CLE14 *VALID*
  975. VFD 42/0LNVALID,18/CLE15 *NVALID*
  976. VFD 42/0LNLIST,18/CLE16 *NLIST*
  977. VFD 60/0
  978.  
  979. CLEC DATA C* CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS*
  980. CLED DATA C* IN LID.*
  981. CLEE DATA C* CLDT - VALID KEYWORDS FOR NLID ARE *
  982. CLEF DATA C* LID, ENABLED AND AT.*
  983. CLEG DATA C+ CLDT - VALID OPTIONS FOR *AT* ARE LOOPB/STOREF/+
  984. CLEH DATA C* VALID/NVALID/NLIST.*
  985. CLEI DATA C* CLDT - INCORRECT HOST LID ATTRIBUTE.*
  986. CLEJ DATA C* CLDT - INCORRECT LINKED LID ATTRIBUTE.*
  987. CLEK DATA C* CLDT - STATEMENT IGNORED.*
  988. CLEL DATA C* CLDT - LID KEYWORD NOT SPECIFIED.*
  989. CLEM DATA C* CLDT - DUPLICATE LID ON NLID STATEMENT.*
  990. CLEN DATA C* CLDT - VALID OPTION CAN ONLY BE SPECIFIED*
  991. MXLD DECMIC MXLID
  992. CLEU DATA C* CLDT - EXCEEDED MAXIMUM NUMBER OF LIDS/PID - "MXLD"
  993. ,.*
  994. CLEO DATA C* IF THE STOREF OPTION IS SPECIFIED.*
  995. CLEP BSSZ 1 NOT ZERO IF VALID OPTION SPECIFIED
  996. CLEQ BSSZ 1 ONE IF LID KEYWORD SPECIFIED
  997. CLER BSSZ 1 ONE IF LOOPB OPTION SPECIFIED
  998. CLES BSSZ 1 ONE IF STOREF OPTION SPECIFIED
  999. CLET BSSZ MXLID+1 LID TABLE
  1000. CLT SPACE 4,15
  1001. ** CLT - CREATE LID TABLE.
  1002. *
  1003. * ENTRY (FS) = FREE SPACE FOR EACH PID.
  1004. *
  1005. * EXIT LID TABLE CREATED.
  1006. *
  1007. * USES X - 0, 1, 2, 3, 4, 6, 7.
  1008. * A - 1, 2, 6, 7.
  1009. * B - 1, 3.
  1010. *
  1011. * CALLS CLE, CPE, PTL.
  1012. *
  1013. * MACROS READ, READC, REWIND.
  1014. *
  1015. * NOTE THE LID TABLE IS WRITTEN OVER THE OVERLAYABLE CODE.
  1016.  
  1017.  
  1018. CLT SUBR ENTRY/EXIT
  1019.  
  1020. * CLEAR THE OVERLAYABLE CODE FOR THE LDT.
  1021.  
  1022. SB3 LENGTH LENGTH OF AREA TO BE CLEARED
  1023. SX7 B0+
  1024. CLT0 SA7 LIDT+B3
  1025. SB3 B3-B1
  1026. GT B3,CLT0 IF MORE WORDS TO CLEAR
  1027. REWIND I REWIND LID CONFIGURATION FILE
  1028. READ X2 INITIAL READ
  1029. READC X2,WBUF,WBUFL SKIP ONE LINE
  1030. SX6 LIDT+2 FWA OF LID TABLE (EXCLUDING HEADER)
  1031. SA6 CLTB
  1032. CLT1 RJ PTL PROCESS NEXT LINE
  1033. NZ X6,CLT7 IF ERROR IN *PTL*
  1034. NZ X1,CLT8 IF EOR/EOF
  1035. SA1 UBUF GET FIRST WORD
  1036. SA2 CLTH FWA OF KEYWORD TABLE
  1037. MX0 42
  1038. CLT2 BX3 X1-X2
  1039. BX4 X0*X3
  1040. ZR X4,CLT3 IF KEYWORD MATCH
  1041. SA2 A2+1
  1042. ZR X2,CLT1 IF UNRECOGNIZED KEYWORD
  1043. EQ CLT2 TRY NEXT WORD
  1044.  
  1045. CLT3 SB3 X2+ GET KEYWORD PROCESSOR
  1046. JP B3 PROCESS KEYWORD
  1047.  
  1048. * PROCESS *COMMENT* STATEMENT.
  1049.  
  1050. CLT4 EQ CLT1 IGNORE COMMENT STATEMENT
  1051.  
  1052. * PROCESS *NPID* STATEMENT.
  1053.  
  1054. CLT5 RJ CPE CREATE PID ENTRY
  1055. SX6 B1
  1056. SA6 CLTK SET PID PROCESSED
  1057. EQ CLT1 READ NEXT STATEMENT
  1058.  
  1059. * PROCESS *NLID* STATEMENT.
  1060.  
  1061. CLT6 RJ CLE CREATE LID ENTRY
  1062. SA2 CLTK
  1063. NZ X2,CLT1 IF A PID HAS BEEN PROCESSED
  1064. MESSAGE CLTL * CLDT - NPID DIRECTIVE MUST BE PROCESSED*
  1065. MESSAGE CLTM * BEFORE A NLID DIRECTIVE.*
  1066. MESSAGE CPEG * ERROR IN THE FOLLOWING STATEMENT*
  1067. MESSAGE WBUF THE NLID STATEMENT
  1068. SX6 B1
  1069. SA6 FERF SET FATAL ERROR FLAG
  1070. EQ CLT1 READ NEXT STATEMENT
  1071.  
  1072. * PROCESS *PTL* ERROR.
  1073.  
  1074. CLT7 BX6 X6-X6
  1075. SA6 CFSK
  1076. ZR X1,CLT1 IF AN ERROR READ NEXT STATEMENT
  1077.  
  1078. * UPDATE NUMBER OF LID-S FOR THE LAST PID.
  1079.  
  1080. CLT8 SA2 HOST
  1081. NZ X2,CLT11 IF HOST PID IS SPECIFIED
  1082. SA2 HOSTPID
  1083. BX7 X2
  1084. SA7 CLTI+2 SET HOST PID IN DEFAULTS
  1085. SA2 CLTJ+2
  1086. BX7 X7-X2
  1087. SA7 CLTJ+2 SET HOST LID IN DEFAULTS
  1088. SB2 7
  1089. CLT9 SA2 CLTI+B2 GET HOST PID DEFAULTS
  1090. BX7 X2
  1091. SA7 UBUF+B2 FILL UBUF FOR *CPE* CALL
  1092. SB2 B2-B1
  1093. NZ B2,CLT9 IF NOT DONE FILLING UBUF
  1094. RJ CPE CREATE HOST PID
  1095. SB2 3
  1096. CLT10 SA2 CLTJ+B2 GET HOST LID DEFAULTS
  1097. BX7 X2
  1098. SA7 UBUF+B2 FILL UBUF FOR *CLE* CALL
  1099. SB2 B2-B1
  1100. NZ B2,CLT10 IF NOT DONE FILLING UBUF
  1101. RJ CLE CREATE HOST LID
  1102. CLT11 SX7 B1+ SET EOF
  1103. SA7 CLTG
  1104. SA1 CLTB GET CURRENT POINTER
  1105. SA2 LIDL GET LID TABLE LENGTH
  1106. SX2 X2+LIDT+1 LWA OF LID TABLE
  1107. IX7 X2-X1
  1108. SA7 FS
  1109. RJ CPE UPDATE LAST PID ENTRY
  1110. SA1 CLTD CLEAR *N-PID* OF THE LAST PID
  1111. SA2 X1+B1
  1112. MX0 60-LNPDN
  1113. BX7 X0*X2
  1114. SA7 A2
  1115.  
  1116. * GENERATE HEADER WORD OF LDT AND PARAMETER BLOCK.
  1117.  
  1118. SA1 CLTF GET NUMBER OF PID-S
  1119. SA2 LIDL GET LENGTH OF LID TABLE
  1120. SX6 X2 SET PARAMETER BLOCK LENGTH
  1121. LX2 LNTHS-LNTHN+1
  1122. BX7 X1+X2
  1123. SX2 B1 SET FET NOT BUSY
  1124. LX6 59-11
  1125. BX6 X6+X2 MERGE BLOCK LENGTH WITH FET FLAG
  1126. SA6 LIDT UPDATE LENGTH OF PARAMETER BLOCK
  1127. SA7 A6+B1 UPDATE FWA OF LID TABLE
  1128. EQ CLTX RETURN
  1129.  
  1130.  
  1131. CLTA BSSZ 1
  1132. CLTB BSSZ 1 NEXT AVAILABLE LID TABLE ENTRY
  1133. CLTD BSSZ 1 FWA OF CURRENT PID ENTRY
  1134. CLTE BSSZ 1 NUMBER OF LID-S FOR PID
  1135. CLTF BSSZ 1 NUMBER OF PID-S
  1136. CLTG BSSZ 1 1 IF EOF
  1137.  
  1138. * *LIDCM* KEYWORD TABLE.
  1139.  
  1140. CLTH VFD 42/4LNLID,18/CLT6
  1141. VFD 42/4LNPID,18/CLT5
  1142. VFD 42/7LCOMMENT,18/CLT4
  1143. BSSZ 1
  1144.  
  1145. * DEFAULTS FOR HOST PID AND HOST LID IF NOT SPECIFIED.
  1146.  
  1147. CLTI VFD 60/4LNPID NPID STATEMENT
  1148. VFD 18/3LPID,36/0,6/1R= PID= STATEMENT
  1149. VFD 60/0 HOST+MACHID PID
  1150. VFD 36/6LMFTYPE,18/0,6/1R= MFTYPE STATEMENT
  1151. VFD 60/7LNOSHOST NOSHOST DEFAULT
  1152. VFD 12/2LAT,42/0,6/1R=
  1153. VFD 60/5LVALID
  1154. BSSZ 1 ZERO WORD
  1155. CLTJ VFD 60/4LNLID NLID STATEMENT
  1156. VFD 18/3LLID,36/0,6/1R= LID= STATEMENT
  1157. VFD 60/1LA LID+MACHID LID
  1158. BSSZ 1 ZERO WORD
  1159. CLTK 1 IF PID PROCESSED
  1160. CLTL DATA C* CLDT - NPID DIRECTIVE MUST BE PROCESSED BEFORE*
  1161. CLTM DATA C* A NLID DIRECTIVE.*
  1162. CPE SPACE 4,20
  1163. ** CPE - CREATE PID ENTRY.
  1164. *
  1165. * ENTRY (CLTB) = LID TABLE POINTER (NEXT AVAILABLE WORD).
  1166. * (CLTD) = LAST PID ENTRY.
  1167. * (CLTE) = NUMBER OF LID-S FOR LAST PID.
  1168. * (CLTF) = NUMBER OF PID-S.
  1169. * (CLTG) = 1 IF EOF.
  1170. * (FS) = FREE SPACE FOR EACH PID.
  1171. *
  1172. * EXIT (CLTB) = NEXT AVAILABLE WORD.
  1173. * (CLTD) = FWA OF CURRENT PID.
  1174. * (CLTE) = 0.
  1175. * (CLTF) = NUMBER OF PID-S UPDATED.
  1176. * (CLET) = 0.
  1177. *
  1178. * USES X - 0, 1, 2, 3, 4, 6, 7.
  1179. * A - 1, 2, 3, 4, 6, 7.
  1180. * B - 3, 4, 7.
  1181. *
  1182. * CALLS SFN.
  1183. *
  1184. * MACROS MESSAGE.
  1185.  
  1186.  
  1187. CPE SUBR ENTRY/EXIT
  1188. SA1 CLTD GET FWA OF LAST PID ENTRY
  1189. ZR X1,CPE3 IF FIRST CALL
  1190. SA3 A1+B1 GET NUMBER OF LID-S FOR LAST PID
  1191. ERRNZ CLTE-CLTD-1 ADJUST IF WORDS NOT CONTIGUOUS
  1192. SA2 X1+B1 UPDATE NPID ENTRY
  1193. BX6 X3
  1194. BX7 X7-X7
  1195. SA4 FSR GET REMAINDER OF FREE SPACE
  1196. ZR X4,CPE1 IF NO REMAINDER OF FREE SPACE
  1197. SX7 X4-1
  1198. SA7 A4
  1199. SX7 B1
  1200. CPE1 SA4 CLTB UPDATE NEXT AVAILABLE LID TABLE ENTRY
  1201. SA3 FS
  1202. IX6 X6+X3 ADD FREE SPACE TO NUMBER OF LID-S
  1203. IX6 X6+X7 ADD REMAINDER FREE SPACE
  1204. SA6 A2+B1 SET NUMBER OF LID-S FOR THIS PID ENTRY
  1205. IX3 X3+X7
  1206. IX6 X4+X3
  1207. SA6 A4
  1208. SA6 CPEC
  1209. IX7 X6-X1 CALCULATE NEXT PID OFFSET
  1210. BX7 X2+X7
  1211. SA7 A2 ADD NPID
  1212. CPE3 SA3 CLTG CHECK EOF
  1213. SA1 CLTB GET NEXT AVAILABLE ENTRY
  1214. NZ X3,CPEX IF EOF
  1215. SX6 X1
  1216. SB7 X1
  1217. SA6 CLTD UPDATE FWA OF CURRENT PID ENTRY
  1218. SA3 PIDD DEFAULT VALUE FOR PID
  1219. SA1 UBUF GET FIRST PARAMETER
  1220. BX6 X3
  1221. BX7 X7-X7
  1222. SA7 CLTE CLEAR NUMBER OF LID-S
  1223. SA6 B7+ SET DEFAULT VALUE FOR PID
  1224. SA7 CLET CLEAR LID TABLE
  1225. SA7 CPET CLEAR *PID* EXISTENCE
  1226. SA7 CPEU CLEAR *MFTYPE* EXISTENCE
  1227. SA7 CPEV CLEAR *NETDIS* EXISTENCE
  1228. SA7 CPEW CLEAR *HOST* EXISTENCE
  1229. CPE4 MX0 42
  1230. SA1 A1+B1 GET KEYWORD
  1231. SA2 CPEA GET KEYWORD TABLE
  1232. ZR X1,CPE30 IF NO MORE KEYWORDS
  1233. CPE5 ZR X2,CPE31 IF NO MATCH FOUND
  1234. BX3 X1-X2
  1235. BX4 X0*X3
  1236. ZR X4,CPE6 IF KEYWORDS MATCH
  1237. SA2 A2+1
  1238. EQ CPE5 TRY NEXT ENTRY
  1239.  
  1240. CPE6 SB3 X2
  1241. SX3 1R=
  1242. BX2 X1-X3
  1243. BX4 -X0*X2
  1244. NZ X4,CPE37 IF SEPARATOR NOT *=*
  1245. SA1 A1+B1
  1246. JP B3 PROCESS RESPECTIVE KEYWORD
  1247.  
  1248. * PROCESS *PID* KEYWORD.
  1249.  
  1250. CPE7 MX0 18
  1251. SA2 CPET CHECK IF *PID* ALREADY SPECIFIED
  1252. BX6 X0*X1
  1253. ZR X6,CPE32 IF NO *PID* SPECIFIED
  1254. NZ X2,CPE39 IF *PID* ALREADY SPECIFIED
  1255. LX0 -18
  1256. BX7 X0*X1
  1257. NZ X7,CPE32 IF PID HAS MORE THAN THREE CHARACTERS
  1258. LX0 6
  1259. BX7 X0*X1
  1260. ZR X7,CPE32 IF PID HAS LESS THAN THREE CHARACTERS
  1261. BX7 X6
  1262. MX0 6
  1263. SB2 3
  1264. CPE8 BX2 X7*X0
  1265. LX2 6
  1266. ZR X2,CPE32 IF THE CHARACTER IS A COLON
  1267. NG X2,CPE32 IF THE CHARACTER IS NOT ALPHANUMERIC
  1268. SX2 X2-1R9-1
  1269. PL X2,CPE32 IF THE CHARACTER IS NOT ALPHANUMERIC
  1270. LX7 6
  1271. SB2 B2-B1
  1272. NZ B2,CPE8 IF THERE ARE MORE CHARACTERS TO CHECK
  1273. SA2 CLTF UPDATE NUMBER OF PID-S
  1274. ZR X2,CPE10 IF NUMBER OF PID-S EQUALS ZERO
  1275. SB3 X2
  1276. CPE9 SA3 B3+CPEY-1 CHECK FOR DUPLICATE PID-S
  1277. BX7 X3-X6
  1278. SB3 B3-B1
  1279. ZR X7,CPE39 IF DUPLICATE PID
  1280. GT B3,CPE9 IF MORE PID-S TO CHECK
  1281. CPE10 SA6 CPEY+X2 ADD NEW PID
  1282. SX7 X2+1
  1283. SA7 A2+
  1284. SA7 CPET SET FLAG TO INDICATE *PID* EXIST
  1285. SA2 HOSTPID CHECK FOR CURRENT HOST MAINFRAME
  1286. BX7 X2-X6
  1287. SA2 B7 CURRENT FWA OF PID ENTRY
  1288. SA7 HOSTFLG SET HOST PID FLAG (0 IF HOST MAINFRAME)
  1289. NZ X7,CPE11 IF NOT HOST
  1290. SX7 B1
  1291. SA7 HOST SET HOST PID SPECIFIED
  1292. SA7 CPEW SET HOST SPECIFIED
  1293. LX7 LHSTS-0 SET HOST FLAG IN PID ENTRY
  1294. BX6 X6+X7
  1295. LX7 LVADS-0-LHSTS+0 ADD VALIDATION FLAG
  1296. BX6 X6+X7
  1297. BX7 X7-X7 INDICATE HOST PID
  1298. SA3 CPEV
  1299. NZ X3,CPE35 IF HOST AND *NETDIS* SPECIFIED
  1300. CPE11 BX6 X6+X2
  1301. SA6 A2 ADD PID
  1302. SA2 CPEC CHECK IF *NETDIS* SPECIFIED
  1303. IX2 X2+X7
  1304. SA7 A2 HOST FLAG (0 IF HOST)
  1305. EQ CPE4 PROCESS NEXT KEYWORD
  1306.  
  1307. * PROCESS *ENABLED* KEYWORD.
  1308.  
  1309. CPE12 SX3 3RYES
  1310. LX3 -18
  1311. BX6 X1-X3
  1312. BX7 X0*X6
  1313. ZR X7,CPE4 IF *YES* PROCESS NEXT KEYWORD
  1314. SX3 2RNO
  1315. LX3 -12
  1316. BX6 X1-X3
  1317. BX7 X0*X6
  1318. NZ X7,CPE33 IF INCORRECT KEYWORD
  1319. SX6 B1
  1320. LX6 LENAS-0
  1321. SA2 B7 GET CURRENT FIRST WORD OF PID
  1322. BX6 -X6*X2 CLEAR ENABLED FLAG
  1323. SA6 A2
  1324. EQ CPE4 PROCESS NEXT KEYWORD
  1325.  
  1326. * PROCESS *MFTYPE*.
  1327.  
  1328. CPE13 BX6 X0*X1 GET MFTYPE
  1329. BX3 -X0*X1 CHECK EXCESS CHARACTERS
  1330. ZR X6,CPE40 IF NO MFTYPE SPECIFIED
  1331. AX3 6 ELIMINATE LAST CHARACTER
  1332. NZ X3,CPE40 IF MORE THAN 7 CHARACTERS
  1333. SX3 1R/
  1334. BX2 X1-X3
  1335. BX4 -X0*X2
  1336. BX1 X6
  1337. RJ SFN SPACE FILL MAINFRAME DESCRIPTION
  1338. BX6 X6*X0 CLEAR N-PID AREA
  1339. SA6 B7+LMFDW-1 PUT MFTYPE IN LDT
  1340. SX6 B1
  1341. SA6 CPEU SET FLAG TO INDICATE *MFTYPE* EXISTS
  1342. NZ X4,CPE4 IF SEPARATOR NOT */*
  1343.  
  1344. * PROCESS POSSIBLE *NOS/BE* TYPE MAINFRAME.
  1345.  
  1346. SX3 1R/
  1347. BX6 X1 RESET X6 TO *MFTYPE* ZERO FILLED
  1348. SB3 60-6
  1349. SB4 6
  1350. MX7 6
  1351. CPE14 BX4 X7*X6
  1352. ZR X4,CPE15 IF END OF CHARACTERS
  1353. LX6 X6,B4
  1354. SB3 B3-B4
  1355. EQ CPE14 CHECK NEXT CHARACTER
  1356.  
  1357. CPE15 LX6 X6,B4
  1358. BX6 X6+X3 ADD */*
  1359. SA1 A1+B1 GET NEXT WORD
  1360. SB4 B3-B1
  1361. MX0 1
  1362. AX0 X0,B4
  1363. BX0 X0*X1
  1364. BX6 X6+X1 ADD REMAINING CHARACTERS
  1365. LX6 X6,B3 SHIFT BACK
  1366. SA6 B7+B1
  1367. EQ CPE4 PROCESS NEXT KEYWORD
  1368.  
  1369. * PROCESS *AT* KEYWORD.
  1370.  
  1371. CPE16 SA2 CPEB GET *AT* KEYWORD TABLE
  1372. CPE17 BX3 X1-X2
  1373. BX4 X0*X3
  1374. ZR X4,CPE18 IF *AT* KEYWORD MATCH
  1375. SA2 A2+B1
  1376. NZ X2,CPE17 IF NOT END OF TABLE
  1377. EQ CPE34 UNRECOGNIZED KEYWORD
  1378.  
  1379. CPE18 SX5 1R/
  1380. SX6 X1
  1381. SA3 B7
  1382. SX7 B1
  1383. SB3 X2
  1384. JP B3 PROCESS RESPECTIVE *AT* KEYWORD
  1385.  
  1386. * PROCESS *NVALID* KEYWORD.
  1387.  
  1388. CPE19 LX7 LVADS-0
  1389. BX7 -X7*X3 CLEAR VALIDATE FLAG
  1390. SA7 B7+
  1391. EQ CPE22 CONTINUE WITH NEXT KEYWORD
  1392.  
  1393. * PROCESS *VALID* KEYWORD.
  1394.  
  1395. CPE20 LX7 LVADS-0
  1396. BX7 X3+X7 ADD VALIDATE FLAG
  1397. SA7 B7+
  1398. EQ CPE22 CONTINUE WITH NEXT KEYWORD
  1399.  
  1400. * PROCESS *NLIST* KEYWORD.
  1401.  
  1402. CPE21 LX7 LNSTS-0
  1403. BX7 X3+X7 ADD NO-LIST FLAG
  1404. SA7 B7+
  1405.  
  1406. * *AT* POST-PROCESSOR.
  1407.  
  1408. CPE22 BX7 X5-X6
  1409. NZ X7,CPE4 IF NOT */*
  1410. MX0 42
  1411. SA1 A1+1
  1412. EQ CPE16 PROCESS NEXT *AT* KEYWORD
  1413.  
  1414. * PROCESS *NETDIS* KEYWORD.
  1415.  
  1416. CPE23 SA3 CPEC GET HOST TYPE
  1417. SA2 CPEW
  1418. NZ X2,CPE35 IF HOST AND *NETDIS*
  1419. BX7 X7-X7 INDICATE *NETDIS* SPECIFIED
  1420. SA7 A3
  1421. MX0 -12
  1422. SA3 B7
  1423. BX7 X0*X3 CLEAR *NETDIS* AREA
  1424. SA7 B7
  1425. SA2 CPED *NETDIS* TABLE
  1426. CPE24 BX3 X1-X2
  1427. SX7 B1
  1428. SA7 CPEV SET *NETDIS* SPECIFIED
  1429. MX0 42
  1430. BX4 X0*X3
  1431. ZR X4,CPE25 IF KEYWORD MATCH
  1432. SA2 A2+1
  1433. NZ X2,CPE24 IF NOT END OF TABLE
  1434. EQ CPE36 UNRECOGNIZED KEYWORD
  1435.  
  1436. CPE25 SX5 1R/
  1437. SX6 X1
  1438. SA3 B7
  1439. SX7 /NTS/DAB+/NTS/NAV
  1440. SB3 X2+
  1441. JP B3 PROCESS RESPECTIVE KEYWORD
  1442.  
  1443. * PROCESS *SSF* KEYWORD.
  1444.  
  1445. CPE26 LX7 LSFSS-LNPSS
  1446. BX7 X7+X3
  1447. SA7 B7+ SET SSF ACCESS TO 0
  1448. EQ CPE29 PROCESS NEXT KEYWORD
  1449.  
  1450. * PROCESS *RHF* KEYWORD.
  1451.  
  1452. CPE27 LX7 LRHSS-LNPSS
  1453. BX7 X7+X3
  1454. SA7 B7+ SET RHF ACCESS TO 0
  1455. EQ CPE29 PROCESS NEXT KEYWORD
  1456.  
  1457. * PROCESS *NAM* KEYWORD.
  1458.  
  1459. CPE28 LX7 LNPSS-LNPSS
  1460. BX7 X7+X3
  1461. SA7 B7+ SET NAM ACCESS TO 0
  1462. * EQ CPE29 PROCESS NEXT KEYWORD
  1463.  
  1464. * *NETDIS* KEYWORD POST-PROCESSOR.
  1465.  
  1466. CPE29 BX7 X5-X6
  1467. NZ X7,CPE4 IF NOT */*
  1468. SA1 A1+B1
  1469. SA2 CPED FWA OF *NETDIS* KEYWORD TABLE
  1470. EQ CPE24 CONTINUE WITH NEXT KEYWORD
  1471.  
  1472. * COMPLETE *NPID* STATEMENT.
  1473.  
  1474. CPE30 SA1 CPET CHECK IF *PID* KEYWORD EXISTS
  1475. ZR X1,CPE38 IF NO *PID* SPECIFIED
  1476. SA1 CPEU CHECK IF *MFTYPE* KEYWORD EXISTS
  1477. ZR X1,CPE41 IF NO *MFTYPE* SPECIFIED
  1478. SX7 B7+LRI3W-LNTHW SET NEXT AVAILABLE WORD IN LID TABLE
  1479. SA7 CLTB
  1480. EQ CPEX RETURN
  1481.  
  1482. * INCORRECT *NPID* STATEMENT.
  1483.  
  1484. CPE31 MESSAGE CPEE *VALID KEYWORDS FOR NPID ARE*
  1485. MESSAGE CPEF *PID,MFTYPE,ENABLED, AT AND NETDIS.*
  1486. EQ CPE42 ISSUE ERROR MESSAGES
  1487.  
  1488. * INCORRECT *PID* PARAMETER.
  1489.  
  1490. CPE32 MESSAGE CPEH *SPECIFY EXACTLY 3 ALPHANUMERIC CHARS.*
  1491. EQ CPE42 ISSUE ERROR MESSAGES
  1492.  
  1493. * INCORRECT *ENABLED* PARAMETER.
  1494.  
  1495. CPE33 MESSAGE CPEZ *YES OR NO ALLOWED ON ENABLED KEYWORD*
  1496. EQ CPE42 ISSUE ERROR MESSAGES
  1497.  
  1498. * INCORRECT *AT* KEYWORD.
  1499.  
  1500. CPE34 MESSAGE CPEJ *OPTIONS FOR *AT* ARE VALID/NVALID/*
  1501. MESSAGE CPEK *NLIST.*
  1502. EQ CPE42 ISSUE ERROR MESSAGES
  1503.  
  1504. * INCORRECT HOST AND NETDIS.
  1505.  
  1506. CPE35 MESSAGE CPEL *NETDIS IS INCORRECT FOR HOST PID*
  1507. EQ CPE42 ISSUE ERROR MESSAGES
  1508.  
  1509. * INCORRECT *NETDIS* KEYWORD.
  1510.  
  1511. CPE36 MESSAGE CPEM *VALID KEYWORD FOR NETDIS ARE*
  1512. MESSAGE CPEN *SSF, RHF AND NAM*
  1513. EQ CPE42 ISSUE ERROR MESSAGES
  1514.  
  1515. CPE37 MESSAGE CPEO *CLDT - = MUST FOLLOW KEYWORD.*
  1516. EQ CPE42 ISSUE ERROR MESSAGES
  1517.  
  1518. * NO *PID* KEYWORD ON *NPID* STATEMENT.
  1519.  
  1520. CPE38 MESSAGE CPEP *NO PID SPECIFIED.*
  1521. EQ CPE42 ISSUE ERROR MESSAGES
  1522.  
  1523. * DUPLICATE PID FOUND.
  1524.  
  1525. CPE39 MESSAGE CPEQ *DUPLICATE PID ON NPID STATEMENT.*
  1526. EQ CPE42 ISSUE ERROR MESSAGES
  1527.  
  1528. * INCORRECT MFTYPE.
  1529.  
  1530. CPE40 MESSAGE CPER *MAXIMUM 7 CHARACTERS ALLOWED ON MFTYPE.*
  1531. EQ CPE42 ISSUE ERROR MESSAGES
  1532.  
  1533. * NO *MFTYPE* KEYWORD ON *NPID* STATEMENT.
  1534.  
  1535. CPE41 MESSAGE CPES *NO MFTYPE SPECIFIED.*
  1536.  
  1537. CPE42 MESSAGE CPEG *ERROR IN THE FOLLOWING STATEMENT
  1538. MESSAGE WBUF *NPID STATEMENT*
  1539. SX6 B1
  1540. SA6 FERF SET FATAL ERROR FLAG
  1541. EQ CPEX RETURN
  1542.  
  1543.  
  1544. * *PID* KEYWORD TABLE.
  1545.  
  1546. CPEA VFD 42/3LPID,18/CPE7 *PID*
  1547. VFD 42/7LENABLED,18/CPE12 *ENABLED*
  1548. VFD 42/6LMFTYPE,18/CPE13 *MFTYPE*
  1549. VFD 42/2LAT,18/CPE16 *AT*
  1550. VFD 42/6LNETDIS,18/CPE23 *NETDIS*
  1551. VFD 60/0
  1552.  
  1553. * *AT* KEYWORD TABLE.
  1554.  
  1555. CPEB VFD 42/6LNVALID,18/CPE19 *NVALID*
  1556. VFD 42/5LVALID,18/CPE20 *VALID*
  1557. VFD 42/5LNLIST,18/CPE21 *NLIST*
  1558. VFD 60/0
  1559.  
  1560. CPEC CON 1 NOT *HOST* NOR *NETDIS* SPECIFIED
  1561.  
  1562. * SUBSYSTEM KEYWORD TABLE.
  1563.  
  1564. CPED VFD 42/3LSSF,18/CPE26 *SSF*
  1565. VFD 42/3LRHF,18/CPE27 *RHF*
  1566. VFD 42/3LNAM,18/CPE28 *NAM*
  1567. BSSZ 1 END OF *NETDIS* TABLE
  1568. CPEE DATA C* CLDT - VALID KEYWORDS FOR NPID ARE *
  1569. CPEF DATA C* PID,MFTYPE,ENABLED,AT AND NETDIS.*
  1570. CPEG DATA C* CLDT - ERROR IN THE FOLLOWING STATEMENT.*
  1571. CPEH DATA C* CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS IN
  1572. ,PID.*
  1573. CPEJ DATA C+ CLDT - VALID OPTIONS FOR *AT* ARE VALID/NVALID/+
  1574. CPEK DATA C* NLIST.*
  1575. CPEL DATA C* CLDT - NETDIS IS INCORRECT FOR HOST PID.*
  1576. CPEM DATA C* CLDT - VALID OPTIONS FOR NETDIS ARE *
  1577. CPEN DATA C* SSF, RHF AND NAM.*
  1578. CPEO DATA C* CLDT - = MUST FOLLOW KEYWORD.*
  1579. CPEP DATA C* CLDT - NO PID SPECIFIED ON NPID STATEMENT.*
  1580. CPEQ DATA C* CLDT - DUPLICATE PID ON NPID STATEMENT.*
  1581. CPER DATA C* CLDT - MAXIMUM OF 7 CHARACTERS ALLOWED ON MFTYPE.*
  1582. CPES DATA C* CLDT - NO MFTYPE SPECIFIED ON NPID STATEMENT.*
  1583. CPET BSSZ 1 *PID* EXIST FLAG IF .NE. 0
  1584. CPEU BSSZ 1 *MFTYPE EXIST FLAG IF .NE. 0
  1585. CPEV BSSZ 1 *NETDIS* SPECIFIED FLAG (1 IF SPECIFIED)
  1586. CPEW BSSZ 1 HOST FLAG (1 IF HOST PID)
  1587. CPEY BSSZ MXPID PROCESSED PID-S
  1588. CPEZ DATA C* CLDT - ONLY YES OR NO ALLOWED ON ENABLED KEYWORD.*
  1589. PSE SPACE 4,10
  1590. ** PSE - PAUSE FOR OPERATOR GO/DROP.
  1591. *
  1592. * USES X - 1, 6.
  1593. * A - 1, 6.
  1594. * B - NONE.
  1595. *
  1596. * MACROS RECALL.
  1597.  
  1598.  
  1599. PSE SUBR ENTRY/EXIT
  1600. SA1 B0 SET PAUSE FLAG IN RA+0
  1601. SX6 10000B
  1602. BX6 X1+X6
  1603. SA6 A1
  1604. PSE1 RECALL
  1605. SA1 B0
  1606. LX1 59-12
  1607. NG X1,PSE1 IF PAUSE FLAG NOT CLEARED
  1608. EQ PSEX RETURN
  1609. PTL SPACE 4,20
  1610. ** PTL - PROCESS TEXT LINE.
  1611. *
  1612. * *PTL* PERFORMS THE FOLLOWING FUNCTIONS -
  1613. * 1. READ IN ONE TEXT LINE.
  1614. * 2. SKIP TEXT LINE IF THE FIRST CHARACTER IS *.
  1615. * 3. ADD TERMINATOR IF THERE IS NONE.
  1616. * 4. UNPACK THE TEXT LINE.
  1617. *
  1618. * ENTRY LID CONFIGURATION FILE LOCAL TO THE JOB.
  1619. *
  1620. * EXIT (X1) .NE. 0 IF EOR/EOF ENCOUNTERED.
  1621. * FERF .EQ. 1 IF AN UNRECOGNIZED DIRECTIVE WAS
  1622. * ENCOUNTERED.
  1623. *
  1624. * USES X - ALL.
  1625. * A - 1, 2, 3, 4, 5, 6, 7.
  1626. * B - 2, 3, 4, 7.
  1627. *
  1628. * CALLS UPC.
  1629. *
  1630. * MACROS READC.
  1631.  
  1632.  
  1633. PTL SUBR ENTRY/EXIT
  1634. PTL1 READC I,WBUF,WBUFL READ A LINE
  1635. BX6 X6-X6
  1636. NZ X1,PTLX IF EOR/EOF
  1637. SX6 1R*
  1638. SA1 WBUF
  1639. MX0 6 SKIP COMMENTS
  1640. BX3 X0*X1
  1641. LX6 -6
  1642. BX0 X3-X6
  1643. ZR X0,PTL1 IF FIRST CHARACTER -*-
  1644. SA4 PTLA
  1645. MX0 42
  1646. BX3 X0*X1 GET FIRST 7 CHARACTERS OF DIRECTIVE
  1647. BX3 X3-X4 SUBTRACT *COMMENT* FROM FIRST 7 CHARACTERS
  1648. ZR X3,PTL1 IF FIRST 7 CHARACTERS ARE *COMMENT*
  1649. MX0 24
  1650. BX3 X0*X1
  1651. SA4 PTLB
  1652. BX4 X3-X4 SUBTRACT *NPID* FROM CHARACTERS
  1653. ZR X4,PTL3 IF CHARACTERS ARE *NPID *
  1654. SA4 PTLC
  1655. BX4 X3-X4 SUBTRACT *NLID* FROM CHARACTERS
  1656. NZ X4,PTL9 IF CHARACTERS ARE NOT *NLID *
  1657. PTL3 SX1 1R.
  1658. SX2 1R)
  1659. SB4 60
  1660. SB3 6
  1661. LX2 -6
  1662. MX0 6
  1663. LX1 -6
  1664. SA4 B6-B1
  1665. NZ X4,PTL4 IF EOL CONTAINED IN LAST WORD
  1666. SA4 A4-1 CHECK PREVIOUS WORD FOR COLONS
  1667. PTL4 BX3 X0*X4
  1668. BX6 X1-X3
  1669. ZR X3,PTL5 IF END OF LINE
  1670. ZR X6,PTL6 IF TERMINATOR *.*
  1671. BX6 X2-X3
  1672. ZR X6,PTL6 IF TERMINATOR *)*
  1673. LX4 X4,B3 LEFT SHIFT ONE CHARACTER
  1674. SB4 B4-B3
  1675. NZ B4,PTL4 IF NOT AT WORD BOUNDARY
  1676. SA4 A4+B1
  1677. SB4 60
  1678. EQ PTL4 TRY NEXT WORD
  1679.  
  1680. PTL5 BX7 X1+X4 POSITION BACK
  1681. LX7 X7,B4
  1682. SA7 A4+
  1683. PTL6 SB3 10 INITIALIZE CHARACTER COUNT
  1684. MX0 6
  1685. SA4 WBUF
  1686. PTL7 BX3 X0*X4 ONE CHARACTER FROM WBUF
  1687. BX5 X3-X2
  1688. ZR X5,PTL8 IF TERMINATOR *)* AND NO COLON
  1689. BX5 X3-X1
  1690. ZR X5,PTL8 IF TERMINATOR *.* AND NO COLON
  1691. ZR X3,PTL10 IF A COLON OR *00* IN WBUF
  1692. LX4 6 SHIFT TO NEXT CHARACTER
  1693. SB3 B3-B1 DECREMENT CHARACTER COUNT
  1694. NZ B3,PTL7 IF MORE CHARACTERS TO CHECK IN WORD
  1695. SB3 10 INITIALIZE CHARACTER COUNT
  1696. SA4 A4+B1 INCREMENT TO NEXT WORD
  1697. SB2 A4
  1698. LE B2,B6,PTL7 IF THERE IS ANOTHER WORD TO CHECK
  1699. PTL8 SB7 UBUF FWA TO UNPACK INTO
  1700. SA5 WBUF FWA TO UNPACK
  1701. RJ UPC
  1702. SA2 UBUF+2
  1703. SA1 HOSTPID
  1704. BX2 X2-X1
  1705. NZ X2,PTL8.1 IF NOT HOST PID
  1706. BX7 X1
  1707. SA7 HOST SET HOST SPECIFIED
  1708. PTL8.1 SA1 UBUF
  1709. SA4 PTLB
  1710. BX4 X1-X4
  1711. ZR X4,PTL8.2 IF CHARACTERS ARE *NPID *
  1712. SA4 PTLC
  1713. BX4 X1-X4
  1714. NZ X4,PTL12 IF NOT *NLID* DIRECTIVE
  1715. PTL8.2 BX6 X6-X6
  1716. BX1 X1-X1
  1717. SA6 A6+1 MAKE SURE LAST WORD IS ZERO
  1718. EQ PTLX RETURN
  1719.  
  1720. * UNRECOGNIZED DIRECTIVE.
  1721.  
  1722. PTL9 BX1 X1-X1 CLEAR EOF/EOR
  1723. SX6 B1
  1724. SA6 FERF SET FATAL ERROR FLAG
  1725. SA6 CFSK SET *CFS* FATAL ERROR FLAG
  1726. EQ PTLX RETURN
  1727.  
  1728. * COLON FOUND IN DIRECTIVE.
  1729.  
  1730. PTL10 SA3 PTLF
  1731. NZ X3,PTL11 IF *PTL* CALLED BY *CLT*
  1732. MESSAGE PTLD * INCORRECT CHARACTER IN DIRECTIVE.
  1733. PTL10.1 MESSAGE CPEG *ERROR IN THE FOLLOWING STATEMENT.*
  1734. MESSAGE WBUF
  1735. SX6 B1
  1736. SA6 FERF SET FATAL ERROR FLAG
  1737. SA6 CFSL SET ERROR FLAG
  1738. EQ PTLX RETURN
  1739.  
  1740. * *PTL* CALLED BY *CLT*.
  1741.  
  1742. PTL11 SX6 B1
  1743. BX1 X1-X1
  1744. EQ PTLX RETURN
  1745.  
  1746. * NO SEPARATOR AFTER NPID OR NLID.
  1747.  
  1748. PTL12 SA3 PTLF
  1749. NZ X3,PTL11 IF *PTL* CALLED BY *CLT*
  1750. MESSAGE PTLE * A SEPARATOR MUST FOLLOW NLID OR NPID.*
  1751. EQ PTL10.1 ISSUE ERROR MESSAGE
  1752.  
  1753. * *COMMENT* DIRECTIVE
  1754.  
  1755. PTLA VFD 42/7LCOMMENT,18/0
  1756. PTLB VFD 24/4LNPID,36/0
  1757. PTLC VFD 24/4LNLID,36/0
  1758. PTLD DATA C* CLDT - INCORRECT CHARACTER IN DIRECTIVE.*
  1759. PTLE DATA C* CLDT - A SEPARATOR MUST FOLLOW NLID OR NPID.*
  1760. PTLF CON 0 1 IF *PTL* CALLED ONCE
  1761. SPACE 4
  1762. * COMMON DECKS.
  1763.  
  1764.  
  1765. *CALL COMCCIO
  1766. *CALL COMCCPM
  1767. *CALL COMCPFM
  1768. *CALL COMCRDC
  1769. *CALL COMCRDW
  1770. *CALL COMCSFM
  1771. *CALL COMCSFN
  1772. *CALL COMCSYS
  1773. *CALL COMCUPC
  1774. TITLE BUFFERS.
  1775. * BUFFERS.
  1776.  
  1777. IBUF BSS IBUFL LID CONFIGURATION FILE BUFFER
  1778. UBUF BSS UBUFL UNPACK BUFFER
  1779. WBUF BSS WBUFL WORKING BUFFER
  1780. LIDT VFD 12/0,30/0,8/0,1/0
  1781.  
  1782. * NOTE - THE FOLLOWING AREA WILL BE USED FOR THE LID TABLE.
  1783. PRS TITLE PRESET.
  1784. ** PRS - PRESET ROUTINE.
  1785. *
  1786. * ENTRY (JOPR) = JOB ORIGIN.
  1787. *
  1788. * EXIT VALIDATION COMPLETED.
  1789. * TO *CLD1* IF LDT INTENTIONALLY NOT TO BE CREATED AT
  1790. * DEADSTART TIME (SEE CRITERIA BELOW).
  1791. * TO *CLD3* IF FATAL ERROR DETECTED.
  1792. *
  1793. * USES X - ALL.
  1794. * A - 1, 2, 3, 4, 6, 7.
  1795. * B - 1.
  1796. *
  1797. * CALLS ARG, SNM.
  1798. *
  1799. * MACROS ATTACH, EREXIT, GET, MACHID, MESSAGE, READ, REWIND,
  1800. * STATUS, SYSTEM.
  1801. *
  1802. * NOTE *PRS* WILL BE OVERLAID BY THE LDT.
  1803.  
  1804.  
  1805. PRS SUBR ENTRY/EXIT
  1806. SB1 1
  1807. EREXIT CLD5 NORMAL EXIT FOR OPERATOR DROP
  1808. SA1 JOPR CHECK FOR SYSTEM ORIGIN
  1809. MX0 -12
  1810. LX1 36
  1811. BX1 -X0*X1
  1812. SX6 X1-SYOT (X6) = 0 IF SYSTEM ORIGIN
  1813. SA6 JORG
  1814.  
  1815. * GET *LDT* LENGTH.
  1816.  
  1817. SYSTEM RSB,R,LDPT
  1818. SA1 LDPT+1 LDT LENGTH
  1819. MX0 -12
  1820. LX1 -24
  1821. BX6 -X0*X1
  1822. SA6 LIDL SAVE LDT LENGTH
  1823.  
  1824. * GET SUBSYSTEM ID.
  1825.  
  1826. GETSSID DSSQ
  1827. SA1 DSSQ CP SUBSYSTEM ID
  1828. MX0 -12
  1829. BX6 -X0*X1
  1830. SX6 X6-DSSI (X6) = 0 IF DEADSTART SEQUENCE
  1831. SA6 A1+ SAVE DEADSTART SEQUENCE FLAG
  1832.  
  1833. * CREATE HOST PID. ESTABLISH THE DEFAULT NAME OF THE LID
  1834. * CONFIGURATION FILE.
  1835.  
  1836. MACHID MACH
  1837. SA1 MACH GET MACHINE ID
  1838. MX0 -12
  1839. BX1 -X0*X1
  1840. BX6 X1 WORKING COPY OF MACHINE ID
  1841. SA2 HOSTPID CREATE HOST PID
  1842. LX6 42
  1843. BX6 X2+X6 MERGE *M* WITH MACHINE ID
  1844. SA6 A2 SAVE HOST PID
  1845. SA3 I PUT ID IN LID FILE NAME
  1846. BX6 X1
  1847. LX6 18
  1848. BX6 X3+X6
  1849. SA6 A3 SAVE NEW (DEFAULT) FILE NAME
  1850. SA6 RCRD SAVE IMAGE OF FIRST RECORD ON FILE
  1851. SA4 I+1 SET ERROR PROCESSING BIT
  1852. SX6 B1
  1853. LX6 44
  1854. BX6 X4+X6
  1855. SA6 A4
  1856. SX7 ERAD SET ERROR RETURN ADDRESS IN FET
  1857. SA7 I+10
  1858. SA5 PRSA+3 PUT ID IN ERROR MESSAGE
  1859. LX0 30
  1860. BX5 X0*X5
  1861. LX1 30
  1862. BX6 X1+X5
  1863. SA6 A5+
  1864.  
  1865. * PROCESS *CLDT* ARGUMENTS, IF ANY.
  1866.  
  1867. SA1 ACTR GET ARGUMENT COUNT
  1868. SB4 X1+
  1869. ZR B4,PRS1 IF NO ARGUMENTS
  1870. SA4 ARGR GET FIRST ARGUMENT
  1871. SB5 TARG FWA OF ARGUMENT TABLE
  1872. RJ ARG PROCESS ARGUMENTS
  1873. NZ X1,PRS4 IF ARGUMENT ERROR
  1874. PRS1 SA1 I
  1875. NZ X1,PRS2 IF FILE NAME PRESENT
  1876. SA1 RCRD RESTORE FET NAME (*I=0* SPECIFIED)
  1877. BX6 X1
  1878. SA6 I
  1879. PRS2 MX0 42
  1880. BX1 X0*X1 FILE NAME
  1881. SB2 1RX SET SEARCH CHARACTER
  1882. SB5 PRSD FWA OF ERROR MESSAGE
  1883. RJ SNM SET FILE NAME IN ERROR MESSAGE
  1884.  
  1885. * CHECK IF FILE IS LOCAL. IF NOT, *GET* OR *ATTACH* THE FILE
  1886. * UNDER THE JOB-S USER NAME.
  1887.  
  1888. STATUS I
  1889. SA1 I GET STATUS
  1890. MX0 -11
  1891. AX1 1
  1892. BX2 -X0*X1
  1893. NZ X2,PRS3 IF FILE LOCAL TO JOB
  1894. GET I,,,,,,DF GET FILE ON SYSTEM DEFAULT FAMILY
  1895. SA4 I CHECK IF FILE EXISTS
  1896. MX0 8
  1897. LX4 59-17
  1898. BX6 X0*X4
  1899. ZR X6,PRS3 IF FILE FOUND
  1900. ATTACH I,,,,,,,DF
  1901. SA4 I CHECK IF FILE EXISTS
  1902. MX0 8
  1903. LX4 59-17
  1904. BX6 X0*X4
  1905. ZR X6,PRS3 IF FILE FOUND
  1906.  
  1907. * THE LID FILE WAS NOT FOUND AND IS NOT LOCAL TO THE JOB.
  1908. * DETERMINE IF *CLDT* WAS INTENDED TO CREATE AN LDT. NO LDT
  1909. * WILL BE CREATED AND NORMAL EXIT PROCESSING (ENDRUN) WILL
  1910. * OCCUR IF ALL OF THE FOLLOWING CRITERIA ARE MET.
  1911. * 1) JOB HAS *DEADSTART SEQUENCE* SUBSYSTEM ID,
  1912. * 2) NO LIDCMID FILE IS FOUND UNDER UN=SYSTEMX.
  1913.  
  1914. SA1 DSSQ
  1915. NZ X1,PRS6 IF NOT DEADSTART SEQUENCE
  1916. EQ CLD1 * CLDT - NO LID TABLE CREATED.*
  1917.  
  1918. PRS3 SA2 LIDL
  1919. SB2 X2
  1920. LE B2,B1,PRS5 IF NO SPACE RESERVED FOR LDT
  1921. REWIND I,R
  1922. READ I,R INITIAL READ
  1923. SA1 X2+1 GET *FIRST*
  1924. SA3 RCRD
  1925. SA1 X1 READ FIRST STATEMENT IN FILE
  1926. MX0 42
  1927. BX4 X1-X3
  1928. BX6 X0*X4
  1929. ZR X6,PRSX IF FIRST STATEMENT IS LIDCMID
  1930. SA1 JORG
  1931. NZ X1,PRSX IF NON-SYSTEM ORIGIN USER
  1932. MESSAGE PRSA * FIRST STATEMENT NOT LIDCMXX.*
  1933. EQ CLD3 * CLDT ABORT.*
  1934.  
  1935. PRS4 MESSAGE PRSB * CLDT - COMMAND ERROR.*
  1936. EQ CLD3 * CLDT ABORT.*
  1937.  
  1938. PRS5 SA1 JORG
  1939. NZ X1,PRSX IF NON-SYSTEM ORIGIN USER
  1940. MESSAGE CLDD * NO LID TABLE CREATED.*
  1941. MESSAGE PRSC * BUFFER TOO SMALL.*
  1942. EQ CLD3 * CLDT ABORT.*
  1943.  
  1944. PRS6 MESSAGE CLDD * NO LID TABLE CREATED.*
  1945. MESSAGE PRSD * FILE XXXXXXX NOT FOUND.*
  1946. EQ CLD3 * CLDT ABORT.*
  1947.  
  1948. * PRESET ERROR MESSAGES.
  1949.  
  1950. PRSA DATA C* CLDT - FIRST STATEMENT NOT LIDCMXX.*
  1951. PRSB DATA C* CLDT - COMMAND ERROR.*
  1952. PRSC DATA C* CLDT - BUFFER TOO SMALL.*
  1953. PRSD DATA C* CLDT - FILE XXXXXXX NOT FOUND.*
  1954. SPACE 4,10
  1955. * PRESET STORAGE LOCATIONS.
  1956.  
  1957. ERAD BSS 8 ERROR MESSAGE RETURN ADDRESS
  1958. LDPT VFD 12/0,12/1,18/LIDP,18/LDPT+1
  1959. CON -1
  1960. MACH CON 0 MACHINE ID
  1961. RCRD CON 0 FIRST RECORD ON FILE
  1962. SPACE 4,10
  1963. * ARGUMENT TABLE.
  1964.  
  1965. TARG BSS 0
  1966. I ARG I,I
  1967. ARG
  1968. CFS SPACE 4,30
  1969. ** CFS - CALCULATE FREE SPACE.
  1970. *
  1971. * *CFS* WILL CALCULATE THE FREE SPACE FOR THE LID TABLE. EACH
  1972. * PID WILL HAVE AN EQUAL AMOUNT OF WORDS TO ALLOW NEW LID-S TO
  1973. * BE ADDED. THE SPACE FOR EACH PID IS CALCULATED BASED ON
  1974. * THE FOLLOWING FORMULA.
  1975. *
  1976. * FS = (LIDL-1 - NP*3 - SUM(I[NLID * 0.5]))/NP
  1977. *
  1978. * WHERE
  1979. * LIDL = TOTAL LENGTH OF LID TABLE IN CM WORD *LIDP*.
  1980. * NP = TOTAL NUMBER OF PID-S.
  1981. * NLID = TOTAL NUMBER OF LID-S OF PID.
  1982. * I[ ] = INTEGER OF THE ARGUMENT.
  1983. * SUM( ) = SUMMATION OF( ).
  1984. *
  1985. * ENTRY = FILE LIDCM LOCAL.
  1986. *
  1987. * EXIT (FS) = FREE SPACE FOR EACH PID.
  1988. * TO *CLD3* IF FATAL ERROR ENCOUNTERED.
  1989. *
  1990. * USES X - 0, 1, 2, 3, 4, 6, 7.
  1991. * A - 1, 2, 3, 6, 7.
  1992. * B - 2, 5.
  1993. *
  1994. * CALLS CDD, PTL, SNM.
  1995. *
  1996. * MACROS MESSAGE, READ, READC, REWIND.
  1997. *
  1998. * NOTE *CFS* WILL BE OVERLAID BY THE LDT.
  1999.  
  2000.  
  2001. CFS SUBR ENTRY/EXIT
  2002. SA1 JORG
  2003. ZR X1,CFS0 IF SYSTEM ORIGIN JOB
  2004. SX6 MXLDT+1 DEFAULT = MAXIMUM LDT SIZE FOR *VERIFY*
  2005. SA6 LIDL
  2006. CFS0 REWIND I
  2007. READ X2 INITIATE READ
  2008. READC X2,WBUF,WBUFL SKIP FIRST LINE
  2009. CFS1 RJ PTL PROCESS TEXT LINE
  2010. SA2 CFSK
  2011. NZ X2,CFS8 IF AN UNRECOGNIZED DIRECTIVE ENCOUNTERED
  2012. SA2 CFSL
  2013. ZR X2,CFS2 IF NOT INCORRECT CHARACTER
  2014. BX6 X6-X6
  2015. SA6 CFSL CLEAR ERROR FLAG
  2016. EQ CFS1 READ NEXT STATEMENT
  2017.  
  2018. CFS2 NZ X1,CFS4 IF EOR/EOF
  2019. SA1 UBUF
  2020. SA2 CLTH+1 CHECK IF *NPID*
  2021. MX0 42
  2022. BX3 X1-X2
  2023. BX3 X0*X3
  2024. ZR X3,CFS3 IF *NPID*
  2025.  
  2026. * INCREMENT NUMBER OF LID-S BY 1, AND PROCESS NEW LID.
  2027.  
  2028. SA1 CFSA
  2029. SA2 A1+B1
  2030. ERRNZ CFSB-CFSA-1 CFSA AND CFSB MUST BE CONTIGUOUS
  2031. SX6 X1+B1
  2032. SX7 X2+B1
  2033. SA6 A1
  2034. SA7 A2+
  2035. EQ CFS1 READ NEXT STATEMENT
  2036.  
  2037. * PROCESS NEW PID.
  2038.  
  2039. CFS3 SA1 CFSC UPDATE NUMBER OF PID-S
  2040. SA2 A1-B1 GET NUMBER OF LID OF PREVIOUS LID
  2041. ERRNZ CFSC-CFSB-1 CFSC AND CFSB MUST BE CONTIGUOUS
  2042. SX6 X1+B1
  2043. SA6 A1+
  2044. SX3 X6-MXPID-1 CHECK MAXIMUM NUMBER OF PID-S
  2045. PL X3,CFS7 IF MAXIMUM NUMBER OF PID-S EXCEEDED
  2046. SA3 CFSD
  2047. IX7 X2+X3
  2048. SA7 A3+ UPDATE NUMBER OF WORDS NEEDED FOR LID
  2049. BX6 X6-X6
  2050. SA6 CFSB CLEAR LID COUNT
  2051. EQ CFS1 READ NEXT STATEMENT
  2052.  
  2053. * END OF FILE.
  2054.  
  2055. CFS4 SA2 HOST
  2056. NZ X2,CFS5 IF HOST SPECIFIED
  2057. SA2 CFSC
  2058. SX2 X2+B1 ADD 1 FOR HOST PID
  2059. BX6 X2
  2060. SA6 CFSC
  2061. SA2 CFSA
  2062. SX2 X2+B1 ADD 1 FOR HOST LID
  2063. BX6 X2
  2064. SA6 CFSA
  2065. CFS5 BX6 X6-X6
  2066. SA6 HOST CLEAR HOST PID SPECIFIED
  2067. SA2 CFSB GET NUMBER OF LID-S OF LAST PID
  2068. SA3 CFSD
  2069. IX2 X2+X3
  2070.  
  2071. * CALCULATE FREE SPACE.
  2072.  
  2073. SA1 CFSC NUMBER OF PID-S
  2074. BX3 X1 MULTIPLIED BY 3
  2075. LX3 1
  2076. IX4 X3+X1 NUMBER OF WORDS FOR PID
  2077. SA3 LIDL GET TOTAL LENGTH
  2078. SX3 X3-1 SET LENGTH FOR CALCULATING FREE SPACE
  2079. IX6 X2+X4
  2080. SA6 CFSE MINIMUM WORDS FOR LDT
  2081. IX7 X3-X6 TOTAL FREE SPACE
  2082. NG X7,CFS6 IF NOT ENOUGH SPACE
  2083. BX3 X7 SAVE TOTAL FREE SPACE
  2084. BX2 X1 SAVE NUMBER OF PID-S
  2085. IX6 X7/X1 FREE SPACE PER PID
  2086. IX7 X2*X6 CALCULATE REMAINDER
  2087. IX7 X3-X7
  2088. SA6 FS
  2089. SA7 FSR SAVE REMAINDER
  2090. SX6 B1
  2091. SA6 PTLF *PTL* CALLED ONCE
  2092. EQ CFSX RETURN
  2093.  
  2094. CFS6 MESSAGE CFSF *UNABLE TO GENERATE LID TABLE *
  2095. SA1 LIDL
  2096. SX1 X1-1
  2097. RJ CDD CONVERT TO DISPLAY
  2098. MX0 1
  2099. SB2 B2-B1
  2100. AX0 X0,B2
  2101. BX1 X0*X4
  2102. SB2 1RX REPLACE CHARACTER
  2103. SB5 CFSG FWA OF MESSAGE
  2104. RJ SNM SET NUMBER INTO CHARACTER
  2105. MESSAGE CFSG *NUMBER OF WORDS AVAILABLE FOR LID - XXX.*
  2106. SA1 CFSE NUMBER OF WORDS NEEDED
  2107. RJ CDD CONVERT TO DISPLAY
  2108. MX0 1 ZERO OUT BLANKS
  2109. SB2 B2-B1
  2110. AX0 X0,B2
  2111. BX1 X0*X4
  2112. SB2 1RX
  2113. SB5 CFSH FWA OF MESSAGE
  2114. RJ SNM
  2115. MESSAGE CFSH * NUMBER OF WORDS NEEDED FOR LID - XXX.*
  2116. EQ CLD3 * CLDT ABORT.*
  2117.  
  2118. * MAXIMUM NUMBER OF PID-S EXCEEDED.
  2119.  
  2120. CFS7 SX1 MXPID
  2121. RJ CDD CONVERT MAXIMUM NUMBER OF PID-S TO DISPLAY
  2122. MX0 1 ZERO OUT BLANKS
  2123. SB2 B2-B1
  2124. AX0 X0,B2
  2125. BX1 X0*X4
  2126. SB2 1R$
  2127. SB5 CFSI FWA OF MESSAGE
  2128. RJ SNM
  2129. MESSAGE CFSI * EXCEEDED MAXIMUM NUMBER OF PID-S - XXX.*
  2130. EQ CLD3 * CLDT ABORT.*
  2131.  
  2132. * UNRECOGNIZED DIRECTIVE.
  2133.  
  2134. CFS8 BX6 X6-X6
  2135. SA6 CFSK CLEAR *CFS* FATAL ERROR FLAG
  2136. ZR X1,CFS9 IF NOT EOR/EOF
  2137. SX6 B1+
  2138. SA6 CFSK SET *CFS* FATAL ERROR FLAG TO SHOW EOR/EOF
  2139. CFS9 MESSAGE CFSJ * CLDT - UNRECOGNIZABLE DIRECTIVE.*
  2140. MESSAGE CPEG *ERROR IN THE FOLLOWING STATEMENT.*
  2141. MESSAGE WBUF
  2142. SA2 CFSK
  2143. NZ X2,CFS4 IF EOR/EOF
  2144. BX6 X6-X6
  2145. SA6 CFSK CLEAR *CFS* FATAL ERROR FLAG
  2146. EQ CFS1 READ NEXT STATEMENT
  2147.  
  2148.  
  2149. CFSA BSSZ 1 COUNTER FOR TOTAL NUMBER OF LID-S
  2150. CFSB BSSZ 1 COUNTER FOR LID-S OF PID
  2151. CFSC BSSZ 1 COUNTER FOR TOTAL NUMBER OF PID-S
  2152. CFSD BSSZ 1 NUMBER OF WORDS FOR LID-S
  2153. CFSE BSSZ 1 NUMBER OF WORDS NEEDED FOR LIDT
  2154. CFSF DATA C* CLDT - UNABLE TO GENERATE LID TABLE.*
  2155. CFSG DATA C* NUMBER OF WORDS AVAILABLE FOR LID - XXX.*
  2156. CFSH DATA C* NUMBER OF WORDS NEEDED FOR LID - XXX.*
  2157. CFSI DATA C* CLDT - EXCEEDED MAXIMUM NUMBER OF PID-S - $$$.*
  2158. CFSJ DATA C* CLDT - UNRECOGNIZABLE DIRECTIVE.*
  2159. CFSK CON 0 FATAL ERROR FLAG UNRECOGNIZED DIRECTIVE
  2160. CFSL CON 0 FATAL ERROR FLAG INCORRECT CHARACTER
  2161. SPACE 4
  2162. * PRESET COMMON DECKS.
  2163.  
  2164. *CALL COMCARG
  2165. *CALL COMCCDD
  2166. *CALL COMCLFM
  2167. *CALL COMCSNM
  2168. SPACE 4,10
  2169. * RESERVE SUFFICIENT SPACE TO HOLD THE MAXIMUM SIZE OF THE LDT.
  2170.  
  2171. ERRNZ PRS-LIDT-1 WORDS MUST BE CONTIGUOUS
  2172. LENGTH EQU *-PRS LENGTH OF OVERLAYABLE ROUTINES
  2173. MAXLTH EQU MXLDT-LENGTH MAX LDT SIZE - OVERLAYABLE LENGTH
  2174. BSSZ MAXLTH ADDITIONAL CM WORDS REQUIRED TO HOLD LDT
  2175. RFL= EQU *
  2176. END CLDT
cdc/nos2.source/opl871/cldt.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator