libusual  0.1
libusual Documentation

libusual

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
Cryptography
<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