libusual  0.1
libusual Documentation


libusual is utility library.

Unlike APR or GLIB which create their own API world, libusual tries to use standardized API's whenever possible.

Goals for portability APIs:

Goals for new APIs:

Antimake build system.

Build system demos and docs.

Module list.

Compat includes
<usual/base.h> Base C environment
<usual/ctype.h> ctype compat
<usual/getopt.h> Command line argument processing
<usual/err.h> Error handling for command-line tools
<usual/netdb.h> Async DNS lookup
<usual/pthread.h> Pthreads compat
<usual/signal.h> Signal compat
<usual/socket.h> Socket compat and helper functions
<usual/string.h> String compat and helper functions
<usual/time.h> Time compat and helper functions
<usual/fnmatch.h> fnmatch compat
<usual/wchar.h> wchar compat
Data Structures
<usual/aatree.h> Binary Tree
<usual/cbtree.h> Crit-Bit Tree
<usual/hashtab-impl.h> Hash table
<usual/heap.h> Binary heap
<usual/list.h> Double-linked list
<usual/mbuf.h> Memory buffer
<usual/mdict.h Minimal dict
<usual/shlist.h> Double-linked list for shared mem
<usual/statlist.h> List with stats
<usual/strpool.h> Refcounted strings
Data Processing
<usual/bits.h> Bit arithmetic
<usual/bytemap.h> Byte processing
<usual/cfparser.h> Config parser
<usual/endian.h> Endianess conversion
<usual/misc.h> Misc arithmetic
<usual/json.h> Read/write JSON
<usual/regex.h> POSIX regex compat
<usual/pgutil.h> PostgreSQL data formats
<usual/utf8.h> Low-level UTF8 handling
Non-cryptographic hashing
<usual/hashing/crc32.h> CRC32
<usual/hashing/lookup3.h> Jenkins' lookup3 hash
<usual/hashing/siphash.h> Siphash
<usual/hashing/memhash.h> In-memory randomized hashing
<usual/hashing/spooky.h> Jenkins' SpookyHash for 64-bit CPUs
<usual/hashing/xxhash.h> Fast hash for 32-bit CPUs
<usual/crypto/csrandom.h> Cryptographically Secure Randomness
<usual/crypto/digest.h> Common API for cryptographic message digests
<usual/crypto/hmac.h> HMAC with digest
<usual/crypto/md5.h> MD5 hash
<usual/crypto/sha1.h> SHA1 hash
<usual/crypto/sha256.h> SHA256/224 hashes
<usual/crypto/sha512.h> SHA512/384 hashes
<usual/crypto/sha3.h> SHA3/SHAKE hashes
<usual/crypto/keccak.h> Keccak sponge API
<usual/crypto/keccak_prng.h> PRNG based on Keccak
<usual/crypto/entropy.h> Entropy collector
<usual/crypto/chacha.h> ChaCha cipher
Memory Allocation
<usual/cxalloc.h> Context Allocator framework
<usual/cxextra.h> Extra allocators
<usual/mempool.h> Simple append-only memory pool
<usual/slab.h> Slab allocator for same-size objects
<usual/talloc.h> Hierarchical allocator
OS support
<usual/event.h> libevent compat
<usual/daemon.h> Process daemonization
<usual/fileutil.h> Various file I/O tools
<usual/logging.h> Logging framework for daemons
<usual/pgsocket.h> Async Postgres connection framework
<usual/safeio.h> Safety wrappers around OS I/O