*DECK NETLGS
*IF DEF,STAT
USETEXT AIPDEF
USETEXT NP$DB
USETEXT NP$STAT
USETEXT NP$MODE
USETEXT NP$NWL
*ENDIF
PROC NETLGS(ADDR,SIZE) ;
#
*1DC NETLGS
*
* 1. PROC NAME AUTHOR DATE
* NETLGS L.T.NGUYEN 03/30/82
*
* 2. FUNCTIONAL DESCRIPTION:
* PROCESS NETLGS FROM APPLICATION.
*
* 3. METHOD USED:
* GET DATE AND TIME, WRITE HEADER TO ZZSN
* WRITE MESSAGE TO ZZSN. UPDATE THE NSUP COUNT.
* IF I/O ERROR HAS OCCURRED ON STATISTICS FILE,
* CALL NP$PIOE TO PROCESS I/O ERROR.
*
* 4. INPUT PARAMS:
* ADDR - FWA OF MESSAGE.
* SIZE - SIZE OF MESSAGE.
*
* 5. EXIT PARAMS :
* NONE.
*
* 6. ROUTINES CALLED:
* NP$DATE
* NP$CLK
* NP$PIOE - PROCESS I/O ERROR AFTER WRITE OPERATION
* NP$WRTW
*
*
#
BEGIN
ITEM ADDR ;
ITEM SIZE ;
*IF DEF,STAT
#
EXTERNAL ROUTINES
#
XREF PROC NP$DATE ; # GET DATE FROM SYSTEM #
XREF PROC NP$CLK ; # GET TIME FROM SYSTEM #
XREF PROC NP$PIOE; # PROCESS I/O ERROR ON DISK FILE #
XREF PROC NP$WRTW ; # WRITE BUFFER TO ZZZZZSN FILE #
XREF PROC NP$SN ;
#
LOCAL VARS
#
ITEM CHARWD C(10) ; # CHARATER FIELD FOR DATE #
ARRAY STMSG P(6) ;
BEGIN
ITEM ST$CCA C(0,0,10) = [" "] ;
ITEM ST$MSG3 C(1,0,13) = [" NETLGS DATE "] ;
ITEM ST$DATE C(2,18,10) ;
ITEM ST$MSG4 C(3,18,7) = [" TIME"] ;
ITEM ST$TIME C(4,0,10) ;
ITEM ST$EOLA I(5,0,60) = [0] ;
END
BEGIN # NETLGS #
*ENDIF
ENTRY PROC QTLGS(ADDR,SIZE); # QTRM ENTRY POINT FOR THIS PROC#
*IF DEF,STAT
NP$SN(TYPE"LGS") ; # STATISTIC COUNT #
IF NOT ACCEPTED
THEN
RETURN ; # APPL. HAS NOT NETTED ON YET #
ELSE
BEGIN # WRITE TO ZZZZZSN FILE #
NP$DATE(CHARWD) ; # GET DATE #
ST$DATE = CHARWD ;
NP$CLK(CHARWD) ; # GET TIME #
ST$TIME = CHARWD ;
NP$WRTW(SN$FET,STMSG,6) ; # NETLGS HEADER TO ZZSN #
NP$WRTW(SN$FET,ADDR,SIZE) ; # MSG TO ZZSN FILE #
MSGCNT[0] = MSGCNT[0] + 1 ; # UPDATE NSUP COUNT #
#
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 # WRITE TO ZZZZZSN FILE #
END
*ENDIF
RETURN ;
END # NETLGS #
TERM