Networking Services Library Functions trcvuderr(3NSL)
NAME
trcvuderr - receive a unit data error indication
SYNOPSIS
#include
int trcvuderr(int fd, struct tuderr *uderr);
DESCRIPTION
This routine is part of the XTI interfaces which evolved
from the TLI interfaces. XTI represents the future evolution
of these interfaces. However, TLI interfaces are supported
for compatibility. When using a TLI routine that has the
same name as an XTI routine, the tiuser.h header file must
be used. Refer to the TLI COMPATIBILITY section for a
description of differences between the two interfaces.
This function is used in connectionless-mode to receive
information concerning an error on a previously sent data
unit, and 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, and uderr points to a tuderr structure containing
the following members:
struct netbuf addr;
struct netbuf opt;
tscalart error;
The maxlen field of addr and opt must be set before calling
this function to indicate the maximum size of the buffer for
each. If this field is set to zero for addr or opt, no
information is returned in the buf field of this parameter.
On return from this call, the addr structure specifies the
destination protocol address of the erroneous data unit, the
opt structure identifies 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
SunOS 5.11 Last change: 7 May 1998 1
Networking Services Library Functions trcvuderr(3NSL)
trcvuderr() will simply clear the error indication without
reporting any information to the user.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Oth-
erwise, a value of -1 is returned and terrno is set to
indicate an error.
VALID STATES
TIDLE.
ERORS
On failure, terrno is set to one of the following:
TBADF The specified file descriptor does not refer
to a transport endpoint.
TBUFOVFLW The number of bytes allocated for the incom-
ing protocol address or options (maxlen) is
greater than 0 but not sufficient to store
the information. The unit data error informa-
tion to be returned in uderr will be dis-
carded.
TNOTSUPORT This function is not supported by the under-
lying transport provider.
TNOUDER No unit data error indication currently
exists on the specified transport endpoint.
TOUTSTATE The communications endpoint referenced by fd
is not in one of the states in which a call
to this function is valid.
TPROTO This error indicates that a communication
problem has been detected between XTI and the
transport provider for which there is no
other suitable XTI error (terrno).
TSYSER A system error has occurred during execution
of this function.
TLI COMPATIBILITY
The XTI and TLI interface definitions have common names but
use different header files. This, and other semantic
SunOS 5.11 Last change: 7 May 1998 2
Networking Services Library Functions trcvuderr(3NSL)
differences between the two interfaces are described in the
subsections below.
Interface Header
The XTI interfaces use the header file, xti.h. TLI inter-
faces should not use this header. They should use the
header:
#include
Error Description Values
The terrno values TPROTO and TOUTSTATE can be set by the
XTI interface but not by the TLI interface.
A terrno value that this routine can return under different
circumstances than its XTI counterpart is TBUFOVFLW. It can
be returned even when the maxlen field of the corresponding
buffer has been set to zero.
Option Buffers
The format of the options in an opt buffer is dictated by
the transport provider. Unlike the XTI interface, the TLI
interface does not fix the buffer format.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
MT Level Safe
SEE ALSO
trcvudata(3NSL), tsndudata(3NSL), attributes(5)
SunOS 5.11 Last change: 7 May 1998 3
|