Reuse at layer 1

Explode cuts bits of a file out to make a cogent subset of the that repesents only the parts you need for a specific task. This document explains the larger files, each of which has its own detailed page.

The list

Explode comes with some useful example code (useful in that ksb's tools need these to compile). As examples go they are pretty mundane.

Here is a list of them for you to poke through:

Adelson-Velskii Landis Height-Balanced Trees
Impress your friends with a cool sounding data structure! These RAM-based trees provide a quick average time insert, delete, find scheme and are very low overhead.
Password checking code
After a Customer gives you a password (UNIX style) how do you make sure it is the correct one? This case can tell you.
Identd C interface (TAP)
You call getpeername(2) to find the host and port, but this might tell you the login name (or hash name) of the connected user! Use only as directed.
BSD Implementation of scandir for Non-BSD systems
Just what it says. Compiles on Solaris for example.
Sorted, unique C strings
These are really cheap, I mean really cheap. Just a way to keep track of a list of unique strings so we don't repeat ourself.
Emulation code the mktmep, mkstemp, mkdtemp, and mkstemps(3)
I got sick of not having these under every OS.
wise module support
The Web Infrastructure Service Engine (wise) ideas are too long to explain here: it is a way to make lots of little modules to lots of work for a website. Used by unity, rcls, rcds, stater, rico, and acld.
credential passing
An interface on top of sendmsg and recvmsg to make sending credentials about as painless as possible. Used my acld, and wise.
the dicer
An interface to find the "good parts" of a well formatted string. See xapply(1), mk(1), oue(1), sbp(8) for example uses.
a sparse list of large integers
A very simple interface to allow an application to record an event by and integer value (inode number, uid, gid, or other) then visit the list in sorted order. Takes very little memory for sparsely populated lists, or clusters of large values.
Pack bins with a list of integer weights
Use by binpack to pack files by length.
send and receive access right over domain sockets
Used by installus and some wrappers to send access rights (file descriptors) to peer processes.
build a message bus of sorts between processes
Used by Tee to push data faster with multiple processes.
setenv and unsetenv(3)for hosts missing them
strcasecmp or strncasecmp for hosts missing them
Portability interfaces only.
convert ctime(3) output back into a time_t
Used to convert a text time back into seconds-since-the-epoch (a time_t) in many programs.

Others will be added in new releases.

$Id: index.html,v 6.16 2014/04/13 19:27:00 ksb Exp $ by .