Commit Graph

11 Commits

Author SHA1 Message Date
Stephen Heumann a38e2f716a Detect when Marinetti has disconnected, and close all sessions at that time.
Also, detect and give an error when invalid session numbers are used.
2017-04-24 17:47:16 -05:00
Stephen Heumann 93e2a5a864 Call attention routine when appropriate, and handle close requests from the server. 2017-04-16 16:19:59 -05:00
Stephen Heumann 5b5295fd40 Fixes related to error handling and asynchronous command support. 2017-04-16 15:17:55 -05:00
Stephen Heumann 9d6dad03b4 Add support for soft reset.
This can occur when control-reset is pressed in P8 mode. It’s supposed to reinitialize the AppleTalk stack. In our case, we mark connections to be reset once we're back in GS/OS, since we can't call Marinetti in P8 mode.
2017-04-16 13:36:01 -05:00
Stephen Heumann 7d2c225d2f Add code to close the sessions when the system is shutting down.
This only works if our init is loaded before Marinetti’s, because otherwise Marinetti’s shutdown notification procedure gets control first and shuts down the connection.
2017-04-16 00:37:57 -05:00
Stephen Heumann 3b2f1b6a25 Pass through calls we don’t handle to the original AppleTalk stack.
It is now possible to have AFP volumes mounted over both AppleTalk and TCP/IP simultaneously.
2017-04-09 20:57:09 -05:00
Stephen Heumann 3f40a3190d Modify FPRead requests so they don’t return more data than will fit in the reply buffer.
This issue arises because ASP requests and replies are limited to a “quantum size” of 4624 bytes even if the amount requested is larger, and the AppleShare FST relies on this behavior in sizing its buffers. DSI does not have this limitation, so it was returning more data than would fit in the buffer.

Also improve error checking, so an error is reported in cases where the buffer is too small.
2017-04-03 16:36:50 -05:00
Stephen Heumann 9720f37531 Initial code for installing our commands.
This code works to some extent, but tends to cause system hangs.

Also includes some DSI implementation fixes.
2017-04-01 15:32:32 -05:00
Stephen Heumann ee83e402f8 Implement support for DSIWrite, plus a few other cleanups. 2017-03-23 02:31:06 -05:00
Stephen Heumann 0b0a422c33 Updates to support opening and closing a session. 2017-03-19 17:23:42 -05:00
Stephen Heumann b5c3a29f37 Initial version, with test program.
It can currently send a GetStatus request and get a response.
2017-03-18 19:42:25 -05:00