t_rcvuderr(3)t_rcvuderr(3)NAMEt_rcvuderr - Receive a unit data error indication
SYNOPSIS
#include <xti.h>
int t_rcvuderr(
int fd,
struct t_uderr *uderr );
LIBRARY
XTI Library (libxti.a)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
t_rcvuderr(): XNS4.0, XNS5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
The following table summarizes the relevance of input and output param‐
eters 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: This is a meaningful parameter. This is not a meaning‐
ful parameter. The content of the object pointed to by y is meaning‐
ful.
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: References
a buffer for protocol address information associated with the erroneous
data unit sent from the transport endpoint specified by the fd parame‐
ter. The type netbuf structure referenced by this member is defined in
the xti.h include file and has the following members: Specifies the
maximum byte length of the data buffer. Specifies the actual byte
length of data written to the buffer. Points to the buffer location.
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 buf‐
fer and the protocol options buffer, respectively, of the call‐
ing 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 parame‐
ter.
DESCRIPTION
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() suc‐
cessfully executes, the error will be cleared. The t_rcvuderr() func‐
tion uses type t_uderr and netbuf structures, which are defined in the
xti.h include file.
RETURN VALUES
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.
ERRORS
If the t_rcvuderr() function fails, t_errno may be set to one of the
following values: File descriptor fd does not refer to a valid trans‐
port 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 uderr parameter. A sys‐
tem error occurred during execution of this function. This error indi‐
cates that a communication problem has been detected between XTI and
the transport provider for which there is no other suitable
XTI(t_errno).
VALID STATES
The t_rcvuderr() function can only be called in the T_IDLE transport
provider state.
SEE ALSO
Functions: t_look(3), t_rcvudata(3), t_sndudata(3)
Standards: standards(5)
Network Programmer's Guide
t_rcvuderr(3)