cmd(3): port the os command execution device from inferno (win32 only so far)
the devcmd device (/mnt/term/cmd) allows execution of commands on the
os, with access stdin/stdout/stderr of the executing command.
kern: merge with chan.c, dev.c, pgrp.c from 9front, fix waserror() botch in devwalk()
fix build on freebsd (thanks mveety)
- freebsd compiler is now clang
- /usr/X11R6 -> /usr/local
- avoid name clash with freebsd's fdclose()
kern: make readblist() offset of type ulong as the rest
kern: update qio and devmnt, remove mount cache stub
replace custom randfill() with prng() calls, remove rand()/nrand() definitions from kernel
import secalloc()/secfre() from from 9front
reduce error verbosity, hang when panicing in graphics mode
do screeninit() in devdraw at attach time, fix type for setterm() prototype
sync with 9front libsec and devtls, c2name() -> chanpath()
devaudio-win32: dont burn cpu when wave block is busy
devaudio-win32: quick and dirty audio playback driver for windows
kern: allow Dev.create() to return a Chan* to bring it in line with 9front kernel
import devdraw from 9front
/dev/kbd support for rcpu (requires updated kbdfs on remote side)
we provide minimal /dev/kbd just serving rune up/down messages
which kbdfs will translate to full /dev/cons and /dev/kbd. this
has the advantage that kbdfs can generate notes (interrupt key)
for us and post hangup note when the connection breaks. drawterms
task is relatively simple, just trnalsate keysyms to runes. this
is essentially what vncs does.
fix setrealloctag() declaration for kern
devip: add support for IPv6
Addresses are now stored as uchar instead
of ulong, with enough room for IPv6.
Generic IP functions have been removed from
devip.c and replaced by libip, imported from
Names and addresses are resolved using either
gethostbyname() or getaddrinfo() functions.
On Windows, IPv6 name resolution is not enabled,
because mingw32 doesn't provide inet_ntop().