DL_CONNECT_IND Primitive

Purpose

Informs the local data link service (DLS) user that a remote (calling) DLS user is attempting to establish a data link connection.

Structure

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

typedef struct
{
   ulong  dl_primitive;
   ulong  dl_correlation;
   ulong  dl_called_addr_length;
   ulong  dl_called_addr_offset;
   ulong  dl_calling_addr_length;
   ulong  dl_calling_addr_offset;
   ulong  dl_qos_length;
   ulong  dl_qos_offset;
   ulong  dl_growth;
} dl_connect_req_t;

Description

The DL_CONNECT_IND primitive informs the local DLS user that a remote (calling) DLS user is attempting to establish a data link connection. The primitive contains the data link service access point (DLSAP) addresses of the calling and called DLS user.

The DL_CONNECT_IND primitive also contains a number that allows the DLS user to correlate the primitive with a subsequent DL_CONNECT_RES, DL_DISCONNECT_REQ, or DL_DISCONNECT_IND primitive.

The number of outstanding DL_CONNECT_IND primitives issued by the DLS provider must not exceed the value of the dl_max_conind parameter specified by the DL_BIND_ACK primitive. If this limit is reached and an additional connect request arrives, the DLS provider does not pass the corresponding connect indication to the DLS user until a response is received for an outstanding request.

Note: This primitive applies to connection mode.

Parameters

Item Description
dl_primitive Specifies the DL_CONNECT_IND primitive.
dl_correlation Specifies the correlation number to be used by the DLS user to associate this message with the DL_CONNECT_RES, DL_DISCONNECT_REQ, or DL_DISCONNECT_IND primitive that is to follow. This value enables the DLS user to multithread connect indications and responses. All outstanding connect indications must have a distinct, nonzero correlation value set by the DLS provider.
dl_called_addr_length Specifies the length of the address of the DLSAP for which this DL_CONNECT_IND primitive is intended. This address is the full DLSAP address specified by the calling DLS user and is typically the value returned on the DL_BIND_ACK associated with the given stream.
dl_called_addr_offset Specifies where the called DLSAP address begins. The value of this parameter is the offset from the beginning of the M_PROTO message block.
dl_calling_addr_length Specifies the length of the address of the DLSAP from which the DL_CONNECT_REQ primitive was sent.
dl_calling_addr_offset Specifies where the calling 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 QOS parameters. This length field is set to 0.
dl_qos_offset The DLS provider does not support QOS parameters. This length field 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. It is also valid in the DL_INCON_PENDING state when the maximum number of outstanding DL_CONNECT_IND primitives has not been reached on this stream.
New The resulting state is DL_INCON_PENDING, regardless of the current state.

Acknowledgments

The DLS user must send either the DL_CONNECT_RES primitive to accept the connect request or the DL_DISCONNECT_REQ primitive to reject the connect request. In either case, the responding message must convey the correlation number received from the DL_CONNECT_IND primitive. The DLS provider uses the correlation number to identify the connect request to which the DLS user is responding.