> Do you dock into the stream handling or use separate functions ?
> Would be really cool if you simply can fopen() an 9p resource

Right now it's just two classes IxpClient and IxpServer; but thanks
for the suggestion. Making a stream handler for 9P would definitely
be worth it.

> Huh, tunnel 9p messages through http ?!

Yes. Using Mozilla's XPCOM extensions isn't a very portable solution,
and part of the reason web developers choose Javascript is because it
is browser-agnostic. The way this works is that the client encodes a
series of 9P T-messages into a XMLHttpRequest and the script on the
server forwards those messages in-order to the actual 9P service, and
responds with a series of R-messages (which the client can then decode).

> IMHO, the approach is extending mozilla's stream handling
> (nsChannel stuff).
> Some time ago a had some look at it. Doesn't seem very trivial.

Yes, an nsIChannel implementation was required for this to work.
Nothing in Mozilla is trivial - but I will admit that I took longer
to learn libdraw than Mozilla's netlib