rest of the library, mainly as output arguments.
.PP
The
+.BR buf (3)
+module provides simple functions for reading and writing binary data to
+or from fixed-sized buffers.
+.PP
+The
.BR dspool (3)
module implements a `pool' of dynamic strings which saves lots of
allocation and deallocation when a piece of code has high string
.SS "Miscellaneous utilities"
The
.BR crc32 (3)
-module calculates CRC values for strings. It's used by the symbol table
-manager as a hash function.
+module calculates CRC values for strings. It used to be used by the
+symbol table manager as a hash function.
+.PP
+The
+.BR unihash (3)
+module implements a simple but efficient universal hashing family. This
+is a keyed hash function which provides security against an adversary
+choosing input to a hash table deliberately to cause collisions.
.PP
The
.BR lock (3)
.BR base64 (3)
module does base64 encoding and decoding, as defined in RFC2045. Base64
encodes arbitrary binary data in a reliable way which is resistant to
-character-set transformations and other mail transport bogosity.
+character-set transformations and other mail transport bogosity. The
+.BR base32 (3)
+module does base32 encoding and decoding, as defined in RFC2938. This
+is a mad format which is needed for sha1 URNs, for no good reason. The
+.BR hex (3)
+module does hex encoding and decoding.
.PP
The
.BR url (3)
.BR atom (3),
.BR base64 (3),
.BR bits (3),
+.BR buf (3),
.BR bres (3),
.BR conn (3),
.BR crc32 (3),
.BR tv (3),
.BR url (3).
.SH AUTHOR
-Mark Wooding, <mdw@nsict.org>
+Mark Wooding, <mdw@distorted.org.uk>