*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
  
