cdc:nos2.source:nam5871:ippabos
Table of Contents
IPPABOS
Table Of Contents
- [00003] PROC IPPABOS (SOCKID, SOCKSTATUS)
- [00005] IPPABOS - ABORT SOCKET
- [00033] PROC NETPUT
- [00034] PROC IPIDOSM
Source Code
- IPPABOS.txt
- *DECK IPPABOS
- USETEXT TEXTIPL
- PROC IPPABOS (SOCKID, SOCKSTATUS);
- *CALL COPYRITE CDCNET - COPYRIGHT CONTROL DATA. 1992.
- # TITLE IPPABOS - ABORT SOCKET #
- BEGIN # IPPABOS #
- #
- **** IPPABOS ABORT SOCKET
- *
- * THIS PROCEDURE CLOSES AN OPEN SOCKET.
- *
- * PROC IPPABOS
- *
- * ENTRY SOCKID = INTEGER VALUE OF SOCKET
- *
- * EXIT SOCKSTATUS = COMPLETION STATUS
- *
- * METHOD IF THE SOCKET IS NOT CONNECTED THEN RETURN WITH AN
- * APPROPRIATE STATUS INDICATION BASED ON THE CURRENT
- * STATE. ISSUE THE CON/END/R SM TO INITIATE THE SOCKET
- * CLOSING. THE SOCKSET STATE IS SET TO *CLOSING*.
- * THIS PROCEDURE MUST BE CALLED TO COMPLETE SOCKET
- * CLOSURE AND IS TO BE CALLED ANYTIME AN *ABORT* STATUS
- * HAS BEEN OBTAINED FROM AN IP CALL.
- #
- #
- **** PROC IPPABOS - XREF LIST
- #
- XREF
- BEGIN
- PROC NETPUT; # OUTPUT A MESSAGE TO THE NETWORK #
- PROC IPIDOSM; # DISPATCH OUTPUT SUPERVISORY MESSATE #
- END
- #
- **
- #
- ITEM SOCKID I; # SOCKET IDENTIFIER #
- ITEM SOCKSTATUS S:SOCKSTAT; # RETURNED SOCKET STATUS #
- ITEM BUFPOS I; # CURRENT POSITION IN BUFFER #
- CONTROL EJECT;
- #
- **** START MAIN PROCEDURE
- #
- IF (NOT ACN$CONNECT [SOCKID])
- THEN
- BEGIN
- SOCKSTATUS = S"INVALIDST";
- RETURN;
- END
- P<ABH> = LOC (SABH); # BASE ABH POINTER #
- ABHABN [0] = 0; # CLEAR APPL BLOCK NUMBER #
- P<APSM> = LOC (OUTBUF); # BASE SUPERVISORY MESSAGE PTR #
- SPMSG0 [0] = 0;
- SPMSG1 [0] = 0;
- CONACN [0] = SOCKID; # STORE CONNECTION NUMBER #
- IPIDOSM (CONEND, LCONEN); # SEND CON/END/R SM #
- ACN$STATE [SOCKID] = S"CLOSING";
- ACN$ABORT [SOCKID] = FALSE;
- ACN$CONNECT [SOCKID] = FALSE;
- SOCKSTATUS = S"OK";
- RETURN; # RETURN TO CALLER #
- END # IPPABOS #
- TERM
cdc/nos2.source/nam5871/ippabos.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator