List of all CCAN modules:

Note that two downloads are offered: the first includes with all the other ccan modules this module uses, the second is a standalone download.

Or you can just download the tarball of everything including CCAN tools (1585K).

Name Summary / Link to details Download
alignof ALIGNOF() macro to determine alignment of a type. 5K / 5K
antithread Accelerated Native Technology Implementation of "threads" 155K / 57K
antithread/alloc memory allocator routines 60K / 22K
argcheck macros to check arguments at runtime 46K / 5K
array_size routine for safely deriving the size of a visible array. 6K / 5K
asearch typesafe binary search (bsearch) 17K / 11K
asort typesafe array sort (qsort) 19K / 14K
asprintf asprintf wrapper (and if necessary, implementation). 8K / 3K
autodata stash pointers in your binary for automatic registration 14K / 5K
avl Key-value dictionary based on AVL trees 8K / 8K
bdelta Generate and apply binary deltas 13K / 13K
bitmap bitmap handling 17K / 13K
block_pool An efficient allocator for blocks that don't need to be resized or freed. 47K / 5K
breakpoint break if the program is run under gdb. 7K / 4K
btree Efficient sorted associative container based on B-trees. 15K / 15K
build_assert routines for build-time assertions 5K / 5K
bytestring simple bytestring handling 15K / 11K
cast routines for safer casting. 15K / 12K
ccan_tokenizer A full-text lexer for C source files 381K / 32K
charset character set conversion and validation routines 9K / 9K
check_type routines for compile time type checking 6K / 5K
ciniparser easily parse and manipulate ini style configuration files 12K / 12K
compiler macros for common compiler extensions 6K / 6K
container_of routine for upcasting 7K / 5K
cpuid a CPUID instruction parser for x86/x86_64 CPUs. 13K / 10K
crc routines for crc of bytes 22K / 18K
crcsync routines to use crc for an rsync-like protocol. 33K / 16K
daemon_with_notify daemonize a process, can wait for child to signal readiness 5K / 5K
daemonize routine to turn a process into a well-behaved daemon. 4K / 4K
darray Generic resizable arrays 305K / 305K
dgraph simple directed graph module 37K / 12K
endian endian conversion macros for simple types 6K / 6K
eratosthenes Sieve of Eratosthenes 18K / 11K
err err(), errx(), warn() and warnx(), as per BSD's err.h. 8K / 5K
failtest unit test helpers for testing malloc and other failures. 77K / 20K
foreach macro for simple iteration of arrays 24K / 8K
grab_file file helper routines 46K / 11K
hash routines for hashing bytes 18K / 17K
heap a simple heap implementation 5K / 5K
htable hash table routines 23K / 19K
idtree id allocation tree 243K / 11K
ilog Integer logarithm. 10K / 7K
io simple library for asynchronous io handling. 269K / 27K
isaac A fast, high-quality pseudo-random number generator. 24K / 18K
iscsi async library for iscsi functionality 32K / 28K
jacobson_karels Jacobson/Karels Round Trip Time algorithm 14K / 10K
jmap map from indices to values (based on libJudy) 24K / 18K
jset set of pointers (based on libJudy) 20K / 13K
json Parse and generate JSON (JavaScript Object Notation) 14K / 14K
lbalance helpers for loadbalancing parallel tasks 38K / 17K
likely macros for annotating likely/unlikely branches in the code 43K / 7K
list double linked list routines 19K / 10K
lqueue Simple, singly-linked-list queue implementation 9K / 4K
lstack Simple, singly-linked-list stack implementation 9K / 4K
md4 MD4 Message Digest Algorithm (RFC1320). 16K / 10K
memmem Trivial module providing a memmem() implementation 4K / 4K
minmax typesafe minimum and maximum functions 6K / 5K
net simple IPv4/IPv6 socket library 11K / 8K
nfs nfs client library 47K / 43K
noerr routines for cleaning up without blatting errno 5K / 5K
objset unordered set of pointers. 40K / 12K
ogg_to_pcm decode ogg vorbis audio files to PCM data using libvorbis 9K / 9K
opt simple command line parsing 42K / 26K
ptr_valid test whether a pointer is safe to dereference. 9K / 6K
rbtree talloc-aware Red Black Tree 120K / 18K
rbuf buffered I/O input primitive. 5K / 5K
read_write_all read_all and write_all routines. 11K / 11K
rfc822 Parsing of RFC822 emails 283K / 45K
short_types shorter names for standard integer types 5K / 5K
siphash a keyed hash function 15K / 10K
sparse_bsearch search a sorted array with some invalid entries 19K / 11K
str string helper routines 9K / 8K
stringmap Macros for mapping strings to things 53K / 8K
strmap an ordered map of strings to values 25K / 6K
strset an ordered set of strings 57K / 10K
structeq bitwise comparison of structs. 4K / 4K
take routines to mark pointers to be consumed by called functions. 44K / 6K
tal compact tree allocator routines (inspired by talloc) 235K / 178K
tal/grab_file file helper routines 238K / 11K
tal/link link helper for tal 239K / 5K
tal/path routines to manipulate paths 254K / 9K
tal/str string helper routines which use tal 251K / 8K
tal/talloc an implementation of the tal interface in terms of talloc. 55K / 10K
talloc tree allocator routines 43K / 36K
tally running tally of integers 50K / 10K
tap Test Anything Protocol 15K / 11K
tcon routines for creating typesafe generic containers 6K / 6K
time routines for dealing with time 8K / 8K
timer efficient implementation of rarely-expiring timers. 67K / 17K
tlist typesafe double linked list routines 25K / 7K
ttxml tiny XML library for parsing (trusted!) XML documents. 16K / 16K
typesafe_cb macros for safe callbacks. 8K / 8K
version helper functions for major.minor-style version numbers 3K / 3K
wwviaudio realtime playback and mixing of 16 bit signed PCM audio data. 13K / 12K

Contents of Junkcode:

(This is contributed code which was dumped here: these gems may need some polishing.)
codedr@gmail.com-grok.tar.bz2 (2K) Browse contents...
dongre.avinash@gmail.com-clibutils.tar.bz2 (410K) Browse contents...
fork0@users.sf.net-bitmaps.tar.bz2 (2K) Browse contents...
fork0@users.sf.net-pathexpand.tar.bz2 (2K) Browse contents...
fork0@users.sf.net-timeout.tar.bz2 (3K) Browse contents...
guerrilla_thought@gmx.de-bst.tar.bz2 (2K) Browse contents...
henryeshbaugh@gmail.com-log.tar.bz2 (4K) Browse contents...
iasoule32@gmail.com-polynomial.tar.bz2 (6K) Browse contents...
mansourmoufid@gmail.com-endianness.tar.bz2 (1K) Browse contents...
swehack@gmail.com-snifstat.tar.bz2 (3K) Browse contents...
tinkertim@gmail.com-grawk.tar.bz2 (7K) Browse contents...
tterribe@email.unc.edu-nmbrthry.tar.bz2 (10K) Browse contents...