TRCVDIS(3N) DG/UX 4.30 TRCVDIS(3N)
NAME
t_rcvdis - retrieve information from disconnect
SYNOPSIS
#include <tiuser.h>
trcvdis(fd, discon)
int fd;
struct tdiscon *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;
^.PP 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 trcvdis is
issued by a passive transport user who has executed one or
more tlisten 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 tlisten) and
discon is NULL, the user will be unable to identify with
which connect indication the disconnect is associated.
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 allocated for
incoming data is not sufficient to store
the data. The provider's state, as seen
Licensed material--property of copyright holder(s) Page 1
TRCVDIS(3N) DG/UX 4.30 TRCVDIS(3N)
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.
[TSYSERR] A system error has occurred during
execution of this function.
SEE ALSO
intro(3), t_connect(3N), t_listen(3N), t_open(3N),
t_snddis(3N).
DIAGNOSTICS
trcvdis returns 0 on success and -1 on failure and t_errno
is set to indicate the error.
Licensed material--property of copyright holder(s) Page 2