[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Communications Technical Reference, Volume 1

DL_XID_REQ Primitive

Purpose

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.

Structure

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.

Description

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.

Note: This primitive applies to XID and test operations.

Parameters

dl_primitive Specifies the DL_XID_REQ primitive.
dl_flag Indicates flag values for the request as follows:
DL_POLL_FINAL Indicates whether the poll/final bit is set.
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.

States

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

Acknowledgments

Unsuccessful The DL_ERROR_ACK primitive is returned for an invalid XID request.
Note: It is recommended that the DLS user use a timeout procedure to recover from a situation when there is no response from the peer DLS User.

Error Codes

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.

Implementation Specifics

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

Related Information

The DL_BIND_ACK primitive, DL_ERROR_ACK primitive.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]