User Tools

Site Tools


cdc:nos2.source:nam5871:csddnt

CSDDNT

Table Of Contents

  • [00005] PROC CSDDNT
  • [00006] CSDDNT - DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE.
  • [00047] PROC CSNVDSP(WCARY,ABHARY,TXTARA)
  • [00048] CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE.
  • [00052] CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE.
  • [00088] WCARY - WORD COUNT ARRAY
  • [00099] ABHARY - APPLICATION BLOCK HEADER ARRAY
  • [00111] TXTARA - TEXT AREA
  • [00129] PROC SSTAQE
  • [00130] PROC ABORT
  • [00131] PROC MESSAGE

Source Code

CSDDNT.txt
  1. *DECK CSDDNT
  2. USETEXT TEXTCS
  3. USETEXT TXTAPSS
  4. USETEXT TXTSUSS
  5. PROC CSDDNT;
  6. # TITLE CSDDNT - DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE. #
  7.  
  8. BEGIN # CSDDNT #
  9. #
  10. * CSDDNT - DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE.
  11. *
  12. * A. LIM 81/10/05
  13. * C. BRION 82/02/14.
  14. * C. BRION 82/03/17.
  15. * C. BRION 82/05/06.
  16. *
  17. * THIS IS A DUMMY PROCEDURE. ITS EXISTENCE IS TO CUSTOMIZE WITH
  18. * THE DECK NAME.
  19. *
  20. * PROC CSDDNT
  21. *
  22. * ENTRY NONE
  23. *
  24. * EXIT NONE
  25. *
  26. * NOTE THIS PROC WOULD NEVER BE CALLED. INSTEAD AN ALTERNATE
  27. * ENTRY POINT, CSNVDSP WILL BE CALLED. CSNVDSP IS USED TO
  28. * CUSTOMIZE WITH THE CS DISPATCH PROC.
  29. *
  30. * METHOD NONE
  31. *
  32. #
  33.  
  34.  
  35.  
  36.  
  37. #
  38. **** PROC CSDDNT - ALTERNATE ENTRY POINT
  39. #
  40.  
  41. XDEF PROC CSNVDSP;
  42.  
  43. #
  44. ****
  45. #
  46. CONTROL EJECT;
  47. PROC CSNVDSP(WCARY,ABHARY,TXTARA);
  48. # TITLE CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE. #
  49.  
  50. BEGIN # CSNVDSP #
  51. #
  52. ** CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE.
  53. *
  54. * A. LIM 81/10/05
  55. * C. BRION 82/02/14.
  56. *
  57. * THIS PROCEDURE WILL BE CALLED BY AIP MONITOR WHENEVER A
  58. * SM/DATA-BLOCK COMES TO CS. ITS CHARTER IS TO
  59. * DISPATCH IT TO THE APPROPRIATE QUEUE.
  60. *
  61. * PROC CSNVDSP(WCARY,ABHARY,TXTARA)
  62. *
  63. * ENTRY WCARY = A ONE WORD ARRAY FOR INCOMING WC.
  64. * ABHARY = A ONE WORD ARRAY FOR INCOMING ABH.
  65. * TXTARA = A TEXT AREA FOR INCOMING SM/DATA-BLOCK.
  66. *
  67. * EXIT A SM/DATA-BLOCK IS ROUTED TO THE APPROPRIATE QUEUE.
  68. *
  69. * NOTES NONE
  70. *
  71. * METHOD IF INCOMING NETWORK TRAFFIC IS DATA-BLOCK, ROUTE IT
  72. * TO CONNECTION-TRAFFIC-QUEUE. ELSE IF IT IS SM,
  73. * SCAN THROUGH PFC/SFC-CLASSIFY TABLE TO FIND
  74. * A MATCH ON THE SM, AND ROUTE IT TO THE
  75. * APPROPRIATE QUEUE DETERMINED BY THE POSITION
  76. * OF THE SM IN THE TABLE.
  77. * IF NO MATCH IS FOUND IN THE TABLE, ABORT THE CS PROGRAM.
  78. *
  79. #
  80.  
  81.  
  82.  
  83. #
  84. * FORMAL PARAMETERS
  85. #
  86.  
  87. #
  88. ** WCARY - WORD COUNT ARRAY
  89. *
  90. * WCARY IS A ONE WORD ARRAY FOR INCOMING WC
  91. #
  92.  
  93. ARRAY WCARY[00:00] S(1);
  94. BEGIN
  95. ITEM WC$SMID U(00,00,12); # INTERNAL SM ID #
  96. END
  97.  
  98. #
  99. ** ABHARY - APPLICATION BLOCK HEADER ARRAY
  100. *
  101. * ABHARY IS A ONE WORD ARRAY FOR INCOMING ABH.
  102. *
  103. #
  104.  
  105. ARRAY ABHARY[00:00] S(1);
  106. BEGIN
  107. ITEM ABH$WRD U(00,00,60); # FULL WORD #
  108. END
  109.  
  110. #
  111. ** TXTARA - TEXT AREA
  112. *
  113. * TXTARA IS A TEXT AREA FOR THE INCOMING SM/DATA-BLOCK.
  114. *
  115. #
  116.  
  117. ARRAY TXTARA[00:10] S(1);
  118. BEGIN
  119. ITEM TXT$WORD U(00,00,60);
  120. END
  121.  
  122.  
  123. #
  124. **** PROC CSNVDSP - XREF LIST
  125. #
  126.  
  127. XREF
  128. BEGIN
  129. PROC SSTAQE; # SS ACCEPT Q ENTRY #
  130. PROC ABORT; # ABORT PROC #
  131. PROC MESSAGE; # ISSUE DAYFILE MSG #
  132. END
  133.  
  134. #
  135. ****
  136. #
  137.  
  138.  
  139. # DEFS #
  140.  
  141. DEF MXPSFC$ # 86 #; # MAX NUM PFCSFC + 1 #
  142.  
  143. #
  144. * QSTAT - STATUS LIST VALUES THAT DEFINE THE POSSIBLE QUEUES FOR
  145. * DISPATCHING INCOMING NETWORK TRAFFIC.
  146. #
  147.  
  148. STATUS QSTAT
  149. CNFTERQ, # CONF TERMINAL QUEUE #
  150. CNFRCRQ, # RESET CHARACTERISTIC OF TERMINAL #
  151. CNTRFQ, # CONN TRAFFIC QUEUE #
  152. NPUSUPQ, # NPU SUPERVISION QUEUE #
  153. OPSUPQ, # OPERATOR SUPERVISION Q #
  154. SSTATQ, # SOLICITED STATUS Q #
  155. UNSTATQ, # UNSOLICITED STATUS Q #
  156. # ALIAS EVENT QUEUE (EVQ) #
  157. IGNORE, # IGNORE THESE SM-S #
  158. NOMATCHQ; # QUEUE IDENTIFIER FOR NO #
  159. # MATCH IN PFCSFC TABLE #
  160. # ITEMS #
  161.  
  162.  
  163. ITEM I U; # LOOP VARIABLE #
  164.  
  165. ITEM TEMP1 U; # TEMPORARY STORAGE AREA1#
  166. ITEM TEMP2 U; # TEMPORARY STORAGE AREA2#
  167. ITEM QNUM S:QSTAT; # QUEUE ID FOR GOTO #
  168.  
  169. #
  170. * QSWT - STATUS SWITCH FOR CONTROLLING THE TYPE OF QUEUE THAT A
  171. * NETWORK MESSAGE SHOULD BE ROUTED TO.
  172. #
  173.  
  174. SWITCH QSWT:QSTAT # USING QSTAT STATUS LIST #
  175. TOCTQ:CNFTERQ, # CONF TERMINAL REQUEST #
  176. TOCNQ:CNTRFQ, # CONNECTION TRAFFIC #
  177. TONPUQ:NPUSUPQ, # NPU SUPERVISION #
  178. TOOSQ:OPSUPQ, # OPERATOR SUPERVISION #
  179. TOSSQ:SSTATQ, # SOLICITED STATUS #
  180. TOEVQ:UNSTATQ, # UNSOLICITED STATUS #
  181. ENDOK:IGNORE, # IGNORE THESE SM-S #
  182. TOABORT:NOMATCHQ; # NO MATCH, TO ABORT LOGIC #
  183.  
  184.  
  185. #
  186. * NOMSG - DAYFILE MESSAGE FOR ABORT WHEN NO ROUTING OCCURS.
  187. #
  188.  
  189. $BEGIN
  190. ARRAY NOMSG[00:00] S(3);
  191. BEGIN
  192. ITEM NO$TXT C(00,00,22) = ["CSDDNT - SM NOT ROUTED"];
  193. ITEM NO$ZERO U(02,12,48) = [0];
  194. END
  195. $END
  196.  
  197. #
  198. * PSFCTBL - PFC/SFC TABLE.
  199. *
  200. * THE FOLLOWING TABLE CONTAINS THE PFC/SFC OF ALL INCOMING NETWORK
  201. * TRAFFIC AND THE CORRESPONDING ASSIGNED QUEUE IDENTIFIER FOR THE
  202. * INITIAL DISPATCHING FROM THE NETWORK DISPATCHER PROC, CSDDNT.
  203. * THE ORDER OF THE CODES IN THIS TABLE MUST MATCH ONE-FOR-ONE TO
  204. * THE ORDER OF THE "SMID" STATUS LIST DEFINED IN TEXTCS. IF ANY
  205. * ADDITIONS ARE MADE TO THE TABLE THE FOLLOWING PROCEDURE SHOULD
  206. * BE FOLLOWED:
  207. * ADD THE NEW PFCSFC TABLE ENTRY AT THE END OF THE
  208. * PSF$CODE ITEM LIST.
  209. * ADD THE NEW PSF$QID VALUE AT THE END OF THE LIST
  210. * BUT BEFORE THE NOMATCHQ ENTRY.
  211. * ADJUST THE MAXPSFC$ DEF TO THE NEW NUMBER OF PFCSFC
  212. * ENTRIES PLUS ONE.
  213. * ADD THE CORRESPONDING SMID STATUS LIST ENTRY IN THE
  214. * SAME RELETIVE POSITION FOR THE PFCSFC.
  215. * IF A NEW QUEUE ENTRY IS NEEDED, ADD THE NEW QUEUE
  216. * VALUE TO THE QSTAT STATUS LIST AND THE NEW ENTRY
  217. * TO THE QUEUE SWITCH QSWT.
  218. #
  219.  
  220. ARRAY PSFCTBL [00:MXPSFC$] S(1);
  221. BEGIN
  222. ITEM PSF$CODE U(00,00,16)=
  223.  
  224. # PFC/SFC LIST #
  225. # LOCATION #
  226. # ******* ********* #
  227.  
  228. [CNFTE, # 0 #
  229. CNFRCTM, # 0.1#
  230. SUPCB, # 1 #
  231. SUPIN, # 2 #
  232.  
  233. # UNSOLICITED PFCSFCS #
  234. # ******************* #
  235.  
  236.  
  237. ALMOP, # 3 #
  238. LOGER, # 4 #
  239. CDILI, # 5 #
  240. CDILL, # 6 #
  241. CDITE, # 7 #
  242. CDITR, # 8 #
  243. MSGOP, # 9 #
  244. STILI, # 10 #
  245. STINP, # 11 #
  246. STITR, # 12 #
  247. STIAP, # 12.1 #
  248. STITE, # 12.2 #
  249. STUTE, # 13 #
  250. STULI, # 14 #
  251. STULL, # 15 #
  252. STUTR, # 16 #
  253. STUNP, # 17 #
  254. STUCP, # 18 #
  255. STUVC, # 19 #
  256. OLDDT, # 20 #
  257. SUPGO, # 21 #
  258.  
  259. # CONNECTION TRAFFIC PFCSFCS #
  260. # ************************** #
  261.  
  262. SHUINS, # 22 #
  263. CONREQ, # 23 #
  264. HOPSTRT, # 24 #
  265. CONCB, # 25 #
  266. FCACK, # 26 #
  267. INTRUSR, # 27 #
  268. FCINA, # 28 #
  269. FCINIT, # 29 #
  270. FCNAK, # 30 #
  271. TCHTCH, # 31 #
  272. HOPALT, # 32 #
  273. HOPBRK, # 33 #
  274. HOPCMD, # 34 #
  275. HOPENDD, # 35 #
  276. HOPIG, # 36 #
  277. HOPPAGE, # 37 #
  278. CONENDN, # 38 #
  279. BIMARK, # 38.1 #
  280.  
  281.  
  282. # OPERATOR SUPERVISION PFCSFCS #
  283. # **************************** #
  284.  
  285. HOPDU, # 39 #
  286. HOPTRCE, # 40 #
  287. HOPNOTR, # 41 #
  288. HOPREL, # 42 #
  289. HOPRS, # 43 #
  290. HOPDB, # 43.1 #
  291. HOPDE, # 43.2 #
  292. TRSNPN, # 44 #
  293. TRSTRN, # 45 #
  294. LISLIN, # 46 #
  295. LISNPN, # 47 #
  296. LLSLLN, # 48 #
  297. LLSNPN, # 49 #
  298. CPSCPN, # 50 #
  299. CPSNPN, # 51 #
  300. NPSNPN, # 52 #
  301. TESLIN, # 53 #
  302. TESLLN, # 54 #
  303. TESNPN, # 55 #
  304. TESTEN, # 56 #
  305. VCSLIN, # 57 #
  306. VCSNPN, # 58 #
  307. VCSVCN, # 59 #
  308. MSGLIN, # 60 #
  309. MSGLLN, # 61 #
  310. MSGNPN, # 62 #
  311. MSGTEN, # 63 #
  312. MSGLIA, # 64 #
  313. MSGLLA, # 65 #
  314. MSGTEA, # 66 #
  315. OLDINN, # 67 #
  316. OLDINA, # 68 #
  317.  
  318. # SOLICITED STATUS PFCSFCS #
  319. # ************************ #
  320.  
  321. STUTEN, # 69 #
  322. STULIN, # 70 #
  323. STULLN, # 71 #
  324. STUTRN, # 72 #
  325. STUNPN, # 73 #
  326. STUCPN, # 74 #
  327. STUVCN, # 74.1 #
  328.  
  329. # IGNORE THESE PFCSFCS #
  330. # ******************** #
  331.  
  332. CTRTCD, # 75 #
  333. CTRCCD, # 75.1 #
  334. CTRCHRN, # 75.2 #
  335. CTRCHRA, # 75.3 #
  336. CTRCTDN, # 75.4 #
  337. CTRCTDA, # 75.5 #
  338. CTRRTCA, # 75.6 #
  339. CTRRCCA, # 75.7 #
  340. ];
  341.  
  342.  
  343. ITEM PSF$QID S:QSTAT (00,30,30)= # QUEUE IDENTIFIER #
  344. #
  345. * ** NOTE THE FOLLOWING QUEUE DEFINITIONS FROM THE
  346. * ** ABOVE DEFINITION OF QSTAT.
  347. #
  348.  
  349. [S"CNFTERQ", # 0 #
  350. S"CNFTERQ", # 0.1 #
  351. S"NPUSUPQ", # 1 #
  352. S"NPUSUPQ", # 2 #
  353.  
  354. # UNSOLICITED PFCSFCS #
  355. # ******************* #
  356.  
  357.  
  358. S"UNSTATQ", # 3 #
  359. S"UNSTATQ", # 4 #
  360. S"UNSTATQ", # 5 #
  361. S"UNSTATQ", # 6 #
  362. S"UNSTATQ", # 7 #
  363. S"UNSTATQ", # 8 #
  364. S"UNSTATQ", # 9 #
  365. S"UNSTATQ", # 10 #
  366. S"UNSTATQ", # 11 #
  367. S"UNSTATQ", # 12 #
  368. S"UNSTATQ", # 12.1 #
  369. S"UNSTATQ", # 12.2 #
  370. S"UNSTATQ", # 13 #
  371. S"UNSTATQ", # 14 #
  372. S"UNSTATQ", # 15 #
  373. S"UNSTATQ", # 16 #
  374. S"UNSTATQ", # 17 #
  375. S"UNSTATQ", # 18 #
  376. S"UNSTATQ", # 19 #
  377. S"UNSTATQ", # 20 #
  378. S"UNSTATQ", # 21 #
  379.  
  380. # CONNECTION TRAFFIC PFCSFCS #
  381. # ************************** #
  382.  
  383. S"CNTRFQ", # 22 #
  384. S"CNTRFQ", # 23 #
  385. S"CNTRFQ", # 24 #
  386. S"CNTRFQ", # 25 #
  387. S"CNTRFQ", # 26 #
  388. S"CNTRFQ", # 27 #
  389. S"CNTRFQ", # 28 #
  390. S"CNTRFQ", # 29 #
  391. S"CNTRFQ", # 30 #
  392. S"CNTRFQ", # 31 #
  393. S"CNTRFQ", # 32 #
  394. S"CNTRFQ", # 33 #
  395. S"CNTRFQ", # 34 #
  396. S"CNTRFQ", # 35 #
  397. S"CNTRFQ", # 36 #
  398. S"CNTRFQ", # 37 #
  399. S"CNTRFQ", # 38 #
  400. S"CNTRFQ", # 38.1 #
  401.  
  402.  
  403. # OPERATOR SUPERVISION PFCSFCS #
  404. # **************************** #
  405.  
  406. S"OPSUPQ", # 39 #
  407. S"OPSUPQ", # 40 #
  408. S"OPSUPQ", # 41 #
  409. S"OPSUPQ", # 42 #
  410. S"OPSUPQ", # 43 #
  411. S"OPSUPQ", # 43.1 #
  412. S"OPSUPQ", # 43.2 #
  413. S"SSTATQ", # 44 #
  414. S"SSTATQ", # 45 #
  415. S"SSTATQ", # 46 #
  416. S"SSTATQ", # 47 #
  417. S"SSTATQ", # 48 #
  418. S"SSTATQ", # 49 #
  419. S"SSTATQ", # 50 #
  420. S"SSTATQ", # 51 #
  421. S"SSTATQ", # 52 #
  422. S"SSTATQ", # 53 #
  423. S"SSTATQ", # 54 #
  424. S"SSTATQ", # 55 #
  425. S"SSTATQ", # 56 #
  426. S"SSTATQ", # 57 #
  427. S"SSTATQ", # 58 #
  428. S"SSTATQ", # 59 #
  429. S"OPSUPQ", # 60 #
  430. S"OPSUPQ", # 61 #
  431. S"OPSUPQ", # 62 #
  432. S"OPSUPQ", # 63 #
  433. S"OPSUPQ", # 64 #
  434. S"OPSUPQ", # 65 #
  435. S"OPSUPQ", # 66 #
  436. S"OPSUPQ", # 67 #
  437. S"OPSUPQ", # 68 #
  438.  
  439. # SOLICITED STATUS PFCSFCS #
  440. # ************************ #
  441.  
  442. S"SSTATQ", # 69 #
  443. S"SSTATQ", # 70 #
  444. S"SSTATQ", # 71 #
  445. S"SSTATQ", # 72 #
  446. S"SSTATQ", # 73 #
  447. S"SSTATQ", # 74 #
  448. S"SSTATQ", # 74.1 #
  449.  
  450. # IGNORE THESE PFCSFCS #
  451. # ******************** #
  452.  
  453. S"IGNORE", # 75 #
  454. S"IGNORE", # 75.1 #
  455. S"IGNORE", # 75.2 #
  456. S"IGNORE", # 75.3 #
  457. S"IGNORE", # 75.4 #
  458. S"IGNORE", # 75.5 #
  459. S"IGNORE", # 75.6 #
  460. S"IGNORE", # 75.7 #
  461.  
  462. # ************************** #
  463. S"NOMATCHQ" # 76 #
  464. ];
  465.  
  466. END
  467. CONTROL EJECT;
  468. #
  469. * DETERMINE TYPE OF NETWORK TRAFFIC. IF DATA-BLOCK, ROUTE IT TO
  470. * CONNECTION TRAFFIC QUEUE, ELSE SCAN THRU PFC/SFC TABLE FOR A
  471. * MATCHING SM. WHEN FOUND, USE THE POSITION OF THE SM IN THE TABLE
  472. * DETERMINE THE QUEUE THE SM SHOULD ROUTE TO.
  473. #
  474.  
  475. TEMP1 = P<ABH>; #SAVE ABH POINTER#
  476. P<ABH> = LOC(ABHARY); #POINT TO ABH AREA#
  477.  
  478. IF ABHABT[0] LQ APMSG #IF DATA BLOCK #
  479. THEN
  480. BEGIN
  481. WC$SMID[0] = SMID"DATAIN";
  482. SSTAQE(P<CNQ>,WCARY,ABHARY,TXTARA); # TO CONN TRAFFIC Q #
  483. GOTO ENDFIN;
  484. END
  485. ELSE
  486. BEGIN
  487. TEMP2 = P<APSM>; # SAVE INITIAL PTR #
  488. P<APSM> = LOC(TXTARA); # PT TO SM BODY #
  489. PSF$CODE[MXPSFC$] = PFCSFC[0]; # SAVE CURRENT SM #
  490.  
  491.  
  492. #
  493. * SEARCH PSFCTBL FOR MATCH ON THE INCOMING PFCSFC. ON MATCH, ROUTE
  494. * TO THE APPROPRIATE QUEUE FOR PROCESSING. THE METHOD FOR ROUTING
  495. * IS BASED ON THE VALUE OF THE DEFINITIONS FOR THE NUMBER OF SMS
  496. * IN EACH APPROPRIATE GROUP OF SMS.
  497. * NOTE-CAUTION-NOTE-CAUTION
  498. * THE MATCHING AND ROUTING CODE THAT FOLLOWS IS STRONGLY DEPENDENT
  499. * ON THE PSFCTBL FORMAT AND RELATION TO THE DEFINES FOR THE NUMBER
  500. * OF SMS IN EACH GROUP. IF IT IS CHANGED, BEWARE.
  501. *
  502. * THE PFCSFC OF THE INCOMING MESSAGE IS STORED INTO THE LAST ENTRY
  503. * OF THE PFCSFC TABLE TO INSURE THAT A MATCH ALWAYS OCCURS.
  504. *
  505. *
  506. #
  507.  
  508. FOR I = 0 STEP 1 WHILE PFCSFC[0] NQ PSF$CODE[I]
  509. DO
  510. BEGIN
  511. END # EXIT LOOP MATCH ALWAYS #
  512.  
  513. WC$SMID[0] = I; # SET INTERNAL ID #
  514. QNUM = PSF$QID[I]; # SET QUEUE NUMBER FOR ROUTE #
  515. GOTO QSWT[QNUM];
  516.  
  517. TOCTQ: #CONF TERMINAL DISPATCH #
  518. SSTAQE(P<CTQ>,WCARY,ABHARY,TXTARA);
  519. GOTO ENDOK;
  520.  
  521. TOCNQ: # CONN TRAFFIC DISPATCH #
  522. SSTAQE(P<CNQ>,WCARY,ABHARY,TXTARA);
  523. GOTO ENDOK;
  524.  
  525. TONPUQ: # NPU SUPER SM DISPATCH #
  526. SSTAQE(P<NPUQ>,WCARY,ABHARY,TXTARA);
  527. GOTO ENDOK;
  528.  
  529. TOOSQ: # OPERATOR SUPER DISPATCH #
  530. SSTAQE(P<OSQ>,WCARY,ABHARY,TXTARA);
  531. GOTO ENDOK;
  532.  
  533. TOSSQ: # SOLICITED STATUS DISPATCH #
  534. SSTAQE(P<SSQ>,WCARY,ABHARY,TXTARA);
  535. GOTO ENDOK;
  536.  
  537. TOEVQ: # UNSOL STATUS DISPATCH #
  538. # TO EVENT QUEUE #
  539. SSTAQE(P<EVQ>,WCARY,ABHARY,TXTARA);
  540. GOTO ENDOK;
  541.  
  542. TOABORT: # BAD INP MESSAGE, NO MATCH #
  543. $BEGIN
  544. MESSAGE(NOMSG[0],0); # DAYFILE MSG #
  545. ABORT;
  546. $END
  547. SSTAQE(P<EVQ>,WCARY,ABHARY,TXTARA); # TO EVQ IF NON DEBUG #
  548. GOTO ENDOK;
  549.  
  550. ENDOK:
  551. P<APSM> = TEMP2; # RESTORE POINTER TO SM #
  552. END # ELSE IF ABHABT #
  553.  
  554. ENDFIN:
  555. P<ABH> = TEMP1;
  556. RETURN;
  557.  
  558. END #CSNVDSP #
  559. END # CSDDNT #
  560.  
  561. TERM
cdc/nos2.source/nam5871/csddnt.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator