User Tools

Site Tools


cdc:nos2.source:nam5871:nvfoppc

NVFOPPC

Table Of Contents

  • [00005] PROC NVFOPPC
  • [00006] PERFORM PROGRAM CONTROL.
  • [00009] PERFORM PROGRAM CONTROL.
  • [00027] PROC NETDBG
  • [00028] PROC NETDMB
  • [00029] PROC NETREL
  • [00030] PROC NETSTC
  • [00031] PROC NVFUMQE
  • [00032] PROC SSBSBF
  • [00033] PROC SSSPSI
  • [00034] PROC SSTRQE
  • [00035] FUNC XCHD

Source Code

NVFOPPC.txt
  1. *DECK NVFOPPC
  2. USETEXT TEXTNVF
  3. USETEXT TEXTSS
  4. USETEXT TXTAPSS
  5. PROC NVFOPPC;
  6. # TITLE - PERFORM PROGRAM CONTROL. #
  7. BEGIN
  8. #
  9. ** NVFOPPC - PERFORM PROGRAM CONTROL.
  10. *
  11. * D.K. ENDO 82/05/20
  12. *
  13. * THIS PROCEDIRE ACTIONS DEBUG COMMANDS FROM THE HOP.
  14. *
  15. * PROC NVFOPPC
  16. *
  17. * ENTRY 1. ENTRIES IN THE HOP PROGRAM CONTROL QUEUE(HCQ).
  18. *
  19. * EXIT 1. APPROPRIATE ACTION TAKEN.
  20. *
  21. #
  22. #
  23. **** PROC NVFOPPC - XREF LIST BEGINS.
  24. #
  25. XREF
  26. BEGIN
  27. PROC NETDBG; # TURNS AIP TRACE ON OR OFF #
  28. PROC NETDMB; # DUMPS APPLICATION-S FIELD LENGTH #
  29. PROC NETREL; # RELEASES THE AIP TRACE FILE #
  30. PROC NETSTC; # CLEARS AND/OR STARTS STATISTICS #
  31. PROC NVFUMQE; # MAKE QUEUE ENTRY #
  32. PROC SSBSBF; # STORE BITFIELD IN TABLE #
  33. PROC SSSPSI; # PREPARE (SS) STATISTICS INFORMATION #
  34. PROC SSTRQE; # REMOVE QUEUE ENTRY #
  35. FUNC XCHD; # CONVERT INTEGER TO HEXIDECIMAL DISPLAY #
  36. END
  37. #
  38. ****
  39. #
  40.  
  41.  
  42. DEF LEVTMSG$ #40#; # LENGTH OF EVENT MESSAGES IN CHARACTERS #
  43. DEF ALTMTYP$ #6#; # HOP ALERT MESSAGE TYPE FOR *NVFUMQE* #
  44.  
  45.  
  46. ITEM I; # LOOP INDUCTION VARIABLE #
  47. ITEM STATIS; # STATUS RETURNED FROM, NET PROC-S #
  48. ITEM WP; # WORD POS FOR DISP CODE PFC/SFC IN EVENT #
  49. ITEM BP; # BIT POS FOR DISP CODE PFC/SFC IN ENENT #
  50.  
  51.  
  52. #
  53.   THIS ARRAY DEFINES THE FIELDS IN THE DUMP I.D. THIS IS SET WHEN
  54.   NVF RECEIVES A HOP/DU/U SM FROM NAM.
  55. #
  56. ARRAY DUMP$ID [00:00] S(1);
  57. BEGIN
  58. ITEM DID$NIN U(00,42,09); # NETWORK INVOCATION NUMBER #
  59. ITEM DID$PID U(00,51,06); # PROCDUCT I.D.(FOR NVF) #
  60. ITEM DID$DPN U(00,57,03); # DUMP NUMBER #
  61. ITEM DID$WORD I(00,00,60) = [0];
  62. END
  63.  
  64.  
  65. #
  66. * THIS ARRAY DEFINES THE LFN USED FOR THE NETREL CALL.
  67. #
  68. ARRAY NTRL$LFN [00:00] S(1);
  69. BEGIN
  70. ITEM NRL$NAM C(00,00,04) = ["NRF2"];
  71. ITEM NRL$ZFIL U(00,24,36) = [0];
  72. END
  73.  
  74.  
  75. #
  76. * THE FOLLOWING ARRAYS ARE EVENT MESSAGES FOR UNRECOGNIZED AND
  77. * ERR/LGL SUPERVISORY MESSAGES.
  78. #
  79. ARRAY BADSM [00:00] S(4);
  80. BEGIN
  81. ITEM BS$TEXT C(00,00,30) = ["UNRECOGNIZED SM, PFC/SFC = "];
  82. ITEM BS$ZERO U(03,00,60) = [0];
  83. END
  84.  
  85. ARRAY LOGERR [00:00] S(4);
  86. BEGIN
  87. ITEM LE$TEXT C(00,00,30) = ["LOGICAL ERROR, PFC/SFC = "];
  88. ITEM LE$ZERO U(03,00,60) = [0];
  89. END
  90.  
  91.  
  92.  
  93.  
  94.  
  95. CONTROL EJECT;
  96. # #
  97. # NVFOPPC CODE BEGINS HERE #
  98. # #
  99. #
  100. * FOR EACH ENTRY IN THE HOP PROGRAM CONTROL QUEUE (HCQ), EXTRACT THE
  101. * ENTRY AND TAKE THE APPROPRIATE ACTION:
  102. #
  103. FOR I=0 WHILE HCQLNGTH GR 0
  104. DO
  105. BEGIN
  106. SSTRQE(P<HCQ>,WCBUF[0],ABHBUF[0],MSGBUF[0]);
  107.  
  108.  
  109. #
  110. * IF THIS SM IS HOP/DU/U, THEN SET THE DUMP I.D. AND ISSUE THE DUMP
  111. * REQUEST. IF THE DEMP I.D. IS GREATER THAN OR EQUAL TO SIX, THEN
  112. * SET IT TO ZERO, ELSE INCREMENT IT BY ONE.
  113. #
  114. IF PFCSFC[0] EQ HOPDU
  115. THEN
  116. BEGIN
  117. DID$NIN[0] = CRNT$NIN;
  118. DID$PID[0] = NVFPID$;
  119. DID$DPN[0] = CRNT$DPN;
  120.  
  121. NETDMB(DUMP$ID,FALSE);
  122.  
  123. IF CRNT$DPN GQ 6
  124. THEN
  125. BEGIN
  126. CRNT$DPN = 0;
  127. END
  128. ELSE
  129. BEGIN
  130. CRNT$DPN = CRNT$DPN + 1;
  131. END
  132. END
  133.  
  134.  
  135. #
  136. * IF THIS SM IS HOP/TRCE/U, THEN CALL NETDBG TO TURN ALL TRACING
  137. * ON.
  138. #
  139. ELSE IF PFCSFC[0] EQ HOPTRCE
  140. THEN
  141. BEGIN
  142. NETDBG(FALSE,FALSE,STATIS);
  143. END
  144.  
  145.  
  146. #
  147. * IF THIS SM IS HOP/NOTR/U, THEN CALL NETDBG TO TURN ALL TRACING
  148. * OFF.
  149. #
  150. ELSE IF PFCSFC[0] EQ HOPNOTR
  151. THEN
  152. BEGIN
  153. NETDBG(TRUE,TRUE,STATIS);
  154. END
  155.  
  156.  
  157. #
  158. * IF THIS SM IS HOP/RS/U, THEN CALL NETSTC TO CLEAR THE CURRENT
  159. * STATISTICS AND RESTART THE STATISTICS GATHERING.
  160. #
  161. ELSE IF PFCSFC[0] EQ HOPRS
  162. THEN
  163. BEGIN
  164.  
  165. $BEGIN
  166. SSSPSI;
  167. $END
  168.  
  169. NETSTC(TRUE,STATIS);
  170.  
  171. NETSTC(FALSE,STATIS);
  172. END
  173.  
  174.  
  175. #
  176. * IF THIS SM IS HOP/REL/U, THEN CALL NETREL TO RELEASE THE CURRENT
  177. * DEBUG LOG FILE.
  178. #
  179. ELSE IF PFCSFC[0] EQ HOPREL
  180. THEN
  181. BEGIN
  182. IF MC NQ 0
  183. THEN
  184. BEGIN
  185. NETREL(NTRL$LFN,0,FALSE);
  186. END
  187. END
  188.  
  189.  
  190. #
  191. * IF THIS SM IS HOP/DB/U,THEN SET THE DEBUG FLAG IN THE NVF CONTROL
  192. * BLOCK.
  193. #
  194. ELSE IF PFCSFC[0] EQ HOPDB
  195. THEN
  196. BEGIN
  197. DBGFLAG = TRUE;
  198. END
  199.  
  200.  
  201. #
  202. * IF THIS SM IS HOP/DE/U, THEN CLEAR THE DEBUG FLAG IN THE NVF
  203. * CONTROL BLOCK.
  204. #
  205. ELSE IF PFCSFC[0] EQ HOPDE
  206. THEN
  207. BEGIN
  208. DBGFLAG = FALSE;
  209. END
  210.  
  211.  
  212. #
  213. * IF THIS SM IS ERR/LGL/U, THEN ISSUE AN EVENT MESSAGE (WILL BE
  214. * SENT TO THE HOP AND THE NETWORK LOG FILE). STORE DISPLAY CODED
  215. * PFC/SFC IN MESSAGE TEXT. SET HOP ALERT.
  216. #
  217. ELSE IF PFCSFC[0] EQ ERRLGL
  218. THEN
  219. BEGIN
  220. WP = 2; # SET POS OF DISP CODED PFC/SFC #
  221. BP = 30;
  222. SSBSBF (LOGERR, WP, BP, 24, XCHD(X"10000" + ERPSFC[0]));
  223. NVFUMQE (P<USQ>, LOGERR, ALTMTYP$, 0, LEVTMSG$);
  224. END
  225.  
  226.  
  227. #
  228. * AT THIS POINT THE SM MUST BE ONE THAT NVF (AT LEAST, OR PERHAPS
  229. * THE WHOLE NETWORK) DOES NOT RECOGNIZE. ISSUE AN EVENT MESSAGE
  230. * (WILL BE SENT TO THE HOP AND THE NETWORK LOG FILE). STORE
  231. * DISPLAY CODED PFC/SFC IN MESSAGE TEXT. SET HOP ALERT.
  232. #
  233. ELSE # UNRECOGNEZED SUPERVISORY MESSAGE #
  234. BEGIN
  235. WP = 2; # SET POS OF DISP CODED PFC/SFC #
  236. BP = 42;
  237. SSBSBF (BADSM, WP, BP, 24, XCHD(X"10000" + PFCSFC[0]));
  238. NVFUMQE (P<USQ>, BADSM, ALTMTYP$, 0, LEVTMSG$);
  239. END
  240.  
  241.  
  242. END
  243.  
  244.  
  245. RETURN; # **** RETURN **** #
  246.  
  247. END # NVFOPPC #
  248. TERM
cdc/nos2.source/nam5871/nvfoppc.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator