From 2694424e3dbff9eb2bfcdb13ebfff9ebf81b8212 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Sat, 12 May 2012 20:29:32 -0400 Subject: [PATCH] update the read me text --- README.text | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++ README.txt | 37 ------------------------- 2 files changed, 77 insertions(+), 37 deletions(-) create mode 100644 README.text delete mode 100644 README.txt diff --git a/README.text b/README.text new file mode 100644 index 0000000..f7b809c --- /dev/null +++ b/README.text @@ -0,0 +1,77 @@ +MariGNOtti + +MariGNOtti is a network driver for GNO/ME 2.0.6. It provides a translation layer between BSD sockets and Marinetti. Think of it as a replacement for GSTCP. + +Installation: +------------- + +1. copy the marignotti, ftp, sic, and whois executables to your /usr/local/bin directory. + +ftp is an update of the gno 2.0.6 ftp (it adds passive ftp support). + +whois is an updated version (from FreeBSD 9.0). The gno 2.0.6 version is from FreeBSD 2.1. + +sic is a very simple irc client. +example: +sic -h irc.a2central.com -p 6667 -n myname +(a bunch of messages) +:j #a2c.chat << join a room + + +2. copy the services file to /etc/services (if it does not exist). +3. edit and copy the resolve.conf file to /etc/resolve.conf (if it does not exist). This file is your DNS server + +4. If you don't have a DNS server, edit /etc/hosts to include your favorite sites. + + + +Usage: +------ + +Run marignotti in the background (marignotti &). To quit, bring it to the foreground (fg) and hit control-C. + +If you're using the Sweet-16 emulator and started Sweet 16 from the terminal (/Applications/Sweet16.app/Contents/MacOS/Sweet16), marignotti -d will print some debugging information to the console. marignotti -dd will enable extra debugging information (including the contents of reads and writes). + + +What it does: +------------- + +While marignotti is running in the background, it translates BSD socket calls into Marinetti tool calls. It also handles blocking IO, socket options, select, etc. + + +Architecture: +------------- + +BSD sockets are, by default, blocking whereas everything Marinetti does (other than the inital network connection) is non-blocking. To handle blocking behavior, each socket has a semaphore. The main thread performs all the polling and uses the semaphore to signal the other threads when they can proceed. + + +Supported: +---------- + +socket -- only support for PF_UNIX, SOCK_STREAM, and SOCK_DGRAM. + +connect -- but non-blocking connects are not yet supported. + +bind -- currently a no-op since the old whois(1) used it. + +read/recv/recvfrom -- supports blocking, non-blocking, timeouts, and RCVLOWAT. The address parameter of recvfrom is not supported. OOB is not supported. + +write/send/sendto -- does not support SNDLOWAT, OOB, or the address parameter of sendto. + +close -- does not support SOLINGER type functionality. + +shutdown -- sets flags but the flags are not completely implemented. + +ioctl(2) -- support for FIONREAD (bytes available to read) and FIONBIO (set/clear non-blocking). + +getsockopt(2) -- support for SO_OOBINLINE, SO_SNDLOWAT, SO_RCVLOWAT, SO_SNDTIMEO, SO_RCVTIMEO. SNDLOWAT and SNDTIMEO set flags but don't have any other effect. OOBINLINE will only be supported when true. + +getsockopt(2) -- support for SO_TYPE, SO_OOBINLINE, SO_SNDLOWAT, SO_RCVLOWAT, SO_SNDTIMEO + +Not (yet) supported: +-------------------- + +- OOB (out of band) data (and will never be supported). +- raw sockets (SOCK_RAW) +- TCP servers (listen/accept). Should be simple, though. +- UDP servers diff --git a/README.txt b/README.txt deleted file mode 100644 index 84593f5..0000000 --- a/README.txt +++ /dev/null @@ -1,37 +0,0 @@ -MariGNOtti - -MariGNOtti is a network driver for GNO/ME 2.0.6. It provides a translation layer between BSD sockets and Marinetti. - -Architecture: - -BSD sockets are, by default, blocking whereas everything Marinetti does (other than the inital network connection) is non-blocking. To handle blocking behavior, each socket has a semaphore. The main thread performs all the polling and signals the other threads when they can proceed. - -Supported: - -socket(2) -- but only for PF_UNIX, SOCK_STREAM, TCP. - -connect(2) -- but non-blocking connects are not yet supported. - -bind(2) -- currently a no-op since the old whois(1) used it. - -read(2) -- supports blocking, non-blocking, timeouts, and RCVLOWAT. - -write(2) -- currently no SNDLOWAT type functionality. - -close(2) -- currently no SOLINGER type functionality. - -shutdown(2) -- set flags but the flags have no effect. - -ioctl(2) -- support for FIONREAD (bytes available to read) and FIONBIO (set/clear non-blocking). - -getsockopt(2) -- support for SO_OOBINLINE, SO_SNDLOWAT, SO_RCVLOWAT, SO_SNDTIMEO, SO_RCVTIMEO. SNDLOWAT and SNDTIMEO set flags but don't have any other effect. OOBINLINE will only be supported when true. - -getsockopt(2) -- support for SO_TYPE, SO_OOBINLINE, SO_SNDLOWAT, SO_RCVLOWAT, SO_SNDTIMEO - -send(2)/sendto(2) -- flags and address are ignored (ie, same as write(2)) -recv(2)/redcvfrom(2) -- flags and address are ignored. (ie, same as read(2)) - -Since UDP is not supported, you'll want to put some values in your /etc/hosts file. You'll also need to create an /etc/services file. - -whois works. -ftp does not yet work.