cdc:nos2.source:nam5871:nvfoppc
Table of Contents
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
- *DECK NVFOPPC
- USETEXT TEXTNVF
- USETEXT TEXTSS
- USETEXT TXTAPSS
- PROC NVFOPPC;
- # TITLE - PERFORM PROGRAM CONTROL. #
- BEGIN
- #
- ** NVFOPPC - PERFORM PROGRAM CONTROL.
- *
- * D.K. ENDO 82/05/20
- *
- * THIS PROCEDIRE ACTIONS DEBUG COMMANDS FROM THE HOP.
- *
- * PROC NVFOPPC
- *
- * ENTRY 1. ENTRIES IN THE HOP PROGRAM CONTROL QUEUE(HCQ).
- *
- * EXIT 1. APPROPRIATE ACTION TAKEN.
- *
- #
- #
- **** PROC NVFOPPC - XREF LIST BEGINS.
- #
- XREF
- BEGIN
- PROC NETDBG; # TURNS AIP TRACE ON OR OFF #
- PROC NETDMB; # DUMPS APPLICATION-S FIELD LENGTH #
- PROC NETREL; # RELEASES THE AIP TRACE FILE #
- PROC NETSTC; # CLEARS AND/OR STARTS STATISTICS #
- PROC NVFUMQE; # MAKE QUEUE ENTRY #
- PROC SSBSBF; # STORE BITFIELD IN TABLE #
- PROC SSSPSI; # PREPARE (SS) STATISTICS INFORMATION #
- PROC SSTRQE; # REMOVE QUEUE ENTRY #
- FUNC XCHD; # CONVERT INTEGER TO HEXIDECIMAL DISPLAY #
- END
- #
- ****
- #
- DEF LEVTMSG$ #40#; # LENGTH OF EVENT MESSAGES IN CHARACTERS #
- DEF ALTMTYP$ #6#; # HOP ALERT MESSAGE TYPE FOR *NVFUMQE* #
- ITEM I; # LOOP INDUCTION VARIABLE #
- ITEM STATIS; # STATUS RETURNED FROM, NET PROC-S #
- ITEM WP; # WORD POS FOR DISP CODE PFC/SFC IN EVENT #
- ITEM BP; # BIT POS FOR DISP CODE PFC/SFC IN ENENT #
- #
- THIS ARRAY DEFINES THE FIELDS IN THE DUMP I.D. THIS IS SET WHEN
- NVF RECEIVES A HOP/DU/U SM FROM NAM.
- #
- ARRAY DUMP$ID [00:00] S(1);
- BEGIN
- ITEM DID$NIN U(00,42,09); # NETWORK INVOCATION NUMBER #
- ITEM DID$PID U(00,51,06); # PROCDUCT I.D.(FOR NVF) #
- ITEM DID$DPN U(00,57,03); # DUMP NUMBER #
- ITEM DID$WORD I(00,00,60) = [0];
- END
- #
- * THIS ARRAY DEFINES THE LFN USED FOR THE NETREL CALL.
- #
- ARRAY NTRL$LFN [00:00] S(1);
- BEGIN
- ITEM NRL$NAM C(00,00,04) = ["NRF2"];
- ITEM NRL$ZFIL U(00,24,36) = [0];
- END
- #
- * THE FOLLOWING ARRAYS ARE EVENT MESSAGES FOR UNRECOGNIZED AND
- * ERR/LGL SUPERVISORY MESSAGES.
- #
- ARRAY BADSM [00:00] S(4);
- BEGIN
- ITEM BS$TEXT C(00,00,30) = ["UNRECOGNIZED SM, PFC/SFC = "];
- ITEM BS$ZERO U(03,00,60) = [0];
- END
- ARRAY LOGERR [00:00] S(4);
- BEGIN
- ITEM LE$TEXT C(00,00,30) = ["LOGICAL ERROR, PFC/SFC = "];
- ITEM LE$ZERO U(03,00,60) = [0];
- END
- CONTROL EJECT;
- # #
- # NVFOPPC CODE BEGINS HERE #
- # #
- #
- * FOR EACH ENTRY IN THE HOP PROGRAM CONTROL QUEUE (HCQ), EXTRACT THE
- * ENTRY AND TAKE THE APPROPRIATE ACTION:
- #
- FOR I=0 WHILE HCQLNGTH GR 0
- DO
- BEGIN
- SSTRQE(P<HCQ>,WCBUF[0],ABHBUF[0],MSGBUF[0]);
- #
- * IF THIS SM IS HOP/DU/U, THEN SET THE DUMP I.D. AND ISSUE THE DUMP
- * REQUEST. IF THE DEMP I.D. IS GREATER THAN OR EQUAL TO SIX, THEN
- * SET IT TO ZERO, ELSE INCREMENT IT BY ONE.
- #
- IF PFCSFC[0] EQ HOPDU
- THEN
- BEGIN
- DID$NIN[0] = CRNT$NIN;
- DID$PID[0] = NVFPID$;
- DID$DPN[0] = CRNT$DPN;
- NETDMB(DUMP$ID,FALSE);
- IF CRNT$DPN GQ 6
- THEN
- BEGIN
- CRNT$DPN = 0;
- END
- ELSE
- BEGIN
- CRNT$DPN = CRNT$DPN + 1;
- END
- END
- #
- * IF THIS SM IS HOP/TRCE/U, THEN CALL NETDBG TO TURN ALL TRACING
- * ON.
- #
- ELSE IF PFCSFC[0] EQ HOPTRCE
- THEN
- BEGIN
- NETDBG(FALSE,FALSE,STATIS);
- END
- #
- * IF THIS SM IS HOP/NOTR/U, THEN CALL NETDBG TO TURN ALL TRACING
- * OFF.
- #
- ELSE IF PFCSFC[0] EQ HOPNOTR
- THEN
- BEGIN
- NETDBG(TRUE,TRUE,STATIS);
- END
- #
- * IF THIS SM IS HOP/RS/U, THEN CALL NETSTC TO CLEAR THE CURRENT
- * STATISTICS AND RESTART THE STATISTICS GATHERING.
- #
- ELSE IF PFCSFC[0] EQ HOPRS
- THEN
- BEGIN
- $BEGIN
- SSSPSI;
- $END
- NETSTC(TRUE,STATIS);
- NETSTC(FALSE,STATIS);
- END
- #
- * IF THIS SM IS HOP/REL/U, THEN CALL NETREL TO RELEASE THE CURRENT
- * DEBUG LOG FILE.
- #
- ELSE IF PFCSFC[0] EQ HOPREL
- THEN
- BEGIN
- IF MC NQ 0
- THEN
- BEGIN
- NETREL(NTRL$LFN,0,FALSE);
- END
- END
- #
- * IF THIS SM IS HOP/DB/U,THEN SET THE DEBUG FLAG IN THE NVF CONTROL
- * BLOCK.
- #
- ELSE IF PFCSFC[0] EQ HOPDB
- THEN
- BEGIN
- DBGFLAG = TRUE;
- END
- #
- * IF THIS SM IS HOP/DE/U, THEN CLEAR THE DEBUG FLAG IN THE NVF
- * CONTROL BLOCK.
- #
- ELSE IF PFCSFC[0] EQ HOPDE
- THEN
- BEGIN
- DBGFLAG = FALSE;
- END
- #
- * IF THIS SM IS ERR/LGL/U, THEN ISSUE AN EVENT MESSAGE (WILL BE
- * SENT TO THE HOP AND THE NETWORK LOG FILE). STORE DISPLAY CODED
- * PFC/SFC IN MESSAGE TEXT. SET HOP ALERT.
- #
- ELSE IF PFCSFC[0] EQ ERRLGL
- THEN
- BEGIN
- WP = 2; # SET POS OF DISP CODED PFC/SFC #
- BP = 30;
- SSBSBF (LOGERR, WP, BP, 24, XCHD(X"10000" + ERPSFC[0]));
- NVFUMQE (P<USQ>, LOGERR, ALTMTYP$, 0, LEVTMSG$);
- END
- #
- * AT THIS POINT THE SM MUST BE ONE THAT NVF (AT LEAST, OR PERHAPS
- * THE WHOLE NETWORK) DOES NOT RECOGNIZE. ISSUE AN EVENT MESSAGE
- * (WILL BE SENT TO THE HOP AND THE NETWORK LOG FILE). STORE
- * DISPLAY CODED PFC/SFC IN MESSAGE TEXT. SET HOP ALERT.
- #
- ELSE # UNRECOGNEZED SUPERVISORY MESSAGE #
- BEGIN
- WP = 2; # SET POS OF DISP CODED PFC/SFC #
- BP = 42;
- SSBSBF (BADSM, WP, BP, 24, XCHD(X"10000" + PFCSFC[0]));
- NVFUMQE (P<USQ>, BADSM, ALTMTYP$, 0, LEVTMSG$);
- END
- END
- RETURN; # **** RETURN **** #
- END # NVFOPPC #
- TERM
cdc/nos2.source/nam5871/nvfoppc.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator