Important: The information in this document is obsolete and should not be used for new development.
OTRcvUDErr
Clears an error condition indicated by aT_UDERRevent and returns the reason for the error.C INTERFACE
OSStatus OTRcvUDErr(EndpointRef ref, TUDErr* uderr);C++ INTERFACE
OSStatus TEndpoint::RcvUDErr(TUDErr* uderr);PARAMETERS
ref- The endpoint reference of the endpoint that has attempted to send the data.
uderr- A pointer to a
TUDErrstructure that specifies, on return, the address of the endpoint to which data was sent, the options specified for the send, and the reason for the error.
- The
uderr->addr.buffieldis a pointer to a buffer that contains the destination address of the data sent. You must allocate this buffer and set theuderr->addr.maxlenfield to the maximum size for the buffer.
- The
uderr->opt.buffieldis a pointer to a buffer that contains the value of options you specified for the send. You must allocate a buffer for this data and set theuderr->opt.maxlenfield to the maximum size of the buffer.
- The
uderr->errorfield is a 32-bit value that specifies a protocol-dependent error code for theOTSndUDatafunction that failed.
- function result
- An error code. See Discussion.
DISCUSSION
You use theOTRcvUDErrfunction if you have called theOTSndUDatafunction and the endpoint provider has issued theT_UDERRevent to indicate that the send operation did not succeed. This usually happens when you have specified a bad address or option value. For example, assume that you are using AppleTalk and you specify an NBP address. If Open Transport cannot resolve the address, it sends aT_UDERRevent to your notifier function. To clear the error condition and determine the cause of the failure, you must call theOTRcvUDErrfunction.If the size of the option or error data returned exceeds the size of the allocated buffers, the
OTRcvUDErrfunction returns with the resultkOTBufferOverflowErr,but the error indication is cleared anyway.If you do not need to identify the cause of the failure, you can set the
uderrpointer toNULL. In this case, theOTRcvUDErrfunction clears the error indication without reporting any information to you. It is important, nevertheless, that you actually call theOTRcvUDErrfunction to clear the error condition. If you don't call this function, the endpoint remains in an invalid state for doing other send operations, and all subsequent functions for this endpoint return the resultkOTLookErr.SEE ALSO
Table 4-4.