Libslack is a library of general utilities designed to make
UNIX/C programming a bit easier on the eye.

It's a small library with lots of functionality, accurately
documented and thoroughly tested.
Good library naming conventions are not rigorously observed
on the principle that common operations should always be easy
to write and code should always be easy to read.

Libslack contains the following modules:

agent      - agent oriented programming
coproc     - coprocess using pipes or pseudo terminals
daemon     - becoming a daemon
err        - message/error/debug/verbosity/alert messaging
fio        - fifo and file control and some I/O
getopt     - GNU getopt_long() for systems that don't have it
hsort      - generic heap sort
lim        - POSIX.1 limits convenience functions
link       - abstract linked lists with optional growable free lists
list       - list (growable pointer array) data type
locker     - abstract locking and reader/writer lock implementation
map        - map (hash table) data type
mem        - memory helper functions, secure memory, memory pools
msg        - message handling and syslog helper functions
net        - network functions (clients/servers, expect/send, pack/unpack, mail)
prog       - program framework and flexible command line option handling
prop       - program properties files
pseudo     - pseudo terminals
sig        - ISO C compliant signal handling
snprintf   - safe sprintf for systems that don't have it
str        - string data type (tr, regex, regsub, fmt, trim, lc, uc, ...)
vsscanf    - sscanf() with va_list argument for systems that don't have it
