*DECK HCRIAPR
USETEXT NIPDEF
USETEXT
USETEXT AHEADER
USETEXT
USETEXT PARAMS
USETEXT SUPMSG
USETEXT PT
USETEXT AT
USETEXT
USETEXT ACNB
PRGM HCRIAPR ; # SEND CR/IAP/R TO NVF #
STARTIMS;
#
*1DC HCRIAPR
*
* 1. PROC NAME AUTHOR DATE
* HCRIAPR A. BEN-ARTZI 82/05/05
*
* 2. FUNCTIONAL DESCRIPTION
* SEND CR/IAP/R TO NVF
*
* 3. METHOD USED
* SET UP APPLICATION BLOCK HEADER
* SET UP CR/IAP/R FIELDS
* QUEUE MESSAGE TO NVF-S ACB
*
* 4. ENTRY PARAMETERS
* PARAMS1 - REASON CODE FOR THE REQUEST
* PARAMS2 - APPLICATION CONNECTION NUMBER
* PARAMS3 - APPLICATION NUMBER
* PARAMS4 - ADDRESS OF ACNB
* PARAMS7 - ADDRESS OF THE ABH IN CONACRQ
* 0 FOR ICNAPA
*
* 5. EXIT PARAMETERS
* NONE
*
* 6. COMDECKS CALLED AND SYMPL TEXTS USED
* NIPDEF AHEADER PARAMS SUPMSG
* PT AT ACNB
*
* 7. ROUTINES CALLED
* XTRACE - TRACE PROCEDURE CALL
* BLINK - LINK DATA BLOCK TO APPLICATION-S DATA RING
* OSCHAPP - SCHEDULE APPLICATION
* MGETS - GET A NEW BUFFER
*
* 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
* THIS PROGRAM IS A SECONDARY OVERLAY CALLED BY HCSTTP.
* W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY
*CALL OSSIZE
*
#
STOPIMS;
#
EXTERNAL VARIABLES
#
XREF
BEGIN
PROC XTRACE ; # DEBUG TRACE CALLS #
PROC BLINK ; # LINK DATA TO APPLICATION"S ACB #
PROC OSCHAPP; # SCHEDULE APPLICATION #
PROC MGETS ; # GET A NEW BUFFER #
LABEL RJMAIN;
END
#
INTERNAL VARIABLES
#
ITEM BUFADDR ; # BUFFER ADDRESS FOR THE CR/IAP/R #
ITEM INDX ; # LOOP INDEX #
ITEM EXTRA ; # WORDS ADDED FROM CONACRQ #
BASED ARRAY WORDF[0:0] S(1);
BEGIN
ITEM WORD U(00,00,60);
END
#**********************************************************************#
BEGIN
CONTROL IFEQ DEBUG,1;
XTRACE("HCRAP") ;
CONTROL FI ;
EXTRA = 0; # NO EXTRA WORDS TO BEGIN WITH #
IF PARAMS7 NQ 0 # A CALL FROM CONACRQ #
THEN
BEGIN
P<AHEADER> = PARAMS7; # MOVE AHEADER TO THE HEADER ADDRESS #
EXTRA = ABHTLC[0] - RACRSIZE;
END
#
GET A BUFFER FOR MESSAGE
#
MGETS( LCRIAP + ABHSIZE + BLKHSIZE + EXTRA, BUFADDR , TRUE ) ;
#
SET UP APPLICATION HEADER
#
P<AHEADER> = BUFADDR + BLKHSIZE ;
ABHABT[0] = APPCMD ;
ABHACT[0] = CT60TRANS ;
ABHTLC[0] = LCRIAP + EXTRA;
#
SET-UP THE MESSAGE ITSELF
#
P<ACNB> = PARAMS4 ;
P<SUPMSG> = BUFADDR + ABHSIZE + BLKHSIZE ;
P<SMNIP > = P<SUPMSG> ;
# #
PFCSFC[0] = CRIAP ;
P<SMNVF> = P<SUPMSG> ;
# #
CRRIAP[0] = PARAMS1 ; # REASON CODE #
CRACN [0] = PARAMS2 ; # APPLICATION CONNECTION NUMBER #
CRIAN [0] = PARAMS3 ; # INITIAL APPLICATION NUMBER #
CRRANM[0] = ACNBANM[0]; # APPLICATION TO BE CONNECTED #
CRRHID[0] = ACNBHID[0]; # HOST ID (PREVIOUSLY STORED IN ACNB) #
CRULID[0] = ACNBLID[0]; # LID OF THE OUTGOING CALL(PREV STORED)#
IF EXTRA GR 0 # WORDS TO BE ADDED #
THEN
BEGIN
P<WORDF> = 0;
FOR INDX = 0 STEP 1 UNTIL EXTRA - 1
DO
BEGIN # MOVE EXTRA WORDS FROM CONACRQ TO #
# CRIAP AREA #
SPMWD[RCRIAPSZ + INDX] = WORD[PARAMS7 + RCRIAPSZ + INDX];
END
END
#
AND LINK MESSAGE TO NVF
#
BLINK ( BUFADDR,ATACBA[NVFAN]) ; # QUEUE TO NVF #
OSCHAPP (ATACBA[NVFAN]) ;
GOTO RJMAIN ;
END
TERM