#12 Add support for UDP ports, improve compatibility

Brent Roman

The patch does the following:

Adds protocol UDP the the existing list of TELNET, RAW and RAWLP
UDP is equivalent to RAW, but data is transferred on a UDP network port.
This is most appropriate for cyclic, real-time systems where delays caused by TCP retries are undesireable.

Tweaks the initial options emitted in TELNET mode for compatibility with Kermit and socat.
Fixes a pointer handling bug in reporting the current baud rate.
(the old code probably worked in earlier compilers, but fails in GCC 4.6)
Added ser2net VERSION to the TELNET signature output.

Improves that naming of UUCP lock files to handle device nodes located below the /dev directory in a way compatible with minicom, socat and the like, rather than the ambiguous lock file naming convention used by Kermit.

Provides two new port configuration adjustments that can trade latency for greatly improved network utilization.
One adjustment sets the minimum packet size, the other sets the maximum packet buffer age.
Input from the serial device is buffered until the minimum packet size is reached OR the buffer's age exceeds its maximum.

Adds support for 600 baud

Makes all port configuration keywords CASE insensitive.

Much of the patch's size is the result of adding and using the function controller_outs() in place of controller_output().
The controller_outs() function outputs a nul terminated string without requiring the programmer count characters.
I apologize for the noise this adds, but I couldn't help myself. I've never been very good and counting characters :-)


  • Brent Roman
    Brent Roman

    see main patch discription