Add list of link pages to generate.
authormdw <mdw>
Tue, 6 Jul 1999 19:13:21 +0000 (19:13 +0000)
committermdw <mdw>
Tue, 6 Jul 1999 19:13:21 +0000 (19:13 +0000)
18 files changed:
man/alloc.3
man/base64.3
man/bits.3
man/conn.3
man/crc32.3
man/dspool.3
man/dstr.3
man/exc.3
man/lock.3
man/quis.3
man/report.3
man/sel.3
man/selbuf.3
man/str.3
man/sub.3
man/sym.3
man/tv.3
man/url.3

index c0793f0..bc345f1 100644 (file)
@@ -1,5 +1,8 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH alloc 3mLib "8 May 1999" "mLib"
+.TH alloc 3 "8 May 1999" "mLib"
+.\" @xmalloc
+.\" @xrealloc
+.\" @xstrdup
 .SH NAME
 alloc \- mLib low-level memory allocation
 .SH SYNOPSIS
 .SH NAME
 alloc \- mLib low-level memory allocation
 .SH SYNOPSIS
@@ -62,7 +65,8 @@ is raised.
 .BR malloc (3),
 .BR realloc (3),
 .BR free (3),
 .BR malloc (3),
 .BR realloc (3),
 .BR free (3),
-.BR exc (3mLib).
+.BR exc (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 
index 4e6186b..12079d8 100644 (file)
@@ -1,7 +1,10 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH base64 3mLib "20 June 1999" mLib
+.TH base64 3 "20 June 1999" mLib
 .SH NAME
 base64 \- conversion to and from base64 encoding
 .SH NAME
 base64 \- conversion to and from base64 encoding
+.\" @base64_encode
+.\" @base64_decode
+.\" @base64_init
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/base64.h>
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/base64.h>
@@ -43,7 +46,7 @@ and length
 and a pointer to a dynamic string
 .I d
 in which to write its output (see
 and a pointer to a dynamic string
 .I d
 in which to write its output (see
-.BR dstr (3mLib)
+.BR dstr (3)
 for details on dynamic strings).  Once all the input data has been
 passed through
 .B base64_encode
 for details on dynamic strings).  Once all the input data has been
 passed through
 .B base64_encode
@@ -84,6 +87,7 @@ also ignores
 characters in the string and works out the final block length
 automatically based on the input size.
 .SH "SEE ALSO"
 characters in the string and works out the final block length
 automatically based on the input size.
 .SH "SEE ALSO"
-.BR dstr (3mLib).
+.BR dstr (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 77eeede..6892b15 100644 (file)
@@ -1,7 +1,45 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH bits 3mLib "20 June 1999" mLib
+.TH bits 3 "20 June 1999" mLib
 .SH NAME
 bits \- portable bit manipulation macros
 .SH NAME
 bits \- portable bit manipulation macros
+.\" @U8
+.\" @U16
+.\" @U32
+.\"
+.\" @LSL8
+.\" @LSR8
+.\" @LSL16
+.\" @LSR16
+.\" @LSL32
+.\" @LSR32
+.\"
+.\" @ROL8
+.\" @ROR8
+.\" @ROL16
+.\" @ROR16
+.\" @ROL32
+.\" @ROR32
+.\"
+.\" @GETBYTE
+.\" @PUTBYTE
+.\"
+.\" @LOAD8
+.\" @STORE8
+.\"
+.\" @LOAD16_L
+.\" @LOAD16_B
+.\" @LOAD16
+.\" @STORE16_L
+.\" @STORE16_B
+.\" @STORE16
+.\"
+.\" @LOAD32_L
+.\" @LOAD32_B
+.\" @LOAD32
+.\" @STORE32_L
+.\" @STORE32_B
+.\" @STORE32
+.\"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/bits.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/bits.h>"
@@ -167,6 +205,8 @@ value arguments don't have to be of the right type.  The macros perform
 all appropriate type casting and masking.  Again, these macros are
 written with portability foremost in mind, although it seems they don't
 actually perform at all badly in real use.
 all appropriate type casting and masking.  Again, these macros are
 written with portability foremost in mind, although it seems they don't
 actually perform at all badly in real use.
+.SH "SEE ALSO"
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 
index 60c9510..ca4eaa9 100644 (file)
@@ -1,5 +1,7 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH conn 3mLib "23 May 1999" mLib
+.TH conn 3 "23 May 1999" mLib
+.\" @conn_init
+.\" @conn_kill
 .SH NAME
 conn \- selector for nonblocking connections
 .SH SYNOPSIS
 .SH NAME
 conn \- selector for nonblocking connections
 .SH SYNOPSIS
@@ -35,7 +37,7 @@ object which needs to be initialized.
 Pointer to a multiplexor object (type
 .BR sel_state )
 to which this selector should be attached.  See
 Pointer to a multiplexor object (type
 .BR sel_state )
 to which this selector should be attached.  See
-.BR sel (3mLib)
+.BR sel (3)
 for more details about multiplexors, and how this whole system works.
 .TP
 .I fd
 for more details about multiplexors, and how this whole system works.
 .TP
 .I fd
@@ -72,5 +74,9 @@ If you want to cancel the connection attempt before it finishes, call
 .B conn_kill
 with the address of the selector.  The file descriptor is closed, and
 the selector becomes safe to be discarded.
 .B conn_kill
 with the address of the selector.  The file descriptor is closed, and
 the selector becomes safe to be discarded.
+.SH "SEE ALSO"
+.BR connect (2),
+.BR sel (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 911cf5f..3b91764 100644 (file)
@@ -1,7 +1,8 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH crc32 3mLib "8 May 1999" "mLib"
+.TH crc32 3 "8 May 1999" "mLib"
 .SH NAME
 crc32 \- calculate 32-bit CRC
 .SH NAME
 crc32 \- calculate 32-bit CRC
+.\" @crc32
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/crc32.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/crc32.h>"
@@ -44,5 +45,7 @@ remainder after division in the finite field GF(2^32) of the block by a
 carefully chosen polynomial of order 32.
 .SH "RETURN VALUE"
 The return value is the 32-bit CRC of the input block.
 carefully chosen polynomial of order 32.
 .SH "RETURN VALUE"
 The return value is the 32-bit CRC of the input block.
+.SH "SEE ALSO"
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 72465dc..562cd79 100644 (file)
 .sp 1
 .fi
 ..
 .sp 1
 .fi
 ..
-.TH dspool 3mLib "20 June 1999" mLib
+.TH dspool 3 "20 June 1999" mLib
 .SH NAME
 dspool \- pools of preallocated dynamic strings
 .SH NAME
 dspool \- pools of preallocated dynamic strings
+.\" @dspool_create
+.\" @dspool_destroy
+.\" @dspool_get
+.\" @dspool_put
+.\"
+.\" @DSGET
+.\" @DSPUT
+.\"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/dspool.h>
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/dspool.h>
@@ -74,12 +82,13 @@ is entirely equivalent to the function
 except for improved performance.
 .SH CAVEATS
 The string pool allocator requires the suballocator (see
 except for improved performance.
 .SH CAVEATS
 The string pool allocator requires the suballocator (see
-.BR sub (3mLib)
+.BR sub (3)
 for details).  You must ensure that
 .B sub_init
 is called before any strings are allocated from a string pool.
 .SH SEE ALSO
 for details).  You must ensure that
 .B sub_init
 is called before any strings are allocated from a string pool.
 .SH SEE ALSO
-.BR dstr (3mLib),
-.BR sub (3mLib).
+.BR dstr (3),
+.BR sub (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 3eec044..6fde3a1 100644 (file)
@@ -11,7 +11,7 @@
 .RE
 .sp 1
 ..
 .RE
 .sp 1
 ..
-.de HP
+.de hP
 .IP
 .ft B
 \h'-\w'\\$1\ 'u'\\$1\ \c
 .IP
 .ft B
 \h'-\w'\\$1\ 'u'\\$1\ \c
 ..
 .ie t .ds o \(bu
 .el .ds o o
 ..
 .ie t .ds o \(bu
 .el .ds o o
-.TH dstr 3mLib "8 May 1999" "mLib"
+.TH dstr 3 "8 May 1999" "mLib"
 dstr \- a simple dynamic string type
 dstr \- a simple dynamic string type
+.\" @dstr_create
+.\" @dstr_destroy
+.\" @dstr_reset
+.\" @dstr_ensure
+.\" @dstr_tidy
+.\"
+.\" @dstr_putc
+.\" @dstr_putz
+.\" @dstr_puts
+.\" @dstr_putf
+.\" @dstr_putd
+.\" @dstr_putm
+.\" @dstr_putline
+.\" @dstr_write
+.\"
+.\" @DCREATE
+.\" @DDESTROY
+.\" @DRESET
+.\" @DENSURE
+.\" @DPUTC
+.\" @DPUTZ
+.\" @DPUTS
+.\" @DPUTD
+.\" @DPUTM
+.\" @DWRITE
+.\"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/dstr.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/dstr.h>"
@@ -46,6 +72,7 @@ dstr \- a simple dynamic string type
 .BI "void DDESTROY(dstr *" d );
 .BI "void DRESET(dstr *" d );
 .BI "void DENSURE(dstr *" d ", size_t " sz );
 .BI "void DDESTROY(dstr *" d );
 .BI "void DRESET(dstr *" d );
 .BI "void DENSURE(dstr *" d ", size_t " sz );
