cdc:nos2.source:nam5871:nvfoape
Table of Contents
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
- *DECK NVFOAPE
- USETEXT TEXTNVF
- USETEXT TEXTSS
- USETEXT TXCMDNV
- USETEXT TXTAPSS
- PROC NVFOAPE;
- # TITLE NVFOAPE - ACTION HOP PROTOCOL EVENT. #
- BEGIN # NVFOAPE #
- #
- ** NVFOAPE - ACTION HOP PROTOCOL EVENT.
- * A. LIM. 82/04/07.
- *
- * THIS PROCEDURE-S MAIN FUNCTION IS TO ACTIO THOSE HOP PROTOCOL
- * EVENTS THIS NVF IS SUPERVISING.
- * IT IS CALLED INTO EXECUTION WHENEVER THERE IS DATA IN
- * PROTOCOL-EVENT-QUEUE * PEQ*.
- *
- * PROC NVFOAPE
- *
- * ENTRY HOP PROTOCOL EVENTS IN * PEQ*.
- *
- * EXIT ALL PROTOCOL EVENTS IN * PEQ* PROCESSED
- *
- * METHOD INCOMING PROTOCOL EVENTS FROM THE C-LAYER ARE:
- * HOP/START, HOP/END-WARNING, AND HOP/END.
- * *SSTRQE* IS CALLED TO REMOVE AN ENTRY FROM THE QUEUE.
- * PROTOCOL RESPONSES: HOP/START/N AND HOP/END/N ARE
- * SENT BACK TO THE C-LAYER. (*NVFUMQE* IS USED TO
- * SEND THE RESPONSES TO THE C-LAYER, TAKING ADVANTAGE
- * OF THE FACT THAT *NVFUMQE* IS GOING TO STORE AN
- * SMID INTO THE RESPONSE.)
- * IT TERMINATES WHEN *PEQ* HAS BEEN EXHAUSTED.
- #
- #
- **** PROC NVFOAPE XREF LIST
- *
- #
- XREF
- BEGIN
- PROC NVFOPHC; # PROCESS HISTORY COMMAND #
- PROC NVFUMQE; # MAKE A QUEUE ENTRY #
- PROC SSTAQE; # SS- ACCEPT A QUEUE ENTRY #
- PROC SSTRQE; # SS- REMOVE A QUEUE ENTRY #
- END
- #
- ****
- #
- ITEM I I; # LOOP INDUCTION VARIABLE #
- ITEM SMID S:HPESTAT; # SUBSCRIPT FOR GOTO SWITCH #
- # THE FOLLOWING IS A SWITCH LIST OF HOP PROTOCOL EVENTS BY SMID #
- SWITCH HPESWT:HPESTAT
- LLHOPSRT : HOPSRT, # HOP/START #
- LLHOPENDW : HOPENDW, # HOP/END-WARNING #
- LLHOPEND : HOPEND; # HOP/END #
- CONTROL EJECT;
- #
- * PROCESS ALL ENTRIES IN *PEQ*
- #
- FOR I = 0 WHILE PEQL NQ 0
- DO
- BEGIN
- SSTRQE(P<PEQ>,WCBUF[0],ABHBUF[0],APSM[0]);
- SPMSG0[1] = 0; # ZERO REST OF MESSAGE #
- SMID = WCB$SMID[0];
- GOTO HPESWT[SMID]; # PROTOCOL EVENT SWITCH BY SMID #
- LLHOPSRT: # HOP/START #
- #
- * SAVE THE LEFT AND RIGHT K-DISPLAY PAGE LENGTH. SEND THE NORMAL
- * BACK TO THE C-LAYER.
- #
- LEFTPL = HOPLPL[0] - 1;
- RIGHTPL = HOPRPL[0];
- PFCSFC[1] = HOPSRTN$; # SEND HOP/START/N PROTOCOL RESPONSE #
- NVFUMQE(P<CTQ>,APSM[1],APPPR$,0,1); # TO CTQ #
- #
- * TRIGGER THE LAST PAGE OF THE RECENT HISTORY BUFFER TO SEND TO
- * THE K-DISPLAY BY SIMULATING A "HISTORY" COMMAND I.E. BUILD
- * THE PARAMETER LIST, AND WC AND HEADER INFORMATION.
- #
- WCB$WORD[1] = 0; # CLEAR WC WORD 1 #
- HDR$WORD[1] = 0; # CLEAR HDRCMD WORD 1 #
- WCB$IAF[1] = FALSE;
- WCB$WC[1] = 2+3;
- HDR$SPCNT[1] = 2;
- HDR$APCNT[1] = 0;
- HDR$TXWCNT[1] = 1;
- HDR$VERB[1] = HIL$;
- HDR$TXCCNT[1] = 8;
- PAR$WORDC[0] = "HISTORY.";
- PAR$ELNAME[1] = HIL$;
- PAR$PCODE[1] = "VEB";
- PAR$PCODE[2] = HISTORY$;
- NVFOPHC; # PROCESS THE HISTORY COMMAND #
- GOTO ENDCASE;
- LLHOPENDW: # HOP/END-WARNING #
- HOPENDWF = TRUE; # SET HOP/END-WARNING FLAG TRUE #
- IF CMDINPGF
- THEN
- ABORTCMDF = TRUE; # CMD IN PROGRESS, ABORT THE CMD #
- GOTO ENDCASE;
- LLHOPEND: # HOP/END #
- HOPENDWF = FALSE; # CLEAR HOP/END-WARNING FLAG #
- PFCSFC[1] = HOPENDN$; # SEND HOP/END/N PROTOCOL RESPONSE #
- NVFUMQE(P<CTQ>,APSM[1],APPPR$,0,1); # TO CTQ #
- ENDCASE:
- END
- END # NVFOAPE #
- TERM
cdc/nos2.source/nam5871/nvfoape.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator