# DBENV->set_func_dirfree |

`

###

    #include <db.h>

    int
    DBENV->set_func_dirfree(DB_ENV *dbenv,
        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 that the directory contains (see DBENV->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 DBENV->set_func_dirlist function.

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

The DBENV->set_func_dirfree interface affects the entire application, not only the environment in which it is called.

The DBENV->set_func_dirfree interface may only be used to configure Berkeley DB before the DBENV->open interface is called.

The DBENV->set_func_dirfree function returns a non-zero error value on failure and 0 on success.

# Errors

EINVAL
  An invalid flag value or parameter was specified.

  Called after DBENV->open was called.

# See Also

DBENV->set_func_close, DBENV->set_func_dirfree, DBENV->set_func_dirlist, DBENV->set_func_exists, DBENV->set_func_free, DBENV->set_func_fsync, DBENV->set_func_ioinfo, DBENV->set_func_malloc, DBENV->set_func_map, DBENV->set_func_open, DBENV->set_func_read, DBENV->set_func_realloc, DBENV->set_func_seek, DBENV->set_func_sleep, DBENV->set_func_unlink, DBENV->set_func_unmap, DBENV->set_func_write and DBENV->set_func_yield.`

Copyright Sleepycat Software