*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