Solstice X.25 9.2 Developer's Guide

11.1.12 DL_DISCONNECT_REQ--Disconnects a Connection

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:

  1. In state DL_DATAXFER or if cancelling a previous DL_CONNECT_REQ, a DISC command frame is sent across the network to the destination.

  2. If refusing an incoming connection, a DM response frame is sent (in response to the SABME that was received earlier).

Associated Structure

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.

Errors
Table 11-23 DL_DISCONNECT_REQ errors

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.