Principal Linux compatibility, tests, lots of ifdefs
This version works with Linux in principle.
Code contains lots of ugly ifdefs, but at least
provides a basic test, which executes the code
but still does not do any actual verification.
The Linux version uses fork to split a server off
from the child (actually the other way round)