t_rcvdis(3N) t_rcvdis(3N)
NAME
trcvdis - retrieve information from disconnect
SYNOPSIS
#include <sys/tiuser.h>
int trcvdis(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 tdiscon structure containing the following members:
struct netbuf udata;
int reason;
int sequence;
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 result-
ing 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
which connect indication the disconnect is associated with.
On failure, terrno 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 by the user, will change to TIDLE, and the
disconnect indication information to be returned in
discon will be discarded.
TNOTSUPPORT This function is not supported by the underlying
transport provider.
Page 1 Reliant UNIX 5.44 Printed 11/98
t_rcvdis(3N) t_rcvdis(3N)
TSYSERR A system error has occurred during execution of this
function.
DIAGNOSTICS
trcvdis returns 0 on success and -1 on failure and terrno is set to
indicate the error.
SEE ALSO
tconnect(3N), tlisten(3N), topen(3N), tsnddis(3N).
Page 2 Reliant UNIX 5.44 Printed 11/98