+.BI "void DPUTC(dstr *" c ", char " ch );
 .BI "void DPUTZ(dstr *" d );
 .BI "void DPUTS(dstr *" d ", const char *" s );
 .BI "void DPUTD(dstr *" d ", const dstr *" p );
 .BI "void DPUTZ(dstr *" d );
 .BI "void DPUTS(dstr *" d ", const char *" s );
 .BI "void DPUTD(dstr *" d ", const dstr *" p );
@@ -107,7 +134,7 @@ include a null-terminating byte, if there is one.
 The following invariants are maintained by
 .B dstr
 and must hold when any function is called:
 The following invariants are maintained by
 .B dstr
 and must hold when any function is called:
-.HP \*o
+.hP \*o
 If 
 .B sz
 is nonzero, then
 If 
 .B sz
 is nonzero, then
@@ -119,7 +146,7 @@ If
 is zero, then
 .B buf
 is a null pointer.
 is zero, then
 .B buf
 is a null pointer.
-.HP \*o
+.hP \*o
 At all times,
 .BI sz " >= " len\fR.
 .PP
 At all times,
 .BI sz " >= " len\fR.
 .PP
@@ -134,15 +161,15 @@ is zero is an empty string.
 The caller is responsible for allocating the
 .B dstr
 structure.  It can be initialized in any of the following ways:
 The caller is responsible for allocating the
 .B dstr
 structure.  It can be initialized in any of the following ways:
