Solstice X.25 9.2 Developer's Guide

11.1.5 DL_BIND_REQ--Specifies CLNS or CONS Service

This primitive is sent in an M_PROTO message block. It specifies whether the connectionless or connection oriented service should be used and provides the LSAP if required.

This message primitive must be set to connection oriented mode when used with either LAPB or LLC2. Connectionless mode is not supported.

The LSAP is one octet long and can be any value.

Associated Structure:
typedef struct {
        t_uscalar_t     dl_primitive;   /* set to DL_BIND_REQ */
        t_uscalar_t     dl_sap;         /* info to identify dlsap addr */
        t_uscalar_t     dl_max_conind;  /* max # of outstanding con_ind */
        uint16_t        dl_service_mode;        /* CO, CL or ACL */
        uint16_t        dl_conn_mgmt;   /* if non-zero, is con-mgmt stream */
        t_uscalar_t     dl_xidtest_flg; /* auto init. of test and xid */
} dl_bind_req_t;

The members of the dl_bin_req_t structure:

Table 11-11 Members of the dl_bin_req_t structure

Member 

Description 

dl_primitive

Should be set to the name of this primitive. 

dl_sap

One byte SSAP. For LLC2, this parameter must be set to an even value other than 0. For LAPB, this parameter must be set to 0. The full DLSAP is returned in the DL_BIND_ACK response. 

dl_max_conind

The maximum number of outstanding DL_CONNECT_IND messages allowed on the stream. A value of zero prevents the stream from accepting any DL_CONNECT_IND messages. When using LAPB, set this parameter to 1. When using with LLC2, set the calling side to 0 and the called side to >0.

dl_service_mode

Set to DL_CODLS to indicate that connection-oriented service (LLC2 or LAPB) is desired.

dl_conn_mgmt

Set to non-zero to use this stream as the "connection management" stream for the PPA. When set to a non-zero value, this handles incoming DL_CONNECT_IND messages that do not match any other stream, or where the maximum number of outstanding connection messages specified in dl_max_conind has been exceeded.

dl_xidtest_flg

Valid for LLC2 only. Specifies whether or not the LLC2 driver is to automatically reply to XID/TEST commands. It is a bit-mask of the following two flags:

DL_AUTO_XID--Respond to XID commands.

DL_AUTO_TEST--Respond to TEST commands.If this field is zero, the LLC2 client will receive all incoming TEST and XID commands, and will be expected to respond to them.


Note -

Multiple LLC2 streams may be bound to the same SAP, but only one listen stream is allowed per SAP.


Errors
Table 11-12 DL_BIND_REQ errors

Error 

Description 

DL_OUTSTATE

Primitive issued from an invalid state. 

DL_UNSUPPORTED

The requested service mode is not supported (only DL_CODLS and DL_CLDLS are supported).

DL_BOUND

Attempt to bind a second listen stream, or a second "connection management" stream. 

DL_BADADDR

Attempt to bind to a zero or odd SAP. 

DL_SYSERR

Could not allocate STREAMS resources.