Previous section.

Data Link Provider Interface (DLPI), Version 2
Copyright © 2000 The Open Group


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


The message consists of either one M_PROTO message block or one M_PCPROTO message block containing the structure shown below.

typedef struct {
    t_uscalar_t  dl_primitive;
    t_uscalar_t  dl_dest_addr_length;
    t_uscalar_t  dl_dest_addr_offset;
    t_uscalar_t  dl_unix_errno;
    t_uscalar_t  dl_errno;
} dl_uderror_ind_t;





conveys the length of the DLSAP address of the destination DLS user.


conveys the offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.


conveys the UNIX system error code associated with the failure. This value should be non-zero only when dl_errno is set to DL_SYSERR. It is used to report UNIX system failures that prevent the processing of a given request.


conveys the DLPI error code associated with the failure. See ERRORS in the description of DL_UNITDATA_REQ for the error codes that apply to an erroneous DL_UNITDATA_REQ. In addition, the error value DL_UNDELIVERABLE may be returned if 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). There is, however, no guarantee that such an error report will be generated for all undeliverable data units, since connectionless data transfer is not a confirmed service.


The message is valid in state DL_IDLE.


The resulting state is unchanged.

Contents Next section Index