The application requests a stream to be bound for the application to the frame layer, thus producing a data link service access point (DLSAP) to the stream.
This primitive consists of a message block with the following structure:
typedef struct { ulong dl_primitive; ulong dl_sap; ulong dl_max_conind; ushort dl_service_mode; ushort dl_conn_mgmt; ulong dl_xidtest_flg; } dl_bind_req_t;
The DL_BIND_REQ primitive requests the DLS provider to bind a DLSAP to a stream. The DLS user must identify the address of the DLSAP to be bound as well as indicate whether it will accept incoming connect requests on the stream. The request directs the DLS provider to activate the stream associated with the DLSAP.
A stream is active when the DLS provider can transmit and receive protocol data units destined to or originating from the stream. The physical point of attachment (PPA) associated with each stream must be initialized when the DL_BIND_REQ primitive has been processed. The PPA is initialized when the DL_BIND_ACK primitive is received. If the PPA cannot be initialized, the DL_BIND_REQ primitive fails.
A stream can be bound as a connection management stream, which receives all connect requests that arrive through a given PPA. In this case, the dl_sap parameter is ignored.
Valid | The message is valid in the DL_UNBOUND state. |
New | The resulting state is DL_BIND_PENDING. |
Successful | The DL_BIND_ACK primitive is sent to the DLS user. The resulting state is the DL_IDLE state. |
Unsuccessful | The DL_ERROR_ACK primitive is returned. The resulting state is unchanged. |
DL_BADPPA | Line number passed is too large |
DL_INITFAILED | Line not associated with a physical line |
DL_BUSY | Line already bound |
DL_BADSAP | Byte 1 of dl_sap not valid master or client SAP value |
DL_BADADDR | Bytes 3 and 4 not zero |
The DL_BIND_REQ primitive is part of X.25 Licensed Program.