This is a port of libdjb to Plan 9's APE environment.
I believe all functionality works except multicast, which is disabled to get
things building (and I don't have a multicast environment to test in, anyway).
The entire package has only been lightly tested, though.
Note that libdjb has been replaced by the original author by libowfat, which
has a similar purpose and offers similar functionality, but is GPLd and has a
fairly different organizational structure. In many cases, applications which
use libowfat can be made to use libdjb with only minor changes to the
include names and header file names (eg, change an include of alloc.h to
include alloc/alloc.h instead, and point the Makefile (or equivalent) at libdjb).
Note also that libdjb isn't particularly polished: there's a bunch of duplicated
headers. I've not inspected the duplicates for differences; pick one.
Changes made to accomidate Plan 9:
Various makefiles want "head -1"; we don't have it, use "sed 1q" instead.
Made */conf-* use cc, not gcc; also, don't strip or optimize.
Made (tai unix)/conf-cc define _BSD_EXTENSION so APE's happy.
Made unix/open_(read write trunc append ).c use O_NONBLOCK, not O_NDELAY, as per POSIX.
In unix/socket_(accept conn recv local remote)6?.c, made dummy a (signed) int.
Made unix/conf-cc define HAVE_SOCK_OPTS.
Tried punting on IP_MULTICAST_LOOP in unix/socket_mcloop(4 6).c; hack.
Didn't work; punted on multicast be commenting them out from Makefile.unix.
Commented out "#include <net/if.h>" in unix/getif(idx name).c
Removed redundant inclusion of case_diffs.o in byte.a by byte/Makefile.byte.
|