cdc:nos2.source:nam5871:np_sn
Table of Contents
NP$SN
Table Of Contents
- [00006] PROC NP$SN1)
- [00059] PROC NP$PIOE
- [00060] PROC NP$WRTW
- [00061] FUNC NP$XCDD C(10)
Source Code
- NP$SN.txt
- *DECK NP$SN
- *IF,DEF,STAT
- USETEXT NP$MODE
- USETEXT NP$STAT
- *ENDIF
- PROC NP$SN((STNUM));
- *IF DEF,IMS
- #
- *1DC NP$SN
- *
- * 1. PROC NAME AUTHOR DATE
- * NP$SN S.KRULEVITCH 77/07/01
- *
- * 2. FUNCTIONAL DESCRIPTION
- * WRITES STATISTICS COUNT TO THE NAM STATISTICS FILE ZZZZZSN.
- *
- * 3. METHOD USED
- * EACH LINE OF THE LOG ENTRY IS FORMATTED AND WRITTEN TO FILE
- * ZZZZZSN USING MACREL FUNCTION AND PROCEDURE CALLS.
- *
- * 4. ENTRY CONDITIONS
- * STNUM - NUMBER TO IDENTIFY WHICH STATISTIC IS TO BE LOGGED
- * ON THE ZZZZZSN FILE. THE NUMBER GIVES THE POSITION
- * IN THE STATISTICS ARRAY.
- * SN$FET - FET FOR FILE ZZZZZSN
- * PRNT - TRUE IF STATISTICS COUNT IS TO BE WRITTEN TO ZZZZZSN.
- * FALSE IF STATISTICS COUNTER IS BEING INCREMENTED.
- *
- * 5. EXIT CONDITIONS
- * NONE
- *
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * NP$CRT NP$MODE NP$STAT
- *
- * 7. PROCEDURES/FUNCTIONS CALLED
- * NP$PIOE PROCESS I/O ERROR ON DISK FILE
- * NP$WRTW
- * NP$XCDD
- *
- * 8. DAYFILE MESSAGES
- * NONE
- *
- #
- *ENDIF
- BEGIN
- *CALL NP$CRT
- # #
- # FORMAL PARAMETER #
- # #
- ITEM
- STNUM I; #IDENTIFIES STATISTIC TO BE #
- #UPDATED OR PRINTED #
- *IF DEF,STAT
- # #
- # ROUTINES CALLED #
- # #
- XREF
- BEGIN
- PROC NP$PIOE; # PROCESS I/O ERROR ON DISK FILE #
- PROC NP$WRTW;
- FUNC NP$XCDD C(10);
- END
- # #
- # LOCAL VARIABLES #
- # #
- DEF OVERFLOW #1000000#; #STATISTICS FIELD OVERFLOW #
- ITEM
- I I; #TEMPORARY VARIABLE #
- ARRAY TOOBIG P(4);
- ITEM
- TOOBIGCC C(0,0,10)=["0 "], #DOUBLE SPACE #
- TOOBIGMSG C(1,0,24)=["****COUNTER OVERFLOW****"],
- TOOBIGEOL I(4,0,60)=[0];
- ARRAY STATISTIC[0:STATSIZE] P(2);
- ITEM
- STATNAME C(0,0,20)=
- [" NETCHEK ",
- " NETDMB ",
- " NETFUNC ",
- " NETGET ",
- " NETGETF ",
- " NETGETL ",
- " NETGETQ ",
- " NETGTFL ",
- " NETGTLQ ",
- " NETLGS ",
- " NETLOG ",
- " NETPUT ",
- " NETPUTF ",
- " NETSETP ",
- " NETWAIT ",
- " NETXFR ",
- " NETXFRC ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " SUCCESSFUL ",
- " UNSUCCESSFUL ",
- " INPUT ABT=0 ",
- " INPUT ABT=1 ",
- " INPUT ABT=2 ",
- " INPUT ABT=3 ",
- " INPUT ABT=4 ",
- ,
- " INPUT ABT=6 ", # INPUT QBLK BLOCK TYPE #
- " INPUT ABT=7 ", # INPUT QMSG BLOCK TYPE #
- " OUTPUT ABT=1 ",
- " OUTPUT ABT=2 ",
- " OUTPUT ABT=3 ",
- " OUTPUT ABT=4 ",
- ,
- " OUTPUT ABT=6 ", # OUTPUT QBLK BLOCK TYPE #
- " OUTPUT ABT=7 ", # OUTPUT QMSG BLOCK TYPE #
- " LOGICAL ERRORS ",
- " NAK-S ",
- " "];
- ARRAY STLOG P(5);
- ITEM
- STLOG$CC C(0,0,10)=[" "],
- STLOGA C(1,0,20),
- STLOGB C(3,0,10),
- STLOG$EOL I(4,0,60)=[0];
- CONTROL EJECT;
- # #
- # NP$SN EXECUTION BEGINS HERE #
- # #
- # STEP 1: CHECK IF STATISTICS GATHERING IS ON. #
- IF ACCEPTED
- THEN
- BEGIN
- # STEP 2: INCREMENT COUNTER UNLESS NP$SN HAS BEEN CALLED FOR #
- # PRINTOUT ONLY #
- IF NOT PRNT AND STATON
- THEN
- STAT[STNUM] = STAT[STNUM] + 1;
- # STEP 3: WRITE OVERFLOW MESSAGE IF COUNTER GETS TOO LARGE #
- IF STAT[STNUM] GQ OVERFLOW
- THEN
- NP$WRTW(SN$FET,TOOBIG,4);
- # STEP 4: WRITE STATISTIC TO FILE ZZZZZSN. #
- IF (STAT[STNUM] GR 0 AND PRNT) OR STAT[STNUM] GQ OVERFLOW
- THEN
- BEGIN
- STLOGA = STATNAME[STNUM];
- STLOGB = NP$XCDD(STAT[STNUM]);
- NP$WRTW(SN$FET,STLOG,5);
- STAT[STNUM] = 0; #CLEAR COUNTER #
- END
- #
- CHECK FOR I/O ERROR IN STATISTICS FILE
- #
- IF SN$AT[0] NQ 0
- THEN # I/O ERROR HAS OCCURRED ON FILE#
- BEGIN
- NP$PIOE(SN$FET); # PROCESS I/O ERROR #
- END
- END #STATON#
- *ENDIF
- RETURN;
- END #NP$SN#
- TERM
1)
STNUM
cdc/nos2.source/nam5871/np_sn.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator