db_env_create
Prev | Chapter 5. The DB_ENV Handle | Next

## db_env_create

    #include <db.h>

    int
    db_env_create(DB_ENV **dbenvp, u_int32_t flags);

The `db_env_create()` function creates a `DB_ENV` structure that is the handle for a Berkeley DB environment. This function allocates memory for the structure, returning a pointer to the structure in the memory to which dbenvp refers. To release the allocated memory and discard the handle, call the DB_ENV->close() or DB_ENV->remove() methods.

`DB_ENV` handles are free-threaded if the DB_THREAD flag is specified to the DB_ENV->open() method when the environment is opened. The `DB_ENV` handle should not be closed while any other handle remains open that is using it as a reference (for example, DB or DB_TXN). Once either the DB_ENV->close() or DB_ENV->remove() methods are called, the handle may not be accessed again, regardless of the method's return.

Before the handle may be used, you must open it using the DB_ENV->open() method.

The DB_ENV handle contains a special field, `app_private`, which is declared as type `void *`. This field is provided for the use of the application program. It is initialized to NULL and is not further used by Berkeley DB in any way.

The `db_env_create()` method returns a non-zero error value on failure and 0 on success.

The flags parameter must be set to 0.

### Class

DB_ENV

### See Also

Database Environments and Related Methods

Prev | Up | Next
DB_ENV->close() | Home | DB_ENV->dbremove()