This is the Amiga port of KA9Q 930622 by Olaf 'Rhialto' Seibert. *** THIS IS UNSUPPORTED SOFTWARE *** PLEASE DO NOT SEND ME ANY QUESTIONS OR BUG REPORTS - YOU ARE ON YOUR OWN *** *** However, if you decide to fix up any fundamental problems in *** this package, I would like to hear about it. *** *** I currently have no use for this, and when i do the *** AmiTCP approach seems more modular to me. - There is no documentation, except this. Get KA9Q's original documentation relating to the 920603 release. - This is EXPERIMENTAL! There are some loose ends. Especially the API for other socket and other operations is incomplete. See dtest.c for example. A few things were discovered in socket code that did not work as advertised. TCP socket operations were not always restartable if they were tried in non-blocking mode, recv() would not work right with stream-protocol sockets (it would throw away data if not an entire mbuf was requested), .... I hope that I've marked all non-obvious changes in the generic source with Rhialto, but I'm not 100% sure of that. Input on implementation of, for instance, resolve() as a shared library function is encouraged. (Any changes in domain.c are not guaranteed to work) - Does NOT work with Kickstart 1.1 (yes, I tested this ;-) - All windows are opened *with* border. If that prevents you from getting an 80x25 characters text screen, I suggest you overscan your workbench a bit. (2.04+ via Prefs/Overscan, 1.2+ via MoreRows (Fish disk 54) or ScnSizer (Fish 79)). ScnSizer is so small that I have included it. I am running a 672 x 266 workbench screen since 1987. The following deviations from the PC version on which it is based apply. - Only async line support, and only SLIP/PPP at that. I have no need, or way to test, anything else. The unused source is included, however. - To make up for the previous limitation, SANA2 (the Commodore network driver standard) use is implemented. - Async line: currently no DTR/DCD support. (RTS/CTS is done by the serial device so that works) - There is an extra parameter ("param group") which enables use of serial.device's EOF mode. (This means that you request a large amount of characters at once, yet get the result back earlier if one of the 8 specified end characters is received. As a result, you can always read whole packets from the serial port in one go.) This improves input efficiency from 1246 cps to 1471 cps (for the first testcase I tried). If you use a replacement for serial.device (such as BaudBandit.device) which does not support EOF mode, this won't work. Note: param group 1 has to be enabled specificly. Also, if you use tip or the dialer on the line, this disables EOF mode. Also, using EOF mode increases packet delays, since the processing of the slip frame is only started when it has been received entirely, whereas non-EOF mode processes the frame while it is coming in. The performance gain from EOF mode may depend on the speed of your Amiga. - The SANA2 version of SLIP (slip.device) may have a lower performance than the built-in one. However, for CSLIP the reverse is probably true, due to complicated header manipulations by cslip (= vjslip). - The attach command looks like: attach asy serial.device 0 slip sl0 1000 464 19200 rv ^ ^ ^ ^ ^ ^ ^ ^ | | | | | | | +- flags (Rlsd, Cts/rts, | | | | | | | Vjslip) | | | | | | +- line speed | | | | | +- Maximum Transmission Unit | | | | +- Receive buffer size. Does not need to | | | | be more than the max. raw frame size, | | | | ie for slip, 2*MTU+2. | | | +- interface label | | +- encapsulation: slip or ppp | +- unit number +- Exec device to use or attach sana