t_sndudata(3N) NETWORK FUNCTIONS 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 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, 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 asynchro-
nous 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
Last change: Networking Support Utilities 1
t_sndudata(3N) NETWORK FUNCTIONS t_sndudata(3N)
flow control mechanism prevented the tran-
sport provider 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.
[TBADDATA] nbytes is zero and sending zero bytes is
not supported by the transport provider.
SEE ALSO
intro(3), trcvudata(3N), trcvuderr(3N).
UNIX System V Network Programmer's Guide.
DIAGNOSTICS
tsndudata returns 0 on successful completion and -1 on
failure terrno is set to indicate the error.
Last change: Networking Support Utilities 2