t_rcvdis(3N)

t_rcvdis - retrieve information from disconnect

As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.

NAME
     t_rcvdis - retrieve information from disconnect

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

     t_rcvdis (int fd, struct t_discon *discon);

DESCRIPTION
     This function is used to identify the cause of a disconnect, and to
     retrieve any user data sent with the disconnect.  fd identifies the local
     transport endpoint where the connection existed, and discon points to a
     t_discon structure containing the following members:

          struct netbuf udata;
          int reason;
          int sequence;

     netbuf is described in intro(3N).  reason specifies the reason for the
     disconnect through a protocol-dependent reason code, udata identifies any
     user data that was sent with the disconnect, and sequence may identify an
     outstanding connect indication with which the disconnect is associated.
     sequence is only meaningful when t_rcvdis is issued by a passive
     transport user who has executed one or more t_listen functions and is
     processing the resulting connect indications.  If a disconnect indication
     occurs, sequence can be used to identify which of the outstanding connect
     indications is associated with the disconnect.

     If a user does not care if there is incoming data and does not need to
     know the value of reason or sequence, discon may be NULL and any user
     data associated with the disconnect will be discarded.  However, if a
     user has retrieved more than one outstanding connect indication (via
     t_listen) and discon is NULL, the user will be unable to identify which
     connect indication the disconnect is associated with.

     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.
     TNODIS              No disconnect indication currently exists on the
                         specified transport endpoint.

     TBUFOVFLW           There are two different conditions in which TBUFOVFLW
                         will be returned.  If _XOPEN_SOURCE is defined and
                         the number of bytes allocated for incoming data is
                         greater than zero and is not sufficient to store the
                         data.  If _XOPEN_SOURCE is not defined and the number
                         of bytes allocated for incoming data is not
                         sufficient to store the data.  The provider's state,
                         as seen by the user, will change to T_IDLE, and the
                         disconnect indication information to be returned in
                         discon will be discarded.

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

     TOUTSTATE           If _XOPEN_SOURCE is defined and t_rcvdis() 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_alloc(3N), t_connect(3N), t_listen(3N), t_open(3N),
     t_snddis(3N)

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