bionic (3) tdb_traverse.3.gz

Provided by: libtdb-dev_1.3.15-2_amd64 bug

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)