DL_UNBIND_REQ Primitive

Purpose

Requests the data link service (DLS) provider to unbind a data link service access point (DLSAP).

Structure

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

typedef struct
{
   ulong  dl_primitive;
} dl_unbind_req_t;

This structure is defined in /usr/include/sys/dlpi.h.

Description

The DL_UNBIND_REQ primitive requests that the DLS provider unbind the DLSAP that had been bound by a previous DL_BIND_REQ primitive. If one or more DLSAPs were bound to the stream with a DL_SUBS_BIND_REQ primitive and have not been unbound with a DL_SUBS_UNBIND_REQ primitive, the DL_UNBIND_REQ primitive unbinds all the subsequent DLSAPs for that stream along with the DLSAP bound with the previous DL_BIND_REQ primitive.

At the successful completion of the request, the DLS user can issue a new DL_BIND_REQ primitive for a potentially new DLSAP.

Parameters

Item Description
dl_primitive Specifies the DL_UNBIND_REQ primitive.

States

Item Description
Valid The primitive is valid in the DL_IDLE state.
New The resulting state is DL_UNBIND_PENDING.

Acknowledgments

Item Description
Successful The DL_OK_ACK primitive is sent to the DLS user, and the resulting state is DL_UNBOUND.
Unsuccessful The DL_ERROR_ACK primitive is returned, and the resulting state is unchanged.

Error Codes

Item Description
DL_OUTSTATE Indicates the primitive was issued from an invalid state.
DL_SYSERR Indicates a system error occurred. The system error is indicated in the DL_ERROR_ACK primitive.