*DECK HCRITER
USETEXT NIPDEF
USETEXT ACNB
USETEXT AHEADER
USETEXT NHEADER
USETEXT AT
USETEXT PARAMS
USETEXT PT
USETEXT SUPMSG
PROC HCRITER; # SEND CR/ITE/R TO NVF #
STARTIMS;
#
*1DC HCRITER
*
* 1. PROC NAME AUTHOR DATE
* HCRITER C. BITTNER 81/07/24
*
* 2. FUNCTIONAL DESCRIPTION
* SEND TERMINAL CONNECTION REQUEST (CR/ITE/R) TO NVF
*
* 3. METHOD USED
* SET UP APPLICATION BLOCK HEADER
* SET UP CR/ITE/R MESSAGE USING ICN/TE/R
* QUEUE MESSAGE ON NVF-S ACB
*
* 4. ENTRY PARAMETERS
* PARAMS1 - ADDRESS OF SM BUFFER (ICN/TE/R)
* PARAMS2 - APPLICATION CONNECTION NUMBER
*
* 5. EXIT PARAMETERS
* NONE
*
* 6. COMDECKS CALLED AND SYMPL TEXTS USED
* NIPDEF
* AHEADER AT
* PARAMS PT
* SUPMSG
*
* 7. ROUTINES CALLED
* BLINK - LINK DATA BLOCK TO DATA RING
* OSCHAPP - SCHEDULE APPLICATION
* XTRACE - TRACE PROCEDURE CALL
*
* 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
* THIS PROCEDURE IS CALLED BY PRIMARY OVERLAY STRTCON
* VIA HCSTTP
*
#
STOPIMS;
#
EXTERNAL VARIABLES
#
XREF
BEGIN
PROC BLINK; # LINK DATA BLOCK TO DATA RING #
PROC OSCHAPP; # SCHEDULE APPLICATION #
PROC XTRACE; # TRACE PROCEDURE CALL #
END
#
INTERNAL VARIABLES
#
ITEM BUFADDR; # BUFFER ADDRESS TO HOLD CR/ITE/R #
#**********************************************************************#
BEGIN
CONTROL IFEQ DEBUG,1;
XTRACE("HCRIT") ;
CONTROL FI;
BUFADDR = PARAMS1; # SM BUFFER (ICN/TE/R) #
# SET UP APPLICATION BLOCK HEADER #
P<AHEADER> = BUFADDR + BLKHSIZE; # BASE APPLICATION HEADER #
ABHABT[0] = APPCMD; # COMMAND BLOCK #
ABHACT[0] = CT60TRANS; # CHARACTER TYPE-TRANSPARENT #
P<NHEADER> = P<AHEADER>; # CALCULATE TLC RECIEVED FROM CCP #
ABHTLC[0] = (2 * CC[0] + 14)/15;
ABHABN[0] = 0; # CLEAR APP BLOCK NUMBER FIELD #
ABHADR[0] = 0; # CLEAR APPLICATION CONNECTION NO. FIELD #
ABHDBC[0] = 0; # CLEAR DATA BLOCK CLARIFIER FIELD #
# SET UP CR/ITE/R #
P<SMNIP> = BUFADDR + BLKHSIZE + ABHSIZE; # FWA OF ICN/TE/R #
P<SUPMSG> = P<SMNIP>;
PFCSFC[0] = CRITE; # SM FUNCTION CODE #
P<SMNVF> = P<SUPMSG>;
ICNCN[0] = 0; # ZERO NETWORK CN FIELD #
CRUBZ[0] = ICNUBZ[0] ;
CRHW[0] = ICNHW[0]; # HARDWIRED TERMINAL FLAG #
CRVTP[0] = ICNVTP1[0] * 16 + ICNVTP2[0]; # VTP VERSION #
CRITTC[0] = ICNTC[0]; # TERMINAL CLASS #
CRITPL[0] = ICNPL[0]; # PAGE WIDTH #
CRINET[0] = ICNNET[0]; # UPDATE CDCNET FIELD #
ICNDBL[0] = 0; # NETWORK BLOCK LIMIT #
ICNTC[0] = 0; # ZERO TERMINAL CLASS FIELD #
ICNPL[0] = 0; # ZERO PAGE LENGTH FIELD #
CRACN[0] = PARAMS2; # APPLICATION CONNECTION NUMBER #
ICNTPRI[0] = FALSE; # CLEAR PRIORITY FIELD #
# QUEUE MESSAGE ON NVF-S ACB #
BLINK(BUFADDR,ATACBA[NVFAN]); # QUEUE MSG ON NVF-S ACB #
OSCHAPP(ATACBA[NVFAN]); # SCHEDULE APPLICATION #
RETURN ; # RETURN TO CALLING PROGRAM #
END
TERM