DLC_ALTER ioctl Operation for DLC

The DLC_ALTER ioctl operation is selectable through the fp_ioctl kernel service or the ioctl subroutine. It can be called from the process environment only.

The following parameter block alters a link station's (LS) configuration parameters:

#define DLC_MAX_ROUT   20   /* Maximum Size of Routing Info */

struct dlc_alter_arg
   {
   __ulong32_t  gdlc_sap_corr;   /* GDLC SAP correlator */
   __ulong32_t  gdlc_ls_corr;   /* GDLC link station correlator */
   __ulong32_t  flags;   /* Alter Flags */
   __ulong32_t  repoll_time;   /* New Repoll Timeout */
   __ulong32_t  ack_time;   /* New Acknowledge Timeout */
   __ulong32_t  inact_time;   /* New Inactivity Timeout */
   __ulong32_t  force_time;   /* New Force Timeout */
   __ulong32_t  maxif;   /* New Maximum I-Frame Size */
   __ulong32_t  xmit_wind;   /* New Transmit Value */
   __ulong32_t  max_repoll;   /* New Max Repoll Value */
   __ulong32_t  routing_len;   /* Routing Length */
   u_char_t  routing[DLC_MAX_ROUT];  /* New Routing Data */
   __ulong32_t  result_flags;   /* Returned flags */
   };

The fields of this ioctl operation are:

Field Description
gdlc_sap_corr Indicates the generic data link control (GDLC) service access point (SAP) correlator of the target LS.
gdlc_ls_corr Indicates the GDLC LS correlator to be altered.
flags Specifies alter flags. The following flags are supported:
DLC_ALT_RTO
Alter repoll timeout:

0 = Do not alter repoll timeout.

1 = Alter configuration with value specified.

Alters the length of time the LS waits for a response before repolling the remote station. When specified, the repoll timeout value specified in the LS configuration is overridden by the value supplied in the repoll timeout field of the Alter command. This new value remains in effect until another value is specified or the LS is halted.

DLC_ALT_AKT
Alter acknowledgment timeout:

0 = Do not alter the acknowledgment timeout.

1 = Alter configuration with value specified.

Alters the length of time the LS delays the transmission of an acknowledgment for a received I-frame. When specified, the acknowledgment timeout value specified in the LS configuration is overridden by the value supplied in the acknowledgment timeout field of the Alter command. This new value remains in effect until another value is specified or the LS is halted.

DLC_ALT_ITO
Alter inactivity timeout:

0 = Do not alter inactivity timeout.

1 = Alter configuration with value specified.

Alters the maximum length of time allowed without receive link activity from the remote station. When specified, the inactivity timeout value specified in the LS configuration is overridden by the value supplied in the inactivity timeout field of the Alter command. This new value remains in effect until another value is specified or the LS is halted.

DLC_ALT_FHT
Alter force halt timeout:

0 = Do not alter force halt timeout.

1 = Alter configuration with value specified.

Alters the period to wait for a normal disconnection before forcing the halt LS to occur. When specified, the force halt timeout value specified in the LS configuration is overridden by the value supplied in the force halt timeout field of the Alter command. This new value remains in effect until another value is specified or the LS is halted.

DLC_ALT_MIF
Maximum I-field length:

0 = Do not alter maximum I-field length.

1 = Alter configuration with value specified.

Sets the value for the maximum length of transmit or receive data in one I-field. If received data exceeds this length, a buffer overflow indication set by GDLC in the receive extension. When specified, the maximum I-field length value specified in the LS configuration is overridden by the value supplied in the maximum I-field length specified in the Alter command. This new value remains in effect until another value is specified or the LS is halted.

DLC_ALT_XWIN
Alter transmit window:

0 = Do not alter transmit window.

1 = Alter configuration with value specified.

Alters the maximum number of information frames that can be sent in one transmit burst. When specified, the transmit window count value specified in the LS configuration is overridden by the value supplied in the transmit window field of the Alter command. This new value remains in effect until another value is specified or the LS is halted.

DLC_ALT_MXR
Alter maximum repoll:

0 = Do not alter maximum repoll.

1 = Alter configuration with value specified.

