mirror of
https://github.com/ksherlock/marignotti.git
synced 2024-12-21 23:29:36 +00:00
update the read me text
This commit is contained in:
parent
39fbb1a191
commit
2694424e3d
77
README.text
Normal file
77
README.text
Normal file
@ -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
|
37
README.txt
37
README.txt
@ -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.
|
|
Loading…
Reference in New Issue
Block a user