DTL_SETOPT parameters
opt
specifies the C-API behavior to be changed. This must be one of the constants found in Dtl.h
beginning with DTL_OPT, listed as follows:Value for opt | Description |
DTL_OPT_BACKLOG | Provided only for compatibility with INTERCHANGE C-API. The RSLinx Classic communication sub-system provides a backlog storage of 40 packets but it is not configurable. Calls to DTL_SETOPT with this opt value will return DTL_SUCCESS. |
DTL_OPT_PEEK_MESSAGE | Provided only for compatibility with INTERCHANGE software. The RSLinx Classic C-API does not process messages so that no PeekMessage configuration is required. Calls to DTL_SETOPT with this opt value will return DTL_E_NOT_SUPPORTED. |
DTL_OPT_GET_SLC500_FLT | Used to specify that DTL_GET_SLC500_FLT should correct a long-standing bug and not alter its input buffer. |
DTL_OPT_ENET_UNSOL_DTSA | Used to specify the DTSA type that will be passed to your unsolicited callback function for unsolicited request packets from processors on Ethernet, either directly connected or via a Pyramid Integrator gateway. |
DTL_OPT_MULTI_SYNC_IO | Used to specify that the RSLinx ClassicC-API should permit synchronous I/O operations to be performed simultaneously in separate threads. Without this, configured attempts to have simultaneous synchronous I/O operations will result in the error DTL_E_TOOMANYIO (returned so that the default behavior of the RSLinx Classic C-API is compatible with the INTERCHANGE C-API). |
DTL_OPT_RETRY_NAK_RD DTL_OPT_RETRY_NAK_WR DTL_OPT_RETRY_NAK_RMW | Used to specify the number of retries that the RSLinx Classic C-API should attempt for DTL_READ, DTL_WRITE, and DTL_RMW packets, respectively, that receive a NAK from the communication sub-system. |
optname
The interpretation of this parameter is determined by the value of opt. For an opt value of DTL_OPT_BACKLOG or DTL_OPT_PEEK_MESSAGE this is not examined at all. For an opt value of DTL_OPT_ENET_UNSOL_DTSA this can be either DTL_OPTNAME_ENET_UNSOL_DTSA_TARGET or DTL_OPTNAME_ENET_UNSOL_DTSA_GATEWAY. DTL_OPTNAME_ENET_UNSOL_DTSA_TARGET is used to set the DTSA type for unsolicited requests coming directly from Ethernet processors. In this case valid DTSA types are DTSA_TYP_AB_DH_LONG, DTSA_TYP_AB_DH_LONG_LOCAL, and DTSA_TYP_AB_NAME. DTL_OPTNAME_ENET_UNSOL_DTSA_GATEWAY is used to set the DTSA type for unsolicited requests coming from processors through a Pyramid Integrator gateway. In this case valid DTSA types are DTSA_TYP_AB_PIGATEWAY, DTSA_TYP_AB_PIGATEWAY_IP, and DTSA_TYP_AB_PIGATEWAY_NAME. In all cases the DTSA type is specified in the
optval
parameter (see optval
description).optval
The interpretation of this parameter is determined by the value of opt. The
optval
is sometimes a pointer to a location that contains the actual value, and is not always the actual value. While this seems odd for the DTL_SETOPT uses in the RSLinx Classic C-API, it has been done to remain compatible with the INTERCHANGE DTL_SETOPT behavior. Therefore, when setting a DTSA type for DTL_OPT_ENET_UNSOL_DTSA or setting the TRUE/FALSE boolean for DTL_OPT_MULTI_SYNC_IO be sure to pass a pointer to the optval
instead of passing the value directly.Provide Feedback