chiark / gitweb /
cleanup: All the whitespace fixes, all at once.
[mLib] / man / mLib.3
index fc1009625c39d0d532f6fd1ad4941d99cd652920..174a03e453b043c48dd6141e2cc217b53602b07c 100644 (file)
@@ -1,5 +1,5 @@
 .\" -*-nroff-*-
-.TH mLib 3 "7 July 1999" mLib
+.TH mLib 3 "7 July 1999" "Straylight/Edgeware" "mLib utilities library"
 .SH NAME
 mLib \- library of miscellaneous utilities
 .\" @mLib
@@ -92,6 +92,11 @@ buffer-overflows.  Dynamic strings are used occasionally through the
 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
@@ -129,14 +134,32 @@ Keys and values can be arbitrary data.  It is implemented using
 .BR hash (3).
 .PP
 The
+.BR atom (3)
+module implements
+.IR atoms ,
+which are essentially strings with the property that two atoms have the
+same address if and only if they have the same text, so they can be used
+for rapid string comparisons.  The
+.BR assoc (3)
+module implements a hash table which uses atoms as keys, thus saving
+time spent hashing and comparing hash keys, and the space used for the
+keys.
+.PP
+The
 .BR darray (3)
 module implements dynamically resizing arrays which support Perl-like
 stack operations efficiently.
 .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)
@@ -155,11 +178,20 @@ The
 module manipulates file descriptor flags in a fairly painless way.
 .PP
 The
+.BR fwatch (3)
+module allows you to easily find out whether a file has changed since
+the last time you looked at it.
+.PP
+The
 .BR lbuf (3)
 module implements a `line buffer', which is an object that emits
 completed lines of text from an incoming asynchronous data stream.  It's
 remarkably handy in programs that want to read lines from pipes and
-sockets can't block while waiting for a line-end to arrive.
+sockets can't block while waiting for a line-end to arrive.  Similarly,
+the
+.BR pkbuf (3)
+module implements a `packet buffer', which waits for packets of given
+lengths to arrive before dispatching them to a handler.
 .PP
 The
 .BR tv (3)
@@ -188,7 +220,12 @@ The
 .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)
@@ -213,8 +250,10 @@ The
 .BR selbuf (3)
 module attaches to the
 .B sel
-system and sends an event when lines of text arrive on a file.  It's
-useful when reading text from a network connection.
+system and sends an event when lines of text arrive from a file.  It's
+useful when reading text from a network connection.  Similarly,
+.BR selpk (3)
+sents events when packets of given sizes arrive from a file.
 .PP
 The
 .BR sig (3)
@@ -225,15 +264,16 @@ mechanism.
 .PP
 The
 .BR ident (3)
-module provides a nonblocking ident (RFC931) client.
-.PP
-The
+module provides a nonblocking ident (RFC931) client.  The
 .BR bres (3)
 module does background hostname and address resolution.
 .SH "SEE ALSO"
 .BR alloc (3),
+.BR assoc (3),
+.BR atom (3),
 .BR base64 (3),
 .BR bits (3),
+.BR buf (3),
 .BR bres (3),
 .BR conn (3),
 .BR crc32 (3),
@@ -243,15 +283,18 @@ module does background hostname and address resolution.
 .BR env (3),
 .BR exc (3),
 .BR fdflags (3),
+.BR fwatch (3),
 .BR hash (3),
 .BR ident (3),
 .BR lbuf (3),
 .BR lock (3),
 .BR mdwopt (3),
+.BR pkbuf (3),
 .BR quis (3),
 .BR report (3),
 .BR sel (3),
 .BR selbuf (3),
+.BR selpk (3),
 .BR sig (3),
 .BR str (3),
 .BR sub (3),
@@ -260,4 +303,4 @@ module does background hostname and address resolution.
 .BR tv (3),
 .BR url (3).
 .SH AUTHOR
-Mark Wooding, <mdw@nsict.org>
+Mark Wooding, <mdw@distorted.org.uk>