[ Previous | Next | Contents | Glossary | Home | Search ]
AIX Version 4.3 Communications Technical Reference, Volume 1



Informs the data link service (DLS) user that a previously sent DL_UNITDATA_REQ primitive produced an error or could not be delivered.


The message consists of either one M_PROTO message block or one M_PCPROTO message block, which contains the following structure:

typedef struct 
   ulong dl_primitive;
   ulong dl_dest_addr_length;
   ulong dl_dest_addr_offset;
   ulong dl_unix_errno;
   ulong dl_errno;
} dl_uderror_ind_t;

This structure is defined in /usr/include/sys/dlpi.h.


The DL_UDERROR_IND primitive informs the DLS user that a previously sent DL_UNITDATA_REQ primitive produced an error or could not be delivered. The primitive indicates the destination DLSAP address associated with the failed request, and returns an error value that specifies the reason for failure.

There is, however, no guarantee that such an error report will be generated for all undeliverable data units, because connectionless-mode data transfer is not a confirmed service.


dl_primitive Specifies the DL_UDERROR_IND primitive.
dl_dest_addr_length Specifies the length of the DLSAP address of the destination DLS user.
dl_dest_addr_offset Indicates where the destination DLSAP address begins. The value of this parameter is the offset from the beginning of the M_PROTO message block.
dl_unix_errno Specifies the operating system code associated with the failure. This value should be nonzero only when the dl_errno parameter is set to DL_SYSERR. It is used to report operating system failures that prevent the processing of a given request or response.
dl_errno Indicates the Data Link Provider Interface (DLPI) error code associated with the failure. Possible values include:
DL_BADADDR Indicates the DLSAP address information is invalid or is in an incorrect format.
DL_OUTSTATE Indicates the primitive was issued from an invalid state.
DL_UNSUPPORTED Indicates the DLS provider does not support the requested priority.
DL_UNDELIVERABLE Indicates the request was valid but for some reason the DLS provider could not deliver the data unit (for example, due to lack of sufficient local buffering to store the data unit).


Valid The primitive is valid in the DL_IDLE state.
New The resulting state is unchanged.

Implementation Specifics

This primitive is part of Base Operating System (BOS) Runtime.

Related Information

The DL_UNITDATA_REQ primitive.

[ Previous | Next | Contents | Glossary | Home | Search ]