User Tools

Site Tools


cdc:nos2.source:nam5871:nvfoape

NVFOAPE

Table Of Contents

  • [00006] PROC NVFOAPE
  • [00011] ACTION HOP PROTOCOL EVENT.
  • [00043] PROC NVFOPHC
  • [00044] PROC NVFUMQE
  • [00045] PROC SSTAQE
  • [00046] PROC SSTRQE

Source Code

NVFOAPE.txt
  1. *DECK NVFOAPE
  2. USETEXT TEXTNVF
  3. USETEXT TEXTSS
  4. USETEXT TXCMDNV
  5. USETEXT TXTAPSS
  6. PROC NVFOAPE;
  7. # TITLE NVFOAPE - ACTION HOP PROTOCOL EVENT. #
  8.  
  9. BEGIN # NVFOAPE #
  10. #
  11. ** NVFOAPE - ACTION HOP PROTOCOL EVENT.
  12. * A. LIM. 82/04/07.
  13. *
  14. * THIS PROCEDURE-S MAIN FUNCTION IS TO ACTIO THOSE HOP PROTOCOL
  15. * EVENTS THIS NVF IS SUPERVISING.
  16. * IT IS CALLED INTO EXECUTION WHENEVER THERE IS DATA IN
  17. * PROTOCOL-EVENT-QUEUE * PEQ*.
  18. *
  19. * PROC NVFOAPE
  20. *
  21. * ENTRY HOP PROTOCOL EVENTS IN * PEQ*.
  22. *
  23. * EXIT ALL PROTOCOL EVENTS IN * PEQ* PROCESSED
  24. *
  25. * METHOD INCOMING PROTOCOL EVENTS FROM THE C-LAYER ARE:
  26. * HOP/START, HOP/END-WARNING, AND HOP/END.
  27. * *SSTRQE* IS CALLED TO REMOVE AN ENTRY FROM THE QUEUE.
  28. * PROTOCOL RESPONSES: HOP/START/N AND HOP/END/N ARE
  29. * SENT BACK TO THE C-LAYER. (*NVFUMQE* IS USED TO
  30. * SEND THE RESPONSES TO THE C-LAYER, TAKING ADVANTAGE
  31. * OF THE FACT THAT *NVFUMQE* IS GOING TO STORE AN
  32. * SMID INTO THE RESPONSE.)
  33. * IT TERMINATES WHEN *PEQ* HAS BEEN EXHAUSTED.
  34. #
  35.  
  36.  
  37. #
  38. **** PROC NVFOAPE XREF LIST
  39. *
  40. #
  41. XREF
  42. BEGIN
  43. PROC NVFOPHC; # PROCESS HISTORY COMMAND #
  44. PROC NVFUMQE; # MAKE A QUEUE ENTRY #
  45. PROC SSTAQE; # SS- ACCEPT A QUEUE ENTRY #
  46. PROC SSTRQE; # SS- REMOVE A QUEUE ENTRY #
  47. END
  48. #
  49. ****
  50. #
  51.  
  52.  
  53. ITEM I I; # LOOP INDUCTION VARIABLE #
  54. ITEM SMID S:HPESTAT; # SUBSCRIPT FOR GOTO SWITCH #
  55.  
  56.  
  57. # THE FOLLOWING IS A SWITCH LIST OF HOP PROTOCOL EVENTS BY SMID #
  58.  
  59. SWITCH HPESWT:HPESTAT
  60. LLHOPSRT : HOPSRT, # HOP/START #
  61. LLHOPENDW : HOPENDW, # HOP/END-WARNING #
  62. LLHOPEND : HOPEND; # HOP/END #
  63.  
  64.  
  65. CONTROL EJECT;
  66.  
  67. #
  68. * PROCESS ALL ENTRIES IN *PEQ*
  69. #
  70.  
  71. FOR I = 0 WHILE PEQL NQ 0
  72. DO
  73. BEGIN
  74. SSTRQE(P<PEQ>,WCBUF[0],ABHBUF[0],APSM[0]);
  75. SPMSG0[1] = 0; # ZERO REST OF MESSAGE #
  76. SMID = WCB$SMID[0];
  77. GOTO HPESWT[SMID]; # PROTOCOL EVENT SWITCH BY SMID #
  78.  
  79. LLHOPSRT: # HOP/START #
  80. #
  81. * SAVE THE LEFT AND RIGHT K-DISPLAY PAGE LENGTH. SEND THE NORMAL
  82. * BACK TO THE C-LAYER.
  83. #
  84. LEFTPL = HOPLPL[0] - 1;
  85. RIGHTPL = HOPRPL[0];
  86.  
  87. PFCSFC[1] = HOPSRTN$; # SEND HOP/START/N PROTOCOL RESPONSE #
  88. NVFUMQE(P<CTQ>,APSM[1],APPPR$,0,1); # TO CTQ #
  89. #
  90. * TRIGGER THE LAST PAGE OF THE RECENT HISTORY BUFFER TO SEND TO
  91. * THE K-DISPLAY BY SIMULATING A "HISTORY" COMMAND I.E. BUILD
  92. * THE PARAMETER LIST, AND WC AND HEADER INFORMATION.
  93. #
  94. WCB$WORD[1] = 0; # CLEAR WC WORD 1 #
  95. HDR$WORD[1] = 0; # CLEAR HDRCMD WORD 1 #
  96. WCB$IAF[1] = FALSE;
  97. WCB$WC[1] = 2+3;
  98. HDR$SPCNT[1] = 2;
  99. HDR$APCNT[1] = 0;
  100. HDR$TXWCNT[1] = 1;
  101. HDR$VERB[1] = HIL$;
  102. HDR$TXCCNT[1] = 8;
  103. PAR$WORDC[0] = "HISTORY.";
  104. PAR$ELNAME[1] = HIL$;
  105. PAR$PCODE[1] = "VEB";
  106. PAR$PCODE[2] = HISTORY$;
  107. NVFOPHC; # PROCESS THE HISTORY COMMAND #
  108. GOTO ENDCASE;
  109.  
  110. LLHOPENDW: # HOP/END-WARNING #
  111.  
  112. HOPENDWF = TRUE; # SET HOP/END-WARNING FLAG TRUE #
  113. IF CMDINPGF
  114. THEN
  115. ABORTCMDF = TRUE; # CMD IN PROGRESS, ABORT THE CMD #
  116. GOTO ENDCASE;
  117.  
  118. LLHOPEND: # HOP/END #
  119.  
  120. HOPENDWF = FALSE; # CLEAR HOP/END-WARNING FLAG #
  121. PFCSFC[1] = HOPENDN$; # SEND HOP/END/N PROTOCOL RESPONSE #
  122. NVFUMQE(P<CTQ>,APSM[1],APPPR$,0,1); # TO CTQ #
  123.  
  124. ENDCASE:
  125. END
  126.  
  127. END # NVFOAPE #
  128.  
  129. TERM
cdc/nos2.source/nam5871/nvfoape.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator