t_sndudata(3N) (Networking Support Utilities) t_sndudata(3N)
NAME
tsndudata - send a data unit
SYNOPSIS
#include <tiuser.h>
int tsndudata (int fd, struct tunitdata *unitdata);
DESCRIPTION
This function is used in connectionless mode to send a data unit to
another transport user. fd identifies the local transport endpoint
through which data will be sent, and unitdata points to a tunitdata
structure containing the following members:
struct netbuf addr;
struct netbuf opt;
struct netbuf udata;
netbuf is described in intro(3). In unitdata, addr specifies the
protocol address of the destination user, opt identifies protocol-
specific options that the user wants associated with this request,
and udata specifies the user data to be sent. The user may choose
not to specify what protocol options are associated with the transfer
by setting the len field of opt to zero. In this case, the provider
may use default options.
If the len field of udata is zero, and the sending of zero bytes is
not supported by the underlying transport provider, tsndudata will
return -1 with terrno set to TBADDATA.
By default, tsndudata operates in synchronous mode and may wait if
flow control restrictions prevent the data from being accepted by the
local transport provider at the time the call is made. However, if
ONDELAY or ONONBLOCK is set (via topen or fcntl), tsndudata will
execute in asynchronous mode and will fail under such conditions.
If tsndudata is issued from an invalid state, or if the amount of
data specified in udata exceeds the TSDU size as returned in the tsdu
field of the info argument of topen or tgetinfo, the provider will
generate an EPROTO protocol error. (See TSYSERR below.) If the
state is invalid, this error may not occur until a subsequent
reference is made to the transport endpoint.
On failure, terrno may be set to one of the following:
[TBADF] The specified file descriptor does not refer to a
transport endpoint.
[TFLOW] ONDELAY or ONONBLOCK was set, but the flow
control mechanism prevented the transport provider
from accepting data at this time.
7/91 Page 1
t_sndudata(3N) (Networking Support Utilities) t_sndudata(3N)
[TNOTSUPPORT] This function is not supported by the underlying
transport provider.
[TSYSERR] A system error has occurred during execution of
this function.
[TBADDATA] nbytes is zero and sending zero bytes is not
supported by the transport provider.
SEE ALSO
intro(3), trcvudata(3N), trcvuderr(3N).
Programmer's Guide: Networking Interfaces.
DIAGNOSTICS
tsndudata returns 0 on successful completion and -1 on failure
terrno is set to indicate the error.
Page 2 7/91