User Tools

Site Tools


cdc:nos2.source:nam5871:dlfp

Table of Contents

DLFP

Table Of Contents

  • [00002] PRGM DLFP
  • [00828] PROC DLABEND
  • [00829] PROC DLARG
  • [00830] PROC DLCLOSE
  • [00831] PROC DLDT
  • [00832] PROC DLDIRP
  • [00833] PROC DLDFM
  • [00834] PROC DLENDPR
  • [00835] PROC DLINT
  • [00836] PROC DLOPEN
  • [00837] PROC DLPSIN
  • [00838] PROC DLRDW
  • [00839] PROC DLRECL
  • [00840] PROC DLREP
  • [00841] PROC DLRWD

Source Code

DLFP.txt
  1. *DECK DLFP
  2. PRGM DLFP; # POST PROCESSOR FOR ZZZZZDN FILE FROM NAM#
  3. *IF DEF,IMS
  4. #
  5. * DDDDDDDD LL FFFFFFFFFF PPPPPPPP
  6. * DDDDDDDDD LL FFFFFFFFFF PPPPPPPPP
  7. * DD DD LL FF PP PP
  8. * DD DD LL FF PP PP
  9. * DD DD LL FFFFFFFF PPPPPPPPP
  10. * DD DD LL FFFFFFFF PPPPPPPP
  11. * DD DD LL FF PP
  12. * DD DD LL FF PP
  13. * DDDDDDDDD LLLLLLLLLL FF PP
  14. * DDDDDDDD LLLLLLLLLL FF PP
  15. *
  16. *
  17. * DLFP IS A NETWORK PRODUCTS UTILITY PROGRAM. IT IS USED TO LIST
  18. * THE CONTENT OF THE LOG FILE FROM NIP (ZZZZZDN) AND THE DEBUG TRACE
  19. * FILE FROM AIP, ALSO NAMED ZZZZZDN. IT IS POSSIBLE TO REQUEST DLFP
  20. * TO ANALYSE THE LOG FILE BY SPECIFYING THAT ONLY A CERTAIN SET OF
  21. * MESSAGES BE SELECTED FOR OUTPUT. THAT IS DONE BY DIRECTIVES IN THE
  22. * DIRECTIVE FILE INPUT BY NIP. ERROR MESSAGES ARE OUTPUT TO LOCAL
  23. * DAYFILE OR OUTPUT FILE IF ERROR CONDITIONS ARE ENCOUNTERED. THE
  24. * ERROR CONDITION CAN BE A BAD PROGRAM CALL CARD OR, A BAD DIRECTIVE,
  25. * OR CAN BE A BAD LOG FILE.
  26. *
  27. * FORMAT OF THE PROGRAM CALL CARD IS
  28. *
  29. * DLFP [,P1] [,P2] [,P3] [,P4] [,P5] .
  30. *
  31. * P1, P2, P3, P4, P5 CAN BE ONE OF THE FOLLOWING:
  32. *
  33. * 1. I = 0 NO INPUT DIRECTIVE FILE
  34. * I = FILEN FILEN IS THE NAME OF THE INPUT DIRECTIVE
  35. * FILE.
  36. * OMITTED INPUT IS THE NAME OF THE INPUT
  37. *
  38. * 2. B = FILEN FILEN IS THE NAME OF THE LOG FILE.
  39. * OMITTED ZZZZZDN IS THE NAME OF THE LOG FILE
  40. *
  41. * 3. L = FILEN FILEN IS THE NAME OF THE OUTPUT FILE NAME
  42. * OMITTED OUTPUT IS THE NAME OF THE OUTPUT FILE.
  43. *
  44. * 4. N = FILEN NEW DEBUG LOG FILE GENERATED WITH
  45. * FILE NAME = FILEN ACCORDING TO THE
  46. * SELECTION DIRECTIVES. NORMAL OUTPUT
  47. * WILL NOT BE PRODUCED.
  48. * OMITTED NORMAL OUTPUT PRODUCED.
  49. *
  50. * 5. D IGNORED ERRORS
  51. * OMITTED DO NOT IGNORE ERRORS
  52. *
  53. * DLFP READS THE INPUT DIRECTIVE FILE IF AVAILABLE FOR DIRECTIONS.
  54. * FOR A NIP LOG FILE, ONLY ON DIRECTIVE (CN) IS VALID, WHILE ALL
  55. * DIRECTIVES LISTED BELOW ARE AVAILABLE FOR AN AIP LOG FILE.
  56. *
  57. * DIRECTION VALUE
  58. * KEYWORD POSSIBLE ACTION
  59. *
  60. * B SPECIFIES A SEARCH FOR MESSAGES WITH
  61. * THE USER BREAK FLAG SET IN THE APPLI-
  62. * ATION BLOCK HEADER.
  63. *
  64. * BD= YYMMDD SPECIFIED A SEARCH FOR MESSAGES WHICH
  65. * WERE LOGGED ON OR AFTER THIS DATE.
  66. * MESSAGES BEFORE THIS DATE ARE NOT OUT-
  67. * PUT. YY IS THE RIGHTMOST 2 DIGITS OF
  68. * THE YEAR, MM IS THE MONTH, AND DD IS
  69. * THE DAY OF THE MONTH TO BEGIN
  70. * SEARCHING.
  71. *
  72. * BT= HHMMSS SPECIFIES A SEARCH FOR MESSAGES WHICH
  73. * WERE LOGGED ON OR AFTER THIS TIME.
  74. * MESSAGES BEFORE THIS TIME ARE NOT
  75. * OUTPUT. NOTE THAT IF THE DEBUG LOG
  76. * FILE CONTAINS MORE THAN ONE DAY'S
  77. * MESSAGES, SEARCHING WILL BEGIN AFTER
  78. * THE FIRST OCCURRENCE OF THIS TIME IF
  79. * BD IS NOT SPECIFIED. HH IS THE HOUR,
  80. * MM IS THE MINUTE, AND SS IS THE
  81. * SECOND TO BEGIN SEARCHING.
  82. *
  83. * CN= N SPECIFIES A SEARCH FOR MESSAGES ON THE
  84. * CONNECTION NUMBER N. ALL SYNCHRONOUS
  85. * AND ASYNCHRONOUS SUPERVISORY MESSAGES
  86. * AND DATA BLOCKS ON CONNECTION NUMBER
  87. * N ARE OUTPUT.
  88. *
  89. * E SPECIFIES SCAN FOR ERROR BIT SET IN
  90. * THE SUPERVISORY MESSAGE.
  91. *
  92. * ED= YYMMDD SPECIFIES THAT MESSAGES ON OR AFTER
  93. * THIS DATE ARE NOT TO BE OUTPUT. YY IS
  94. * THE RIGHTMOST 2 DIGITS OF THE YEAR,
  95. * MM IS THE MONTH, AND DD IS THE DAY OF
  96. * THE MONTH TO END SEARCHING.
  97. *
  98. * ET= HHMMSS SPECIFIES THAT MESSAGES ON OR AFTER
  99. * THIS TIME ARE NOT TO BE OUTPUT. NOTE
  100. * THAT IF THE DEBUG LOG FILE CONTAINS
  101. * MORE THAN ONE DAY'S MESSAGES, SEARCHING
  102. * WILL TERMINATE AFTER THE FIRST
  103. * OCCURRENCE OF THIS TIME ED IS NOT
  104. * SPECIFIED. HH IS THE HOUR, MM IS
  105. * THE MINUTE, AND SS IS THE SECOND TO
  106. * END SEARCHING.
  107. *
  108. * LE= N SPECIFIES MAX LENGTH OF EACH MESSAGE
  109. * TO BE OUTPUT IN THE CM WORDS. 1 @ N @
  110. * 410 (DEFAULT=10)
  111. *
  112. * F SPECIFIES SCAN FOR A MESSAGE(S) WITH
  113. * THE NO FORMAT EFFECTOR BIT SET IN
  114. * APPLICATION BLOCK HEADER.
  115. *
  116. * N WHEN SPECIFIED, ALL NETLOG ENTRIES
  117. * IN THE DEBUG LOG FILE ARE IGNORED
  118. * ON THE OUTPUT.
  119. *
  120. * NM= N SPECIFIED THAT ONLY N MESSAGES WILL
  121. * BE OUTPUT.
  122. *
  123. * P SPECIFIES SCAN FOR MESSAGE(S) WITH THE
  124. * PARITY ERROR FLAG BIT SET APPLICATION
  125. * BLOCK HEADER.
  126. *
  127. * PF= SYMBOL SPECIFIES A SEARCH FOR SUPERVISORY
  128. * MESSAGES WITH PFC EQUAL TO SYMBOL.
  129. * SYMBOL MUST BE A VALID PFC (DEFINED
  130. * IN APPENDIX F OF NAM RM).
  131. *
  132. * PS= SYMBOL SPECIFES A SEARCH FOR A MESSAGE WITH
  133. * PFC/SFC EQUAL TO SYMBOL. SYMBOL MUST
  134. * BE A VALID SFC (DEFINED IN
  135. * APPENDIX F OF NAM REFERENCE MANUAL)
  136. *
  137. * R SPECIFIES A SEARCH FOR MESSAGES WITH
  138. * THE RESPONSE BIT SET IN A SUPERVISORY
  139. * MESSAGE.
  140. *
  141. * SM= N SPECIFIES THAT NO MESSAGES WILL BE
  142. * OUTPUT UNTIL AFTER THE NTH MESSAGE,
  143. * WHICH SATISFIES ALL THE OTHER KEYWORD
  144. * OPTIONS, HAD BEEN FOUND.
  145. *
  146. * T SPECIFIES A SEARCH FOR MESSAGES WITH
  147. * THE TRUNCATED DATA BIT SET IN THE
  148. * APPLICATION BLOCK HEADER.
  149. *
  150. * U SPECIFIES SCAN FOR MESSAGE(S) WITH
  151. * THE INPUT BLOCK UNDELIVERABLE (IBU)
  152. * BIT SET IN THE APPLICATION BLOCK
  153. * HEADER.
  154. *
  155. * X SPECIFIES A SEARCH FOR MESSAGE(S) WITH
  156. * THE TRANSPARENT BIT SET IN APPLICATION
  157. * BLOCK HEADER.
  158. *
  159. * THE SAME KEYWORD CAN APPEAR MORE THAN ONCE IN A DIRECTIVE RECORD.
  160. * IF THERE IS A VALUE ASSOCIATED WITH THIS KEYWORD, THE VALUE IN THE
  161. * LAST OCCURRENCE OF THE KEYWORD WILL BE THE ONE USED FOR THE
  162. * SEARCH.
  163. *
  164.  #
  165. *ENDIF
  166. CONTROL PRESET;
  167. # * * * * * * * * * * * * * * * --- CRCOM --- * * * * * * * * * * * * *#
  168. *IF DEF,IMS
  169. #
  170. *
  171. * DC CRCOM
  172. * COPYRIGHT INFORMATION
  173.  #
  174. *ENDIF
  175. *CALL CRCOM
  176. #* * * * * * * * * * * * * * * --- CYBERDEFS --- * * * * * * * * * * *#
  177. *IF DEF,IMS
  178. #
  179. *
  180. * DC CYBERDEFS
  181. * COMMON DEFS TO DEFNE CYBER MACHINES CHARACTERISTICS.
  182.  #
  183. *ENDIF
  184. *CALL CYBERDEFS
  185. # * * * * * * * * * * * * * * * --- ARGERR --- * * * * * * * * * * * * #
  186. *IF DEF,IMS
  187. #
  188. *
  189. * DC ARGERR
  190. * COMMON DECK CONTAINING ALL ERROR MESSAGES ISSUED BY
  191. * DLARG.
  192.  #
  193. *ENDIF
  194. *CALL ARGERR
  195. # * * * * * * * * * * * * * --- ARGTBL --- * * * * * * * * * * * * * *#
  196. *IF DEF,IMS
  197. #
  198. *
  199. * DC ARGTBL
  200. * COMMON BLOCK TO PASS INPUTS FROM PROGRAM CALL CARD
  201. * TO VARIOUS MODULES IN DLFP.
  202.  #
  203. *ENDIF
  204. *CALL ARGTBL
  205. # * * * * * * * * * * * * --- AWLDEFS --- * * * * * * * * * * * * * * *#
  206. *IF DEF,IMS
  207. #
  208. *
  209. * DC AWLDEFS
  210. * MISCELLANEOUS DEFINITIONS USED BY DLFP.
  211.  #
  212. *ENDIF
  213. *CALL AWLDEFS
  214. # * * * * * * * * * * * * --- DEQCOM --- * * * * * * * * * * * * * * * #
  215. *IF DEF,IMS
  216. #
  217. *
  218. * DC DEQCOM
  219. * COMMON DECK CONTAINING DEFINITIONS USED BY DLFP.
  220.  #
  221. *ENDIF
  222. *CALL DEQCOM
  223. # * * * * * * * * * * * * --- DIERR --- * * * * * * * * * * * * * * * *#
  224. *IF DEF,IMS
  225. #
  226. *
  227. * DC DIERR
  228. * COMMON DECK CONTAINING ERROR CODES AND ERROR MESSAGES
  229. * USED BY DLDIRP.
  230.  #
  231. *ENDIF
  232. *CALL DIERR
  233. # * * * * * * * * * * * * --- DIRTBL --- * * * * * * * * * * * * * * * #
  234. *IF DEF,IMS
  235. #
  236. *
  237. * DC DIRTBL
  238. * COMMON BLOCK SAVING SELECTED VALUES FOR DIRECTIVE
  239. *
  240. * THE TABLE DIRTBL RECEIVES THE VALUES OF THE INPUT DIRECTIVES.
  241. * IF A DIRECTIVE HAS NOT BEEN SELECTED, THEN A ZERO VALUE
  242. * IS PLACED IN THE TABLE SELECTED DIRECTIVES HAVE THE FOLLOWING
  243. * FORMAT:
  244. * 4
  245. * 0 2
  246. * I--------------------------I-----------------I
  247. * I I I
  248. * I DIRVALU I DIRID I
  249. * I I I
  250. * I--------------------------I-----------------I
  251. *
  252. * DIRVALU - VALUE OF THE DIRECTIVE
  253. * DIRID - IDENTIFICATION CODE FOR THE SELECTED DIRECTIVES
  254. *
  255. * THE IDENTIFICATION CODES HAVE BEEN GROUPED FOR EFFICIENCY
  256. * ACCORDING TO THE TYPE OF INFORMATION TO BE READ FROM THE
  257. * ZZZZZDN FILE. THE PROCEDURE DLREP COPIES NON-ZERO VALUES
  258. * INTO THREE CONDENSED TABLES SO THAT ALL DIRECTIVES WILL
  259. * NOT HAVE TO BE EXAMINED FOR EVERY MESSAGE.
  260. * NOTE THAT SINCE DLREP COPIES A RANGE OF VALUES TO EACH
  261. * TABLE, THE DIRECTIVE GROUPINGS MUST REMAIN INTACT. THE
  262. * CN DIRECTIVE IS USED IN TWO TABLES. A CHANGE IN THE ID$
  263. * VALUE MUST ALSO CHANGE THE CORRESPONDING SWITCH DEFINITIONS
  264. * IN PROCEDURES DLABH,DLMSG,DLNBH,DLSM.
  265. *
  266.  #
  267. *ENDIF
  268. *CALL DIRDEFS
  269. *CALL DIRTBL
  270. # * * * * * * * * * * * * --- DIRTBLH --- * * * * * * * * * * * * * * *#
  271. *IF DEF,IMS
  272. #
  273. *
  274. * DC DIRTBLH
  275. * SUBSET OF DIRECTIVE VALUE TABLE FOR HEADER PROCESSING
  276. *
  277. * DIRTBLH IS A SUBSET OF DIRTBL CREATED BY THE PROCEDURE
  278. * DLREP FOR USE BY DLABH FOR AN APPLICATION ZZZZZDN FILE
  279. * OF FOR USE BY DLNBH FOR A NIP ZZZZZDN FILE. DLABH AND
  280. * DLNBH ARE NOT CALLED IF THERE ARE NO DIRECTIVES IN
  281. * DIRTBLH (DIRNUMH EQ 0). ONLY APPLICATION BLOCK HEADERS
  282. * MAY BE EXAMINED FOR CONNECTION NUMBER (CN) AND/OR THE
  283. * DATA BLOCK CLARIFIER BITS BREAK FLAG(B), CANCEL FLAG(C),
  284. * NO FORMAT EFFECTOR FLAG(F), PARITY ERROR FLAG(P),
  285. * TRUNCATED DATA FLAG(T), UNDELIVERABLE INPUT BLOCK(U),
  286. * OR TRANSPARENT BIT(X). THE NETWORK BLOCK HEADER MAY BE
  287. * EXAMINED FOR DESTINATION NODE(DN), SOURCE NODE(SN),
  288. * CONNECTION NUMBER(CN), AND/OR THE BITS CANCEL FLAG(C),
  289. * NO FORMAT EFFECTOR FLAG(F), PARITY ERROR FLAG(P), OR
  290. * TRUNCATED DATA FLAG(T).
  291. *
  292.  #
  293. *ENDIF
  294. *CALL DIRTBLH
  295. # * * * * * * * * * * * * --- DIRTBLM --- * * * * * * * * * * * * * *#
  296. *IF DEF,IMS
  297. #
  298. *
  299. * DC DIRTBLM
  300. * SUBSET OF DIRECTIVE VALUE TABLE FOR DATA MESSAGE PROCESSING
  301. *
  302. * DIRTBLM IS A SUBSET OF DIRTBL CREATED BY DLREP FOR
  303. * USE BY DLMSG. DLMSG IS NOT CALLED IF THERE ARE NO
  304. * DIRECTIVES IN DIRTBLM (DIRNUMM EQ 0). IF SELECTED,
  305. * NUMBER OF ENTRIES WRITTEN TO OUTPUT(NM), BEGINNING
  306. * TIME(BT), ENDING TIME(ET), AND NETLOG ENTRIES
  307. * NOT SELECTED (N) DIRECTIVES WILL BE
  308. * EXAMINED FOR EACH MESSAGE ON THE ZZZZZDN FILE.
  309. * BT DIRECTIVE MUST BE THE LAST ENTRY IN THE DIRTBLM TABLE
  310. *
  311.  #
  312. *ENDIF
  313. *CALL DIRTBLM
  314. # * * * * * * * * * * * * --- DIRTBLS --- * * * * * * * * * * * * * *#
  315. *IF DEF,IMS
  316. #
  317. *
  318. * DC DIRTBLS
  319. * SUBSET OF DIRECTIVE VALUE TABLE FOR SUPERVISORY MESSAGE
  320. * PROCESSING
  321. *
  322. * DIRTBLS IS A SUBSET OF DIRTBL CREATED BY DLREP FOR USE
  323. * BY DLSM. DLSM IS NOT CALLED BY DLSCAN IF THERE ARE NO
  324. * ENTRIES IN DIRTBLS (DIRNUMS EQ 0). IF SELECTED, THE
  325. * ERROR BIT(E), RESPONSE BIT(R), CONNECTION NUMBER(CN),
  326. * PFC(PF), OR PFCSFC(PS) FIELDS ARE EXAMINED.
  327. *
  328.  #
  329. *ENDIF
  330. *CALL DIRTBLS
  331. # * * * * * * * * * * * * --- DLONEL --- * * * * * * * * * * * * * * * #
  332. *IF DEF,IMS
  333. #
  334. *
  335. * DC DLONEL
  336. * COMMON BLOCK CONTAINING THE FORMAT FOR ONE BLANK LINE
  337.  #
  338. *ENDIF
  339. *CALL DLONEL
  340. # * * * * * * * * * * * * --- DLNOD --- * * * * * * * * * * * * * * * *#
  341. *IF DEF,IMS
  342. #
  343. *
  344. * DC DLNOD
  345. * ARRAY TO STORE NUMBER OF DAYS IN EACH MONTH
  346.  #
  347. *ENDIF
  348. *CALL DLNOD
  349. # * * * * * * * * * * * * --- DLTLC --- * * * * * * * * * * * * * * * *#
  350. *IF DEF,IMS
  351. #
  352. *
  353. * DC DLTLC
  354. * TEXT LENGTH IN CHARACTERS OF SELECTED MESSAGE
  355.  #
  356. *ENDIF
  357. *CALL DLTLC
  358. *CALL DRHDIMS
  359. *CALL DRHDR
  360. # * * * * * * * * * * * * --- ERRMSG --- * * * * * * * * * * * * * * * #
  361. *IF DEF,IMS
  362. #
  363. *
  364. * DC ERRMSG
  365. * COMMON BLOCK CONTAINING ALL ERROR OR INFORMATIVE MESSAGES
  366. * USED IN DLFP.
  367.  #
  368. *ENDIF
  369. *CALL ERRMSG
  370. # * * * * * * * * * * * * * * --- FETDEFS --- * * * * * * * * * * * * #
  371. *IF DEF,IMS
  372. #
  373. *
  374. * DC FETDEFS
  375. * BASED ARRAY TO DEFINE DIFFERENT FIELDS IN FET AREA
  376. *
  377. * WORD 0
  378. * 4 5 5 5 5 5
  379. * 0 2 0 1 5 6 9
  380. * I------------------------------I------I---I-I---I--I
  381. * I I I I I I I
  382. * I FETNAM I IEOII IEORI I
  383. * I I I I I I I
  384. * I------------------------------I------I---I-I---I--I
  385. *
  386. * FETNAM - FILE NAME
  387. * EOI - END OF INFORMATION FLAG
  388. * EOR - END OF RECORD OR END OF FILE FLAG
  389. *
  390. * WORD 1
  391. * 4 5
  392. * 4 5
  393. * 0 2 9
  394. * I------------------------------I------------------I
  395. * I I I
  396. * I I FET1ST I
  397. * I I I
  398. * I------------------------------I------------------I
  399. *
  400. * FET1ST - FET FIRST POINTER
  401. *
  402. * WORD 2
  403. * 4 5
  404. * 0 2 9
  405. * I-----------------------------I--------------------I
  406. * I I I
  407. * I I FETIN I
  408. * I I I
  409. * I-----------------------------I--------------------I
  410. *
  411. * FETIN - FET IN POINTER
  412. *
  413. * WORD 3
  414. * 4 5
  415. * 0 2 9
  416. * I-----------------------------I--------------------I
  417. * I I I
  418. * I I FETOUT I
  419. * I I I
  420. * I-----------------------------I--------------------I
  421. *
  422. * FETOUT - FET OUT POINTER
  423. *
  424. * WORD 4
  425. * 4 5
  426. * 0 2 9
  427. * I-----------------------------I--------------------I
  428. * I I I
  429. * I I FETLMT I
  430. * I I I
  431. * I-----------------------------I--------------------I
  432. *
  433. * FETLMT - FET LIMIT POINTER
  434. *
  435.  #
  436. *ENDIF
  437. *CALL FETDEFS
  438. # * * * * * * * * * * * * * * --- ICIOBB --- * * * * * * * * * * * * * #
  439. *IF DEF,IMS
  440. #
  441. *
  442. * DC ICIOBB
  443. * COMMON BLOCK RESERVING SPACE FOR DIRECTIVE FILE CIO BUFFER
  444.  #
  445. *ENDIF
  446. *CALL ICIOBB
  447. # * * * * * * * * * * * * * --- IFETB --- * * * * * * * * * * * * * * *#
  448. *IF DEF,IMS
  449. #
  450. *
  451. * DC IFETB
  452. * COMMON BLOCK RESERVING SPACE FOR FET AREA OF DIRECTIVE FILE
  453.  #
  454. *ENDIF
  455. *CALL IFETB
  456. # * * * * * * * * * * * * * --- MISCOM --- * * * * * * * * * * * * * * #
  457. *IF DEF,IMS
  458. #
  459. *
  460. * DC MISCOM
  461. * COMMON DECK HOLDING DEFINITIONS FOR DIFFERENT CHARACTER TYPES
  462.  #
  463. *ENDIF
  464. *CALL MISCOM
  465. # * * * * * * * * * * * * * --- MISDEF --- * * * * * * * * * * * * * * #
  466. *IF DEF,IMS
  467. #
  468. *
  469. * DC MISDEF
  470. * MISCELLANEOUS DEFINITIONS USED BY NIP AND DLFP.
  471.  #
  472. *ENDIF
  473. *CALL MISDEF
  474. # * * * * * * * * * * * * * --- MISDEFX --- * * * * * * * * * * * * * *#
  475. *IF DEF,IMS
  476. #
  477. *
  478. * DC MISDEFX
  479. * MISCELLANEOUS DEFINITIONS
  480.  #
  481. *ENDIF
  482. *CALL MISDEFX
  483. # * * * * * * * * * * * * --- MISRES --- * * * * * * * * * * * * * * * #
  484. *IF DEF,IMS
  485. #
  486. *
  487. * DC MISRES
  488. * COMMON BLOCK TO HOLD NIP RESPONSE TIME AVERAGES FOR EACH
  489. * CONNECTION
  490. *
  491. * WORD 0
  492. * 5
  493. * 0 1 2 9
  494. * I------I-------I-----------------------------------I
  495. * I I I I
  496. * I INPF I EXTF I CNCTR I
  497. * I I I I
  498. * I------I-----I-------------------------------------I
  499. *
  500. * INPF - INPUT BLOCK EXISTS FLAG
  501. * EXTF - CONNECTION NUMBER EXISTS FLAG
  502. * CNCTR - NUMBER OF RESPONSES
  503. *
  504. * WORD 1
  505. *
  506. * CNSUM - ACCUMULATOR
  507. *
  508. * WORD 2
  509. *
  510. * CNINPTM - INPUT BLOCK CLOCK TIME
  511. *
  512.  #
  513. *ENDIF
  514. *CALL MISRES
  515. *CALL NCIOBB
  516. *CALL NFETB
  517. *CALL NHIMS
  518. *CALL NHEADER
  519. # * * * * * * * * * * * --- NP$NWNC --- * * * * * * * * * * * * * * * *#
  520. *IF DEF,IMS
  521. #
  522. * DC NP$NWNC
  523. * COMMON BLOCK TO HOLD COEFFICIENTS FOR EQUATIONS TO CALCULATE
  524. * THE NUMBER OF WORDS AND CHARACTES IN A DATA BLOCK
  525.  #
  526. *ENDIF
  527. *CALL NP$NWN1
  528. # * * * * * * * * * * * * * * * --- OCIOBB --- * * * * * * * * * * * * #
  529. *IF DEF,IMS
  530. #
  531. *
  532. * DC OCIOBB
  533. * COMMON BLOCK TO HOLD THE CIO BUFFER FOR OUTPUT FILE
  534.  #
  535. *ENDIF
  536. *CALL OCIOBB
  537. # * * * * * * * * * * * * * * --- OFETB --- * * * * * * * * * * * * * *#
  538. *IF DEF,IMS
  539. #
  540. *
  541. * DC OFETB
  542. * COMMON BLOCK TO HOLD THE FET AREA FOR OUTPUT FILE
  543.  #
  544. *ENDIF
  545. *CALL OFETB
  546. # * * * * * * * * * * * * * * * --- OUTCDA --- * * * * * * * * * * * * #
  547. *IF DEF,IMS
  548. #
  549. *
  550. * DC OUTCDA
  551. * COMMON DECK FOR OUTPUT REPORT AS USED IN DLREP AND ITS
  552. * SUBORDINATE ROUTINES.
  553.  #
  554. *ENDIF
  555. *CALL OUTCDA
  556. # * * * * * * * * * * * * * * * --- SYSDATEX --- * * * * * * * * * * * #
  557. *IF DEF,IMS
  558. #
  559. *
  560. * DC SYSDATEX
  561. * COMMON BLOCK TO STORE CURRENT DATE FROM SYSTEM
  562. *
  563. * 5
  564. * 0 6 9
  565. * I---------I----------------------------------------I
  566. * I I I
  567. * I I YYMMDD I
  568. * I I I
  569. * I---------I----------------------------------------I
  570. *
  571. * YYMMDD - CURRENT DATE
  572. *
  573.  #
  574. *ENDIF
  575. *CALL SYSDATEX
  576. # * * * * * * * * * * * * * * * --- VDDIR --- * * * * * * * * * * * * *#
  577. *IF DEF,IMS
  578. #
  579. *
  580. * DC VDDIR
  581. * COMMON BLOCK OF VALID DIRECTIVE KEYWORDS.
  582. *
  583. * VDDR ENTRIES HAVE THE FOLLOWING FORMAT:
  584. *
  585. * 4 5
  586. * 0 2 9
  587. * I-----------------------------I--------------------I
  588. * I I I
  589. * I VDENTR I VDLEN I
  590. * I I I
  591. * I-----------------------------I--------------------I
  592. *
  593. * VDENTR - THE DISPLAY CODE VALUE OF A VALID ENTRY
  594. * VDLEN - =3, FOR TWO LETTER INPUT DIRECTIVES
  595. * =1, FOR ONE LETTER INPUT DIRECTIVES
  596. *
  597.  #
  598. *ENDIF
  599. *CALL VDDIR
  600. # * * * * * * * * * * * * * * * --- VDPARM --- * * * * * * * * * * * * #
  601. *IF DEF,IMS
  602. #
  603. *
  604. * DC VDPARM
  605. * COMMON BLOCK TO LIST ALL VALID PARAMETERS FROM PRGM CALL CARD
  606.  #
  607. *ENDIF
  608. *CALL VDPARM
  609. # * * * * * * * * * * * * * * * --- WRDPAIR --- * * * * * * * * * * * *#
  610. *IF DEF,IMS
  611. #
  612. *
  613. * DC WRDPAIR
  614. * COMMON BLOCK CONTAINING PARAMETERS USED BY DLDIS ROUTINE.
  615.  #
  616. *ENDIF
  617. *CALL WRDPAIR
  618. # * * * * * * * * * * * * * * --- ZCIOBB --- * * * * * * * * * * * * * #
  619. *IF DEF,IMS
  620. #
  621. *
  622. * DC ZCIOBB
  623. * COMMON BLOCK TO HOLD CIO BUFFER AREA FOR ZZZZZDN FILE
  624.  #
  625. *ENDIF
  626. *CALL ZCIOBB
  627. # * * * * * * * * * * * * * --- ZFETB --- * * * * * * * * * * * * * * *#
  628. *IF DEF,IMS
  629. #
  630. *
  631. * DC ZFETB
  632. * COMMON BLOCK TO HOLD FET AREA FOR THE ZZZZZDN FILE
  633.  #
  634. *ENDIF
  635. *CALL ZFETB
  636. # * * * * * * * * * * * * * * --- ZHRCD --- * * * * * * * * * * * * * *#
  637. *IF DEF,IMS
  638. #
  639. *
  640. * DC ZHRCD
  641. * COMMON BLOCK HOLDING TEMPLATE FOR THE HEADER RECORD OF ZZZZZDN
  642. * FILE.
  643. * INTERNAL FORMAT OF ZZZZZDN -
  644. *
  645. * HEADER WORD 0 -
  646. * W 7
  647. * 4
  648. * 0 2
  649. * I----------------------------I
  650. * I I
  651. * I NIP I
  652. * I I
  653. * I----------------------------I
  654. *
  655. * WHERE
  656. * THE LEFTMOST 42 BITS CONTAINS DISPLAY CODE LITERALS NIP WITH
  657. * ZERO FILL.
  658. *
  659. * HEADER WORD 1 -
  660. * W 7
  661. * 2
  662. * 0 4
  663. * I----------------------I-----------------------I
  664. * I I I
  665. * I SECONDS I MILLISECONDS I
  666. * I I I
  667. * I---------------------I-----------------------I
  668. *
  669. * WHERE
  670. *
  671. *
  672. * SECONDS = ELAPSED TIME SINCE DEADSTART IN SECS.
  673. * MILLISECONDS = ELAPSED TIME SINCE DEADSTART IN MILLISECONDS.
  674. *
  675. * HEADER WORD 2 -
  676. *
  677. * W 7
  678. * 1 2 3 4 5
  679. * 6 8 4 6 2 4
  680. * I----I-----I-----I------I-----I------I-----I
  681. * I I I I I I I I
  682. * I I HH I . I MM I . I SS I . I
  683. * I I I I I I I I
  684. * I----I-----I-----I------I-----I------I-----I
  685. *
  686. *
  687. * WHERE
  688. *
  689. * HH = HOUR IN DISPLAY CODE.
  690. * MM = MINUTE IN DISPLAY CODE.
  691. * SS = SECONDS IN DISPLAY CODE.
  692. *
  693. *
  694. * HEADER WORD 3 -
  695. * W 7
  696. * 1 2 3 4 5
  697. * 6 8 4 6 2 4
  698. * I----I------I-----I------I-----I------I-----I
  699. * I I I I I I I I
  700. * I I YY I / I MM I / I DD I / I
  701. * I I I I I I I I
  702. * I----I------I-----I------I-----I------I-----I
  703. *
  704. *
  705. * WHERE
  706. *
  707. * YY = YEAR IN DISPLAY CODE.
  708. * EG. 1978 WILL BE EXPRESSED AS 4243B.
  709. * MM = MONTH IN DISPLAY CODE.
  710. * DD = DATE OF THE MONTH IN DISPLAY CODE.
  711. *
  712. *
  713. * THE HEADER RECORD IS FOLLOWED BY INDIVIDUAL ZZZZZDN ENTRY
  714. * CONTAINING AN INBOUND OR OUTBOUND MESSAGE.
  715. * INTERNAL FORMAT OF EACH ZZZZZDN ENTRY -
  716. *
  717. *
  718. * WORD 0 -
  719. *
  720. * W 7
  721. * 2
  722. * 0 4
  723. * I---------------------I-----------------------I
  724. * I I I
  725. * I SECONDS I MILLISECONDS I
  726. * I I I
  727. * I---------------------I-----------------------I
  728. *
  729. * WHERE
  730. *
  731. *
  732. * SECONDS = ELAPSED TIME SINCE DEADSTART IN SECS.
  733. * MILLISECONDS = ELAPSED TIME SINCE DEADSTART IN MILLISECONDS.
  734. *
  735. *
  736. * WORD 1 -
  737. *
  738. * W 7
  739. * 2
  740. * 6 3
  741. * I----------I----------I
  742. * I I I
  743. * I BPIPID I BPIPBS I
  744. * I I I
  745. * I----------I----------I
  746. *
  747. *
  748. * WHERE
  749. *
  750. * BPIPID = BLOCK ID.
  751. * 14 FOR INBOUND, 15 FOR OUTBOUND.
  752. * BPIPBS = BLOCK SIZE. SIZE OF ZZZZZDN ENTRY MINUS ONE.
  753. *
  754. *
  755. * WORD 2 -
  756. *
  757. * W 5
  758. * 1 2 2 2 3 4 4 4
  759. * 0 8 6 4 5 8 2 0 4 8
  760. * I--I--I--I-----I-----I--I-----I-----I-I--I
  761. * IDNISNICNINHPRIINHBSNIBTINHDBCINHACTIBICCI
  762. * I--I--I--I-----I-----I--I-----I-----I-I--I
  763. *
  764. * SEE NHEADER FOR EXPLANATION OF THE ABOVE FIELDS.
  765. * MESSAGE TEXT WILL FOLLOW THIS WORD.
  766. *
  767.  #
  768. *ENDIF
  769. *CALL ZHRCD
  770.  
  771. *IF DEF,IMS
  772. #
  773. *1DC DLFP
  774. *
  775. * 1. PROC NAME AUTHOR DATE.
  776. * DLFP P.C.TAM 78/09/15
  777. *
  778. * 2. FUNCTIONAL DESCRIPTION.
  779. * MAIN PROGRAM.
  780. * CALL DLARG TO PROCESS ARGUMENT FROM PROGRAM CALL CARD,
  781. * CALL DLDIRP TO SCAN DIRECTIVES
  782. * CALL DLREP TO GENERATE OUTPUT
  783. *
  784. * 3. METHOD USED.
  785. * SAME AS 2.
  786. *
  787. * 4. ENTRY PARAMETERS.
  788. * NONE.
  789. *
  790. * 5. EXIT PARAMETERS.
  791. * NONE.
  792. *
  793. * 6. COMMON DECKS CALLED.
  794. * CRCOM CYBERDEFS ARGERR ARGTBL AWLDEFS
  795. * DEQCOM DIERR DIRTBL DIRTBLH DIRTBLM
  796. * DIRTBLS DLONEL DLNOD DLTLC DRHDR
  797. * ERRMSG FETDEFS ICIOBB IFETB MISCOM
  798. * MISDEF MISDEFX MISRES NCIOBB NFETB
  799. * NHEADER OCIOBB OFETB OUTCDA SYSDATEX
  800. * VDDIR VDPARM WRDPAIR ZCIOBB ZFETB
  801. * ZHRCD
  802. *
  803. * 7. ROUTINES CALLED.
  804. * DLABEND ABORT MAIN LINE
  805. * DLARG PROCESS ARGUMENTS FROM PROGRAM CALL CARD
  806. * DLDT GET CURRENT DATE
  807. * DLDIRP SCAN DIRECTIVE FILE
  808. * DLDFM LOG DAYFILE MESSAGE
  809. * DLENDPR TERMINATION PROCESSING
  810. * DLINT INITIATE READ/WRITE ON FILE
  811. * DLOPEN OPEN FILE
  812. * DLPSIN BUBBLE SORT VALUES OF PFC/SFC
  813. * DLRDW READ A RECORD FROM FILE
  814. * DLRECL WAIT FOR EVENT COMPLETION
  815. * DLREP REPORT GENERATOR
  816. * DLRWD REWIND FILE BACK TO BOI
  817. *
  818. * 8. DAYFILE MESSGES.
  819. * NONE.
  820. *
  821.  #
  822. *ENDIF
  823. #
  824.   EXTERNAL VARIABLES
  825. #
  826. XREF
  827. BEGIN
  828. PROC DLABEND; # ABORT MAIN LINE #
  829. PROC DLARG; # SCAN FOR PARAMETERS IN PROGRAM CALL #
  830. PROC DLCLOSE; # CLOSE FILE #
  831. PROC DLDT; # GET CURRENT DATE #
  832. PROC DLDIRP; # SCAN DIRECTIVE FILE #
  833. PROC DLDFM; # LOG DAYFILE MESSAGE PROCESSOR #
  834. PROC DLENDPR; # TERMINATION PROCESSING #
  835. PROC DLINT; # INITIATE READ/WRITE ON FILE #
  836. PROC DLOPEN; # OPEN FILE #
  837. PROC DLPSIN; # BUBBLE SORT VALUES OF PFC/SFC #
  838. PROC DLRDW; # READ RECORD FROM FILE #
  839. PROC DLRECL; # WAIT FOR EVENT COMPLETION #
  840. PROC DLREP; # OUTPUT FILE GENERATOR #
  841. PROC DLRWD; # REWIND FILE TO BOI #
  842. END
  843.  
  844. #
  845.   LOCAL VARIABLES
  846. #
  847. ITEM
  848. ERRCODE I, # ERROR RETURN CODE FROM SUBMODULES #
  849. RSIZE I, # REAL RECORD SIZE #
  850. I I, # TEMPORARY VARIABLE #
  851. UNPTR B, # FLAG FOR DLDIRP MODULE #
  852. IEOF B = FALSE; # END OF FILE FLAG #
  853. BASED ARRAY PRODID[0:0] S(1);
  854. BEGIN
  855. ITEM PROD$ID C(00,00,03);
  856. END
  857. #**********************************************************************#
  858. BEGIN
  859. #
  860.   SCAN PARAMETERS TO DETERMINE INPUT, OUTPUT, AND DIRECTIVE
  861.   FILE NAMES
  862. #
  863. NTOFF = FALSE;
  864. DLARG; # PROCESS CONTROL CARD PARAMETERS #
  865. DLPSIN; # BUBBLE SORT VALUES OF PFC/SFC #
  866.  
  867. DLDT(SYSDATEY); # GET DATE #
  868.  
  869. P<FETDEFS> = LOC(OFET0[0]); # INITIALIZE OUTPUT FILE NAME #
  870. FETNAM[0] = ARGENTR[OFILE]; # SET OUTPUT FILE NAME #
  871. DLOPEN(OFET, WRITENR); # OPEN OUTPUT FILE #
  872. DLINT(OFET, WRITENR); # INITIALIZE WRITE OPERATION #
  873.  
  874. IF ARGFLAG[NFILE]
  875. THEN
  876. BEGIN # INITIALIZE NEW DEBUG LOG FILE FETS #
  877. P<FETDEFS> = LOC(NFET);
  878. FETNAM[0] = ARGENTR[NFILE];
  879. DLOPEN(NFET, WRITENR);
  880. DLINT(NFET, WRITENR);
  881. END
  882.  
  883. P<FETDEFS> = LOC(ZFET0[0]); # INITIALIZE ZZZZZDN FILE NAME #
  884. FETNAM[0] = ARGENTR[ZFILE]; # SET ZZZZZDN FILE NAME #
  885. DLOPEN(ZFET, READNR); # OPEN ZFILE #
  886.  
  887. DLRWD(ZFET); # REWIND ZZZZZDN FILE TO BOI #
  888. DLINT(ZFET, READNR); # INITIATE FILE FOR READING #
  889. DLRDW(ZFET, ZHSIZE, TEMPB1, RSIZE); # READ FILE HEADER #
  890. P<PRODID> = LOC(TEMPB1);
  891. IF RSIZE LS 0 # (EOF) OR (EOI) #
  892. THEN # ZZZZZDN FILE EMPTY #
  893. BEGIN
  894. DLDFM(EMP$ZFILE); # EMPTY ZZZZZDN FILE #
  895. END
  896. ELSE
  897. BEGIN
  898. IF RSIZE NQ ZHSIZE OR PROD$ID[0] EQ " "
  899. THEN
  900. BEGIN # BAD ZZZZZDN FILE CONTENT #
  901. DLDFM(BAD$ZFILE);
  902. DLABEND;
  903. END
  904. #
  905.   SCAN DIRECTIVE FILE AND GENERATE REPORT
  906. #
  907. IF ARGENTR[INFILE] NQ O"33000000000000000000"# I=0, NO DIR FILE #
  908. THEN # INPUT DIRECTIVE FILE EXISTS #
  909. BEGIN
  910.  
  911. P<FETDEFS> = LOC(IFET0[0]);# INITIALIZE INPUT FILE #
  912. FETNAM[0] = ARGENTR[INFILE];# SET INPUT FILE NAME #
  913. DLOPEN(IFET, READNR); # OPEN FILE #
  914. DLINT(IFET, READNR); # INITIALIZE READ #
  915. DLRECL(IFET); # WAIT FOR INITIALIZE READ TO FIN #
  916.  
  917. #
  918.   LOOP TO READ EACH DIRECTIVE RECORD, AND PROCESS IT
  919. #
  920. FOR I = 0 STEP 1 WHILE NOT IEOF
  921. DO
  922. BEGIN
  923. ERRCODE = 0;
  924. IF FETIN[0] EQ FETOUT[0] AND # CIO BUFFER EMPTY #
  925. (FETEOI[0] EQ 1 OR # FILE AT EOI #
  926. FETEOF[0] EQ 3 OR # FILE AT EOF #
  927. (FETEOR[0] EQ 2 AND # FILE AT EOR AND #
  928. FETDT[0] NQ "TT")) # NOT A TERMINAL INPUT #
  929. THEN
  930. IEOF = TRUE;
  931. ELSE # DIRECTIVES AVAILABLE #
  932. BEGIN
  933. DLDIRP(UNPTR,ERRCODE);# FILE DIRECTIVE SCANNER #
  934. IF FETDT[0] EQ "TT" # IT IS A TERMINAL JOB #
  935. THEN
  936. BEGIN
  937. IF UNPTR AND # EMPTY LINE INPUT #
  938. I NQ 0 # NOT 1ST TIMER #
  939. THEN
  940. IEOF = TRUE;
  941. END
  942. END
  943. IF (NOT IEOF OR
  944. (IEOF AND I EQ 0)) AND
  945. ERRCODE EQ 0
  946. THEN # INPUT AVAILABLE, OR INPUT FILE EMPTY #
  947. BEGIN
  948. DLRWD(ZFET); # REWIND FILE TO BOI #
  949. DLINT(ZFET, READNR);# INITIATE FILE FOR READ #
  950. DLREP; # REPORT GENERATOR #
  951. IF FETEOR[0] EQ 2 AND FETDT[0] EQ "TT"
  952. THEN # RE-INITIALIZE READ #
  953. DLINT(IFET,READNR);
  954. END
  955. END
  956. END
  957. ELSE # NO INPUT DIRECTIVE FILE #
  958. BEGIN
  959. DLRWD(ZFET); # REWIND FILE TO BOI #
  960. DLINT(ZFET, READNR); # INITIATE FILE FOR READ #
  961. DLREP; # REPORT GENERATOR #
  962. END
  963.  
  964. END
  965. DLDFM(DL$COMP); # DLFP COMPLETE #
  966. DLENDPR; # TERMINATION PROCESSING #
  967.  
  968. STOP;
  969. END
  970. TERM
cdc/nos2.source/nam5871/dlfp.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator