t_rcvreldata(3)t_rcvreldata(3)NAMEt_rcvreldata - Receive an orderly release indication or confirmation
containing user data
SYNOPSIS
#include <xti.h>
int t_rcvreldata(
int fd,
struct t_discon *discon );
LIBRARY
XTI Library (libxti.a)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
t_rcvreldata(): XNS5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
The following table summarizes the relevance of input and output param‐
eters before and after t_rcvreldata() is called:
────────────────────────────────────────────────
Parameters Before Call After Call
────────────────────────────────────────────────
fd y n
discon->udata.maxlen y e
discon->udata.len n y
discon->udata.buf o (o)
discon->reason n y
discon->sequence n e
────────────────────────────────────────────────
Notes to Table: This is a meaningful parameter. The content of the
object pointed to by y is meaningful. This is a meaningful but
optional parameter. The content of the object pointed to by o is mean‐
ingful. The parameter value after the call is the same as before the
call. This is not a meaningful parameter. Identifies the local trans‐
port endpoint where the connection exists. Points to a t_discon struc‐
ture that contains the following members: Identifies any user data that
was sent with the disconnection. Specifies a protocol-dependent reason
code that explains the disconnection. Unused.
DESCRIPTION
The t_rcvreldata() function is an XTI connection mode service function
that is used to receive an orderly release indication for the incoming
direction of data transfer and to retrieve any user data sent with the
release. After receipt of this indication, you cannot attempt to
receive more data by using t_rcv() or t_rcvv(). If you do, the attempt
will fail with t_error set to [TOUTSTATE]. However, the you may con‐
tinue to send data over the connection if you have not called
t_sndrel() or t_sndreldata().
The reason field specifies the reason for the disconnection through a
protocol-dependent reason code, and udata identifies any user data that
was sent with the disconnection; the sequence field is not used.
If you do not care if there is incoming data and doe not need to know
the value of reason, discon may be a null pointer, and any user data
associated with the disconnection will be discarded.
If discon->udata.maxlen is greater than zero and less than the length
of the value, t_rcvreldata() fails with t_errno set to [TBUFOVFLW].
This function is an optional service of the transport provider, only
supported by providers of service type T_COTS_ORD. The T_ORDRELDATA
option in the info->option field returned by t_open() or t_getinfo()
indicates that the provider supports orderly release user data; when
the option is not set, this function behaves as t_rcvrel() and no user
data is returned.
This function may not be available on all systems.
ERRORS
If the t_rcvreldata() function fails, t_errno may be set to one of the
following values: File descriptor (fd) is not a valid transport end‐
point. The number of bytes allocated for incoming data (maxlen) is
greater than 0, but not sufficient to store the data, and the discon‐
nection information to be returned in discon will be discarded. The
provider state, as seen by the user, will be changed as if the data was
successfully retrieved. An asynchronous event occurred on this trans‐
port endpoint and requires immediate attention. No orderly release
indication currently exists on the specified transport endpoint.
Orderly release is not supported by the underlying transport provider.
The communications endpoint referenced by fd is not in a valid state in
which a call to this function. A communication problem has been
detected between XTI and the transport provider for which there is no
other suitable XTI error (t_errno). A system error occurred during
execution of this function.
VALID STATES
The t_rcvreldata() function can be called in either the T_DATAXFER or
T_OUTREL transport provider states.
RETURN VALUE
Upon successful completion, a value of 0 (zero) is returned. Otherwise,
a value of -1 is returned and t_errno is set to indicate the error.
SEE ALSO
Functions: t_getinfo(3), t_open(3), t_rcvrel(3), t_sndrel(3), t_sndrel‐
data(3).
Standards: standards(5)
Network Programmer's Guide
t_rcvreldata(3)