listing for T
t_rcvuderr - Receive a unit data error indication
struct t_uderr *uderr );
XTI Library (libxti.a)
Interfaces documented on this reference page conform to industry standards
t_rcvuderr(): XNS4.0, XNS5.0
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_rcvuderr() is called:
Parameters Before Call After Call
fd y n
uderr->addr.maxlen y n
uderr->addr.len n y
uderr->addr.buf y (y)
uderr->opt.maxlen y n
uderr->opt.len n y
uderr->opt.buf y (y)
uderr->error n y
Notes to Table:
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.
fd Specifies a file descriptor returned by the t_open() function that
identifies the local transport endpoint on which the error occurred.
Points to a type t_uderr structure used to specify the protocol
address, protocol options, and the nature of the error associated with
the data unit sent through the transport endpoint specified by the fd
parameter. The t_uderr structure has the following members:
struct netbuf addr
References a buffer for protocol address information associated
with the erroneous data unit sent from the transport endpoint
specified by the fd parameter. The type netbuf structure referenced
by this member is defined in the xti.h include file and has the
unsigned int maxlen
Specifies the maximum byte length of the data buffer.
unsigned int len
Specifies the actual byte length of data written to the buffer.
Points to the buffer location.
struct netbuf opt
Specifies a buffer for protocol-specific parameters associated with
the previously sent erroneous data unit.
Specifies a protocol-specific error code associated with the
previously sent erroneous data unit.
Before the t_rcvuderr() function is called the uderr->addr.maxlen
and uderr->opt.maxlen parameters must be set to specify the maximum
byte length of the protocol address buffer and the protocol options
buffer, respectively, of the calling transport user.
When a transport user does not wish to identify the source of the
previously sent data unit error, the uderr parameter may be
specified as a null pointer. When this parameter is expressed as a
null pointer, the data unit error indication is cleared, but no
information is returned to buffers pointed to by this parameter.
The t_rcvuderr() function is an XTI connectionless service function that is
used to retrieve information about an error indication returned when a data
unit was previously sent with a t_sndudata() call.
The t_rcvuderr() function should be called only after a [T_LOOK] error is
returned in response to a t_sndudata() call. When t_rcvuderr() successfully
executes, the error will be cleared. The t_rcvuderr() function uses type
t_uderr and netbuf structures, which are defined in the xti.h include file.
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_rcvuderr() function fails, t_errno may be set to one of the
File descriptor fd does not refer to a valid transport endpoint.
No unit data error indication currently exists at the transport
endpoint specified by the fd parameter.
The number of bytes allocated for the incoming protocol address or
options information is not sufficient to store that information. Unit
data error information was not returned to buffers pointed to by the
A system error occurred during execution of this function.
This error indicates that a communication problem has been detected
between XTI and the transport provider for which there is no other
The t_rcvuderr() function can only be called in the T_IDLE transport
Functions: t_look(3), t_rcvudata(3), t_sndudata(3)
Network Programmer's Guide
listing for T