t_rcvdis(3)t_rcvdis(3)NAMEt_rcvdis() - retrieve information from disconnect
The 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. discon points
to a structure containing the following members:
The type structure is defined in the or header file. This structure,
which is used to define buffer parameters, has the following members:
maximum byte length of the data buffer
actual byte length of data written to buffer
points to buffer location
reason specifies the reason for the disconnect through a protocol-
dependent reason code. For HP XTI over the OSI transport provider,
these codes are described in the OTS/9000 manual section under "Trans‐
port Errors". For TLI, see the documentation for the transport
provider being used. udata identifies any user data that was sent with
the disconnect. sequence may identify an outstanding connect indica‐
tion with which the disconnect is associated. sequence is only mean‐
ingful when is issued by a passive transport user who has executed one
or more 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
If a user does not care that there is incoming data and does not need
to know the value of reason or sequence, discon may be a null pointer
and any user data associated with the disconnect will be discarded.
However, if a user has retrieved more than one outstanding connect
indication (via and discon is a null pointer, the user will be unable
to identify with which connect indication the disconnect is associated.
(ocnt > 0)
is not fork-safe.
Upon successful completion, a value of 0 is returned. Otherwise, a
value of −1 is returned and is set to indicate the error.
On failure, is set to one of the following:
[TBADF] The specified identifier does not refer to a transport
[TNODIS] No disconnect indication currently exists on the spec‐
ified transport endpoint.
[TBUFOVFLW] The number of bytes allocated for incoming data is not
sufficient to store the data. If fd is a passive end‐
point with ocnt (number of outstanding connections) >
1, it remains in state (see Otherwise, the endpoint
state is set to
[TNOTSUPPORT] This function is not supported by the underlying
[TOUTSTATE] (XTI only) This function was issued in the wrong
sequence on the transport endpoint referenced by fd.
[TSYSERR] A system error has occurred during execution of this
[TPROTO] (XTI only) This error indicates that a communication
problem has been detected between XTI and the trans‐
port provider for which there is no existing XTI (
SEE ALSOt_alloc(3), t_connect(3), t_listen(3), t_open(3), t_snddis(3),