*DECK IPISPCB 
USETEXT TEXTIPL 
      PROC IPISPCB; 
*CALL COPYRITE          CDCNET - COPYRIGHT CONTROL DATA. 1992.
# TITLE IPISPCB - PROCESS CON/CB SUPERVISORY MESSAGE.                  #
  
      BEGIN                            # IPISPCB                       #
# 
****  IPISPCB  PROCESS CON/CB SUPERVISORY MESSAGE.
* 
*     THIS PROCEDURE PROCESSES A CON/CB SUPERVISORY MESSAGE.
* 
*     PROC IPISPCB
* 
*     ENTRY    P<APSM> = PTR TO INPUT SUPERVISORY MESSAGE (*INPBUF*). 
* 
*     EXIT     ACN ENTRY UPDATED PROPERLY.
* 
*     METHOD   IF THE CONNECTION IS NOT CONNECTED OR THE STATE NOT
*              *CLOSING*, THEN TREAT IT AS A NAM PROTOCOL ERROR.
* 
*              IF THE CONNECTION STATE IS *CONNECT* OR *OPEN*, UPDATE 
*              THE ACN TO INDICATE THE CONNECTION IS BROKEN.
*              THE *IPPABOS* PROCEDURE MUST BE CALLED BY THE USER 
*              TO COMPLETE CONNECTION CLEAN-UP. 
# 
  
# 
****  PROC IPISPCB - XREF LIST
# 
      XREF
        BEGIN 
        PROC IPIAIPA;    # ABORT THE IP APPLICATION                    #
        END 
# 
**
# 
  
      CONTROL EJECT;
# 
****  START MAIN PROCEDURE
# 
  
      CURACN = CONACN [0];
# 
****  CONNECTION STATE IS NOT ACTIVE THEN TREAT IT AS A NAM PROTOCOL
*     ERROR.
* 
# 
      IF (NOT ACN$CONNECT [CURACN]) AND 
         (ACN$STATE [CURACN] NQ S"CLOSING") 
      THEN
        BEGIN 
        IPIAIPA (NCONCB$);
        RETURN; 
        END 
# 
****  CONNECTION STATE IS CLOSING THEN IGNORE THE MESSAGE.
# 
      IF (ACN$STATE [CURACN] NQ S"CLOSING") 
      THEN
        BEGIN 
        ACN$ABORT [CURACN] = TRUE;
        END 
  
      RETURN;                          # RETURN TO CALLER              #
  
      END                              # IPISPCB                       #
  
      TERM
