NAME [Toc] [Back]
t_rcvuderr() - receive a unit data error indication
SYNOPSIS [Toc] [Back]
#include <xti.h> /* for X/OPEN Transport Interface - XTI */
/* or */
#include <tiuser.h> /* for Transport Layer Interface - TLI */
int t_rcvuderr (fd, uderr);
struct t_uderr *uderr;
DESCRIPTION [Toc] [Back]
The t_rcvuderr() function is used in connectionless mode to receive
information concerning an error on a previously sent data unit. This
function should only be issued following a unit data error indication.
It informs the transport user that a data unit with a specific
destination address and protocol options produced an error. The
argument fd identifies the local transport endpoint through which the
error report will be received. uderr 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;
struct netbuf opt;
The type netbuf structure is defined in the <xti.h> or <tiuser.h>
header file. This structure, which is used to define buffer
parameters, has the following members:
unsigned int maxlen maximum byte length of the data buffer
unsigned int len actual byte length of data written to
char *buf points to buffer location
The maxlen field of addr and opt must be set before calling this
function to indicate the maximum size of the buffer for each.
On return from this call, the addr structure specifies the destination
protocol address of the erroneous data unit the opt structure
identified protocol-specific options that were associated with the
data unit and error specifies a protocol dependent error code.
If the user does not care to identify the data unit that produced an
error, uderr may be set to a null pointer, and t_rcvuderr() will
simply clear the error indication without reporting any information to
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
Thread-Safeness [Toc] [Back]
The t_rcvuderr() function is safe to be called by multithreaded
applications, and it is thread-safe for both POSIX Threads and DCE
User Threads. It has a cancellation point. It is neither asynccancel
safe nor async-signal safe. Finally, it is not fork-safe.
Valid States [Toc] [Back]
RETURN VALUE [Toc] [Back]
Upon successful completion, a value of 0 is returned. Otherwise, a
value of -1 is returned and t_errno is set to indicate the error.
ERRORS [Toc] [Back]
On failure, t_errno is set to one of the following:
[TBADF] The specified file descriptor does not refer to a
[TNOUDERR] No unit data error indication currently exists at
the specified transport endpoint.
[TBUFOVFLW] The number of bytes allocated for the incoming
protocol address or options information is not
sufficient to store that information. The unit
data error information to be returned in uderr
will be discarded.
[TNOTSUPPORT] This function is not supported by the underlying
[TSYSERR] A system error occurred during execution of this
[TPROTO] (XTI only) This error indicates that a
communication problem has been detected between
XTI and the transport provider for which there is
no other suitable XTI (t_errno).
SEE ALSO [Toc] [Back]
t_look(3), t_rcvudata(3), t_sndudata(3).
STANDARDS CONFORMANCE [Toc] [Back]
t_rcvuderr(): SVID2, XPG3, XPG4
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003 [ Back ]