*DECK HCRSWHN
USETEXT AHEADER
USETEXT AT
USETEXT DRHDR
USETEXT NIPDEF
USETEXT PARAMS
USETEXT PT
USETEXT SUPMSG
USETEXT ACNB
PROC HCRSWHN;
STARTIMS;
#
*1DC HCRSWHN
* 1. PROC NAME AUTHOR DATE
* HCRSWHN C. BITTNER 81/12/01
*
* 2. FUNCTIONAL DESCRIPTION
* FORMAT AND SEND CR/SWH/N TO NVF
*
* 3. METHOD
* ALLOCATE BUFFER FOR CR/SWH/N
* SET UP APPLICATION BLOCK HEADER
* SET UP CR/SWH/N TEXT BY USING FIRST WORD OF CR/SWH/R TEXT
* QUEUE MESSAGE ON NVF-S ACB
*
* 4. ENTRY PARAMETERS
* PARAMS1 - ADDRESS OF SM BUFFER (CR/SWH/R)
* PARAMS2 - ACNB ADDRESS
*
* 5. EXIT PARAMETERS
* NONE
*
* 6. COMDECKS CALLED AND SYMPL TEXTS USED
* AHEADER
* AT
* DRHDR
* NIPDEF
* PARAMS
* PT
* SUPMSG
* ACNB
*
* 7. ROUTINES AND OVERLAYS CALLED
* BLINK - QUEUE MESSAGE ON APPL-S ACB
* MGETS - ALLOCATE EMPTY BUFFER
* OSCHAPP - SCHEDULE APPLICATION
* XTRACE - RECORD PROCEDURE CALL
*
* 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
* THIS PROCEDURE IS CALLED BY SECONDARY OVERLAY STRTSW
* VIA HCSTTP.
*
#
STOPIMS;
#
EXTERNAL VARIABLES
#
XREF
BEGIN
PROC BLINK; # QUEUE MSG ON APPL-S ACB #
PROC MGETS; # ALLOCATE EMPTY BUFFER #
PROC OSCHAPP; # SCHEDULE APPLICATION #
PROC XTRACE; # RECORD PROCEDURE CALL #
END
#
INTERNAL VARIABLES
#
ITEM BUF; # SM BUFFER FOR CR/SWH/N #
ITEM BUFADDR; # SM BUFFER ADDRESS #
#**********************************************************************#
BEGIN
CONTROL IFEQ DEBUG,1;
XTRACE("HCRSW") ;
CONTROL FI;
BUFADDR = PARAMS1; # SM BUFFER FOR CR/SWH/R #
P<ACNB> = PARAMS2 ;
ACNBLIM[0] = TRUE ; # ENTER CONNECTION TO LIMBO STATE #
# GET BUFFER TO HOLD CR/SWH/N #
MGETS(LCRSWHN + BLKHSIZE + ABHSIZE,BUF,TRUE);
# SET UP APPLICATION BLOCK HEADER #
P<AHEADER> = BUF + BLKHSIZE; # ADDR OF ABH #
ABHABT[0] = APPCMD; # COMMAND BLOCK #
ABHACT[0] = CT60TRANS; # CHARACTER TYPE-TRANSPARENT #
ABHTLC[0] = LCRSWHN; # LENGTH OF CR/SWH/N #
ABHABN[0] = 0; # CLEAR ABN FIELD #
ABHADR[0] = 0; # CLEAR ACN FIELD #
ABHDBC[0] = 0; # CLEAR DATA BLOCK CLARIFIER FIELD #
# SET UP CR/SWH/N #
P<SMNVF> = BUF + BLKHSIZE + ABHSIZE;
# COPY FIRST WORD OF CR/SWH/R #
P<SUPMSG> = BUFADDR + BLKHSIZE + ABHSIZE; # FWA OF CR/SWH/R TEXT#
P<DRHDRWD> = P<SMNVF>;
CMWORD[0] = SPMSG0[0]; # WORD ONE OF CR/SWH/R #
CRABL[0] = 0;
CRSWSDT[0] = 0;
CRSWTC[0] = 0;
CRVCB[0] = ACNBVCBO[0] ; # VCB ORDINAL FOR NVF #
P<SUPMSG> = P<SMNVF>;
RB[0] = TRUE; # SET NORMAL RESPONSE BIT #
# QUEUE MESSAGE ON NVF-S ACB #
BLINK(BUF,ATACBA[NVFAN]); # QUEUE MSG ON NVF-S ACB #
OSCHAPP(ATACBA[NVFAN]); # SCHEDULE APPLICATION #
RETURN ; # RETURN TO CALLING PROGRAM #
END
TERM