Receives a unit data error indication.
Transport Layer Interface Library (libtli.a)
The t_rcvuderr subroutine 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.
Item | Description |
---|---|
fd | Identifies the local transport endpoint through which the error report will be received. |
uderr | Points to a t_uderr structure containing the following
members:
The maxlen field of the addr and opt fields must be set before issuing this function to indicate the maximum size of the buffer for each. On return from this call, the t_uderr structure contains:
|
If the user decides not to identify the data unit that produced an error, the uderr parameter can be set to null and the t_rcvuderr subroutine will clear the error indication without reporting any information to the user.
On successful completion, the t_rcvuderr subroutine returns a value of 0. Otherwise, it returns a value of -1 and sets the t_errno variable to indicate the error.
If unsuccessful, the t_errno variable is set to one of the following:
Value | Description |
---|---|
TBADF | The specified file descriptor does not refer to a transport end point. |
TNOUDERR | No unit data error indication currently exists on the specified transport end point. |
TBUFOVFLW | The number of bytes allocated for the incoming protocol address or options is not sufficient to store the information. (The unit data error information to be returned in the uderr parameter will be discarded.) |
TNOTSUPPORT | This subroutine is not supported by the underlying transport provider. |
TSYSERR | A system error has occurred during execution of this subroutine. |