index.md (1287B)
1 LIBIXP 2 ====== 3 `libixp` is a stand-alone client/server [9P](http://9p.cat-v.org/) library 4 including `ixpc` client. It consists of less than 2000 lines of code (including 5 `ixpc`). 6 7 `libixp`'s server API is based heavily on that of [Plan 8 9](http://cm.bell-labs.com/plan9)'s 9 [`lib9p`](http://man.cat-v.org/plan_9/2/9p), and the two libraries export 10 virtually identical data structures. There are a few notable differences 11 between the two, however: 12 13 * `libixp` multiplexes connections internally, while on `Plan 9`, the kernel 14 performs this task, and in [plan9port](http://swtch.com/plan9port/), a separate 15 process is spawned to do so. Despite this divergence, the user of the library 16 will not notice any difference in behavior, except that there may be duplicate 17 `tag` and `fid` numbers between different connections. This issue is of little 18 relevance, however, as the library handles the task of mapping `fid`s and 19 `tag`s to arbitrary pointers and `P9Req` structs. 20 21 * `libixp` is released under a lenient MIT-style license. 22 23 * `libixp` lacks `lib9p`'s file trees. 24 25 * Unlike `plan9port`'s `lib9p`, `libixp` is POSIX based, and should compile 26 without specialized libraries on nearly any POSIX system. 27 28 Download 29 -------- 30 * [libixp-0.5](//dl.suckless.org/libs/libixp-0.5.tar.gz) 31