New C 9P2000(.u) Client/Server Library

57 views
Skip to first unread message

jyujin

unread,
Sep 17, 2008, 7:18:14 PM9/17/08
to 9p-hackers
Hello dear group members,

I've just earlier today completed a first snapshot of a 9p2000(.u)
library I'm writing. It should, in theory, support all of both
protocols (including wstat ;)) and I was able to write a small dummy
test server with it. I'll be using the library in a different project
soon, so I thought now would be a good time to post it for everyone to
use.

The library is written in C, using a different library of mine, called
Curie, which is a nonstandard special libc-replacement. That part is
the only reason I've even written this library, since otherwise I'd
just have used the excellent libixp (obviously, since I already
submitted a patch for this earlier ;)). The library is BSD-licenced
and doesn't rely on any foreign headers at all, save for some libcurie
headers, and libcurie is licenced under the same terms.

Both libraries are available here: http://kyuba.org/
I'm also around on freenode, in the #kyuba channel.

I sure hope this doesn't count as spam, since it actually does have
something to do with 9p and maybe someone might be interested. Hint:
both libraries together usually result in quite small binaries ;).

Merry Hacking,
Magnus Deininger

Iruata Souza

unread,
Sep 17, 2008, 7:23:17 PM9/17/08
to 9p-ha...@googlegroups.com

you only forgot to say it is called Duat. :]

iru

jyujin

unread,
Sep 17, 2008, 7:56:22 PM9/17/08
to 9p-hackers
Ah blimey, indeed i did forget to mention that. :)

I'll also try to fix up some test cases to demonstrate how the code
works as well sometime during the week... in short it relies on
libcurie's multiplex() for the dirty work, and that latter function
has examples on how to use it with network socket in libcurie's
sourcecode (tests/multiplex-network.c).

Anyway, I figured getting the library code out if people want to play
with it sooner than later is always a good idea ;D.

sqweek

unread,
Sep 18, 2008, 1:19:57 AM9/18/08
to 9p-ha...@googlegroups.com
On Thu, Sep 18, 2008 at 7:18 AM, jyujin <dm...@web.de> wrote:
>
> Hello dear group members,

Woah, jyujin!

> I've just earlier today completed a first snapshot of a 9p2000(.u)
> library I'm writing. It should, in theory, support all of both
> protocols (including wstat ;)

Haha. Actually I have wstat "working" in libixp, by which I mean
"well enough to support a no-op wstat stub". Just need to find time to
give it a bit of real testing and get a release out :)
-sqweek

Uriel

unread,
Sep 18, 2008, 2:56:12 AM9/18/08
to 9p-ha...@googlegroups.com
Welcome Magnus.

Very nice work!

I added Duat to the list of 9P implementations at http://9p.cat-v.org/
and will post to http://ninetimes.cat-v.org about the new release.

I would only note that .u is mostly deprecated and its use is
discouraged, so I would not bother much with working on it.

And indeed, announcements like this are very welcome in this list.

Thanks again and best wishes

uriel

Uriel

unread,
Sep 18, 2008, 2:57:24 AM9/18/08
to 9p-ha...@googlegroups.com
Oh, forgot to mention that if you are using Duat for any specific
application, I would love to hear about too so I can add it to the
list of existing 9p-enabled apps.

Peace

uriel

jyujin

unread,
Sep 22, 2008, 3:39:11 PM9/22/08
to 9p-hackers
Alriiight, I've just release duat-2 and curie-3 with some of the
suggestions sqweek had on IRC, so now i should be able to work on some
test cases :).

Thanks sqweek, and thanks uriel for the linking and exposure :).

jyujin

unread,
Sep 22, 2008, 6:45:40 PM9/22/08
to 9p-hackers
I forgot to mention, there's a dummy server demonstrating the library
in the GIT repository.

http://git.kyuba.org/?p=kyuba/duat.git;a=blob;f=tests/server.c;hb=HEAD

seems to work okay with ixpc... obviously it's mostly broken logics-
wise, I was just using it to verify the basic I/O was working okay
while writing the library.
Reply all
Reply to author
Forward
0 new messages