DOKK / manpages / debian 12 / libtdb-dev / tdb_open.3.en
TDB_OPEN(3) Linux Programmer's Manual TDB_OPEN(3)

tdb_open - Open a tdb database.

#include <tdb.h>

TDB_CONTEXT *tdb_open(const char *pathname, int hash_size,
        int tdb_flags, int open_flags, mode_t mode );

Open the database, creating it if necessary. The hash size is advisory, use zero for a default value. tdb_flags can be one of

Clear database if we are the only one with it open.
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.
Don't do any locking (this is always turned on for read-only file descriptors)
Don't use mmap.
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.

On success a pointer to an opaque data structure, a TDB_CONTEXT is returned. On error a NULL is returned.

Software: Andrew Tridgell <tridge@linuxcare.com> and Luke Kenneth Casson Leighton Man page: Ben Woodard <ben@valinux.com>

open(2), gdbm(3), tdb(3)

August 16, 2000 Samba