db_env_set_func_dirfree

APIRef

#include <db.h>

int db_env_set_func_dirfree(void (*func_dirfree)(char **namesp, int cnt));

Description

The Berkeley DB library requires the ability to return any memory allocated as part of the routine which reads through a directory and creates a list of files that the directory contains (see db_env_set_func_dirlist). The func_dirfree argument must conform to the following interface:

int dirfree(char **namesp, int cnt);

The namesp and cnt arguments are the same values as were returned by the db_env_set_func_dirlist function.

The func_dirfree function must return the value of errno on failure and 0 on success.

The db_env_set_func_dirfree interface affects the entire application, not a single database or database environment.

Although the db_env_set_func_dirfree interface may be used to configure Berkeley DB at any time during the life of the application, it should normally be called before making any calls to the db_env_create or db_create functions.

The db_env_set_func_dirfree function returns a non-zero error value on failure and 0 on success.

Errors

The db_env_set_func_dirfree function may fail and return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

The db_env_set_func_dirfree function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the db_env_set_func_dirfree function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

See Also

db_env_set_func_close, db_env_set_func_dirfree, db_env_set_func_dirlist, db_env_set_func_exists, db_env_set_func_free, db_env_set_func_fsync, db_env_set_func_ioinfo, db_env_set_func_malloc, db_env_set_func_map, db_env_set_func_open, db_env_set_func_read, db_env_set_func_realloc, db_env_set_func_seek, db_env_set_func_sleep, db_env_set_func_unlink, db_env_set_func_unmap, db_env_set_func_write, and db_env_set_func_yield.

APIRef

Copyright Sleepycat Software