added the API docs to the minitel man page

This commit is contained in:
Izaya 2018-08-10 20:03:39 +10:00
parent 9c2c74b7fd
commit 658f87e37c
1 changed files with 63 additions and 4 deletions

View File

@ -1,8 +1,25 @@
# Minitel - Minitel daemon for OpenOS
# Minitel for OpenOS
The Minitel daemon handles receiving and relaying Minitel packets.
This package includes the Minitel daemon, in etc/rc.d/minitel.lua, and the net library for using minitel, in usr/lib/net.lua.
## Configuration
## Minitel daemon
### Installation
#### With OPPM
1. Run `oppm install minitel-util` - this will install both the Minitel utilities and pull in the Minitel daemon as a dependency.
2. Run `mtcfg`
This will walk you through setting up Minitel.
#### Manual
1. Place minitel.lua into /etc/rc.d
2. Place your hostname into /etc/hostname
3. Run rc minitel enable; rc minitel start
### Configuration
The minitel daemon keeps a settings file in /etc/minitel.cfg, which is loaded on start. This can be edited directly and the daemon restarted, or settings can be changed from the command line.
@ -10,7 +27,7 @@ To change a setting, one invokes:
`rc minitel set <option> <value>`
### Available settings
#### Available settings
- port: the physical port the protocol runs over
- pctime: the amount of time packets are kept in the packet cache
@ -21,3 +38,45 @@ To change a setting, one invokes:
- debug: whether to output debugging info to the display
In addition, one can invoke to get large amounts of debug output, *rc minitel set_route <hostname> <local_modem> <remote_modem>* to add a static route, and *rc minitel del_route <hostname>* to delete a static route.
## Net library
The net library provides an easy way of interacting with the minitel daemon, and implements higher-level features of the stack.
### API
#### Layer 3
*net.genPacketID()* - returns a string of random data
*net.usend(host, port, data, pid)* - Sends an unreliable packet to *host* on *port* containing *data*, optionally with the packet ID *pid*.
*net.rsend(host, port, data, block)* - Sends a reliable packet to *host* on *port* containing *data*. If *block* is true, don't wait for a reply.
#### Layer 4
*net.send(host, port, data)* - Sends *data* reliably and in order to *host* on *port*.
#### Layer 5
*net.open(to,port)* - Establishes a stream to *host* on *port* and returns a stream object
*net.listen(port)* - Waits for another node to establish a stream, and returns the stream object.
#### Stream objects
*stream:write(data)* - Sends *data* to the node at the other end of the stream
*stream:read(length)* - Reads data from the stream, up to *length* bytes.
*stream:close()* - Ends the stream and prevents further writing.
#### Variables
*net.mtu = 4096* - The maximum length of the data portion of a packet for *net.send*
*net.streamdelay = 60* - The time, in seconds, *net.open* will wait for a response while trying to establish a connection.
*net.minport = 32768* - The lowest port *net.listen* will allocate to a new connection.
*net.maxport = 65535* - The highest port *net.listen* will allocate to a new connection.