*DECK IPISPCA
USETEXT TEXTIPL
PROC IPISPCA;
*CALL COPYRITE CDCNET - COPYRIGHT CONTROL DATA. 1992.
# TITLE IPISPCA - PROCESS CON/ACRQ/A SUPERVISORY MESSAGE #
BEGIN # IPISPCA #
#
**** IPISPCA PROCESS CON/ACRQ/A SUPERVISORY MESSAGE
*
* THIS PROCEDURE PROCESSES A CON/ACRQ/A SUPERVISORY MESSAGE.
*
* PROC IPISPCA
*
* ENTRY P<ABH> = PTR TO INPUT APPLICATION BLOCK HEADER (*IABH*).
* ABHABN = C/N TYPE WHICH IS USED AS INDEX INTO ACN
* P<APSM> = PTR TO INPUT SUPERVISORY MESSAGE (*INPBUF*).
* CURACN = FILE SERVER CONNECTION NUMBER.
*
* EXIT ISS$STATUS = APPROPRIATE STATUS OF SOCKET
*
* METHOD ISSUE A DAYFILE MESSAGE TO FLAG THE PROBLEM. SET THE
* ABORT STATUS IN THE INITIATING SOCKET STATUS WORD.
* THE APPLICATION IS ABORTED IF A CONNECTION IS NOT IN
* THE PROCESS OF BEING ESTABLISHED.
#
DEF FATALERR # 02 #;
#
**** PROC IPISPCA - XREF LIST
#
XREF
BEGIN
PROC IPIAIPA; # ABORT IP APPLICATION #
PROC MESSAGE; # ISSUE DAYFILE MESSAGE #
FUNC XCDD C(10);# CONVERT INTEGER TO DECIMAL DISPLAY #
END
ARRAY RCMSG[00:00] S(5); # MSG FOR CON/ACRQ/A REASON CODE#
BEGIN
ITEM RCMSG$TEXT C(00,00,36)=
["CONNECTION FAILED, CON/ACRQ/A, RC ="];
ITEM RCMSG$RC C(03,36,04);
ITEM RCMSG$END U(04,00,60) = [0];
END
ITEM TEMPCHAR C(10);
#
**
#
CONTROL EJECT;
#
**** START MAIN PROCEDURE
#
#
**** DAYFILE THIS EVENT.
#
TEMPCHAR = XCDD (CONRAC [0]); # CONVERT RC TO DISPLAY CODE #
RCMSG$RC = C<06,04>TEMPCHAR;
MESSAGE (RCMSG, 0); # DAYFILE IT. #
IF (CONAABN [0] NQ CONNECTABN$)
OR (ISS$STATUS [0] NQ SOCKSTAT"WAIT")
THEN
BEGIN # TREAT AS NAM PROTOCOL ERROR #
IPIAIPA (NCONACRQA$);
RETURN;
END
IF CONRAC2 LQ FATALERR
THEN
BEGIN # PROBABLY A CONFIGURATION ERROR#
ISS$STATUS [0] = SOCKSTAT"CONFIGERR";
END
ELSE
BEGIN # GATEWAY PROBABLY UNAVAILABLE #
ISS$STATUS [0] = SOCKSTAT"UNAVGATE";
END
RETURN; # RETURN TO CALLER #
END # IPISPCA #
TERM