cdc:nos2.source:nam5871:ippstas
Table of Contents
IPPSTAS
Table Of Contents
- [00003] PROC IPPSTAS (SOCKID, STATE, READ, WRITE, SOCKSTATUS)
- [00005] IPPSTAS - STATUS SOCKET
- [00040] PROC IPINITH
Source Code
- IPPSTAS.txt
- *DECK IPPSTAS
- USETEXT TEXTIPL
- PROC IPPSTAS (SOCKID, STATE, READ, WRITE, SOCKSTATUS);
- *CALL COPYRITE CDCNET - COPYRIGHT CONTROL DATA. 1992.
- # TITLE IPPSTAS - STATUS SOCKET #
- BEGIN # IPPSTAS #
- #
- **** IPPSTAS STATUS SOCKET
- *
- * THIS PROCEDURE QUERYS THE STATUS OF A SOCKET. THE SOCKET STATE
- * AND THE ABILITY TO CURRENTLY RECEIVE OR SEND DATA ARE THE STATUS
- * VALUES RETURNED.
- *
- * PROC IPPSTAS
- *
- * ENTRY SOCKID = INTEGER VALUE OF A SOCKET.
- *
- * EXIT STATE = CURRENT STATE OF THE SOCKET AS DEFINED BY
- * *CONNECTSTATE*.
- * READ = BOOLEAN, TRUE IF DATA QUEUED.
- * WRITE = BOOLEAN, TRUE IF NOT AT APPLICATION BLOCK
- * LIMIT.
- * SOCKSTATUS = COMPLETION STATUS
- *
- * METHOD CALL THE NAM INPUT HANDLER TO CHECK THE NETWORK.
- * VERIFY THE SOCKET IS CONNECTED. IF THE SOCKET HAS
- * DISCONNECTED FROM NAM, RETURN AN ABORT STATUS.
- * SET *STATE* TO THE CURRENT SOCKET STATE, SET *READ*
- * TO THE ACN$DATAV VALUE, SET WRITE TO TRUE IF THE
- * CONNECTION IS NOT AT THE APPLICATION BLOCK LIMIT AS
- * DEFINED IN THE ACN ENTRY FOR THE SOCKET.
- #
- #
- **** PROC IPPSTAS - XREF LIST
- #
- XREF
- BEGIN
- PROC IPINITH; # NAM INPUT TRAFFIC HANDLER #
- END
- #
- **
- #
- ITEM SOCKID I; # SOCKET IDENTIFIER #
- ITEM STATE S:CONNECTSTATE; # SOCKET STATE #
- ITEM READ B; # DATA AVAILABLE #
- ITEM WRITE B; # WRITE ALLOWED #
- ITEM SOCKSTATUS S:SOCKSTAT; # RETURNED SOCKET STATUS #
- CONTROL EJECT;
- #
- **** START MAIN PROCEDURE
- #
- BLOCK = FALSE; # SET NAM HANDLER NOT TO WAIT #
- IPINITH; # CALL NAM HANDLER #
- SOCKSTATUS = S"OK";
- READ = ACN$DATAV [SOCKID];
- WRITE = (ACN$OBC [SOCKID] LS ACN$ABL [SOCKID]);
- IF (ACN$ABORT [SOCKID])
- THEN
- BEGIN # CONNECTION ABORTED #
- SOCKSTATUS = S"ABORT";
- READ = FALSE;
- WRITE = FALSE;
- END
- IF NOT ACN$CONNECT [SOCKID]
- THEN
- BEGIN
- SOCKSTATUS = SOCKSTAT"INVALIDST";
- READ = FALSE;
- WRITE = FALSE;
- END
- STATE = ACN$STATE [SOCKID];
- RETURN; # RETURN TO CALLER #
- END # IPPSTAS #
- TERM
cdc/nos2.source/nam5871/ippstas.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator