Conveys one XID data link service data unit (DLSDU) from the data link service (DLS) user to the DLS provider for transmission to a peer DLS user.
The message consists of one M_PROTO message block, which contains the following structure, followed by zero or more M_DATA blocks containing zero or more bytes of data:
typedef struct
{
ulong dl_primitive;
ulong dl_flag;
ulong dl_dest_addr_length;
ulong dl_dest_addr_offset;
} dl_xid_req_t;
This structure is defined in /usr/include/sys/dlpi.h.
Conveys one XID DLSDU from the DLS user to the DLS provider for transmission to a peer DLS user.
A DL_ERROR_ACK primitive is always returned.
Item | Description |
---|---|
dl_primitive | Specifies the DL_XID_REQ primitive. |
dl_flag | Indicates flag values for the request as follows:
|
dl_dest_addr_length | Specifies the length of the data link service access point (DLSAP) address of the destination DLS user. If the destination user is implemented using the Data Link Provider Interface (DLPI), this address is the full DLSAP address returned on the DL_BIND_ACK primitive. |
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. |
Item | Description |
---|---|
Valid | The primitive is valid in the DL_IDLE or DL_DATAXFER state. |
New | The resulting state is unchanged. |
Item | Description |
---|---|
Unsuccessful | The DL_ERROR_ACK primitive is returned for an invalid XID request. |
Item | Description |
---|---|
DL_OUTSTATE | The primitive was issued from an invalid state. |
DL_BADADDR | The DLSAP address information was invalid or was in an incorrect format. |
DL_BADDATA | The amount of data in the current DLSDU exceeded the DLS provider's DLSDU limit. |
DL_SYSERR | A system error has occurred. The system error is indicated in the DL_ERROR_ACK primitive. |
DL_XIDAUTO | Indicates the previous bind request specified that the provider would handle XID. |