Man page of t_sndudata
Section: C Library Functions (3)
Return to Main Contents
t_sndudata - Sends a data unit
XTI Library (libxti.a)
struct t_unitdata *unitdata) ;
Interfaces documented on this reference page conform to industry
standards as follows:
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
The following table summarizes the relevance
of input and output parameters before and after t_sndudata()
Notes to Table:
|Parameters||Before Call||After Call|
y This is a meaningful parameter.
(y) The content of the object pointed to by y is meaningful.
o This is a meaningful but optional parameter.
(o) The content of the object pointed to by o is meaningful.
n This is not a meaningful parameter.
Specifies a file descriptor returned by the t_open() function that
identifies the transport endpoint through which data is sent.
Points to a type t_unitdata structure used
to specify a data unit being sent through the transport endpoint
specified by the fd parameter.
The t_unitdata structure has the following members:
- struct netbuf addr
References a buffer for protocol address information of
the remote transport user. The type netbuf structure referenced
by this member is defined in the xti.h include file and has
the following members:
- unsigned int maxlen
Specifies a maximum byte length of the data buffer.
- unsigned int len
Specifies the actual byte length of the data written to the buffer.
- char *buf
Points to the buffer location.
- struct netbuf opt
Identifies options that the user wants associated with this request.
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.
- struct netbuf udata
Specifies the user data unit that is being
sent to the remote transport user.
unitdata->udata.maxlen parameters are not meaningful
If the udata.len parameter is specified as
0 (zero), and the underlying transport service does not support the
sending of 0 (zero) octets, t_errno is set to [TBADDATA] and -1
If the amount of data specified in udata exceeds the TSDU size as
returned in the tsdu field of the info argument of
t_open() or t_getinfo(), a [TBADDATA] error is generated.
If t_sndudata() is called before the destination user has activated
its transport endpoint, the data unit may be discarded. (See t_bind().)
The t_sndudata() function can be called only in the T_IDLE
transport provider state.
The t_sndudata() function is an XTI connectionless service
function that is used to send a
data unit to a remote transport user. By default,
t_sndudata() executes in the synchronous operating mode. The
t_sndudata() function waits for the transport provider
to accept the data before
returning control to the calling transport user.
When the transport endpoint specified by the fd parameter
has been previously opened with the O_NONBLOCK flag set in the
t_open() or fcntl() functions, the
executes in asynchronous mode. In asynchronous mode, when a data unit is
not accepted control is immediately returned to the caller.
The t_look() function or the EM interface can be used to determine
when flow control restrictions have been lifted.
Upon successful completion, a value of 0 (zero) is returned. Otherwise, a
value of -1 is returned and t_errno is set to indicate the error.
If the t_sndudata() function fails, t_errno may be set to
one of the following values:
Illegal amount of data. Zero octets is not supported.
File descriptor fd is not a valid transport endpoint.
Asynchronous mode is indicated because
O_NONBLOCK was set, but the transport provider cannot accept the
data because of flow-control restrictions.
An asynchronous event has occurred on this transport endpoint and
requires immediate attention.
This function is not supported by the underlying transport provider.
The t_sndudata() function was issued in the wrong sequence on
the transport endpoint referenced by the fd parameter.
A system error occurred during execution of this function. A
protocol error may not cause the t_sndudata() function to fail until a
subsequent call is made to access the transport endpoint specified by
the fd parameter.
The specified protocol address was in an incorrect format or
contained illegal information.
The specified options were in an incorrect format or contained illegal
This error indicates that a communication problem has been detected
between XTI and the transport provider for which there is no other
- VALID STATES
- RETURN VALUE
- RELATED INFORMATION
This document was created by
using the manual pages.
Time: 02:42:19 GMT, October 02, 2010