Commit graph

110 commits

Author SHA1 Message Date
Mark Pizzolato
44f66e90eb MUX: Added delay after closing a socket created to validate a port specification. Suggested by Mark Emmer
The network stack on Windows XP needs an opportunity to cleanup after closing a listening socket which was created but not used,
2014-02-23 08:54:00 -08:00
Mark Pizzolato
02cb5c2d88 Compiler suggested cleanups.
Mostly silencing noise warnings, but bugs were found in sim_console.c and pdp11_dmc.c
2014-02-14 17:07:45 -08:00
Mark Pizzolato
cde0be5573 TMXR: Added support to reasonably set modem bits when a line has dedicated listen port defined or uses datagram transport. 2014-02-06 17:08:38 -08:00
Mark Pizzolato
9ab6c4d1c1 SOCKET: Extended TMXR packet capabilities to disable the Nagle algorithm when TCP packets transports are used. 2014-01-23 09:31:05 -08:00
Mark Pizzolato
33248778cf TMXR: Correct const attributes for packet reading APIs. 2013-12-02 10:29:04 -08:00
Mark Pizzolato
0f01e08a13 TMXR: Added loopback support for datagram configured lines to pass full packets in loopback mode. 2013-11-29 23:41:28 -08:00
Mark Pizzolato
54b92b878e TMXR: Support loopback when using packet APIs even if a connection is not active 2013-11-26 15:25:00 -08:00
Mark Pizzolato
c9f73eac90 H316: Rewrote h316_udp to use TMXR lines for UDP transport of data. Changed h316_mi to leverage built-in loopback mode in TMXR.
This gives UDP transport on all simh host platforms.
2013-11-26 13:30:11 -08:00
Mark Pizzolato
378e3e03a3 TMXR: Tolerate situations where independent devices are bound to different lines of a multi-line MUX. 2013-11-26 11:09:14 -08:00
Mark Pizzolato
4259b3c83a TMXR: Added option to use UDP transport for packet transport 2013-11-25 04:36:21 -08:00
Mark Pizzolato
00b77c8533 TMXR: Packet, Loopback and Half-Duplex enhancements
- Added halfduplex mode for network connections and corrected modem signal DSR to reflect connection status (vs original attach status), and DCD follows DSR (except in halfduplex mode where it follows CTS).

- Enhance tmxr_set_get_modem_bits to also return the modem DTR and RTS state.

- Separate RTS from DTR when manipulating modem state bits

- Minor fixes to loopback functionality after direct testing with the first loopback client device (DMC11).

- Fix clearing of break input buffer now that input buffers are dynamically allocated

- Changed Modem bit logic to have CTS reflect RTS as expected by devices which may expect this.

- Changed receive buffers to be dynamically allocated and the same size as transmit buffers when transmit buffers are non-default sized.

- Added TMXR line attach in loopback mode.  Fixed loopback buffer management

- Added loopback support to TMXR lines

- Added functioning connect poll capability to revised DMC

- Added connection destination display to connection status even when a connection has not yet been established.

- Added extended packet sending and receiving semantics to TMXR allowing for an optional frame byte to exist between length prefixed data packets
2013-11-20 12:18:02 -08:00
Mark Pizzolato
6f4e718fda PDP8: Refinement to prior fix for issue #86. Avoid data loss if prior character hasn't been read yet when a poll event happens. 2013-11-03 13:08:17 -08:00
Mark Pizzolato
db964d126c SCP/TMXR: Fix crashing bug when a multiplexer line has logging enabled before a mux attach, 2013-10-17 07:04:04 -07:00
Mark Pizzolato
5a21db5df6 Fix TMXR line transmit buffer allocation to always be allocated if a listening socket is open 2013-06-24 10:58:28 -07:00
Mark Pizzolato
486ef58595 Compiler warning cleanup 2013-06-01 23:04:45 -07:00
Mark Pizzolato
4d34547b05 Cleanup DUP11 implementation and refactor for shared use by another device (KMC11). 2013-05-31 11:58:09 -07:00
Mark Pizzolato
4ba152db79 Fix packet transmit overrun behaviors which caused DECnet circuit failures. 2013-05-28 17:35:49 -07:00
Mark Pizzolato
f30d43209e Fixes to:
1) retain the buffered/unbuffered line specific details across save/restore
 2) retain modem control outgoing bits (CTS and DTR) accross line resets which may occur due to carrier/connection loss.
 3) change the behavior which sends  the prior contents of the transmit buffer on a line reconnect to only happen for buffered telnet lines.
 4) avoid crash in SHOW MULTIPLEXER output when only specific lines have been attached instead of
