NAME
t_sndrel() — initiate an orderly release
SYNOPSIS
#include <xti.h> /* for X/OPEN Transport Interface - XTI */
/* or */
#include <tiuser.h> /* for Transport Layer Interface - TLI */
int t_sndrel (fd);
int fd;
DESCRIPTION
The
t_sndrel()
function is used in connection-oriented mode to initiate
an orderly release at a transport endpoint specified by
fd,
which is a file descriptor previously returned by the
t_open()
function.
After this orderly release is indicated, the transport user should not
try to send more data through that transport endpoint. An attempt to
send more data to a released transport endpoint may block continuously.
However, the transport user may continue to receive data over the
connection
until an orderly release indication is received. 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()
or
t_getinfo().
Note
HP OSI XTI does not support
t_sndrel().
Fork Safety
t_sndrel
is not fork-safe.
RETURN VALUE
Upon successful completion, a value of 0 is returned. Otherwise, a value
of -1 is returned and
t_errno
is set to indicate the error.
ERRORS
On failure,
t_errno
is set to one of the following:
- [TBADF]
The specified identifier does not refer to a transport endpoint.
- [TFLOW]
Asynchronous mode is indicated because
O_NONBLOCK
was set, but the transport provider cannot accept a release because of
flow-control restrictions.
- [TLOOK]
An asynchronous event has occurred on this transport endpoint
and requires immediate attention.
- [TNOTSUPPORT]
This function is not supported by the underlying transport provider.
- [TSYSERR]
A system error has occurred during execution of this function.
- [TPROTO]
(XTI only) This error indicates that a communication problem has been detected
between XTI and the transport provider for which there is no other suitable
XTI (t_errno).
STANDARDS CONFORMANCE
t_sndrel(): SVID2, XPG3, XPG4