Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tdb_traverse(3) [debian man page]

TDB_TRAVERSE(3) 					     Linux Programmer's Manual						   TDB_TRAVERSE(3)

NAME
tdb_traverse - visit every element in a tdb database SYNOPSIS
#include <tdb.h> int tdb_traverse(TDB_CONTEXT *tdb, int (*fn)(TDB_CONTEXT *,TDB_DATA,TDB_DATA,void *), void *state); DESCRIPTION
tdb_traverse is the only sure way to visit all the items within a given database, tdb Because this function has intimate knowledge of the internals of the database, it is able to cope with writers touching the database at the same time it is trying to traverse it. If fn is supplied it will be called with the state parameter for each element in the database, as the forth argument. The First argument is the database tdb the second is the key and the third is the data. If this function call returns anything but 0, the traversal will stop. Unlike in tdb_fetch() the programmer is not required to free either the pointer from either the key or data parameters that are passed into the function. The fn function should have the prototype: int (*tdb_traverse_func)(TDB_CONTEXT *, TDB_DATA, TDB_DATA, void *); Calling tdb_traverse with a NULL fn parameter is the appropriate way to count the number of elements in the database. RETURN VALUE
The return value is the number of elements traversed or -1 if there was an error. AUTHORS
Software: Andrew Tridgell <tridge@linuxcare.com> and Luke Kenneth Casson Leighton Man page: Ben Woodard <ben@valinux.com> SEE ALSO
gdbm(3), tdb(3) Samba Aug 16, 2000 TDB_TRAVERSE(3)

Check Out this Related Man Page

TDB_OPEN(3)                                                  Linux Programmer's Manual                                                 TDB_OPEN(3)

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) Samba Aug 16, 2000 TDB_OPEN(3)
Man Page