2013-05-27 15:14:54 -07:00
Mark Pizzolato
1eb15fc917 Fix to support multiplexer devices which call tmxr_open_master directly instead of tmxr_attach so that the resulting TMXR will be in the open multiplexer list 2013-05-24 17:53:12 -07:00
Mark Pizzolato
44d6651f99 Added hex debug output for tcp session data on non-telnet line debug 2013-05-19 06:50:12 -07:00
Mark Pizzolato
784bc5daa2 Added new tmxr_line_attach_string API to return the attach string specific to a a particular multiplexer line.
Added parsing logic to allow tcp port and connect strings to end in either ";notelnet" or ";telnet" as desired to specifically describe a port setup.
Fixed bug in single line multiplexer attach which returned failed status when it should not have if a tcp connect destination was specified.
Relaxed parsing rules to allow a single line multiplexer to have a listen port specified at either the line level or the mux level.
2013-05-17 08:07:00 -07:00
Mark Pizzolato
e8e751c2fd Added randomization to the checking for success of outgoing connections and the arrival of incoming connections 2013-05-15 15:34:45 -07:00
Mark Pizzolato
7edcf5f36e Added stability to virtual null modem connections by consuming all incoming per line connections until a good one (or none) is found.
Extended debugging to describe the socket endpoints when connections are established.
Extended XMT and RCV debugging to include the line number in debug messages.
2013-05-15 13:53:32 -07:00
Mark Pizzolato
145b5c6a00 Added per line Modem Control capabilities to TMXR 2013-05-15 05:42:36 -07:00
Mark Pizzolato
3448edf608 enhanced the relatively new tmxr_linemsgf api to dynamically flush a completely full transmit buffer as needed. 2013-05-13 08:16:25 -07:00
Mark Pizzolato
671644ff41 Avoid passing negative values (i.e. signed characters) to isprint() which is not happy with doing this on some platforms. 2013-05-12 11:58:34 -07:00
Mark Pizzolato
9faef6ea89 Added separate debugging ability to trace line connect/disconnect activities to better debug virtual null modem cable activities. 2013-05-06 07:50:09 -07:00
Mark Pizzolato
67712d0095 Added more extensive debug output of tmxr telnet parameter and data 2013-05-01 13:43:10 -07:00
Mark Pizzolato
b1e31a7034 Fixed Remote Console to tolerate bare LF as a line terminator and enhanced the tmxr debug output for special characters 2013-04-30 08:37:11 -07:00
Mark Pizzolato
d364571c2c Added tmxr_linemsgf api to send formatted messages to a multiplexer line. 2013-04-24 09:00:36 -07:00
Mark Pizzolato
4c6f086eb3 Fix compiler identified typo reported by Peter Schorn 2013-04-21 05:45:40 -07:00
Mark Pizzolato
5a56c19696 Added ability to display modem bits when a line is connected to a modem control enabled multiplexer. 2013-04-18 17:22:12 -07:00
Mark Pizzolato
ba5767520f Added better support for virtual null modem cables on Modem Control multiplexer lines.
If the multiplexer is a modem control one, this change caused connections to be established ONLY if DTR is presented by the simulated system and to always be dropped when DTR is not asserted.
2013-04-18 12:46:57 -07:00
Mark Pizzolato
ba87329baa Fix to properly manage modem DCD and RNG state. 2013-04-17 09:32:48 -07:00
Mark Pizzolato
ed7f3be258 Added a tmxr_detach_ln routine.
The is to be used when a mux wants to dynamically change the number of lines it supports.  It should explicitly detach an previously configured lines which won't exist after the change prior to changing the line count.
2013-04-17 06:14:42 -07:00
Mark Pizzolato
b36efe5226 Fix out of bounds array reference (off by 1) when validating a maximum line number on a multiplexer 2013-04-16 11:46:48 -07:00
Mark Pizzolato
93c9f35948 Restore DZ modem control state to default on device detach. Properly clear modem bits when modem control enabled. Better display of modem control status. 2013-04-16 05:33:29 -07:00
Mark Pizzolato
4bd72e666c Compiler and static analyzer fixes from Peter Schorn. 2013-04-13 16:59:54 -07:00
Mark Pizzolato
52838eab05 Fixed tmxr attach logic to initialize the backlink on all of the mux lines when only a single line is attached. 2013-04-07 17:41:16 -07:00
Mark Pizzolato
2f85000dbc Compiler suggested cleanup 2013-03-24 05:43:28 -07:00
Mark Pizzolato
249f40e4bc Compiler indicated cleanup (FreeBSD on PPC) 2013-03-23 15:55:13 -07:00
Mark Pizzolato
de483074e6 Cleanup for build on VMS 2013-03-16 11:44:34 -07:00
Mark Pizzolato
bb9f9155f2 Arranged sequencing of Modem RING and DCD bits to be presented together if DTR is not on and DCD only if DTR is on. 2013-01-25 12:00:53 -08:00
Mark Pizzolato
ab25ad54e8 Fix potential for crash if tmxr_set_get_modem_bits is called without the multiplexer device being attached 2013-01-24 12:09:40 -08:00
Mark Pizzolato
f7b2f44c9c Fixed tmxr xmte and rcve management to be consistent with original behavior 2013-01-24 07:07:39 -08:00
Mark Pizzolato
f4dd30709f Fix DZ issue which didn't report modem bits to the host unless the attach was made with -M. 2013-01-23 19:33:42 -08:00
Mark Pizzolato
e3207c2009 Compiler suggested cleanups 2013-01-23 05:07:44 -08:00
Mark Pizzolato
b661f6c2bd Fix sim_tmxr flag settings to avoid an overwrite which was introduced when the dynflags was added 2013-01-22 16:03:18 -08:00
Mark Pizzolato
83c1d80194 Merge branch 'master' into AsyncTmxr
Conflicts merged and missing changes in new modules added as needed for clock co-scheduling.
2013-01-21 16:52:42 -08:00
Mark Pizzolato
d46ebc7d49 Untangle circular include references between tmxr serial and sock include files. 2013-01-21 11:29:27 -08:00