*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
