*DECK HSFCINA
USETEXT NIPDEF
USETEXT ACB
USETEXT ACNB
USETEXT ACNT
USETEXT APPSTAT
USETEXT AHEADER
USETEXT DRHDR
USETEXT PARAMS
USETEXT SUPMSG
PRGM HSFCINA; # SEND FC/INACT SUP MSG TO APP #
*IF DEF,IMS
#
*****
* 1.PROCNAME AUTHOR DATE
* HSFCINA L.T.NGUYEN 84/08/08
*
* 2.FUNCTIONAL DESCRIPTION:
* SENDING FC/INACT/SM TO INDICATED APLLICATION.
*
* 3.METHOD USED:
* GET BUFFER TO HOLD SM.
* SET UP INFORMATION IN ABH AND SUPMSG.
* CALL BLINK TO LINK SM TO APPLCATION'S ACB.
*
* 4. ENTRY PARAMETERS.
* PARAMS1 ADDRESS OF ACB
* PARAMS2 CONNECTION NUMBER OF INACTIVE CONNECTION
*
* 5. EXIT PARAMETERS.
* NONE
* 6. COMDECKS CALLED AND SYMPL TEXT USED
* ACB APPLICATION CONTROL BLOCK TEMPLATE
* ACNB APPLICATION CONNECTION BLOCK TEMPLATE
* ACNT APPLICATION CONNECTION TABLE TEMPLATE
* AHEADER APPLICATION BLOCK HEADER TEMPLATE
* DRHDR BUFFER HEADER TEMPLATE
* NIPDEF CONSTANT DEFINITIONS
* SUPMSG SUPERVISORY MESSAGE TEMPLATES
*
* 7. ROUTINES AND OVERLAYS CALLED.
* BLINK.
* OSCHAPP.
* MGETS.
*
* 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION.
*
* THIS PROGRAM IS A SECONDARY OVERLAY LOAED 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 SECONDARY
* OVERLAY BUFFER SIZE MINUS 5 (473B WORDS).
****
#
*ENDIF
XREF
BEGIN
PROC BLINK ; # PROC TO LINK SM TO ACB #
PROC OSCHAPP ; # APPLICATION SCHEDULER #
PROC MGETS ; # GET BUFFER FOR SM #
PROC XTRACE ; # FOR DEBUG USAGE #
LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL #
END
ITEM ACNCON U ; # CONNECTION NUMBER #
ITEM SMBUFF U ; # ADDRESS OF NEW SM BUFFER #
BEGIN # HSFCINA #
P<ACB> = PARAMS1; # ADDRESS OF PCB #
IF (ACBORD1[0]) # THIS APPLICATION ALREADY SENT #
# SAC/NCL TO SET ERROR CONDITION#
THEN # FOR FC/INACT/SM #
BEGIN
ACBABTFC[0] = TRUE ; # READY TO ABORT THIS APPL #
# AND DONT QUEUE ANY SM #
GOTO RJMAIN ;
END
MGETS(LFCINCT+BLKHSIZE+ABHSIZE,SMBUFF,TRUE) ; # GET BUFFER #
P<DRHDRWD> = SMBUFF ;
P<AHEADER> = P<DRHDRWD> + BLKHSIZE ;
ABHABT[0] = APPCMD ;
ABHACT[0] = CT60TRANS ;
ABHTLC[0] = 1 ;
P<SUPMSG> = P<DRHDRWD> + BLKHSIZE + ABHSIZE ;
PFCSFC[0] = FCINA ;
FCACN[0] = PARAMS2; # APPLICATION CONNECTION NUMBER #
P<ACNT> = ACBACNT[0]; # ADDRESS OF CONNECTION TABLE #
P<ACNB> = ACNTACNB[PARAMS2 + ACNTHSIZE - ACNTMINACN[0]];
FCATF[0] = ACNBTIMERF[0]; # SET APP SPECIFIED TIMER FLAG #
BLINK(P<DRHDRWD>,P<ACB>) ;
OSCHAPP(P<ACB>) ;
GOTO RJMAIN; # RETURN TO CALLING PROGRAM #
END
TERM