int db_env_set_func_dirfree(void (*func_dirfree)(char **namesp, int cnt));
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 interface must return the value of errno on failure and 0 on success.
The db_env_set_func_dirfree method configures all operations performed by a process and all of its threads of control, not operations confined to a single database environment.
Although the db_env_set_func_dirfree interface may be called at any time during the life of the application, it should normally be called before making calls to the db_env_create or db_create methods.
The db_env_set_func_dirfree method returns a non-zero error value on failure and 0 on success.
The db_env_set_func_dirfree method may fail and return a non-zero error for the following conditions:
The db_env_set_func_dirfree method 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 method may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.
Copyright Sleepycat Software