Alters the maximum number of retries for an acknowledged command frame, or in the case of an I-frame timeout, the number of times the nonresponding remote LS will be polled with a supervisory command frame. When specified, the maximum repoll count value specified in the LS configuration is overridden by the value supplied in the maximum repoll count field of the Alter command. This new value remains in effect until another value is specified or the LS is halted.

DLC_ALT_RTE
Alter routing:

0 = Do not alter routing.

1 = Alter configuration with value specified.

Alters the route that subsequent transmit packets take when transferring data across a local area network bridge. When specified, the routing length and routing data values specified in the LS configuration are overridden by the values supplied in the routing fields of the Alter command. These new values remain in effect until another route is specified or the LS is halted.

DLC_ALT_SM1
Set primary SDLC Control mode:

0 = Do not alter SDLC Control mode.

1 = Set SDLC Control mode to primary.

Sets the local station to a primary station in NDM, waiting for a command from PU services to write an XID or TEST, or a command to contact the secondary for NRM data phase. This control can only be issued if not already in NRM, and no XID, TEST, or SNRM is in progress. This flag cannot be set if the DLC_ALT_SM2 flag is set.

DLC_ALT_SM2
Set secondary SDLC Control mode:

0 = Do not alter SDLC Control mode.

1 = Set SDLC Control mode to secondary.

Sets the local station to a secondary station in NDM, waiting for XID, TEST, or SNRM from the primary station. This control can only be issued if not already in NRM, and no XID, TEST, or SNRM is in progress. This flag cannot be set if the DLC_ALT_SM1 flag is set.

DLC_ALT_IT1
Set notification for Inactivity Time-Out mode:

0 = Do not alter Inactivity Time-Out mode.

1 = Set Inactivity Time-Out mode to notification only.

Inactivity does not cause the LS to be halted, but notifies the user of inactivity without termination.

DLC_ALT_IT2
Set automatic halt for Inactivity Time-Out mode:

0 = Do not alter Inactivity Time-Out mode.

1 = Set Inactivity Time-Out mode to automatic halt.

repoll_time Provides a new value to replace the LS repoll time-out value whenever the DLC_ALT_RTO flag is set.
ack_time Provides a new value to replace the LS acknowledgment time-out value whenever the DLC_ALT_AKT flag is set.
inact_time Provides a new value to replace the LS inactivity time-out value whenever the alter DLC_ALT_ITO flag is set.
force_time Provides a new value to replace the LS force halt time-out value whenever the DLC_ALT_FHT flag is set.
maxif Provides a new value to replace the LS-started result value for the maximum I-field size whenever the DLC_ALT_MIF flag is set. GDLC does not allow this value to exceed the capacity of the receive buffer and only increases the internal value to the allowed maximum.
xmit_wind Provides a new value to replace the LS transmit window count value whenever the DLC_ALT_XWIN flag is set.
max_repoll Provides the new value that is to replace the LS maximum repoll count value whenever the DLC_ALT_MXR flag is set.
routing_len Provides a new value to replace the LS routing field length whenever the DLC_ALT_RTE flag is set.
routing Provides a new value to replace the LS routing data whenever the DLC_ALT_RTE flag is set.
result_flags Returns the following result indicators at the completion of the alter operation, depending on the command:
DLC_MSS_RES
Indicates mode set secondary. Set to 1, this bit indicates that the station mode has been set to secondary as a result of the user issuing an Alter (set mode secondary) command.
DLC_MSSF_RES
Indicates mode set secondary was unsuccessful. Set to 1, this bit indicates that the station mode has been not set to secondary as a result of the user issuing an Alter (set mode secondary) command. This occurs whenever an SDLC LS is already in data phase or an SDLC primary command sequence has not yet completed.
DLC_MSP_RES
Indicates mode set primary. Set to 1, this bit indicates that the station mode has been set to primary as a result of the user issuing an Alter (set mode primary) command.
DLC_MSPF_RES
Indicates mode set primary was unsuccessful. Set to 1, this bit indicates that the station mode has not been set to primary as a result of the user issuing an Alter (set mode primary) command. This occurs whenever an SDLC LS is already in data phase.

The protocol-dependent area allows additional fields to be provided by a specific protocol type. Corresponding flags may be necessary to support additional fields. This optional data area must directly follow (or append to) the end of the dlc_alter_arg structure.