*DECK QTCLOSE 
USETEXT AIPDEF
USETEXT QTRMCOM 
USETEXT QTRMNIT 
PROC QTCLOSE; 
*IF DEF,IMS 
 #
*1DC  QTCLOSE 
* 
*     1. PROC NAME           AUTHOR              DATE 
*        QTCLOSE             J.C. LEE            79/01/12 
* 
*     2. FUNCTIONAL DESCRIPTION 
*        TERMINATE ACCESS TO THE NETWORK
* 
*     3. METHOD USED
*        SET ALL CONNECTION ENTRIES IN NIT TO NULL STATE, 
*        TRANSFER LAST WORKLIST, IF IT EXISTS, BY ISSUING FORCED NETWAIT
*        CALL AIP PROCEDURE NETOFF TO TERMINATE NETWORK ACCESS
* 
*     4. ENTRY CONDITIONS 
*        NONE 
* 
*     5. EXIT CONDITIONS
*        ALL CONNECTIONS IN -NULL- STATE, 
*        NETON$STATUS IS SET TO FALSE.
* 
*     6. COMDECKS CALLED AND SYMPL TEXTS USED.
*        AIPDEF    NP$CRT    QTRMCOM   QTRMNIT
* 
*     7. ROUTINES CALLED
*        NETCHEK - AIP PROCEDURE TO FLUSH AIP WORKLIST, IF ANY
*        NETFUNC - AIP PROCEDURE TO CHANGE NORMAL PROCESSING PROCEDURES 
*        NETOFF - AIP PROCEDURE TO TERMINATE NETWORK ACCESS 
* 
*     8. DAYFILE MESSAGES 
*        NONE 
* 
 #
*ENDIF
  
# 
      CONTROL DEFINITIONS 
# 
      CONTROL PRESET; 
      CONTROL PACK; 
      CONTROL DISJOINT; 
      CONTROL INERT;
      CONTROL FASTLOOP; 
  
*CALL NP$CRT
  
# 
      ROUTINES CALLED 
# 
    XREF
      BEGIN 
      PROC NETCHEK;                     # FLUSH AIP WORKLIST, IF ANY   #
      PROC NETFUNC;                     # CHANGE NORMAL PROCESSING     #
      PROC NETOFF;                      # TERMINATE NETWORK ACCESS     #
      END 
# 
      LOCAL VARIABLES 
# 
      ITEM M I;                         # TEMPORARY VARIABLE           #
      CONTROL EJECT;
# 
      BEGIN QTCLOSE PROCESSING
# 
   BEGIN
  
      P<NIT> = NIT$ADDR;
      FOR M=1 STEP 1 UNTIL NIT$NO$TERMS[0] DO 
        BEGIN 
        NIT$STATE[M] = S"NULL";         # SET ALL CONNECTIONS TO -NULL-#
        END 
      NETON$STATUS = FALSE;             # SET APP NOT NETTED-ON        #
  
                                        # FORCED NETWAIT TO TRANSFER   #
      NETFUNC(3,0);                     # TELL AIP TO NOT ABORT APP IF #
                                        # NAM IS NO LONGER AVAILABLE   #
      NETCHEK;
      NETOFF;                           # TERMINATE NETWORK ACCESS     #
  
      RETURN; 
   END # QTCLOSE #
TERM
