Appendix C. COM/IP S-Registers

<< Click to Display Table of Contents >>

Navigation:  COM/IP COM Port Redirector User Guide >

 

Appendix C. COM/IP S-Registers

Previous pageReturn to chapter overview

 

For the purpose of setting Telnet-specific options, COM/IP will support an extended set of S-registers.

 

 

S1000 - Terminal Type

 

By setting this register to a value other than 0, any Terminal-Type query by the remote Telnet server will be answered with the current value of this register.

 

By setting this register to a string value (e.g., ATS1000="vt100"), the string value will be reported.

 

By setting this register to a numeric value (e.g., ATS1000=5), the numeric value will be reported.

 

 

S1001 - Interpret IAC Characters

 

The Telnet protocol is based on an escape character (ASCII 255) known as the IAC character.  This register will control whether or not COM/IP will interpret the IAC characters.

 

Setting this register to 0 will cause COM/IP to treat the IAC character as any other.

 

Setting this register to 1 will cause COM/IP to always interpret the IAC character.

 

Setting this register to 2 will cause COM/IP to interpret the IAC character based upon the requested port number.  This is the default setting.

 

If a connection to TCP port 23 is made (the default using the D command, and the standard Telnet server port), then IAC characters will be interpreted.

 

If a connection to any other port number is made, then IAC characters will be treated like any other characters.

 

 

S1002 - Request Binary Connection

 

The Telnet connection can be used either in terminal or binary modes.  This register will control whether or not a binary connection will be requested by COM/IP.

 

Setting this register to 0 will cause COM/IP to never request a binary connection.   This is the default setting.

 

Setting this register to 1 will cause COM/IP to always request a binary connection.

 

Setting this register to 2 will cause COM/IP to request a binary connection, but only if the COM port is opened using a byte length of 8-bits.

 

 

S1003 - Telnet Echo

 

The Telnet server can be operated in either echo or non-echo modes.  This register will control whether or not an echo mode connection will be requested by COM/IP.

 

Setting this register to 0 will cause COM/IP to never request an echo mode connection.

 

Setting this register to 1 will cause COM/IP to request that the remote host perform echo.   This is the default setting.

 

Setting this register to 2 will cause COM/IP to request permission to echo data back to the remote host, and COM/IP will respond affirmatively to such requests by the remote host.  If the remote host agrees, then COM/IP will echo all received data back to the remote host.

 

Setting this register to 3 will cause both local and remote echo behavior.

 

This register will also support a delegated echo mode, which can be enabled by setting the second bit to one (i.e., adding four to the values in the previous paragraph).  When delegated echo is enabled, COM/IP will assume that any echoing will be done by the client program (most often on an older server).

 

If this register is set to 6 (enable local echo and also use delegated echo), then COM/IP will inform the remote host that it will perform echo, but will not in fact do the echoing.  Rather, it will assume that the client program will be performing the echoing on its behalf.

 

If COM/IP will be used to host a server, and it is found that certain programs are double-echoing when connecting to it, then setting S1003=6 will often remedy the situation.

 

 

S1004 - Verbose Connection Failure

 

This register will control whether or not the additional WINSOCK error message will be reported before the NO CARRIER response.

 

Setting this register to 0 will disable the WINSOCK message, and setting it to 1 will enable the message.  The default setting is 1.

 

 

S1005 - Carriage-Return Padding

 

The Telnet protocol specifies that all Carriage-Return characters (ASCII 13) which are sent without a Line-Feed character (ASCII 10) should be sent as CR NUL (ASCII 13 followed by ASCII 0). S1001 will override this setting, such that if IAC characters are not being processed, then Carriage Return characters will not be processed.

 

Setting this register to 1 will cause COM/IP to strip away any NUL character received, which follows a CR.

 

Setting this register to 2 will cause COM/IP to add NUL characters to any outbound CR, which is not directly followed by a Line-Feed.

 

Setting this register to 3 will enable both inbound and outbound translations.   This is the default setting.

 

Setting this register to 0 will disable all CR translations.

 

 

S1006 - Deadlock Timer

 

This register will take a value from 0 to 100, and specifies (in 1/10th second) how often COM/IP should check for incoming data.  This is used to prevent deadlock issues when the application is checking for incoming data too quickly, without allowing Windows to process messages.

 

 

S1007 - BREAK Handling

 

This register will take a value of 0, or a value from 243 through 248.  When COM/IP sees a BREAK request from the application, it will either ignore it (if this register is set to 0), or send an IAC byte, followed by the value of this register.  This will be interpreted by the Telnet server according to the following table:

 

243    BRK (BREAK)   This is the default setting.

244   IP (Interrupt Process)

245    AO (Abort)

246    AYT (Are You There)

247    EC (Erase Character)

248    EL (Erase Line)

 

 

S1008 - TCP/IP IN port number

 

This register will take a value from 0 to 65535, and specifies which TCP port number that COM/IP will listen on.

 

If the value is 0, then incoming connections will be disabled.   This is the default setting.

 

If the value is not 0, then COM/IP will listen for incoming connections on the specified TCP port.  Note that the S10xx registers (except S1003) will affect incoming as well as outgoing connections.

 

 

S1009 - TCP/IP OUT port number

 

This register will take a value from 0 to 65535, and specifies the default TCP port number to use for outbound connections.  If the value is 0, then TCP port 23 will be used.  If the value is not 0, then COM/IP will attempt to make outbound connections on the specified TCP port, unless it is overridden by a TCP port number in the dial string.  The default setting is 23, the Telnet port.

 

 

S1010 - Immediate Modem Response (Windows 3.1 Applications Only)

 

This register will take a value of 0 or 1, controlling whether or not modem response strings will be delayed by one second.  This behavior will be needed by certain Windows 3.1 programs that will require the delay in order to be satisfied with modem-like behavior.  Setting this register to 0 will disable the delay.  The default value is 1, which will enable the delay.

 

 

S1020 - Nagle Algorithm

 

The Nagle Algorithm is a method that is employed by the TCP/IP stack to reduce the overhead imposed by TCP packets.  In extremely rare cases, the Nagle Algorithm may induce delays in sending data over the network, that would be sufficient to disrupt the operation of application software.

 

Setting this register to 1 will cause COM/IP will use the Nagle Algorithm.  This is the default setting.

 

Setting this register to 0 will cause COM/IP to not use the Nagle Algorithm

 

 

S1021 - Baud Rate Limitation

 

Setting this register to 0 will cause COM/IP to not limit the speed of a connection, so all communications will be passed as quickly as possible.  This is the default setting.

 

Setting this register to 1 will cause COM/IP to limit inbound communications to the port baud rate.

 

Setting this register to 2 will cause COM/IP to limit outbound communications to the port baud rate.

 

Setting this register to 3 will limit the speed to the port baud rate in both directions.

 

 

 

© 2017 Tactical Software, LLC.