*DECK IPISPCE 
USETEXT TEXTIPL 
      PROC IPISPCE; 
*CALL COPYRITE          CDCNET - COPYRIGHT CONTROL DATA. 1992.
# TITLE IPISPCE - PROCESS CON/END/N SUPERVISORY MESSAGE.               #
  
      BEGIN                            # IPISPCE                       #
# 
**    IPISPCE  PROCESS CON/END/N SUPERVISORY MESSAGE. 
* 
*     THIS PROCEDURE PROCESSES A CON/END/N SUPERVISORY MESAGE.
* 
*     PROC IPISPCE
* 
*     ENTRY    P<APSM> = PTR TO INPUT SUPERVISORY MESSAGE (*INPBUF*). 
*              NUMACN  = COUNT OF CURRENT OPEN CONNECTIONS. 
* 
*     EXIT     NUMACN  = COUNT OF CURRENT OPEN CONNECTIONS. 
*              ACN ENTRY CLEARED. 
* 
*     METHOD   IF THE CONNECTION STATE IS NOT *CLOSING* THEN THE
*              CON/END/N IS TREATED AS A NAM PROTOCOL ERROR.
* 
*              IF THE CONNECTION STATE IS *CLOSING* THEN THE ACN
*              CONNECTION ENTRY IS CLEARED AND THE NUMBER OF OPEN 
*              CONNECTION IS DECREMENTED. 
# 
  
# 
****  PROC IPISPCE - XREF LIST
# 
      XREF
        BEGIN 
        PROC IPIAIPA;    # ABORT THE IP APPLICATION                    #
        END 
  
      CONTROL EJECT;
# 
****  START MAIN PROCEDURE
# 
  
      CURACN = CONACN [0];
  
# 
****  IF THE CONNECTION STATE IS NOT *CLOSING*, TREAT AS A NAM PROTOCOL 
*     ERROR.
* 
# 
  
      IF (ACN$STATE [CURACN] NQ S"CLOSING") 
      THEN
        BEGIN                          # END WITH NAM PROTOCOL ERROR   #
        IPIAIPA (NCONENDN$);
        RETURN; 
        END 
  
      NUMACN = NUMACN - 1;             # DECREMENT NO OF CONNECTD C/N  #
  
      ACN$STATE [CURACN] = S"CLOSED"; 
  
      RETURN;                          # RETURN TO CALLER              #
  
      END                              # IPISPCE                       #
  
      TERM
