The DLC_START_LS 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 starts a link station (LS) on a particular SAP as a caller or listener:
#define DLC_MAX_DIAG 16 /* the maximum string of chars */ /* in the diag name */
struct dlc_sls_arg {
__ulong32_t maxif; /* Maximum number of bytes in an */
/* I-field */
__ulong32_t rcv_wind; /* Maximum size of receive window */
__ulong32_t xmit_wind; /* Maximum size of transmit window */
u_char_t rsap; /* Remote SAP value */
u_char_t rsap_low; /* Remote SAP low range value */
u_char_t rsap_high; /* Remote SAP high range value */
u_char_t res1; /* Reserved */
__ulong32_t max_repoll; /* Maximum Repoll count */
__ulong32_t repoll_time; /* Repoll timeout value */
__ulong32_t ack_time; /* Time to delay trans of an ack */
__ulong32_t inact_time; /* Time before inactivity times out */
__ulong32_t force_time; /* Time before a forced disconnect */
};
The fields of this ioctl operation are:
Field | Description |
---|---|
trace_chan | Specifies the channel number obtained from the trcstart subroutine. This field is valid only if the DLC_TRCO indicator is set active. |
len_raddr_name | Specifies the byte length of the remote address or name. This field must be set to 0 if no remote address or name is required to start the LS. Length values of 0 through 20 are supported. |
raddr_name | Contains the unique network address of the remote node if the DLC_SLS_ADDR indicator is set active. Contains the unique network name of the remote node if the DLC_SLS_ADDR indicator is reset. Addresses are entered in hexadecimal notation, and names are entered in character notation. This field is only valid if the previous length field is nonzero. |
maxif | Specifies the maximum number of I-field bytes that can be in one packet. This value is reduced by GDLC if the device handler buffer sizes are too small to hold the maximum I-field specified here. The resultant size is returned from GDLC when the link station has been started. |
rcv_wind | The receive window specifies the maximum number of sequentially numbered receive I-frames the local station can accept before sending an acknowledgment. |
xmit_wind | Specifies the transmit window and the maximum number of sequentially numbered transmitted I-frames that can be outstanding at any time. |
rsap | Specifies the remote SAP address being called. This field is valid only if the DLC_SLS_LSVC indicator or the DLC_SLS_ADDR indicator is set active. |
rsap_low | Specifies the lowest value in the range of remote SAP address values that the local SAP responds to when listening for a remote-initiated attachment. This value cannot be the null SAP (0x00) or the discovery SAP (0xFC), and must have the low-order bit set to 0 (B`nnnnnnn0') to indicate an individual address. |
rsap_high | Specifies the highest value in the range of remote SAP address values that the local SAP responds to, when listening for a remote-initiated attachment. This value cannot be the null SAP (0x00) or the discovery SAP (0xFC), and must have the low-order bit set to 0 (B`nnnnnnn0') to indicate an individual address. |
max_repoll | Specifies the maximum number of retries for an unacknowledged command frame, or in the case of an I-frame timeout, the number of times the nonresponding remote link station is polled with a supervisory command frame. |
repoll_time | Contains the timeout value (in increments defined by the specific GDLC) used to specify the amount of time allowed prior to retransmitting an unacknowledged command frame. |
ack_time | Contains the timeout value (in increments defined by the specific GDLC) used to specify the amount of time to delay the transmission of an acknowledgment for a received I-frame. |
inact_time | Contains the timeout value (in increments of 1 second) used to specify the maximum amount of time allowed before receive inactivity returns an error. |
force_time | Contains the timeout value (in increments of 1 second) specifying the period to wait for a normal disconnection. Once the timeout occurs, the disconnection is forced and the link station is halted. |
The protocol-specific data area allows parameters to be defined by a specific GDLC device manager, such as Token-Ring dynamic window increment or SDLC primary slow poll. This optional data area must directly follow (or append to) the end of the dlc_sls_arg structure.