Used to disconnect a connection. Can be used to disconnect an active connection (in state DL_DATAXFER), to refuse an incoming connection (which was indicated by the reception of a DL_CONNECT_IND primitive), or to cancel a previous DL_CONNECT_REQ primitive before the DL_CONNECT_CON acknowledgment is received back from the other end.
When the user issues this primitive, one of two things will happen, depending on the state that the stream is in:
In state DL_DATAXFER or if cancelling a previous DL_CONNECT_REQ, a DISC command frame is sent across the network to the destination.
If refusing an incoming connection, a DM response frame is sent (in response to the SABME that was received earlier).
This message consists of one M_PROTO message block containing the following structure:
typedef struct { t_uscalar_t dl_primitive; /* DL_DISCONNECT_REQ */ t_uscalar_t dl_reason; /* norm., abnorm., perm. or trans. */ t_uscalar_t dl_correlation; /* association with connect_ind */ } dl_disconnect_req_t;
The fields associated with the dl_disconnect_req_t structure are:
Table 11-22 Members of the dl_disconnect_req_t structure
Member |
Description |
---|---|
dl_primitive |
Should be set to the name of this primitive. |
dl_reason |
Any value passed here will be ignored, as LLC2 and LAPB have no means of carrying a "disconnect reason" across the network. |
dl_correlation |
If the user is rejecting an incoming call, this needs to be set to the correlation value supplied in the received DL_CONNECT_IND primitive. Otherwise, this parameter should be set to 0. |
Error |
Description |
---|---|
DL_OUTSTATE |
Primitive issued from an invalid state. |
DL_BADCORR |
Non-zero correlation value supplied when not rejecting an incoming call, or invalid correlation value supplied when rejecting an incoming call. |