DL_CONNECT_REQ Primitive

Purpose

Requests that the data link service (DLS) provider establish a data link connection with a remote DLS user.

Structure

The primitive consists of one M_PROTO message block, which contains the following structure:

typedef struct
{
   ulong  dl_primitive;
   ulong  dl_dest_addr_length;
   ulong  dl_dest_addr_offset;
   ulong  dl_qos_length;
   ulong  dl_qos_offset;
   ulong  dl_growth;
} dl_connect_req_t;

Description

The DL_CONNECT_REQ primitive requests that the DLS provider establish a data link connection with a remote DLS user. The request contains the data link service access point (DLSAP) address of the remote DLS user.

Note: This primitive applies to connection mode.

Parameters

Item Description
dl_primitive Specifies the DL_CONNECT_REQ primitive.
dl_dest_addr_length Specifies the length of the DLSAP address that identifies the DLS user with whom a connection is to be established. If the called user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK primitive.
dl_dest_addr_offset Specifies where the destination DLSAP address begins. The value of this parameter is the offset from the beginning of the M_PROTO message block.
dl_qos_length The DLS provider does not support any QOS parameter values. This value is set to 0.
dl_qos_offset The DLS provider does not support any QOS parameter values. This value is set to 0.
dl_growth Defines a growth field for future enhancements to this primitive. Its value must be set to 0.

States

Item Description
Valid The primitive is valid in the DL_IDLE state.
New The resulting state is DL_OUTCON_PENDING.

Acknowledgments

There is no immediate response to the connect request. However, if the connect request is accepted by the called DLS user, the DL_CONNECT_CON primitive is sent to the calling DLS user, resulting in the DL_DATAXFER state.

If the connect request is rejected by the called DLS user, the called DLS user cannot be reached, or the DLS provider or called DLS user do not agree on the specified quality of service, a DL_DISCONNECT_IND primitive is sent to the calling DLS user, resulting in the DL_IDLE state.

If the request is erroneous, the DL_ERROR_ACK primitive is returned and the resulting state is unchanged.

Error Codes

Item Description
DL_ACCESS Indicates the DLS user does not have proper permission to use the requested DLSAP address.
DL_BADADDR Indicates the DLSAP address information is invalid or is in an incorrect format.
DL_BADQOSPARAM Indicates the QOS parameters contain invalid values.
DL_BADQOSTYPE Indicates the QOS structure type is not supported by the DLS provider.
DL_OUTSTATE Indicates the primitive was issued from an invalid state.
DL_SYSERR Indicates a system error occurred. The system error is indicated in the DL_ERROR_ACK primitive.
DL_UNSUPPORTED Indicates the DLS user has indicated QOS parameters, which are unsupported.