-.HP \*o
+.hP \*o
 Using the macro
 .B DSTR_INIT
 as an initializer in the declaration of the object.
 Using the macro
 .B DSTR_INIT
 as an initializer in the declaration of the object.
-.HP \*o
+.hP \*o
 Passing its address to the
 .B dstr_create
 function.
 Passing its address to the
 .B dstr_create
 function.
-.HP \*o
+.hP \*o
 Passing its address to the (equivalent)
 .B DCREATE
 macro.
 Passing its address to the (equivalent)
 .B DCREATE
 macro.
@@ -204,7 +231,7 @@ Extending a string never returns a failure result.  Instead, if there
 isn't enough memory for a longer string, the exception
 .B EXC_NOMEM
 is raised.  See
 isn't enough memory for a longer string, the exception
 .B EXC_NOMEM
 is raised.  See
-.BR exc (3mLib)
+.BR exc (3)
 for more information about 
 .BR mLib 's
 exception handling system.
 for more information about 
 .BR mLib 's
 exception handling system.
@@ -364,5 +391,8 @@ particular, the
 .B dstr_putf
 functions is quite complicated, and could do with some checking by
 independent people who know what they're doing.
 .B dstr_putf
 functions is quite complicated, and could do with some checking by
 independent people who know what they're doing.
