Directs the data link service (DLS) provider to accept a connect request from a remote DLS user.
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;
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.
Valid | The primitive is valid in the DL_INCON_PENDING state. |
New | The resulting state is DL_CONN_RES_PENDING. |
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. |
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. |
This primitive is part of Base Operating System (BOS) Runtime.
The DL_CONNECT_IND primitive, DL_CONNECT_RES primitive, DL_DATA_REQ primitive, DL_ERROR_ACK primitive, DL_OK_ACK primitive.