t_sndudata(3)t_sndudata(3)NAMEt_sndudata() - send a data unit
SYNOPSISDESCRIPTION
The function is used in connectionless mode to send a data unit to
another transport user. The argument fd identifies the local transport
endpoint through which data is sent. The argument unitdata points to a
type structure used to specify a data unit being sent through the
transport endpoint specified by the fd parameter. The structure has
the following members:
The type netbuf structure is defined in the or header file. This
structure, which is used to define buffer parameters, has the following
members:
maximum byte length of the data buffer
actual byte length of data written to buffer
points to buffer location
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 sending of zero octets is not
supported by the underlying transport service, the will return −1 with
set to [TBADDATA].
By default, executes in the synchronous operating 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 is
set (via or will execute in asynchronous mode and will fail under such
conditions. The process can arrange to be notified of the clearance
restriction via either or the EM interface.
If the amount of data specified in udata exceeds the TSDU size as
returned in the tsdu field of the info argument of or a [TBADDATA]
error will be generated. If is called before the destination user has
activated its transport endpoint, the data unit may be discarded.
If it is not possible for the transport provider to immediately detect
the conditions that cause errors [TBADADDR] and [TBADOPT], then these
errors will alternatively be returned by Therefore, an application must
be prepared to receive these errors both of these ways.
Fork Safety
is not fork-safe.
RETURN VALUE
Upon successful completion, a value of 0 is returned. Otherwise, a
value of −1 is returned and is set to indicate the error.
ERRORS
On failure, is set to one of the following:
[TBADDATA] Illegal amount of data. Zero octets is not sup‐
ported.
[TBADF] The specified file descriptor does not refer to a
transport endpoint.
[TFLOW] Asynchronous mode is indicated because was set, but
the transport provider cannot accept the data
because of flow-control restrictions.
[TLOOK] (XTI only) An asynchronous event has occurred on
this transport endpoint and requires immediate
attention.
[TNOTSUPPORT] This function is not supported by the underlying
transport provider.
[TOUTSTATE] (XTI only) The function was issued in the wrong
sequence on the transport endpoint referenced by
the fd parameter.
[TSYSERR] A system error occurred during execution of this
function. A protocol error may not cause the func‐
tion to fail until a subsequent call is made to
access the transport endpoint specified by the fd
parameter.
[TBADADDR] The specified protocol address was in an incorrect
format or contained illegal information.
[TBADOPT] The specified options were in an incorrect format
or contained illegal information.
[TPROTO] This error indicates that a communication problem
has been detected between XTI and the transport
provider for which there is no other suitable XTI (
SEE ALSOfcntl(2), t_alloc(3), t_open(3), t_rcvudata(3), t_rcvuderr(3),
thread_safety(5).
STANDARDS CONFORMANCEt_sndudata(3)