+.SH "SEE ALSO"
+.BR exc (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 368a6f8..99b2905 100644 (file)
--- a/man/exc.3
+++ b/man/exc.3
 .sp 1
 .fi
 ..
 .sp 1
 .fi
 ..
-.TH exc 3mLib "20 June 1999" mLib
+.TH exc 3 "20 June 1999" mLib
 .SH NAME
 exc \- exception handling for C programs
 .SH NAME
 exc \- exception handling for C programs
+.\" @TRY
+.\" @CATCH
+.\" @END_TRY
+.\" @THROW
+.\" @RETHROW
+.\"
+.\" @exc_encaught
+.\"
+.\" @EXC_PAIR
+.\" @EXC_ALLOC
+.\" @EXC_ALLOCN
+.\" @EXC_ALLOCI
+.\" @EXC_ALLOCP
+.\" @EXC_ALLOCS
+.\"
 .SH SYNOPSIS
 .B "#include <mLib/exc.h>
 .sp 1
 .SH SYNOPSIS
 .B "#include <mLib/exc.h>
 .sp 1
@@ -246,5 +261,7 @@ Therefore all the caveats about
 and automatic data apply.  Also, note that status such as the signal
 mask is not reset, so you might have to do that manually in order to
 recover from a signal.
 and automatic data apply.  Also, note that status such as the signal
 mask is not reset, so you might have to do that manually in order to
 recover from a signal.
+.SH "SEE ALSO"
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 68aebea..7d7d298 100644 (file)
@@ -1,7 +1,8 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH lock 3mLib "23 May 1999" mLib
+.TH lock 3 "23 May 1999" mLib
 .SH NAME
 lock \- oversimplified file locking interface
 .SH NAME
 lock \- oversimplified file locking interface
+.\" @lock_file
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/lock.h>
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/lock.h>
@@ -53,5 +54,8 @@ is set to an appropriate value.  Most of the error returns are from
 .B errno
 is set to
 .BR EINTR .
 .B errno
 is set to
 .BR EINTR .
+.SH "SEE ALSO"
+.BR fcntl (2),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 3b2cce8..96e5d49 100644 (file)
@@ -1,7 +1,10 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH quis 3mLib "22 May 1999" mLib
+.TH quis 3 "22 May 1999" mLib
 .SH NAME
 quis \- remember the program's name for use in messages
 .SH NAME
 quis \- remember the program's name for use in messages
+.\" @quis
+.\" @ego
+.\" @QUIS
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/quis.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/quis.h>"
@@ -32,9 +35,12 @@ Don't ask why it's done this way.  There are raisins, but they're mostly
 hysterical.
 .PP
 The program name is used in the messages produced by the
 hysterical.
 .PP
 The program name is used in the messages produced by the
-.BR die (3mLib)
+.BR die (3)
 and
 and
-.BR moan (3mLib)
+.BR moan (3)
 functions.
 functions.
+.SH "SEE ALSO"
+.BR report (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index e9dc226..4c5db7d 100644 (file)
@@ -1,7 +1,9 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH report 3mLib "20 June 1999" mLib
+.TH report 3 "20 June 1999" mLib
 .SH NAME
 report \- report errors
 .SH NAME
 report \- report errors
+.\" @moan
+.\" @die
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/report.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/report.h>"
@@ -16,7 +18,7 @@ function emits a message to the standard error stream consisting of the
 program's name (as read by the
 .B quis
 function; see
 program's name (as read by the
 .B quis
 function; see
-.BR quis (3mLib) for details),
+.BR quis (3) for details),
 a colon, a space, and the
 .BR printf -style
 formatted string
 a colon, a space, and the
 .BR printf -style
 formatted string
@@ -36,6 +38,7 @@ to halt the program.  This is a handy way to report fatal errors in a
 program.
 .SH SEE ALSO
 .BR exit (3),
 program.
 .SH SEE ALSO
 .BR exit (3),
-.BR quis (3mLib).
+.BR quis (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index c3e81ae..e55de84 100644 (file)
--- a/man/sel.3
+++ b/man/sel.3
@@ -1,7 +1,14 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH sel 3mLib "22 May 1999" mLib
+.TH sel 3 "22 May 1999" mLib
 .SH NAME
 sel \- low level interface for waiting for I/O
 .SH NAME
 sel \- low level interface for waiting for I/O
+.\" @sel_init
+.\" @sel_initfile
+.\" @sel_addfile
+.\" @sel_rmfile
+.\" @sel_addtimer
+.\" @sel_rmtimer
+.\" @sel_select
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/sel.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/sel.h>"
@@ -89,9 +96,9 @@ implementing timeouts).  More sophisticated selectors can be constructed
 using
 .BR sel 's
 interface.  For examples, see
 using
 .BR sel 's
 interface.  For examples, see
-.BR selbuf (3mLib)
+.BR selbuf (3)
 and
 and
-.BR conn (3mLib).
+.BR conn (3).
 .SH "PROGRAMMING INTERFACE"
 A multiplexor is represented using the type
 .B sel_state
 .SH "PROGRAMMING INTERFACE"
 A multiplexor is represented using the type
 .B sel_state
@@ -254,5 +261,9 @@ more general than that.  An implementation which worked off System V-ish
 .BR poll (2)
 instead would be fairly trivial to make, and would look just the same
 from the outside.
 .BR poll (2)
 instead would be fairly trivial to make, and would look just the same
 from the outside.
+.SH "SEE ALSO"
+.BR select (2),
+.BR poll (2),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 386a718..334a563 100644 (file)
@@ -1,7 +1,10 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH selbuf 3mLib "23 May 1999" mLib
+.TH selbuf 3 "23 May 1999" mLib
 .SH NAME
 selbuf \- line-buffering input selector
 .SH NAME
 selbuf \- line-buffering input selector
