*DECK IPISPFA 
USETEXT TEXTIPL 
      PROC IPISPFA; 
*CALL COPYRITE          CDCNET - COPYRIGHT CONTROL DATA. 1992.
# TITLE IPISPFA - PROCESS FC/ACK SUPERVISORY MESSAGE.                  #
  
      BEGIN                            # IPISPFA                       #
# 
****  IPISPFA  PROCESS FC/ACK SUPERVISORY MESSAGE.
* 
*     THIS PROCEDURE PROCESSES A FC/ACK SUPERVISORY MESSAGE.
* 
*     PROC IPISPFA
* 
*     ENTRY    P<APSM> = PTR TO INPUT SUPERVISORY MESSAGE (*INPBUF*). 
* 
*     EXIT     APPLICATION CONNECTION ENTRY UPDATED.
* 
*     METHOD   IF THE CONNECTION STATE IS *IDLE* OR *CLOSED* THEN THE 
*              FC/ACK IS TREATED AS A NAM PROTOCOL ERROR. 
* 
*              IF THE CONNECTION IS ACTIVE, THEN THE OUTSTANDING
*              BLOCK COUNT IS INCREMENTED.
* 
*              ALL OTHER STATES THE FC/ACK IS IGNORED.
* 
# 
  
# 
****  PROC IPISPFA - XREF LIST
# 
      XREF
        BEGIN 
        PROC IPIAIPA;    # ABORT THE IP APPLICATION                    #
        END 
# 
**
# 
      CONTROL EJECT;
# 
****  START MAIN PROCEDURE
# 
  
      CURACN = FCACN [0]; 
  
# 
****  IF CONNECTION STATE IS *IDLE* OR *CLOSED* THEN TREAT THE FC/ACK 
*     AS A NAM PROTOCOL ERROR.
# 
      IF   (ACN$STATE [CURACN] EQ S"IDLE")
        OR (ACN$STATE [CURACN] EQ S"CLOSED")
      THEN
        BEGIN            # TREAT AS A NAM PROTOCOL ERROR               #
        IPIAIPA (NFCACK$);
        RETURN; 
        END 
# 
****  IF CONNECTED DECREMENT THE OUTSTANDING BLOCK COUNT. 
# 
      IF (ACN$CONNECT [CURACN]) 
      THEN
        BEGIN            # DECREMENT BLOCK COUNT                       #
        ACN$OBC [CURACN] = ACN$OBC [CURACN] - 1; # DECREMENT BLK COUNT #
        END 
  
      RETURN;                          # RETURN TO CALLER              #
  
      END                              # IPISPFA                       #
  
      TERM
