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 (1923K).

Name Summary / Link to details Download
aga Abstract Graph Algorithms 32K / 24K
agar Re-entrant Abstract Graph Algorithms 260K / 15K
alignof ALIGNOF() macro to determine alignment of a type. 5K / 5K
antithread Accelerated Native Technology Implementation of "threads" 156K / 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 / 12K
asort typesafe array sort (qsort) 23K / 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 18K / 8K
base64 base64 encoding and decoding (rfc4648). 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 22K / 14K
cast routines for safer casting. 15K / 12K
ccan_tokenizer A full-text lexer for C source files 381K / 32K
cdump routines to parse simple C structures. 265K / 10K
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. 12K / 9K
crc routines for crc of bytes 22K / 18K
crcsync routines to use crc for an rsync-like protocol. 33K / 16K
crypto/ripemd160 implementation of RIPEMD 160 bit digest algorithm. 12K / 7K
crypto/sha256 implementation of SHA-2 with 256 bit digest. 25K / 21K
crypto/shachain compactly-representable chain of 256-bit numbers. 35K / 6K
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 306K / 306K
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. 78K / 20K
foreach macro for simple iteration of arrays 25K / 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 24K / 19K
idtree id allocation tree 244K / 11K
ilog Integer logarithm. 10K / 7K
invbloom implementation of invertible bloom lookup tables. 246K / 6K
io simple library for asynchronous io handling. 276K / 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 39K / 17K
likely macros for annotating likely/unlikely branches in the code 43K / 7K
list double linked list routines 20K / 11K
lqueue Simple, singly-linked-list queue implementation 10K / 4K
lstack Simple, singly-linked-list stack implementation 9K / 4K
md4 MD4 Message Digest Algorithm (RFC1320). 16K / 10K
mem Provide mem*() functions if missing from C library 9K / 7K
minmax typesafe minimum and maximum functions 6K / 5K
net simple IPv4/IPv6 socket library 11K / 7K
nfs nfs client library 47K / 43K
noerr routines for cleaning up without blatting errno 5K / 5K
ntdb Next Generation Trivial Database 303K / 243K
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
order Simple, common value comparison functions 12K / 6K
permutation Generate permutations 21K / 13K
pr_log print things with varying levels of importance 20K / 11K
ptr_valid test whether a pointer is safe to dereference. 9K / 6K
ptrint Encoding integers in pointer values 6K / 5K
pushpull simple marshalling/unmarshalling routines 9K / 7K
rbtree talloc-aware Red Black Tree 121K / 19K
rbuf buffered I/O input primitive. 5K / 5K
read_write_all read_all and write_all routines. 11K / 11K
rfc822 Parsing of RFC822 emails 289K / 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
str/hex hex-to-string conversions and vice-versa 5K / 5K
strgrp group/cluster similar strings. 594K / 10K
stringbuilder join lists of strings 6K / 6K
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. 45K / 6K
tal compact tree allocator routines (inspired by talloc) 237K / 178K
tal/grab_file file helper routines 240K / 11K
tal/link link helper for tal 240K / 5K
tal/path routines to manipulate paths 255K / 9K
tal/stack stack of tal contextes (inspired by talloc_stack) 238K / 3K
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. 74K / 22K
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.) (2K) Browse contents... (410K) Browse contents... (2K) Browse contents... (2K) Browse contents... (3K) Browse contents... (2K) Browse contents... (4K) Browse contents... (6K) Browse contents... (1K) Browse contents... (3K) Browse contents... (7K) Browse contents... (10K) Browse contents...