/**

@mainpage

This is a simple database API. It was inspired by the realisation that in Samba
we have several ad-hoc bits of code that essentially implement small databases
for sharing structures between parts of Samba.

The interface is based on gdbm. gdbm couldn't be use as we needed to be able to
have multiple writers to the databases at one time.

@section tdb_download Download

You can download the latest releases of tdb from the
<a href="http://samba.org/ftp/tdb">tdb directory</a> on the samba public source
archive.

You can download the latest code either via git or rsync.

To fetch via git see the following guide:

<a href="http://wiki.samba.org/index.php/Using_Git_for_Samba_Development">Using Git for Samba Development</a>
Once you have cloned the tree switch to the master branch and cd into the source/lib/tdb directory.

To fetch via rsync use these commands:

<pre>
  rsync -Pavz samba.org::ftp/unpacked/standalone_projects/lib/tdb .
  rsync -Pavz samba.org::ftp/unpacked/standalone_projects/lib/replace .
</pre>

and build in tdb. It will find the replace library in the directory above
automatically.

@section tdb_bugs Discussion and bug reports

tdb does not currently have its own mailing list or bug tracking system. For now,
please use the
<a href="https://lists.samba.org/mailman/listinfo/samba-technical">samba-technical</a>
mailing list, and the <a href="http://bugzilla.samba.org/">Samba bugzilla</a> bug
tracking system.


@section tdb_compilation Compilation

add HAVE_MMAP=1 to use mmap instead of read/write
add NOLOCK=1 to disable locking code

@section tdb_testing Testing

Compile tdbtest.c and link with gdbm for testing. tdbtest will perform
identical operations via tdb and gdbm then make sure the result is the
same

Also included is tdbtool, which allows simple database manipulation
on the commandline.

tdbtest and tdbtool are not built as part of Samba, but are included
for completeness.

*/
