*DECK HLONOFF 
USETEXT NIPDEF
USETEXT ACB 
USETEXT ACNB
USETEXT ACNT
USETEXT APPSTAT 
USETEXT AT
USETEXT OVERLAY 
USETEXT PARAMS
USETEXT SUPMSG
      PRGM HLONOFF;          # TOGGLE LIST ON/OFF IN ACNB              #
  
 STARTIMS;
 #
*1DC  HLONOFF 
* 
*     1. PROC NAME           AUTHOR              DATE 
*        HLONOFF             A. M. PRATT         75/10/15 
* 
*     2. FUNCTIONAL DESCRIPTION.
*        THIS ROUTINE LOCATES THE ACNB WITH THE ACN NAMED IN THE SUPER- 
*        VISORY MESSAGE AND SETS THE TOGGLE FIELD -ON- OR -OFF- 
*        ACCORDING TO THE MESSAGE.
* 
*     3. METHOD USED. 
*          LOCATE THE  ACNB OF THE APPLICATION. TOGGLE THE
*          ACNB LST FLAG. 
* 
*     4. ENTRY PARAMETERS.
*          ACBADDR           CURRENT APPLICATION"S ACB
*          WLADDR            ADDRESS OF THE CURRENT WORKLIST REQUEST
* 
*     5. EXIT PARAMETERS. 
* 
*     6. COMDECKS CALLED AND SYMPL TEXTS USED.
*        ACB     ACNB     ACNT
*        APPSTAT     LST     NIPDEF 
*        OPSIZE     SUPMSG
* 
*     7. ROUTINES CALLED. 
*          HUPDDAW           UPDATE DATA AVAILABLE WORD 
*          XTRACE            TRACES CALLS 
* 
*     8. DAYFILE MESSAGES.  NONE
* 
*        THIS PROGRAM IS A PRIMARY OVERLAY LOADED BY SUBROUTINE OVLCALL.
*        WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE TO LOCATION RJMAIN
*        TO RETURN TO THE CALLING PROGRAM.
* 
*        W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY 
*CALL OPSIZE
* 
*        THIS OVERLAY IS CALLED BY HPPUT. 
* 
 #
 STOPIMS; 
# 
                    EXTERNAL VARIABLES
# 
  
      XREF PROC HUPDDAW;     # UPDATE DATA AVAILABLE WORD              #
      XREF PROC OVLCALL;     # LOAD AND EXECUTE OVERLAY                #
      XREF PROC XTRACE; 
      XREF LABEL RJMAIN;     # RETURN ADDRESS IN OVLCALL               #
  
# 
                    INTERNAL VARIABLES
# 
      ITEM ACNBADDR;         #  ACNB ADDRESS                          # 
      ITEM OLDLO B ;                     # OLD FLAG OF LO              #
      ITEM OLDTLO B;         # PREVIOUS VALUE OF TEMP LIST OFF FLAG    #
  
  
#**********************************************************************#
  
      BEGIN 
      CONTROL IFEQ DEBUG,1 ;
         XTRACE("HLONO") ;
      CONTROL FI; 
  
      P<SUPMSG> = WLADDR + AIPHSIZE + ABHSIZE;  # ADDR OF LST/ON/OFF SM#
  
# LOCATE ACNB # 
  
      P<ACB> = ACBADDR; 
      P<ACNT> = ACBACNT[0]; 
      ACNBADDR = ACNTACNB[LSTACN[0] + ACNTHSIZE - ACNTMINACN[0]]; 
  
  
#     UPDATE LIST FLAG ACCORDING TO ON OR OFF MSG                      #
      P<ACNB> = ACNBADDR; 
      OLDLO = ACNBLO[0] ; 
      OLDTLO = ACNBTLO[0];   # PREVIOUS VALUE OF TEMP LIST OFF FLAG    #
  
      IF PFCSFC[0] EQ LSTON 
      THEN
        BEGIN 
        ACNBLO[0] = FALSE;             # CLEAR LIST OFF FLAG IN ACNB   #
        ACNBTLO[0] = FALSE;            # CLEAR TMP LIST OFF FLG IN ACNB#
        IF (OLDLO ) OR       # CONNECTION PREVIOUSLY IN LIST OFF STATE #
           (OLDTLO)          # CONNECTION PREVIOUSLY IN TEMP LIST OFF  #
        THEN
          BEGIN 
          HUPDDAW(P<ACB>,P<ACNB>,0,ACNBBLKSQ[0]); 
          END 
  
        END 
      ELSE
        BEGIN                            # LIST OFF RECIEVED           #
        IF NOT OLDLO
        THEN
          BEGIN 
          HUPDDAW(P<ACB>,P<ACNB>,0,-ACNBBLKSQ[0]);
          END 
  
        ACNBLO[0] = TRUE ;
        END                              # LIST OFF RECIEVED           #
  
      GOTO RJMAIN;           # RETURN TO CALLING PROGRAM               #
      END 
TERM
