 |
Index for Section 3 |
|
 |
Alphabetical listing for T |
|
 |
Bottom of page |
|
t_rcvuderr(3)
NAME
t_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 standards
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 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.
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
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
following members:
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.
char *buf
Points to the buffer location.
struct netbuf opt
Specifies a buffer for protocol-specific parameters associated with
the previously sent erroneous data unit.
long error
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.
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() 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.
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:
[TBADF]
File descriptor fd does not refer to a valid transport endpoint.
[TNOUDERR]
No unit data error indication currently exists at the transport
endpoint specified by the fd parameter.
[TBUFOVFLW]
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.
[TSYSERR]
A system error occurred during execution of this function.
[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(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
 |
Index for Section 3 |
|
 |
Alphabetical listing for T |
|
 |
Top of page |
|