t_rcvrel - acknowledge receipt of an orderly release indication
#include <xti.h>
int t_rcvrel(int fd);
This routine is part of the XTI interfaces which evolved from the
TLI interfaces. XTI represents the future evolution of these
interfaces. However, TLI interfaces are supported for compatibility.
When using a TLI routine that has the same name as an XTI
routine, the tiuser.h header file must be used. Refer to the TLI
COMPATIBILITY section for a description of differences between the two
interfaces.
This function is used to receive an orderly release indication for
the incoming direction of data transfer. The argument fd identifies
the local transport endpoint where the connection exists. After receipt of
this indication, the user may not attempt to receive more data by means of
t_rcv(3NSL) or t_rcvv(). Such an attempt will fail with
t_error set to TOUTSTATE. However, the user may continue to
send data over the connection if t_sndrel(3NSL) has not been called
by the user. This function is an optional service of the transport provider,
and is only supported if the transport provider returned service type
T_COTS_ORD on t_open(3NSL) or t_getinfo(3NSL). Any user
data that may be associated with the orderly release indication is discarded
when t_rcvrel() is called.
Upon successful completion, a value of 0 is returned. Otherwise, a value
of -1 is returned and t_errno is set to indicate an error.
On failure, t_errno is set to one of the following:
TBADF
The specified file descriptor does not refer to a
transport endpoint.
TLOOK
An asynchronous event has occurred on this transport
endpoint and requires immediate attention.
TNOREL
No orderly release indication currently exists on the
specified transport endpoint.
TNOTSUPPORT
This function is not supported by the underlying
transport provider.
TOUTSTATE
The communications endpoint referenced by fd is
not in one of the states in which a call to this function is valid.
TPROTO
This error indicates that a communication problem has
been detected between XTI and the transport provider for which there is no
other suitable XTI error (t_errno).
TSYSERR
A system error has occurred during execution of this
function.
The XTI and TLI interface definitions have common names but use
different header files. This, and other semantic differences between the two
interfaces are described in the subsections below.
The XTI interfaces use the header file, xti.h. TLI
interfaces should not use this header. They should use the header:
#include <tiuser.h>
The t_errno values that can be set by the XTI interface and cannot
be set by the TLI interface are:
TPROTO
TOUTSTATE
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE
TYPE |
ATTRIBUTE VALUE |
MT Level |
Safe |