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

DL_CONNECT_RES Primitive

Purpose

Directs the data link service (DLS) provider to accept a connect request from 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_correlation;
   ulong dl_resp_token;
   ulong dl_qos_length;
   ulong dl_qos_offset;
   ulong dl_growth;
} dl_connect_res_t;

Description

The DL_CONNECT_RES primitive directs the DLS provider to accept a connect request from a remote (calling) DLS user on a designated stream. The DLS user can accept the connection on the same stream where the connect indication arrived, or on a different, previously bound stream. The response contains the correlation number from the corresponding DL_CONNECT_IND primitive, selected quality of service (QOS) parameters, and an indication of the stream on which to accept the connection.

After issuing this primitive, the DLS user can immediately begin transferring data using the DL_DATA_REQ primitive. However, if the DLS provider receives one or more DL_DATA_REQ primitives from the local DLS user before it has established a connection, the provider must queue the data transfer requests internally until the connection is successfully established.

Note: This primitive applies to connection mode.

Parameters

dl_primitive Specifies the DL_CONNECT_RES primitive.
dl_correlation Specifies the correlation number that was received with the corresponding DL_CONNECT_IND primitive. The DLS provider uses the correlation number to identify the connect indication to which the DLS user is responding.
dl_resp_token Specifies one of the following values:
>0 Specifies the token associated with the responding stream on which the DLS provider is to establish the connection. This stream must be in the DL_IDLE state. The token value for a stream can be obtained by issuing a DL_TOKEN_REQ primitive on that stream.
0 Indicates the DLS user is accepting the connection on the stream where the connect indication arrived.
dl_qos_length The DLS provider does not support QOS parameters. This value is set to 0.
dl_qos_offset The DLS provider does not support QOS parameters. 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

Valid The primitive is valid in the DL_INCON_PENDING state.
New The resulting state is DL_CONN_RES_PENDING.

Acknowledgments

Successful The DL_OK_ACK primitive is sent to the DLS user. If no outstanding connect indications remain, the resulting state for the current stream is DL_IDLE. Otherwise, it remains DL_INCON_PENDING. For the responding stream (designated by the dl_resp_token parameter), the resulting state is DL_DATAXFER. If the current stream and responding stream are the same, the resulting state of that stream is DL_DATAXFER. These streams can only be the same when the response corresponds to the only outstanding connect indication.
Unsuccessful The DL_ERROR_ACK primitive is returned on the stream where the DL_CONNECT_RES primitive was received, and the resulting state of that stream and the responding stream is unchanged.

Error Codes

DL_ACCESS Indicates the DLS user does not have proper permission to use the requested data link service access point (DLSAP) address.
DL_BADCORR Indicates the correlation number specified in this primitive does not correspond to a pending connect indication.
DL_BADQOSPARAM Indicates the QOS parameters contain invalid values.
DL_BADQOSTYPE Indicates the QOS structure type is not supported by the DLS provider.
DL_BADTOKEN Indicates the token for the responding stream is not associated with a currently open stream.
DL_OUTSTATE Indicates the primitive was issued from an invalid state, or the responding stream was not in a valid state for establishing a connection.
DL_PENDING Indicates the current and responding streams are the same, and there is more than one outstanding connect indication.
DL_SYSERR Indicates a system error occurred. The system error is indicated in the DL_ERROR_ACK primitive.

Implementation Specifics

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

Related Information

The DL_CONNECT_IND primitive, DL_CONNECT_RES primitive, DL_DATA_REQ primitive, DL_ERROR_ACK primitive, DL_OK_ACK primitive.


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