Previous section.

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

NAME

DL_UNITDATA_REQ (dl_unitdata_req_t) - conveys one DLSDU from the DLS user to the DLS provider for transmission to a peer DLS user. Because connectionless data transfer is an unacknowledged service, the DLS provider makes no guarantees of delivery of connectionless DLSDUs. It is the responsibility of the DLS user to do any necessary sequencing or retransmission of DLSDUs in the event of a presumed loss.

SYNOPSIS

The message consists of one M_PROTO message block containing the structure shown below, followed by one or more M_DATA blocks containing at least one byte of data. The amount of user data that may be transferred in a single DLSDU is limited. This limit is conveyed by the parameter dl_max_sdu in the DL_INFO_ACK primitive.


typedef struct {
    t_uscalar_t         dl_primitive;
    t_uscalar_t         dl_dest_addr_length;
    t_uscalar_t         dl_dest_addr_offset;
    dl_priority_t       dl_priority;
} dl_unitdata_req_t;


PARAMETERS

dl_primitive

conveys DL_UNITDATA_REQ.

dl_dest_addr_length

conveys the length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_dest_addr_offset

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

dl_priority

indicates the priority value within the supported range for this particular DLSDU.

STATE

The message is valid in state DL_IDLE.

NEW STATE

The resulting state is unchanged.

RESPONSE

If the DLS provider accepts the data for transmission, there is no response. This does not, however, guarantee that the data will be delivered to the destination DLS user, since the connectionless data transfer is not a confirmed service. If the request is erroneous, message DL_UDERROR_IND is returned, and the resulting state is unchanged.

If for some reason the request cannot be processed, the DLS provider may generate a DL_UDERROR_IND to report the problem. 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.

ERRORS

DL_BADADDR

The destination DLSAP address was in an incorrect format or contained invalid information.

DL_BADDATA

The amount of data in the current DLSDU exceeded the DLS provider's DLSDU limit.

DL_OUTSTATE

The primitive was issued from an invalid state.

DL_UNSUPPORTED

Requested priority not supplied by provider.

Contents Next section Index