*DECK HDCSTMR USETEXT ACB USETEXT ACNB USETEXT ACNT USETEXT NIPDEF USETEXT APPSTAT USETEXT OVERLAY USETEXT PARAMS USETEXT PT USETEXT SUPMSG USETEXT SYSTIME PRGM HDCSTMR; # PROCESS DC/STMR/R FROM APP # STARTIMS; # *1DC HDCSTMR * * 1. PROC NAME AUTHOR DATE * HDCSTMR E. GEE 85/11/22 * * 2. FUNCTIONAL DESCRIPTION. * PROCESS DC/STMR/R SUPERVISORY MESSAGE FROM APPLICATION. * * 3. METHOD USED. * IF ACN WAS SPECIFIED (I.E. NONZERO), * UPDATE ACNB WITH TIMEOUT DATA. * ELSE (ACN WAS NOT SPECIFIED), * UPDATE ACB WITH TIMEOUT DATA. * LOOP THROUGH ALL CONNECTIONS UPDATING ACNB WITH TIMEOUT * DATA. * * 4. ENTRY PARAMETERS. * DCACN APPLICATION CONNECTION NUMBER * ACBADDR ACB ADDRESS * WLADDR WORKLIST ENTRY ADDRESS * * 5. EXIT PARAMETERS. * NONE * * 6. COMDECKS CALLED AND SYMPL TEXTS USED. * ACB APPLICATION CONTROL BLOCK TEMPLATE * ACNB APPLICATION CONNECTION BLOCK TEMPLATE * APPSTAT APPLICATION STATUS TABLE * ACNT APPLICATION CONNECTION TABLE TEMPLATE * NIPDEF CONSTANT DEFINITIONS * OVERLAY OVERLAY TABLE * PARAMS BUF FOR PASSING PARAMS TO/FROM SEC OVLY * PT POINTER TABLE PLUS MISC VARIABLES * SUPMSG SUPERVISORY MESSAGE TEMPLATE * SYSTIME SYSTEM TIME * * 7. ROUTINES AND OVERLAYS CALLED. * HLGLERR OVL FORM LOGICAL ERROR MESSAGE * OVLCALL LOAD AND EXECUTE OVERLAY * XTRACE RECORD PROCESSOR CALLS * * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION. * 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 * OVERLAY BUFFER SIZE MINUS 5 (560B WORDS). * * THIS OVERLAY IS CALLED BY HPPUT. * # STOPIMS; # EXTERNAL VARIABLES # XREF BEGIN PROC OVLCALL; # LOAD OVERLAY # PROC XTRACE; # TRACE CALLS # LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL # END # INTERNAL VARIABLES # ITEM INDX; # LOOP VARIABLE # #**********************************************************************# BEGIN CONTROL IFEQ DEBUG,1; XTRACE("HDSTM") ; CONTROL FI; P = WLADDR + AIPHSIZE + ABHSIZE; # TEXT ADDRESS # P = ACBADDR; # ADDRESS OF ACB # P = ACBACNT[0]; # ADDRESS OF ACNT TABLE # IF (DCTIME[0] NQ 0) OR # NONZERO TIME INTERVAL GIVEN # (DCPERMT[0] ) # PERMANENT CHANGE FLAG # THEN BEGIN IF DCACN[0] NQ 0 # ACN IS GIVEN # THEN # LOCATE THE ACNB # BEGIN P = ACNTACNB[DCACN[0] + ACNTHSIZE - ACNTMINACN[0]]; SETTIMER = TRUE; # SET GLOBAL APP SPEC TIMER FLAG# ACNBTIMERP[0] = DCPERMT[0]; # SET TIMER PERMANENT CHG FLG # ACNBTIMERF[0] = TRUE; # SET APP SPECIFIED TIMER FLAG # ACNBTIMER[0] = DCTIME[0]; # APP SPECIFIED TIMEOUT VALUE # ACNBINACT[0] = RTSECS[0] + DCTIME[0]; # NEW TIME FOR FC/INAC# END ELSE # NO ACN SPECIFIED # BEGIN ACBTIMER[0] = DCTIME[0]; # APP SPECIFIED TIMEOUT VALUE # ACBTIMERP[0] = DCPERMT[0]; # SET PERMANENT TIMER CHG FLAG # FOR INDX = ACNTHSIZE STEP 1 UNTIL ACNTHCN[0] - ACNTMINACN[0] + ACNTHSIZE DO BEGIN P = ACNTACNB[INDX]; IF P NQ 0 THEN BEGIN SETTIMER = TRUE; # SET GLOBAL APP SPEC TIMER FLG # ACNBTIMERP[0] = DCPERMT[0]; # SET PERMANENT TIMER CHG FLG# ACNBTIMERF[0] = TRUE; # SET APP SPECIFIED TIMER FLAG # ACNBTIMER[0] = DCTIME[0];# APP SPECIFIED TIMEOUT VALUE # ACNBINACT[0] = RTSECS[0] + DCTIME[0];# NEW TIME FOR FC/IN# END END END END GOTO RJMAIN; # RETURN TO CALLING PROGRAM # END TERM