int db_env_set_func_unmap(int (*func_unmap)(void *addr, size_t len));
The Berkeley DB library requires the ability to unmap a file or shared memory region from memory. The func_unmap argument must conform to the following interface:
int unmap(void *addr, size_t len);
The addr argument is the argument returned by the db_env_set_func_map function when the file or region was mapped into memory, and the len argument is the same as the len argument specified to the db_env_set_func_map function when the file or region was mapped into memory.
The func_unmap function must return the value of errno on failure and 0 on success.
The db_env_set_func_unmap interface affects the entire application, not a single database or database environment.
Although the db_env_set_func_unmap 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_unmap function returns a non-zero error value on failure and 0 on success.
The db_env_set_func_unmap function may fail and return a non-zero error for the following conditions:
The db_env_set_func_unmap 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_unmap function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.
Copyright Sleepycat Software