*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
