*DECK HCRCBU
USETEXT NIPDEF
USETEXT ACNB
USETEXT AHEADER
USETEXT AT
USETEXT PARAMS
USETEXT PT
USETEXT SUPMSG
PRGM HCRCBU;
STARTIMS;
#
*1DC HCRCBU
*
* 1. PROC NAME AUTHOR DATE
* HCRCBU C. BITTNER 82/02/01
*
* 2. FUNCTIONAL DESCRIPTION
* SEND CR/CB/U TO NVF
*
* 3. METHOD USED
* ALLOCATE BUFFER FOR MESSAGE
* SET UP APPLICATION BLOCK HEADER
* SET UP CR/CB/U MESSAGE
* QUEUE MESSAGE ON NVF-S ACB
*
* 4. ENTRY PARAMETERS
* PARAMS1 - REASON CODE FOR CONNECTION TERMINATION
* PARAMS2 - ACNB ADDRESS
*
* 5. EXIT PARAMETERS
* NONE
*
* 6. COMDECKS CALLED AND SYMPL TEXTS USED
* NIPDEF ACNB AHEADER
* PARAMS PT SUPMSG
* AT
*
* 7. ROUTINES CALLED
* BLINK - QUEUE MESSAGE ON APPL-S ACB
* MGETS - ALLOCATE EMTPY BUFFER
* OSCHAPP - SCHEDULE APPLICATION
* XTRACE - TRACE PROCEDURE CALL
*
* 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
* THIS IS A SECONDARY OVERLAY CALLED BY HCSTTP.
* W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY
*CALL OSSIZE
*
#
STOPIMS;
#
PARAMS1 - REASON CODE FOR CONNECTION TERMINATION
PARAMS2 - ACNB ADDRESS
#
#
EXTERNAL VARIABLES
#
XREF
BEGIN
PROC BLINK; # QUEUE MSG ON APPL-S ACB #
PROC MGETS; # ALLOCATE EMPTY BUFFER #
PROC OSCHAPP; # SCHEDULE APPLICATION #
PROC XTRACE; # TRACE PROCEDURE CALL #
LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL #
END
#
INTERNAL VARIABLES
#
ITEM BUFADDR; # SM BUFFER #
#**********************************************************************#
BEGIN
CONTROL IFEQ DEBUG,1;
XTRACE("HCRCB");
CONTROL FI;
# GET BUFFER TO HOLD CR/CB/U #
MGETS(LCRCB + BLKHSIZE + ABHSIZE,BUFADDR,TRUE);
# SET UP APPLICATION BLOCK HEADER #
P<AHEADER> = BUFADDR + BLKHSIZE; # ADDR TO HOLD ABH #
ABHABT[0] = APPCMD; # BLOCK TYPE #
ABHACT[0] = CT60TRANS; # CHARACTER TYPE #
ABHTLC[0] = LCRCB; # TEXT LENGTH #
# SET UP CR/CB/U MESSAGE #
P<SUPMSG> = BUFADDR + BLKHSIZE + ABHSIZE; # FWA OF TEXT #
P<SMNVF> = P<SUPMSG>; # BASE CR/CB #
PFCSFC[0] = CRCB; # SET FUNCTION CODE #
CRRCB[0] = RCBRK ;
P<ACNB> = PARAMS2;
IF ACNBAN[0] EQ NVFAN
THEN # T-A CONNECTION TO NVF #
BEGIN
CRNACN[0] = ACNBACN[0]; # NVF CONNECTION NUMBER #
CRCAACN[0] = 0; # CN ASSIGNED TO APP THAT HAD THE CONN #
END
ELSE # NOT CONNECTED TO NVF #
BEGIN
CRNACN[0] = 0; # NVF CONNECTION NUMBER #
CRCAACN[0] = ACNBACN[0]; # CN ASSIGNED TO APP THAT HAD THE CON#
END
CRDT[0] = ACNBDT[0]; # DEVICE TYPE #
CRCBTC[0] = ACNBTC[0];
CRVCB[0] = ACNBVCBO[0]; # VCB ORDINAL #
CRAN[0] = ACNBAN[0]; # APP NO. OF APP WHICH HELD THE CONN #
IF ACNBLIM[0]
THEN # CONNECTION IN LIMBO #
CRLIMBO[0] = TRUE;
# QUEUE CR/CB/U ON NVF-S ACB #
BLINK(BUFADDR,ATACBA[NVFAN]); # QUEUE MSG ON APP-S ACB #
OSCHAPP(ATACBA[NVFAN]); # SCHEDULE APPLICATION #
GOTO RJMAIN; # RETURN TO CALLING PROGRAM #
END
TERM