User Tools

Site Tools


cdc:nos2.source:nam5871:ngigo

Table of Contents

NGIGO

Table Of Contents

  • [00009] PRGM NGIGO
  • [00107] PROC ABORT
  • [00108] PROC KHOPMSG
  • [00109] PROC OMSG
  • [00110] PROC OVLCALL
  • [00111] PROC XTRACE

Source Code

NGIGO.txt
  1. *DECK NGIGO
  2. USETEXT NIPDEF
  3. USETEXT NBT
  4. USETEXT OVERLAY
  5. USETEXT PARAMP
  6. USETEXT PARAMS
  7. USETEXT PT
  8. USETEXT PWL
  9. PRGM NGIGO; # DAYFILE NETWORK RELATED MESSAGES #
  10. STARTIMS;
  11. #
  12. *1DC NGIGO
  13. *
  14. * 1. PROC NAME AUTHOR DATE
  15. * NGIGO E. GEE 86/09/23
  16. *
  17. * 2. FUNCTIONAL DESCRIPTION.
  18. * DAYFILE NETWORK RELATED MESSAGES.
  19. *
  20. * 3. METHOD USED.
  21. * IF DISCARDING INTRAHOST MSG,
  22. * CALL OMSG TO ISSUE DAYFILE MESSAGE.
  23. * CALL OVERLAY ODAYFL TO DAYFILE CONTENTS OF WORKLIST.
  24. * ELSE (PROCESSING NETWORK MSG),
  25. * IF PIP RELATED DAYFILE MESSAGE CODE,
  26. * ADD PIP ORDINAL TO DAYFILE MESSAGE.
  27. * CALL OMSG TO ISSUE DAYFILE MESSAGE.
  28. * IF PIP MESSAGE FOR DAYFILE,
  29. * CALL OMSG TO ISSUE PIP DAYFILE MESSAGE.
  30. * ELSE (EST RELATED DAYFILE MESSAGE CODE),
  31. * ADD EST ORDINAL TO DAYFILE MESSAGE.
  32. * CALL OMSG TO ISSUE DAYFILE MESSAGE.
  33. * IF ASSOCIATED WORKLIST IS TO BE DAYFILED,
  34. * CALL OVERLAY ODAYFL TO DAYFILE CONTENTS OF WORKLIST.
  35. * IF NIP IS TO BE ABORTED,
  36. * CALL ABORT TO ABORT NIP.
  37. * ELSE (NIP DOES NOT NEED TO BE ABORTED),
  38. * IF HOST CONSOLE OPERATOR NEEDS TO BE ALERTED,
  39. * CALL KHOPMSG TO SEND MSG TO NIP K-DISPLAY.
  40. *
  41. * 4. ENTRY PARAMETERS.
  42. * NBTIDX NBT INDEX OF NBT CURRENTLY BEING PROCESSED
  43. * = NBTMAXID + 1 IF PROCESSING INTRAHST QUEUE
  44. * PARAMP1 WORKLIST ASSOCIATED WITH DAYFILE MSG CODE
  45. * PARAMP4 DAYFILE MESSAGE CODE
  46. *
  47. * 5. EXIT PARAMETERS.
  48. * NONE
  49. *
  50. * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
  51. * NBT NETWORK BUFFER TABLE
  52. * NIPDEF CONSTANT DEFINITIONS
  53. * OVERLAY TABLE FOR CALLING OVERLAYS
  54. * PARAMP BUFFER FOR PASSING PARAMS TO PRIMARY OVLS
  55. * PARAMS BUFFER FOR PASSING PARAMS TO SECONDARY OVLS
  56. * PT MISCELLANEOUS GLOBAL VARIABLES
  57. * PWL PRU WORKLIST TEMPLATE
  58. *
  59. * 7. ROUTINES AND OVERLAYS CALLED.
  60. * ABORT ISSUE DAYFILE MSG, IF ANY, AND THEN ABORT
  61. * KHOPMSG SEND MSG TO NAM K-DISPLAY
  62. * ODAYFL OVL DISPLAY TEXT IN DAYFILE
  63. * OMSG ISSUE DAYFILE MESSAGE
  64. * OVLCALL LOAD AND EXECUTE OVERLAY
  65. * XTRACE RECORD PROCEDURE CALLS
  66. *
  67. * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION.
  68. * *** PIP X ISSUED THE FOLLOWING MESSAGE. ***
  69. * *** PIP X SENT MSG WITH BAD BLOCK TYPE. ***
  70. * *** PIP X SENT PRU WORKLIST WITH BAD ADDR. ***
  71. * *** PIP X SENT PRU WORKLIST FOR NONPRU CON. ***
  72. * *** PIP X SENT WORKLIST WITH BAD OPCODE. ***
  73. * *** PIP X SENT PRU WORKLIST WITH BAD SM. ***
  74. * *** PIP X SENT PRU WORKLIST WITH BAD LENGTH. ***
  75. * *** PIP X SENT REL WORKLIST WITH BAD LEVEL. ***
  76. * *** PIP X SENT UNEXPECTED RELEASE WORKLIST. ***
  77. * *** PIP X SENT TERM WORKLIST WITH BAD RC. ***
  78. * *** PIP X REJECTED DOWNLINE MSG. ***
  79. * *** EST XXX - BAD NODE NUMBER IN UPLINE MSG. ***
  80. * *** EST XXX - UNSUPPORTED CHANNEL PROTOCOL. ***
  81. * *** EST XXX - BAD NETWORK BLOCK DISCARDED. ***
  82. * *** EST XXX - BAD NBSTTP TRIGGER FROM NETWK. ***
  83. * *** EST XXX - MDI ERROR STATUS MESSAGE. ***
  84. * *** UNEXPECTED INTRAHOST MSG DISCARDED. ***
  85. *
  86. * THIS PROGRAM IS A PRIMARY OVERLAY LOADED BY SUBROUTINE OVLCALL.
  87. * WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE TO LOCATION RJMAIN
  88. * TO RETURN TO THE CALLING PROGRAM.
  89. *
  90. * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY OVERLAY
  91. * BUFFER SIZE MINUS 5 (313B WORDS).
  92. *
  93. * THIS OVERLAY IS CALLED BY NBSTTP, NEIB1, AND NPPWL.
  94. *
  95.  #
  96. STOPIMS;
  97. #
  98.  INPUT PARAMETERS.
  99. #
  100. # NONE #
  101. #
  102.  OUTPUT PARAMETERS. NONE
  103.  
  104.   EXTERNAL VARIABLES
  105. #
  106. XREF BEGIN
  107. PROC ABORT; # ABORT NIP #
  108. PROC KHOPMSG ; # SEND MSG TO K-DISPLAY BUFFER #
  109. PROC OMSG ; # ISSUE DAYFILE MESSAGE #
  110. PROC OVLCALL; # LOAD AND EXECUTE OVERLAY #
  111. PROC XTRACE; # TRACE CALLS #
  112. LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL #
  113. END
  114. #
  115.   INTERNAL VARIABLES
  116. #
  117. #
  118.  ARRAY PDAYMSG CONTAINS ALL THE PIP RELATED DAYFILE MESSAGES. THE DMP
  119.  FIELD IN THE ARRAY IS USED TO DETERMINE IF THE ASSOCIATED WORKLIST IS
  120.  ALSO TO BE DUMPED. THE ABT FIELD IN THE ARRAY IS USED TO DETERMINE
  121.  IF NIP SHOULD ABORT AS A RESULT OF THE DAYFILE MESSAGE. THE HOP FIELD
  122.  IN THE ARRAY IS USED TO DETERMINE IF THE HOP (HOST CONSOLE OPERATOR)
  123.  NEEDS TO BE ALERTED TO SEE THE DAYFILE MESSAGE.
  124. #
  125. ARRAY PDAYMSG [DMCMINPIP:DMCMAXPIP] S(5);
  126. BEGIN
  127. ITEM PDAYTXT C(0,0,40) = ["PIP X ISSUED THE FOLLOWING MESSAGE. ",
  128. "PIP X SENT MSG WITH BAD BLOCK TYPE. ",
  129. "PIP X SENT PRU WORKLIST WITH BAD ADDR. ",
  130. "PIP X SENT PRU WORKLIST FOR NONPRU CON. ",
  131. "PIP X SENT WORKLIST WITH BAD OPCODE. ",
  132. "PIP X SENT PRU WORKLIST WITH BAD SM. ",
  133. "PIP X SENT PRU WORKLIST WITH BAD LENGTH.",
  134. "PIP X SENT REL WORKLIST WITH BAD LEVEL. ",
  135. "PIP X SENT UNEXPECTED RELEASE WORKLIST. ",
  136. "PIP X SENT TERM WORKLIST WITH BAD RC. ",
  137. "PIP X REJECTED DOWNLINE MSG. "
  138. ];
  139. ITEM PSOURCE C(0,0,5);
  140. ITEM PDAYORD U(0,24,6);
  141. ITEM PDAYFIL U(4,0,12);
  142. ITEM PDAYDMP B(4,23,1) = [FALSE,
  143. TRUE,
  144. TRUE,
  145. TRUE,
  146. TRUE,
  147. TRUE,
  148. TRUE,
  149. TRUE,
  150. TRUE,
  151. TRUE,
  152. TRUE];
  153. ITEM PDAYABT B(4,35,1) = [FALSE,
  154. TRUE,
  155. TRUE,
  156. TRUE,
  157. TRUE,
  158. TRUE,
  159. TRUE,
  160. TRUE,
  161. TRUE,
  162. TRUE,
  163. FALSE];
  164. ITEM PDAYHOP B(4,47,1) = [FALSE,
  165. FALSE,
  166. FALSE,
  167. FALSE,
  168. FALSE,
  169. FALSE,
  170. FALSE,
  171. FALSE,
  172. FALSE,
  173. FALSE,
  174. FALSE];
  175. END
  176.  
  177. #
  178.  ARRAY EDAYMSG CONTAINS ALL THE EST RELATED DAYFILE MESSAGES. THE DMP
  179.  FIELD IN THE ARRAY IS USED TO DETERMINE IF THE ASSOCIATED WORKLIST IS
  180.  ALSO TO BE DUMPED. THE ABT FIELD IN THE ARRAY IS USED TO DETERMINE
  181.  IF NIP SHOULD ABORT AS A RESULT OF THE DAYFILE MESSAGE. THE HOP FIELD
  182.  IN THE ARRAY IS USED TO DETERMINE IF THE HOP (HOST CONSOLE OPERATOR)
  183.  NEEDS TO BE ALERTED TO SEE THE DAYFILE MESSAGE.
  184. #
  185. ARRAY EDAYMSG [DMCMINEST:DMCMAXEST] S(5);
  186. BEGIN
  187. ITEM EDAYTXT C(0,0,40) = ["EST XXX - BAD NODE NUMBER IN UPLINE MSG.",
  188. "EST XXX - UNSUPPORTED CHANNEL PROTOCOL. ",
  189. "EST XXX - BAD NETWORK BLOCK DISCARDED. ",
  190. "EST XXX - BAD NBSTTP TRIGGER FROM NETWK.",
  191. "EST XXX - MDI ERROR STATUS MESSAGE. ",
  192. "EST XXX - PRU BLOCK PROTOCOL ERROR. "
  193. ];
  194. ITEM ESOURCE C(0,0,7);
  195. ITEM EDAYORD U(0,24,18);
  196. ITEM EDAYFIL U(4,0,12) ;
  197. ITEM EDAYDMP B(4,23,1) = [TRUE,
  198. TRUE,
  199. TRUE,
  200. TRUE,
  201. TRUE,
  202. TRUE];
  203. ITEM EDAYABT B(4,35,1) = [FALSE,
  204. FALSE,
  205. FALSE,
  206. FALSE,
  207. FALSE,
  208. FALSE];
  209. ITEM EDAYHOP B(4,47,1) = [TRUE,
  210. TRUE,
  211. FALSE,
  212. FALSE,
  213. FALSE,
  214. FALSE];
  215. END
  216.  
  217. ARRAY INTRAMSG S(4);
  218. BEGIN
  219. ITEM INTRATXT C(0,00,35) = ["UNEXPECTED INTRAHOST MSG DISCARDED."];
  220. ITEM INTRAFIL U(3,30,30) = [0];
  221. END
  222.  
  223. CONTROL IFEQ DEBUG,1 ;
  224. # DAYFILE MESSAGE TO ISSUE IF #
  225. ARRAY ABTMSG S(4); # DAYFILE MESSAGE CODE IS BAD #
  226. BEGIN
  227. ITEM ABTTXT C(0,0,32) = ["BAD DMC PASSED TO OVERLAY NGIGO."];
  228. ITEM ABTFIL U(3,12,48) = [0];
  229. END
  230. CONTROL FI;
  231.  
  232. ITEM ABTNIP B; # ABORT NIP FLAG #
  233. ITEM ALTHOP B; # ALERT CONSOLE OPERATOR FLAG #
  234. ITEM DMC; # DAYFILE MESSAGE CODE #
  235. ITEM DMPWL B; # DUMP WORKLIST TO DAYFILE FLAG #
  236.  
  237. #**********************************************************************#
  238.  
  239. BEGIN
  240.  
  241. CONTROL IFEQ DEBUG,1 ;
  242. XTRACE("NGIGO") ;
  243. #
  244.   CHECK FOR VALID DAYFILE MESSAGE CODE
  245. #
  246. IF (PARAMP4 LS DMCMINPIP ) OR
  247. ( (PARAMP4 GR DMCMAXPIP) AND
  248. (PARAMP4 LS DMCMINEST) ) OR
  249. (PARAMP4 GR DMCMAXEST )
  250. THEN # BAD DAYFILE MESSAGE CODE #
  251. BEGIN
  252. ABORT(ABTMSG,0); # ABORT NIP #
  253. END
  254. CONTROL FI ;
  255.  
  256. P<PWLHDR> = PARAMP1; # PRU WORKLIST POINTER #
  257. IF NBTIDX EQ NBTMAXID + 1
  258. THEN # WAS PROCESSING INTRAHOST MSG #
  259. BEGIN
  260. #
  261.   DISCARDING INTRAHOST MSG
  262. #
  263. OMSG(INTRAMSG,0); # ISSUE DAYFILE MESSAGE #
  264. PARAMS1 = P<PWLHDR>; # ADDR OF WORKLIST TO DUMP #
  265. PARAMS2 = PWLBS[0]; # SIZE OF WORKLIST TO DUMP #
  266. OVLNAME = ODAYFLP; # NAME OF OVERLAY TO LOAD #
  267. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  268. END
  269. ELSE # WAS PROCESSING NETWORK MSG #
  270. BEGIN
  271. DMC = PARAMP4; # DAYFILE MESSAGE CODE #
  272. IF DMC LQ DMCMAXPIP
  273. THEN # DAYFILE MSG IS PIP RELATED #
  274. BEGIN
  275. #
  276.   DISCARDING PIP RELATED MSG
  277. #
  278. ALTHOP = PDAYHOP[DMC]; # ALERT CONSOLE OPERATOR FLAG #
  279. ABTNIP = PDAYABT[DMC]; # ABORT NIP FLAG #
  280. DMPWL = PDAYDMP[DMC]; # DUMP CONTENTS OF WORKLIST FLAG#
  281. PDAYORD[DMC] = NBTPIP[NBTIDX]+27; # ADD PIP ORD TO DAY MSG #
  282. PDAYFIL[DMC] = 0; # ADD ZERO BYTE TERMINATOR #
  283. OMSG(PDAYMSG[DMC],0); # ISSUE DAYFILE MESSAGE #
  284. IF DMC EQ DMCPDM
  285. THEN # PIP SENT MSG FOR DAYFILE #
  286. BEGIN
  287. OMSG(P<PWLHDR>+BLKHSIZE+PWLHSIZE,0); # ISSUE PIP DAY MSG #
  288. END
  289. END
  290. ELSE # MUST BE EST RELATED DAY MSG #
  291. BEGIN
  292. #
  293.   DISCARDING EST RELATED MSG
  294. #
  295. ALTHOP = EDAYHOP[DMC]; # ALERT CONSOLE OPERATOR FLAG #
  296. ABTNIP = EDAYABT[DMC]; # ABORT NIP FLAG #
  297. DMPWL = EDAYDMP[DMC]; # DUMP CONTENTS OF WORKLIST FLAG#
  298. # ADD EST ORDINAL TO DAYFILE MSG#
  299. EDAYORD[DMC] = (NBTEST1[NBTIDX]+27)*64*64 +
  300. (NBTEST2[NBTIDX]+27)*64 +
  301. NBTEST3[NBTIDX]+27; # CONVERT TO DISPLAY CODE#
  302. EDAYFIL[DMC] = 0; # ADD ZERO BYTE TERMINATOR #
  303. OMSG(EDAYMSG[DMC],0); # ISSUE DAYFILE MESSAGE #
  304. END
  305. #
  306.   DAYFILE CONTENTS OF WORKLIST IF NECESSARY
  307. #
  308. IF DMPWL
  309. THEN # NEED TO DAYFILE CONTENTS OF WL#
  310. BEGIN
  311. PARAMS1 = P<PWLHDR>; # ADDR OF WORKLIST TO DUMP #
  312. PARAMS2 = PWLBS[0]; # SIZE OF WORKLIST TO DUMP #
  313. OVLNAME = ODAYFLP; # NAME OF OVERLAY TO LOAD #
  314. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  315. END
  316. #
  317.   ABORT NIP IF NECESSARY
  318. #
  319. IF ABTNIP
  320. THEN # NEED TO ABORT NIP #
  321. BEGIN
  322. ABORT(0,0); # ABORT NIP #
  323. END
  324. ELSE # DO NOT NEED TO ABORT NIP #
  325. BEGIN
  326. #
  327.   ALERT HOP IF NECESSARY
  328. #
  329. IF ALTHOP
  330. THEN # CONSOLE OPERATOR NEEDS TO BE #
  331. BEGIN # INFORMED ABOUT ERROR CONDITION#
  332. IF DMC LQ DMCMAXPIP
  333. THEN # PIP RELATED DAYFILE MSG #
  334. BEGIN
  335. KHOPMSG(LOC(PDAYMSG[DMC]));# SEND DAY MSG TO NAM K-DISPLY#
  336. END
  337. ELSE # EST RELATED DAYFILE MSG #
  338. BEGIN
  339. KHOPMSG(LOC(EDAYMSG[DMC]));# SEND DAY MSG TO NAM K-DISPLY#
  340. END
  341. END
  342. END
  343. END
  344. GOTO RJMAIN; # RETURN TO CALLING PROGRAM #
  345.  
  346. END
  347. TERM
cdc/nos2.source/nam5871/ngigo.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator