*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