+.\" @selbuf_enable
+.\" @selbuf_disable
+.\" @selbuf_init
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/selbuf.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/selbuf.h>"
@@ -18,11 +21,11 @@ selbuf \- line-buffering input selector
 The
 .B selbuf
 subsystem is a selector which integrates with the
 The
 .B selbuf
 subsystem is a selector which integrates with the
-.BR sel (3mLib)
+.BR sel (3)
 system for I/O multiplexing.  It reads entire text lines from a file
 descriptor and passes them to a caller-defined function.  It uses the
 line buffer described in
 system for I/O multiplexing.  It reads entire text lines from a file
 descriptor and passes them to a caller-defined function.  It uses the
 line buffer described in
-.BR lbuf (3mLib)
+.BR lbuf (3)
 to do its work: you should read about it in order to understand exactly
 what gets considered to be a line of text and what doesn't, and the
 exact rules about what your line handling function should and shouldn't
 to do its work: you should read about it in order to understand exactly
 what gets considered to be a line of text and what doesn't, and the
 exact rules about what your line handling function should and shouldn't
@@ -45,7 +48,7 @@ object to initialize.
 Pointer to a multiplexor object (type
 .BR sel_state )
 to which this selector should be attached.  See
 Pointer to a multiplexor object (type
 .BR sel_state )
 to which this selector should be attached.  See
-.BR sel (3mLib)
+.BR sel (3)
 for more details about multiplexors, and how this whole system works.
 .TP
 .I fd
 for more details about multiplexors, and how this whole system works.
 .TP
 .I fd
@@ -85,5 +88,9 @@ queued up from the last I/O operation: it doesn't necessarily wait for
 the next
 .B sel_select
 call.
 the next
 .B sel_select
 call.
