*DECK INTAMSG 
USETEXT COMCBEG 
USETEXT COMADEF 
USETEXT COMACBF 
USETEXT COMACBX 
PROC INTAMSG(HDRAREA,TEXTAREA); 
# TITLE INTAMSG - INTERCEPT ASYNCHRONOUS SUPERVISORY MESSAGES.  # 
  
      BEGIN  # INTAMSG #
  
# 
*     INTAMSG - INTERCEPT ASYNCHRONOUS SUPERVISORY MESSAGES.
* 
*     INTAMSG DETERMINES WHETHER A MESSAGE IS AN ASYNCHRONOUS 
*     SUPERVISORY MESSAGE FOR AN ACN WITH AN ACTIVE FILE-TRANSFER-
*     IN-PROGRESS AND IF SO CALLS PRASM TO PROCESS THE MESSAGE. 
* 
*     PROC INTAMSG(HDRAREA,TEXTAREA)
* 
*     ENTRY   -  HDRAREA - HEADER WORD OF MESSAGE.
*                TEXTAREA   - TEXT AREA OF MESSAGE. 
* 
*     EXIT       MSGFORAPP .EQ. TRUE, MESSAGE WAS FOR APPLICATION 
*                          .EQ. FALSE, MESSAGE WAS FOR AN ACTIVE FILE 
*                                    TRANSFER IN PROGRESS.
* 
*     PROCESS  - CALL DAMSGIN TO DETERMINE THE ACCEPTABLE MESSAGE INDEX.
*                IF MESSAGE IS FOR AN ACTIVE FILE TRANSFER, 
*                THEN:  
*                  CALL PRASM TO PROCESS THE MESSAGE. 
*                  SET MSGFORAPP TO FALSE.
*                ELSE:  
*                  SET MSGFORAPP TO TRUE. 
* 
*     NOTE    -  THIS PROC IS CALLED FOR EXECUTION ONLY BY NETGET 
*                AND NETGETL.  THEY REFERENCE INTAMSG BY A WEAK EXTERNAL
*                CALL.  THUS TO ENSURE THAT INTAMSG IS LOADED DURING
*                FILE TRANSFER ACTIVITY, A DUMMY CALL TO INTAMSG IS 
*                PLACED IN NETXFR.
**
# 
*CALL HDRAREA 
*CALL TEXTAREA
# 
****  PROC NETOFF - XREF LIST BEGIN.
# 
  
      XREF
        BEGIN 
        PROC DFTTIND;                #  DETERMINE FTTINDEX #
        FUNC DAMSGIN I;              # DETERMINE GOTO SWITCH IND #
        PROC PRASM;                  #  PROCESS ASYNCHRONOUS MESSAGE #
        END 
  
# 
****  PROC NETOFF - XREF LIST END.
# 
  
      ITEM AMSG$INDEX S:ASMGS;       # ACCEPTABLE MESSAGE INDEX # 
                                               CONTROL EJECT; 
      AMSG$INDEX = DAMSGIN(TXT$ASMSG[0]);  # DETERMN ACCPTBLE MSG INDX #
      TAIA$WORD[0] = TXT$WD0[0];
      IF  AMSG$INDEX LT NUMPASMSGS
      THEN
        BEGIN 
        DFTTIND (AMSG$INDEX);        # DETERMINE FTTINDEX # 
        IF  FTTINDEX  LT  MAXFILEXFR
        THEN
          BEGIN  # MESSAGE IS ASSOCIATED WITH AN ACTIVE FILE TRANSFER # 
          PRASM (HDRAREA, TEXTAREA);  # PROCESS ASYNC. MESSAGE #
          MSGFORAP  =  FALSE; 
          END 
  
        ELSE
          BEGIN 
          MSGFORAP  =  TRUE;
          END 
  
        END 
  
      ELSE
        BEGIN 
        MSGFORAP  = TRUE; 
        END 
  
      END    # INTAMSG #
  
      TERM
