User Tools

Site Tools


cdc:nos2.source:nam5871:nvfolne

NVFOLNE

Table Of Contents

  • [00006] PROC NVFOLNE
  • [00007] NVFOLNE - LOG NETWORK EVENTS.
  • [00011] LOG NETWORK EVENTS.
  • [00043] PROC MOVE
  • [00044] PROC SSTAQE
  • [00045] PROC SSTATS
  • [00046] PROC SSTRQE
  • [00047] PROC SSTRTS

Source Code

NVFOLNE.txt
  1. *DECK NVFOLNE
  2. USETEXT TEXTNVF
  3. USETEXT TEXTSS
  4. USETEXT TXCMDNV
  5. USETEXT TXTAPSS
  6. PROC NVFOLNE;
  7. # TITLE NVFOLNE - LOG NETWORK EVENTS. #
  8.  
  9. BEGIN # NVFOLNE #
  10. #
  11. ** NVFOLNE - LOG NETWORK EVENTS.
  12. *
  13. * A. LIM. 82/03/18.
  14. *
  15. * THIS PROCEDURE LOGS NETWORK EVENTS TO THE NETWORK-LOG FILE(OR NIP
  16. * DAYFILE), HISTORY BUFFER, AND K-DISPLAY.
  17. * IT IS CALLED INTO EXECUTION WHENEVER THERE IS DATA IN UNSOLICITED-
  18. * STATUS-QUEUE *USQ*.
  19. *
  20. * PROC NVFOLNE
  21. *
  22. * ENTRY NETWORK EVENTS IN UNSOLICITED-STATUS-QUEUE *USQ*.
  23. *
  24. * EXIT NETWORK EVENTS LOGGED TO NETWORK-LOG FILE, HISTORY BUFFER
  25. * AND K-DISPLAY.
  26. *
  27. * METHOD THIS PROCEDURE CONSISTS PRIMARY A LARGE LOOP, EACH TIME
  28. * THROUGH THE LOOP, *SSTRQE* IS CALLED TO REMOVE AN ENTRY
  29. * FROM THE *USQ*. THEN A HOP/LG SM IS BUILT AND SENT TO
  30. * OUTGOING-TRAFFIC-QUEUE *OTQ* DESTINED FOR NETWORK-LOG
  31. * FILE. THEN IT IS LOGGED TO HISTORY BUFFER, AND
  32. * IS SENT TO THE CONNECTION-TRAFFIC-QUEUE *CTQ* REGARDLESS
  33. * OF K-DISPLAY ASSIGNED/UNASSIGNED.
  34. * IT TERMINATES WHEN *USQ* IS EXHAUSTED.
  35. #
  36.  
  37.  
  38. #
  39. **** PROC NVFOLNE XREF LIST
  40. #
  41. XREF
  42. BEGIN
  43. PROC MOVE; # MACREL- MOVE CM WORDS #
  44. PROC SSTAQE; # SS- ACCEPT A QUEUE ENTRY #
  45. PROC SSTATS; # SS- ALLOCATE TABLE SPACE #
  46. PROC SSTRQE; # SS- REMOVE QUEUE ENTRY TO FIXED BUFFER #
  47. PROC SSTRTS; # SS- REMOVE TABLE SPACE #
  48. END
  49. #
  50. ****
  51. #
  52.  
  53.  
  54. ITEM DONE B; # LOOP EXIT VARIABLE #
  55. ITEM I I; # LOOP INDUCTION VARIABLE #
  56. ITEM L U; # INDEX TO HISTORY BUFFER #
  57. ITEM WC I; # WORD-COUNT WORDS TO ALLOCATE TABLE SPACE#
  58.  
  59.  
  60. #
  61. * PROCESS ALL ENTRIES IN *USQ*
  62. #
  63.  
  64. FOR I = 0 WHILE USQLNGTH NQ 0
  65. DO
  66. BEGIN
  67. SSTRQE(P<USQ>,WCBUF[0],ABHBUF[0],MSGBUF[3]); # MOVE TO FIX BUF#
  68.  
  69. #
  70. * BUILD A HOP/LG SM AND SEND IT TO *OTQ*
  71. #
  72. MSG$WORD[0] = 0;
  73. MSG$PSFC[0] = HOPLG; # PFC/SFC FOR HOP/LG #
  74. IF ABHABT[0] EQ 5
  75. THEN
  76. MSG$WORD[1] = HOCMDID$; # ID = *NV/HOSTNVF* #
  77. ELSE
  78. MSG$WORD[1] = USMSGID$; # ID = *NV/ * #
  79. MSG$WORD[2] = CTM$CLOCK[0]; # TIME STAMP THE MESSAGE #
  80. WCB$WORD[1] = 0; # CLEAR WC WORD 1 #
  81. ABHWORD[1] = 0; # CLEAR ABH WORD 1 #
  82. WCB$WC[1] = WCB$WC[0]+3; # WC=PSFC+TIME+ID+ORIGINAL MSG #
  83. ABHABT[1] = APPCMD;
  84. ABHACT[1] = CT60TRANS;
  85. ABHTLC[1] = WCB$WC[1] - 2;
  86. SSTAQE(P<OTQ>,WCBUF[1],ABHBUF[1],MSGBUF[0]); # SEND HOP/LG #
  87. #
  88. * LOG THE MESSAGE TO HISTORY BUFFER.
  89. #
  90. IF HSBCNT EQ MXHSBCNT$
  91. THEN
  92. BEGIN # HISTORY BUF FULL, DELETE FIRST ENTRY #
  93. DONE = FALSE;
  94. FOR I = 0 STEP 1 WHILE (NOT DONE)
  95. AND (I LS HSBL)
  96. DO
  97. BEGIN # SEARCH ZERO BYTE FOR END OF ENTRY #
  98. IF HSB$ZERO[I] EQ 0
  99. THEN
  100. DONE = TRUE; # FOUND IT#
  101. END
  102. SSTRTS(P<HSBUF>,0,I); # DELETE THIS FIRST ENTRY #
  103. HSBCNT = HSBCNT - 1;
  104. END
  105. WC = WCB$WC[0] - 1;
  106. L = HSBL; # SAVE INDEX TO END OF HISTORY BUF #
  107. SSTATS(P<HSBUF>, WC);# ALLOC SPACE FOR THIS NEW MSG LINE #
  108. MOVE(WC,MSGBUF[2],HSBUF[L]); # MOVE LINE TO HISTROY BUF #
  109. HSBCNT = HSBCNT + 1; # INCREMENT HISTORY LINES COUNT #
  110. #
  111. * SEND THE MESSAGE AS TERMINAL TEXT TO *CTQ* IF THIS IS NOT A
  112. * COMMAND TEXT.
  113. #
  114. IF ABHABT[0] NQ 5
  115. THEN
  116. BEGIN
  117. WCB$WORD[1] = 0;
  118. ABHWORD[1] = 0;
  119. WCB$WC[1] = WCB$WC[0] + 1;
  120. WCB$IAF[1] = FALSE;
  121. WCB$HAF[1] = WCB$HAF[0];
  122. ABHABT[1] = HOPTX$;
  123. SSTAQE(P<CTQ>,WCBUF[1],ABHBUF[1],MSGBUF[2]);
  124. END
  125. END # FOR I LOOP #
  126.  
  127. END
  128.  
  129. TERM
cdc/nos2.source/nam5871/nvfolne.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator