-.\" $Id: mandocdb.8,v 1.14 2011/12/16 12:06:35 kristaps Exp $
+.\" $Id: mandocdb.8,v 1.17 2011/12/25 21:00:23 schwarze Exp $
.\"
.\" Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
.\"
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: December 16 2011 $
+.Dd $Mdocdate: December 25 2011 $
.Dt MANDOCDB 8
.Os
.Sh NAME
.Nd index UNIX manuals
.Sh SYNOPSIS
.Nm
-.Op Fl av
+.Op Fl avW
.Op Fl C Ar file
.Nm
-.Op Fl av
+.Op Fl avW
.Ar dir ...
.Nm
-.Op Fl v
+.Op Fl vW
.Fl d Ar dir
.Op Ar
.Nm
-.Op Fl v
+.Op Fl vW
.Fl u Ar dir
.Op Ar
+.Nm
+.Fl t Ar
.Sh DESCRIPTION
The
.Nm
.Sx Keyword Database
and
.Sx Index Database
-for fast retrieval.
+for fast retrieval by
+.Xr apropos 1 ,
+.Xr whatis 1 ,
+and
+.Xr man 1 Ns 's
+.Fl k
+option.
.Pp
By default,
.Nm
to the database in
.Ar dir
without truncating it.
+.It Fl t Ar
+Check the given
+.Ar files
+for potential problems.
+No databases are modified.
+Implies
+.Fl a
+and
+.Fl W .
+All diagnostic messages are printed to the standard output;
+the standard error output is not used.
.It Fl u Ar dir
Remove
.Ar
without truncating it.
.It Fl v
Display all files added or removed to the index.
+.It Fl W
+Print warnings about potential problems with manual pages
+to the standard error output.
.El
.Pp
If fatal parse errors are encountered while parsing, the offending file
with the next input file.
.Ss Index Database
The index database,
-.Pa mandoc.index ,
+.Pa whatis.index ,
is a
.Xr recno 3
database with record values consisting of
If the record value is zero-length, it is unassigned.
.Ss Keyword Database
The keyword database,
-.Pa mandoc.db ,
+.Pa whatis.db ,
is a
.Xr btree 3
database of NUL-terminated keywords (record length is non-zero string
-length plus one) mapping to a 12-byte binary field consisting of the
-64-bit keyword type and 32-bit source
+length plus one) mapping to a 16-byte binary field consisting of the
+64-bit keyword type and the 64-bit
.Sx Index Database
record number, both in network-byte order.
+.Pp
The type bit-mask consists of the following
values mapping into
.Xr mdoc 7
.It Li 0x0000001000000000ULL Ta \&Vt
.It Li 0x0000002000000000ULL Ta \&Xr
.El
-.Pp
-The last four bytes are a host-ordered record number within the
-.Sx Index Database .
.Sh IMPLEMENTATION NOTES
The time to construct a new database pair grows linearly with the
number of keywords in the input files.
respectively, grows as a multiple of the index length and input size.
.Sh FILES
.Bl -tag -width Ds
-.It Pa mandoc.db
+.It Pa whatis.db
A
.Xr btree 3
keyword database mapping keywords to a type and file reference in
-.Pa mandoc.index .
-.It Pa mandoc.index
+.Pa whatis.index .
+.It Pa whatis.index
A
.Xr recno 3
database of indexed file-names.
Such errors cause
.Nm
to exit at once, possibly in the middle of parsing or formatting a file.
-The output databases are corrupt and should be removed .
+The output databases are corrupt and should be removed.
.El
.Sh DIAGNOSTICS
If the following errors occur, the