# DbEnv::set_recovery_init

`

###

    #include <db_cxx.h>

    int
    DbEnv::set_recovery_init(int (*db_recovery_init_fcn)(DbEnv *));

# Description

Applications installing application-specific recovery methods need to be called before Berkeley DB performs recovery so they may add their recovery methods to Berkeley DB's.

The DbEnv::set_recovery_init method supports this functionality. The db_recovery_init_fcn method must be declared with one argument, a reference to the enclosing Berkeley DB environment. This method will be called after the DbEnv::open has been called, but before recovery is started.

If the db_recovery_init_fcn method returns a non-zero value, no recovery will be performed and DbEnv::open will return the same value to its caller.

The DbEnv::set_recovery_init interface may only be used to configure Berkeley DB before the DbEnv::open interface is called.

The DbEnv::set_recovery_init method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success.

# Errors

EINVAL
  An invalid flag value or parameter was specified.

  Called after DbEnv::open was called.

### Class

DbEnv

# See Also

DbEnv::close, DbEnv::open, DbEnv::remove, DbEnv::err, DbEnv::strerror, DbEnv::version, DbEnv::set_cachesize, DbEnv::set_errcall, DbEnv::set_errfile, DbEnv::set_error_stream, DbEnv::set_errpfx, DbEnv::set_paniccall, and DbEnv::set_verbose.`

Copyright Sleepycat Software