T_SNDUDATA(3N) INTERACTIVE UNIX System T_SNDUDATA(3N)
NAME
t_sndudata - send a data unit
SYNOPSIS
#include <tiuser.h>
int t_sndudata(fd, unitdata)
int fd;
struct t_unitdata *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 t_unitdata structure containing the
following members:
struct netbuf addr;
struct netbuf opt;
struct netbuf udata;
Netbuf is described in intro(3). In unitdata, addr speci-
fies the protocol address of the destination user, opt iden-
tifies protocol-specific options that the user wants associ-
ated 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, no data unit will be
passed to the transport provider; t_sndudata will not send
zero-length data units.
By default, t_sndudata 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 O_NDELAY is set (via t_open
or fcntl), t_sndudata will execute in asynchronous mode and
will fail under such conditions.
If t_sndudata is issued from an invalid state, or if the
amount of data specified in udata exceeds the TSDU size as
returned by t_open or t_getinfo, the provider will generate
an EPROTO protocol error. (See TSYSERR below.)
On failure, t_errno may be set to one of the following:
[TBADF] The specified file descriptor does not
refer to a transport endpoint.
[TFLOW] O_NDELAY was set, but the flow control
mechanism prevented the transport provider
Rev. Networking Support Utilities Page 1
T_SNDUDATA(3N) INTERACTIVE UNIX System T_SNDUDATA(3N)
from accepting data at this time.
[TNOTSUPPORT] This function is not supported by the
underlying transport provider.
[TSYSERR] A system error has occurred during execu-
tion of this function.
SEE ALSO
intro(3), t_rcvudata(3N), t_rcvuderr(3N).
Programmer's Guide.
DIAGNOSTICS
The t_sndudata function returns 0 on successful completion
and -1 on failure, and t_errno is set to indicate the error.
Rev. Networking Support Utilities Page 2