Tue Nov 7 12:15:10 EST 2006

console protocol

so.. a console. some synchronization is necessary, if only for
displaying the readline prompt. i was thinking about ascii only,
single line protocol. it should be something that's readable by any
program, or scanf.

ok, i'm tired of this shit:
- only ascii 32 - 127
- control char = newline : send line, receive line

using 'sanitize' and read-line this can be enforced. all binary data
needs to be quoted: the daemon's console code can be instructed to
process the output resulting from the interpretation of a command
line using arbitrary commands.

the result of this is that the basic protocols for communicating with PF are:

- strict line based console message channel using only ascii : all
  non-ascii characters are set to spaces. this is mainly for apps that
  don't speak PF. if binary data is needed, the pf quoted strings are
  easily implemented.

- text/binary native PF atom read/write channel to connect multiple PF
  instances and load/save native PF data.

- raw packet streams: connect to anything that produces chunks of raw
  data in a known format, i.e. raw video pipes.

got the readline part working too now. TODO:

- fork from pf (done)
- it's possible to crash pf with ": xxx 1 2 3"
- fix backtrace (+- done)
- unix pipes: remove file on close (done)
- pf_console build (done)
- de-threadification (+- done : leaving relics behind)
- sometimes 'p' doesnt print in new console.. (fixed)

- hotkey mode?