Man page of t_rcvudata
Section: C Library Functions (3)
Return to Main Contents
t_rcvudata - Receives a data unit
XTI Library (libxti.a)
struct t_unitdata *unitdata,
int *flags) ;
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 parameter data before and after
Notes to Table:
|Parameters||Before Call||After Call|
y This is a meaningful parameter.
n This is not a meaningful parameter.
(y) The content of the object pointed to by y is meaningful.
Specifies a file descriptor returned by the
identifies the transport endpoint.
Points to a type
structure used to specify
information required by the transport provider user to receive a data
unit through the transport endpoint specified by the
structure has the following members:
- struct netbuf addr
References a buffer for protocol address information
required from the transport endpoint specified by the
parameter. The type
structure referenced by this member is defined in the
include file and has the following members:
- unsigned int maxlen
Specifies the 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
Specifies a buffer for protocol-specific
parameters associated with the data unit.
- struct netbuf udata
Specifies parameters for any user data unit that may be
returned to the caller.
function is called the
parameters must be set to specify
byte length of the protocol address buffer, the protocol options buffer,
and the user data buffer, respectively.
Points to a flag integer that indicates that the complete data unit
was not received. Corresponding values and symbolic
names for flags are defined in the
file (see the
functions). The flag
specified by this function is:
When the data buffer specified by the
parameter is not large enough to
hold the current
user data unit, the buffer is filled and this bit is set to indicate that
function should be called to retrieve the rest of
the data unit.
The set state of this bit notifies the local transport user that the
received data unit is a fragment and that another data unit is
available. When this bit is set on return of this function, another
data unit must also be fetched with another
Each time this flag is set on return, another
call must immediately be made to receive
additional current data units. When the final data unit is received,
this flag bit has a value of 0 (zero) on return.
Subsequent calls to the
function return 0 (zero)
as the length
of the address specified by the unitdata->addr.len
parameters until the full data unit
has been received.
function can only be called in the
T_IDLE transport provider state.
t_rcvudata() function is an XTI connectionless service
function that is used to receive
a data unit from a remote transport provider user. By default,
executes in the synchronous operating mode. The
function waits for data to arrive at the
transport endpoint specified by
control to the transport user who called this function.
However, when the transport endpoint, specified by the
parameter, has been previously opened with the O_NONBLOCK
flag set in the
function executes in asynchronous mode. In asynchronous mode, when a data
unit is unavailable, control is immediately returned to the caller.
Upon successful completion, a value of 0 (zero) is returned. Otherwise, a
value of -1 is returned and
is set to indicate the error.
may be set to
one of the following values:
The specified file descriptor does not refer to a transport endpoint.
Asynchronous mode is indicated because O_NONBLOCK was set, but no
data is currently available from the transport provider.
The number of bytes allocated for the incoming protocol address or
protocol options is not sufficient to store the information. The unit
data information normally returned to the
An asynchronous event that requires immediate attention has occurred at
the transport endpoint specified by the
function was issued in the wrong sequence at the
transport endpoint referenced by the
A system error occurred during execution of this function.
This function is not supported by the underlying transport provider.
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 VALUES
- RELATED INFORMATION
This document was created by
using the manual pages.
Time: 02:40:44 GMT, October 02, 2010