+.SH "SEE ALSO"
+.BR lbuf (3),
+.BR sel (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 16e859d..969f021 100644 (file)
--- a/man/str.3
+++ b/man/str.3
 .sp 1
 .fi
 ..
 .sp 1
 .fi
 ..
-.TH str 3mLib "20 June 1999" mLib
+.TH str 3 "20 June 1999" mLib
 .SH NAME
 str \- small string utilities
 .SH NAME
 str \- small string utilities
+.\" @str_getword
+.\" @str_split
+.\" @str_sanitize
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/str.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/str.h>"
@@ -132,5 +135,7 @@ will have the same values as last time, and
 and
 .B rest
 will be null.
 and
 .B rest
 will be null.
+.SH "SEE ALSO"
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index b460506..0d93166 100644 (file)
--- a/man/sub.3
+++ b/man/sub.3
 .RE
 .sp 1
 ..
 .RE
 .sp 1
 ..
-.TH sub 3mLib "8 May 1999" mLib
+.TH sub 3 "8 May 1999" mLib
 .SH NAME
 sub \- efficient allocation and freeing of small blocks
 .SH NAME
 sub \- efficient allocation and freeing of small blocks
+.\" @sub_alloc
+.\" @sub_free
+.\" @sub_init
+.\"
+.\" @CREATE
+.\" @DESTROY
+.\"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/sub.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/sub.h>"
@@ -34,7 +41,7 @@ together in list, making freeing and allocation fast.  The `free'
 operation requires the block size as an argument, so there's no data
 overhead for an allocated block.  The system takes advantage of this by
 allocating big chunks from the underlying system (actually via
 operation requires the block size as an argument, so there's no data
 overhead for an allocated block.  The system takes advantage of this by
 allocating big chunks from the underlying system (actually via
-.BR xmalloc (3mLib),
+.BR xmalloc (3),
 q.v.) and splitting the chunks into smaller blocks of the right size, so
 the space and time overhead from the underlying allocator is divided
 over many blocks.
 q.v.) and splitting the chunks into smaller blocks of the right size, so
 the space and time overhead from the underlying allocator is divided
 over many blocks.
@@ -63,7 +70,7 @@ Don't try to pass blocks allocated by
 to
 .BR free (3);
 similarly, don't try to pass blocks allocated by
 to
 .BR free (3);
 similarly, don't try to pass blocks allocated by
-.BR xmalloc (3mLib)
+.BR xmalloc (3)
 or
 .BR malloc (3)
 to
 or
 .BR malloc (3)
 to
@@ -96,5 +103,9 @@ The function
 must be called before any of the other
 .B sub
 functions or macros.
 must be called before any of the other
 .B sub
 functions or macros.
+.SH "SEE ALSO"
+.BR exc (3),
+.BR alloc (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 10b8084..5e4a700 100644 (file)
--- a/man/sym.3
+++ b/man/sym.3
 .RE
 .sp 1
 ..
 .RE
 .sp 1
 ..
-.TH sym 3mLib "8 May 1999" mLib
+.TH sym 3 "8 May 1999" mLib
 .SH NAME
 sym \- symbol table manager
 .SH NAME
 sym \- symbol table manager
+.\" @sym_create
+.\" @sym_destroy
+.\" @sym_find
+.\" @sym_remove
+.\" @sym_mkiter
+.\" @sym_next
+.\"
+.\" @SYM_NAME
+.\"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/sym.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/sym.h>"
@@ -199,7 +208,7 @@ for (sym_mkiter(&i, t); (v = sym_next(&i)) != 0; ) {
 That ought to be enough examples to be getting on with.
 .SH CAVEATS
 The symbol table manager requires the suballocator (see
 That ought to be enough examples to be getting on with.
 .SH CAVEATS
 The symbol table manager requires the suballocator (see
-.BR sub (3mLib)
+.BR sub (3)
 for details).  You must ensure that
 .B sub_init
 has been called before using any symbol tables in your program.
 for details).  You must ensure that
 .B sub_init
 has been called before using any symbol tables in your program.
@@ -209,6 +218,7 @@ hash function.  The hash chains are kept very short (probably too short,
 actually).  Every time a symbol is found, its block is promoted to the
 front of its bin chain so it gets found faster next time.
 .SH SEE ALSO
 actually).  Every time a symbol is found, its block is promoted to the
 front of its bin chain so it gets found faster next time.
 .SH SEE ALSO
-.BR sub (3mLib).
+.BR sub (3),
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index 71f33f4..dc4bd1f 100644 (file)
--- a/man/tv.3
+++ b/man/tv.3
@@ -1,7 +1,19 @@
 .\" -*-nroff-*-
 .\" -*-nroff-*-
-.TH tv 3mLib "22 May 1999" mLib
+.TH tv 3 "22 May 1999" mLib
 .SH NAME
 tv \- arithmetic on \fBstruct timeval\fR objects
 .SH NAME
 tv \- arithmetic on \fBstruct timeval\fR objects
+.\" @tv_add
+.\" @tv_addl
+.\" @tv_sub
+.\" @tv_subl
+.\" @tv_cmp
+.\"
+.\" @TV_ADD
+.\" @TV_ADDL
+.\" @TV_SUB
+.\" @TV_SUBL
+.\" @TV_CMP
+.\"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/tv.h>"
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/tv.h>"
@@ -156,5 +168,7 @@ like
 although I can't see why there'd be a problem.  (If there is one, then
 my implementation has it too, because they're the same.  I don't
 document the restriction because I don't think it exists.)
 although I can't see why there'd be a problem.  (If there is one, then
 my implementation has it too, because they're the same.  I don't
 document the restriction because I don't think it exists.)
+.SH "SEE ALSO"
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
index f343962..e322e83 100644 (file)
--- a/man/url.3
+++ b/man/url.3
 .sp 1
 .fi
 ..
 .sp 1
 .fi
 ..
-.TH url 3mLib "20 June 1999" mLib
+.TH url 3 "20 June 1999" mLib
 .SH NAME
 url \- manipulation of form-urlencoded strings
 .SH NAME
 url \- manipulation of form-urlencoded strings
+.\" @url_initenc
+.\" @url_enc
+.\" @url_initdec
+.\" @url_dec
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/url.h>
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/url.h>
@@ -50,7 +54,7 @@ Each call to
 .B url_enc
 encodes one name/value pair, appending the encoded output to a dynamic
 string (see
 .B url_enc
 encodes one name/value pair, appending the encoded output to a dynamic
 string (see
-.BR dstr (3mLib)
+.BR dstr (3)
 for details).
 .PP
 Decoding a sequence of name/value pairs is performed using the
 for details).
 .PP
 Decoding a sequence of name/value pairs is performed using the
@@ -117,5 +121,7 @@ void encode(sym_table *t, dstr *d)
     url_enc(&c, d, SYM_NAME(v), v->v);
 }
 .VE
     url_enc(&c, d, SYM_NAME(v), v->v);
 }
 .VE
+.SH "SEE ALSO"
+.BR mLib (3).
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>.
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>.