User Tools

Site Tools


cdc:nos2.source:nam5871:nvfddnt

NVFDDNT

Table Of Contents

  • [00005] PROC NVFDDNT
  • [00006] NVFDDNT - DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE.
  • [00010] DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE.
  • [00045] PROC CSNVDSP(WCARY,ABHARY,TXTARA)
  • [00046] CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE.
  • [00050] CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE.
  • [00087] WCARY - WORD COUNT ARRAY
  • [00098] ABHARY - APPLICATION BLOCK HEADER ARRAY
  • [00110] TXTARA - TEXT AREA
  • [00128] PROC ABORT
  • [00129] PROC MESSAGE
  • [00130] PROC SSTAQE

Source Code

NVFDDNT.txt
  1. *DECK NVFDDNT
  2. USETEXT TEXTNVF
  3. USETEXT TXTAPSS
  4. USETEXT TXTSUSS
  5. PROC NVFDDNT;
  6. # TITLE NVFDDNT - DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE. #
  7.  
  8. BEGIN # NVFDDNT #
  9. #
  10. ** NVFDDNT - DISPATCHES NETWORK TRAFFIC TO THE APPROPRIATE QUEUE.
  11. *
  12. * A. LIM. 81/08/25.
  13. * C. BRION 83/04/13.
  14. *
  15. * THIS IS A DUMMY PROCEDURE. ITS EXISTENCE IS TO CUSTOMIZE WITH
  16. * THE DECK NAME.
  17. *
  18. * PROC NVFDDNT
  19. *
  20. * ENTRY NONE
  21. *
  22. * EXIT NONE
  23. *
  24. * NOTE THIS PROC WOULD NEVER BE CALLED. INSTEAD AN ALTERNATE
  25. * ENTRY POINT, CSNVDSP WILL BE CALLED. CSNVDSP IS USED TO
  26. * CUSTOMIZE WITH THE CS DISPATCH PROC.
  27. *
  28. * METHOD NONE
  29. *
  30. #
  31.  
  32.  
  33.  
  34.  
  35. #
  36. **** ALTERNATE ENTRY POINT
  37. #
  38.  
  39. XDEF PROC CSNVDSP;
  40.  
  41. #
  42. ****
  43. #
  44. CONTROL EJECT;
  45. PROC CSNVDSP(WCARY,ABHARY,TXTARA);
  46. # TITLE CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE. #
  47.  
  48. BEGIN # CSNVDSP #
  49. #
  50. ** CSNVDSP - DISPATCHES SM/DATA-BLOCK TO THE APPROPRIATE QUEUE.
  51. *
  52. * A. LIM. 81/08/25.
  53. * D. G. DEPEW. 82/05/14.
  54. * C. J. BRION 82/05/28.
  55. *
  56. * THIS PROCEDURE WILL BE CALLED BY AIP MONITOR WHENEVER A
  57. * SM/DATA-BLOCK COMES TO NVF. ITS CHARTER IS TO
  58. * DISPATCH IT TO THE APPROPRIATE QUEUE.
  59. *
  60. * PROC CSNVDSP(WCARY,ABHARY,TXTARA)
  61. *
  62. * ENTRY WCARY = A ONE WORD ARRAY FOR INCOMING WC.
  63. * ABHARY = A ONE WORD ARRAY FOR INCOMING ABH.
  64. * TXTARA = A TEXT AREA FOR INCOMING SM/DATA-BLOCK.
  65. *
  66. * EXIT SM/DATA ROUTED TO THE APPROPRIATE QUEUE.
  67. *
  68. * NOTES NONE
  69. *
  70. * METHOD IF INCOMING NETWORK TRAFFIC IS DATA-BLOCK, ROUTE IT
  71. * TO CONNECTION-TRAFFIC-QUEUE. ELSE IF IT IS SM,
  72. * SCAN THROUGH PFC/SFC-CLASSIFY TABLE TO FIND
  73. * A MATCH ON THE SM, AND ROUTE IT TO THE
  74. * APPROPRIATE QUEUE DETERMINED BY THE POSITION
  75. * OF THE SM IN THE TABLE.
  76. * IF NO MATCH IS FOUND IN THE TABLE, ABORT NVF.
  77. *
  78. #
  79.  
  80.  
  81.  
  82. #
  83. * FORMAL PARAMETERS
  84. #
  85.  
  86. #
  87. ** WCARY - WORD COUNT ARRAY
  88. *
  89. * WCARY IS A ONE WORD ARRAY FOR INCOMING WC
  90. #
  91.  
  92. ARRAY WCARY[00:00] S(1);
  93. BEGIN
  94. ITEM WC$SMID U(00,00,12); # INTERNAL SM ID #
  95. END
  96.  
  97. #
  98. ** ABHARY - APPLICATION BLOCK HEADER ARRAY
  99. *
  100. * ABHARY IS A ONE WORD ARRAY FOR INCOMING ABH.
  101. *
  102. #
  103.  
  104. ARRAY ABHARY[00:00] S(1);
  105. BEGIN
  106. ITEM ABH$WRD U(00,00,60); # FULL WORD #
  107. END
  108.  
  109. #
  110. ** TXTARA - TEXT AREA
  111. *
  112. * TXTARA IS A TEXT AREA FOR THE INCOMING SM/DATA-BLOCK.
  113. *
  114. #
  115.  
  116. ARRAY TXTARA[00:10] S(1);
  117. BEGIN
  118. ITEM TXT$WORD U(00,00,60);
  119. END
  120.  
  121.  
  122. #
  123. **** PROC CSNVDSP - XREF LIST
  124. #
  125.  
  126. XREF
  127. BEGIN
  128. PROC ABORT; # ABORT MACRO #
  129. PROC MESSAGE; # ISSUE DAYFILE MESSAGE (MACREL) #
  130. PROC SSTAQE; # SERVICE AND SCHEDULR ACCEPT-Q-ENTRY RTN#
  131. END
  132.  
  133. #
  134. ****
  135. #
  136.  
  137.  
  138. # DEFS #
  139.  
  140. DEF MXAPSFC$ # 3 #; # MAX NUMBER OF APP SM #
  141. DEF MXCPSFC$ # 23 #; # MAX NUMBER OF CONN TRAFFIC SM #
  142. DEF MXHPSFC$ # 7 #; # MAX NUMBER HOP-PROG-CONTROL SM #
  143.  
  144. DEF MXIPSFC$ # 9 #; # MAX NUMBER IGNORED SM (NO-OPS) #
  145. DEF MXPSFC$ # 42 #; # SUM OF ALL PRECEEDING (TOTAL ALL SMS) #
  146.  
  147.  
  148. # ITEMS #
  149.  
  150.  
  151. ITEM I U; # INDUCTION VARIABLE #
  152. ITEM TEMP1 U; # TEMPORARY STORAGE AREA1 #
  153. ITEM TEMP2 U; # AND AREA2 #
  154.  
  155.  
  156. #
  157. * DAYFILE MESSAGES FOR ABORT WHEN SM RECEIVED IS BAD
  158. #
  159.  
  160. $BEGIN
  161. ARRAY BADSM[00:00] S(3);
  162. BEGIN
  163. ITEM BADSM$TXT C(00,00,23) = ["NVFDDNT - UNEXPECTED SM"];
  164. ITEM NO$ZERO U(02,18,42) = [0];
  165. END
  166.  
  167. ARRAY BADBLKTYPE[00:00] S(3);
  168. BEGIN
  169. ITEM BADBT$TXT C(00,00,27)=["NVFDDNT - UNEXPECTED ABHABT"];
  170. ITEM BADBT$ZERO U(02,42,18) = [0];
  171. END
  172. $END
  173.  
  174.  
  175. #
  176. * THE FOLLOWING TABLE CONTAINS PFC/SFC OF ALL SMS COMING INTO NVF.
  177. * THE SMS ARE CATEGORIZED BY THE TYPE OF QUEUE IT IS DESTINED TO.
  178. * WITHIN EACH CATEGORY, THE SMS ARE ALPHABETIZED. A CHANGE IN
  179. * ANY ONE OF THE CATEGORY REQUIRES THE SAME CHANGE IN ITS
  180. * CORRESPONDING STATUS-LIST IN THE APPROPRIATE TEXT. AND THE
  181. * PROCEDURE NEED TO BE RECOMPILED WITH NEW MAXIMUM VALUE
  182. * DEFINED FOR THE GROUP, AND NEW SUM FOR THE TOTAL SMS.
  183. * THE LAST ENTRY IS USED TO STORE THE SM CURRENTLY BEING PROCESSED
  184. * IN CASE IT IS AN SM THAT IS NOT EXPECTED AND THUS WILL NOT MATCH
  185. * THE PFC/SFC LISTED.
  186. #
  187.  
  188. ARRAY PSFCTBL[00:MXPSFC$] S(1);
  189. BEGIN
  190. ITEM PSF$CODE U(00,00,16) = [ #*** APP SM ***#
  191. FAIAPP, # APP FAILED #
  192. NETONR, # APP NETON REQ #
  193. NETOFFR, # APP NETOFF #
  194. #*** CONN TRAFFIC SM ***#
  195. CRACC, # APP ACCEPTED CON#
  196. CRCB, # CONN BROKEN #
  197. CRITE, # TERM CONN REQ #
  198. CRIAP, # A-A CON REQ #
  199. CRRAP, # REMOTE A-A REQ #
  200. CRRCN, # RECON CONN NVF #
  201. CRSWHN, # SWCH CON FR NVFN#
  202. CRTRMN, # TERMINATE CON N #
  203. FCACK, # BLK DEL ACKNGD #
  204. FCBRK, # BREAK OCCURRED #
  205. INTRUSR, # BREAK OCCURRED #
  206. FCINA, # CONN INACTIVE #
  207. FCINIT, # CONN INITIALIZED#
  208. FCNAK, # BLK NOT DELIVERD#
  209. BIMARK, # BREAK INDICATOR #
  210. HOPBRK, # OPERATOR BREAK #
  211. HOPCMD, # HOP COMMD TO APP#
  212. HOPENDD, # K-DIS ASGND APP #
  213. HOPIG, # HOP IGNORE ALERT#
  214. HOPPAGE, # CHGND DIS PAGE #
  215. HOPSTRT, # K-DIS ASGND APP #
  216. TCHTCH, # TERM CHARS CHGED#
  217. CRSLL, # LLINK STATUS #
  218. #*** HOP PROGRAM CNTRL SM ***#
  219. HOPDU, # HOP DUMP FL REQ #
  220. HOPNOTR, # HOP T-OFF AIP TR#
  221. HOPREL, # HOP REL DLF REQ #
  222. HOPRS, # RST STAT GATH RQ#
  223. HOPTRCE, # HOP T-ON AIP TR #
  224. HOPDB, # BEGIN DEBUG #
  225. HOPDE, # END DEBUG #
  226. #*** IGNORED SM ***#
  227. CTRCHRN, # TERM CHARS NORM #
  228. CTRCHRA, # TERM CHARS ABN #
  229. CTRCTDN, # CDCNT TERMDEF/N #
  230. CTRCTDA, # CDCNT TERMDEF/A #
  231. CTRTCD, # TERM CHAR DEFS #
  232. CTRCCD, #CHANGE CDCNET DEF#
  233. CTRUCD, # UNSOLIC CHAR DEF#
  234. CTRRTCA, #REQ TRM CHAR/A #
  235. CTRRCCA]; #RQST CDCNT CHAR/A#
  236.  
  237. END
  238. CONTROL EJECT;
  239. #
  240. * DETERMINE TYPE OF NETWORK TRAFFIC. IF DATA-BLOCK, ROUTE IT TO
  241. * CTQ, ELSE SCAN THRU PFC/SFC-CLASSIFY TABLE FOR A MATCH OF THE
  242. * SM. WHEN FOUND, USE THE POSITION OF THE SM IN THE TABLE TO
  243. * DETERMINE THE QUEUE THE SM SHOULD ROUTE TO AND SET THE SM ID.
  244. #
  245.  
  246. TEMP1 = P<ABH>; # SAVE ABH POINTER #
  247. P<ABH> = LOC(ABHARY); # POINT TO ABH BUFFER AREA #
  248. IF ABHABT[0] LQ APMSG
  249. THEN
  250. BEGIN # DATA-BLOCK, ROUTE TO CTQ #
  251. SSTAQE(P<CTQ>,WCARY,ABHARY,TXTARA);
  252. END
  253.  
  254.  
  255. ELSE IF ABHABT[0] EQ APPCMD
  256. THEN
  257. BEGIN # APP SM #
  258. TEMP2 = P<APSM>; # SAVE ORGNL APP SM POINTER #
  259. P<APSM> = LOC(TXTARA); # THEN POINT IT TO TEXT AREA #
  260. PSF$CODE[MXPSFC$] = PFCSFC[0]; # SAVE CURRENT SM #
  261. FOR I = 0 STEP 1
  262. WHILE PFCSFC[0] NQ PSF$CODE[I]
  263. DO # DETERMINE WHICH SM #
  264. BEGIN END
  265.  
  266. IF I LS MXAPSFC$
  267. THEN
  268. BEGIN # APP SM, ROUTE IT TO ASQ #
  269. WC$SMID[0] = I;
  270. SSTAQE(P<ASQ>,WCARY,ABHARY,TXTARA);
  271. END
  272.  
  273. ELSE IF I LS (MXAPSFC$ + MXCPSFC$)
  274. THEN
  275. BEGIN # CN-TRF-SM, ROUTE IT TO CTQ #
  276. WC$SMID[0] = I -MXAPSFC$;
  277. SSTAQE(P<CTQ>,WCARY,ABHARY,TXTARA);
  278. END
  279.  
  280. ELSE IF I LS (MXAPSFC$ + MXCPSFC$ + MXHPSFC$)
  281. THEN
  282. BEGIN # HOP-PRG-CTRL-SM, ROUTE TO HCQ#
  283. WC$SMID[0] = I - MXAPSFC$ -MXCPSFC$;
  284. SSTAQE(P<HCQ>,WCARY,ABHARY,TXTARA);
  285. END
  286.  
  287. ELSE IF I LS MXPSFC$
  288. THEN # SM TO IGNORE #
  289. BEGIN END
  290.  
  291. ELSE # UNEXPECTED SM #
  292. BEGIN
  293. $BEGIN
  294. IF ABHADR[0] EQ 0
  295. THEN
  296. BEGIN
  297. MESSAGE (BADSM, 0);
  298. ABORT; # ABORT NVF #
  299. END
  300. $END
  301. SSTAQE(P<HCQ>,WCARY,ABHARY,TXTARA); # TO HCQ IF NON DBG #
  302. END
  303.  
  304. P<APSM> = TEMP2; # RESTORE POINTER #
  305. END # APP SM #
  306.  
  307.  
  308. ELSE # UNEXPECTED TYPE OF NETWORK TRAFFIC #
  309. BEGIN
  310. $BEGIN
  311. MESSAGE (BADBLKTYPE, 0);
  312. ABORT; # ABORT NVF #
  313. $END
  314. END
  315.  
  316. P<ABH> = TEMP1;
  317. RETURN;
  318. END # CSNVDSP #
  319. END # NVFDDNT #
  320. TERM
cdc/nos2.source/nam5871/nvfddnt.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator