*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