t_rcvconnect(3N)

t_rcvconnect - receive the confirmation from a connect request

As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.

NAME
     t_rcvconnect - receive the confirmation from a connect request

SYNOPSIS
     #ifdef _XOPEN_SOURCE
     #include <xti.h>
     #else
     #include <tiuser.h>
     #endif

     int t_rcvconnect (int fd, struct t_call *call);

DESCRIPTION
     This function enables a calling transport user to determine the status of
     a previously sent connect request and is used in conjunction with
     t_connect to establish a connection in asynchronous mode.  The connection
     will be established on successful completion of this function.

     fd identifies the local transport endpoint where communication will be
     established, and call contains information associated with the newly
     established connection.  call points to a t_call structure which contains
     the following members:

          struct netbuf addr;
          struct netbuf opt;
          struct netbuf udata;
          int sequence;

     netbuf is described in intro(3N).  In call, addr returns the protocol
     address associated with the responding transport endpoint, opt presents
     any protocol-specific information associated with the connection, udata
     points to optional user data that may be returned by the destination
     transport user during connection establishment, and sequence has no
     meaning for this function.

     The maxlen [see netbuf in intro(3N)] field of each argument must be set
     before issuing this function to indicate the maximum size of the buffer
     for each.  However, call may be NULL, in which case no information is
     given to the user on return from t_rcvconnect.  By default, t_rcvconnect
     executes in synchronous mode and waits for the connection to be
     established before returning.  On return, the addr, opt, and udata fields
     reflect values associated with the connection.

     If O_NDELAY or O_NONBLOCK is set (via t_open or fcntl), t_rcvconnect
     executes in asynchronous mode, and reduces to a poll for existing connect
     confirmations.  If none are available, t_rcvconnect fails and returns
     immediately without waiting for the connection to be established.  (See
     TNODATA below.)  t_rcvconnect must be re-issued at a later time to
     complete the connection establishment phase and retrieve the information
     returned in call.
     This function resides within both the X/Open compliant libxnet and the
     SVR4 compliant libnsl Network Services libraries.  Network Services
     applications which require X/Open compliance must link-load with -lxnet.
     Network Services applications which require SVR4 compliance must link-
     load with -lnsl.

     On failure, t_errno may be set to one of the following:

     TBADF               The specified file descriptor does not refer to a
                         transport endpoint.

     TBUFOVFLW           The number of bytes allocated for an incoming
                         argument is not sufficient to store the value of that
                         argument and the connect information to be returned
                         in call will be discarded.  The provider's state, as
                         seen by the user, will be changed to DATAXFER.

     TNODATA             O_NDELAY or O_NONBLOCK was set, but a connect
                         confirmation has not yet arrived.

     TLOOK               An asynchronous event has occurred on this transport
                         connection and requires immediate attention.

     TNOTSUPPORT         This function is not supported by the underlying
                         transport provider.

     TOUTSTATE           If _XOPEN_SOURCE is defined and t_rcvconnect() is
                         issued in the wrong sequence on the transport
                         endpoint referenced by fd, the TOUTSTATE error value
                         is returned within the variable t_errno.

     TSYSERR             A system error has occurred during execution of this
                         function.

SEE ALSO
     intro(3N), t_accept(3N), t_alloc(3N), t_bind(3N), t_connect(3N),
     t_listen(3N), t_open(3N), t_optmgmt(3N)

DIAGNOSTICS
     t_rcvconnect returns 0 on success and -1 on failure and t_errno is set to
     indicate the error.