t_rcvdis(3N) (Networking Support Utilities) t_rcvdis(3N)
NAME
trcvdis - retrieve information from disconnect
SYNOPSIS
#include <tiuser.h>
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;
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 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.
7/91 Page 1
t_rcvdis(3N) (Networking Support Utilities) t_rcvdis(3N)
[TNOTSUPPORT] This function is not supported by the underlying
transport provider.
[TSYSERR] A system error has occurred during execution of
this function.
Page 2 7/91
t_rcvdis(3N) (Networking Support Utilities) t_rcvdis(3N)
SEE ALSO
intro(3), tconnect(3N), tlisten(3N), topen(3N), tsnddis(3N).
Programmer's Guide: Networking Interfaces.
DIAGNOSTICS
trcvdis returns 0 on success and -1 on failure and terrno is set to
indicate the error.
7/91 Page 3