NAME¶
tdb_open - Open a tdb database.
SYNOPSIS¶
#include <tdb.h>
TDB_CONTEXT *tdb_open(const char *pathname, int hash_size,
int tdb_flags, int open_flags, mode_t mode );
DESCRIPTION¶
Open the database, creating it if necessary. The
hash size is advisory,
use zero for a default value.
tdb_flags can be one of
- TDB_CLEAR_IF_FIRST
- Clear database if we are the only one with it open.
- TDB_INTERNAL
- Don't use a file, instead store the data in memory. The
pathname , open_flags , and mode are ignored in this
case. This is useful if you need a quick associative array or map.
- TDB_NOLOCK
- Don't do any locking (this is always turned on for
read-only file descriptors)
- TDB_NOMMAP
- Don't use mmap.
- TDB_CONVERT
- Create a database in the reverse of native endian: normally
when the database is created (or cleared with TDB_CLEAR_IF_FIRST), it is
created in native endian order. This flag is set (or unset) automatically
for existing databases.
The
open_flags and
mode are passed straight to the open call on
the database file. A flags value of O_WRONLY is invalid.
RETURN VALUE¶
On success a pointer to an opaque data structure, a TDB_CONTEXT is returned. On
error a NULL is returned.
AUTHORS¶
Software: Andrew Tridgell <tridge@linuxcare.com> and Luke Kenneth Casson
Leighton Man page: Ben Woodard <ben@valinux.com>
SEE ALSO¶
open(2),
gdbm(3),
tdb(3)