Networking Services Library Functions tsndreldata(3NSL)
NAME
tsndreldata - initiate or respond to an orderly release
with user data
SYNOPSIS
#include
int tsndreldata(int fd, struct tdiscon *discon);
DESCRIPTION
This function is used to initiate an orderly release of the
outgoing direction of data transfer and to send user data
with the release. The argument fd identifies the local
transport endpoint where the connection exists, and discon
points to a tdiscon structure containing the following
members:
struct netbuf udata;
int reason;
int sequence;
After calling tsndreldata(), the user may not send any
more data over the connection. However, a user may continue
to receive data if an orderly release indication has not
been received.
The field reason specifies the reason for the disconnection
through a protocol-dependent reason code, and udata iden-
tifies any user data that is sent with the disconnection;
the field sequence is not used.
The udata structure specifies the user data to be sent to
the remote user. The amount of user data must not exceed
the limits supported by the transport provider, as returned
in the discon field of the info argument of topen(3NSL)
or tgetinfo(3NSL). If the len field of udata is zero or
if the provider did not return TORDRELDATA in the
topen(3NSL) flags, no data will be sent to the remote user.
If a user does not wish to send data and reason code to the
remote user, the value of discon may be a null pointer.
SunOS 5.11 Last change: 7 May 1998 1
Networking Services Library Functions tsndreldata(3NSL)
This function is an optional service of the transport pro-
vider, only supported by providers of service type
TCOTSORD. The flag TORDRELDATA in the info->flag field
returned by topen(3NSL) or tgetinfo(3NSL) indicates that
the provider supports orderly release user data.
This function may not be available on all systems.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Oth-
erwise, a value of -1 is returned and terrno is set to
indicate an error.
VALID STATES
TDATAXFER, TINREL.
ERORS
On failure, terrno is set to one of the following:
TBADATA The amount of user data specified was not
within the bounds allowed by the transport
provider, or user data was supplied and the
provider did not return TORDRELDATA in the
topen(3NSL) flags.
TBADF The specified file descriptor does not refer
to a transport endpoint.
TFLOW ONONBLOCK was set, but the flow control
mechanism prevented the transport provider
from accepting the function at this time.
TLOK An asynchronous event has occurred on this
transport endpoint and requires immediate
attention.
TNOTSUPORT Orderly release 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
SunOS 5.11 Last change: 7 May 1998 2
Networking Services Library Functions tsndreldata(3NSL)
transport provider for which there is no
other suitable XTI error (terrno).
TSYSER A system error has occurred during execution
of this function.
TLI COMPATIBILITY
In the TLI interface definition, no counterpart of this rou-
tine was defined.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
MT Level Safe
SEE ALSO
tgetinfo(3NSL), topen(3NSL), trcvrel(3NSL),
trcvreldata(3NSL), tsndrel(3NSL), attributes(5)
NOTES
The interfaces tsndreldata() and trcvreldata(3NSL) are
only for use with a specific transport called "minimal OSI,"
which is not available on the Solaris platform. These inter-
faces are not available for use in conjunction with Internet
Transports (TCP or UDP).
SunOS 5.11 Last change: 7 May 1998 3
|