t_rcvdis(3N) t_rcvdis(3N)
NAME
t_rcvdis - retrieve information from disconnect
SYNOPSIS
cc [options] file -lnsl
#include <xti.h>
int t_rcvdis(int fd, struct t_discon *discon);
Parameters
fd the file descriptor for the transport endpoint where
the connection had been established.
discon points to the t_discon structure associated with the
disconnect information.
DESCRIPTION
This function is a TLI/XTI connection release routine used to
identify the cause of a disconnect and to retrieve any user
data sent with the disconnect.
fd is used by the calling transport user to identify the local
transport endpoint where the connection existed, and on return
discon points to the information associated with the
disconnection.
Structure Definitions
The discon argument points to a t_discon structure containing
the following members:
struct netbuf udata; /* user data */
int reason; /* reason code */
int sequence; /* connect ind. */
netbuf is described in intro(3). 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 which 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.
Copyright 1994 Novell, Inc. Page 1
t_rcvdis(3N) t_rcvdis(3N)
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.
Files
/usr/lib/libxti.so
X/Open Transport Interface Library (shared
object)
/usr/lib/libnsl.so
Network Services Library (shared object)
Return Values
t_rcvdis returns 0 on success and -1 on failure and t_errno is
set to indicate the error.
Errors
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 The number of bytes (maxlen) allocated for incoming
data is greater than zero but not sufficient to
store the data. If fd is a passive endpoint with
ocnt>1, it remains in state T_INCON; otherwise, the
endpoint state is set to T_IDLE. The disconnect
indication information to be returned in discon will
be discarded.
TNOTSUPPORT
This function is not supported by the underlying
transport provider.
TSYSERR A system error has occurred during execution of this
function.
TOUTSTATE The function was issued in the wrong sequence on the
transport endpoint referenced by fd.
Copyright 1994 Novell, Inc. Page 2
t_rcvdis(3N) t_rcvdis(3N)
TPROTO A communication problem has been detected with the
transport provider and there is no other value of
t_errno to describe the error condition.
State Transitions
t_rcvdis may be issued from any valid state except T_UNINIT,
T_UNBND, or T_IDLE. Valid states on exit are T_IDLE
(successful) and T_INCON (successful but there are connect
indications outstanding).
REFERENCES
intro(3), t_connect(3N), t_listen(3N), t_open(3N),
t_snddis(3N)
Copyright 1994 Novell, Inc. Page 3