db_env_set_func_file_map

#include <db.h>

int
db_env_set_func_file_map(int (*func_file_map)(DB_ENV *dbenv, char *path, 
    size_t len, int is_rdonly, void **addr),
    int (*func_file_unmap)(DB_ENV *dbenv, void *addr));  

The Berkeley DB library optionally uses the ability to map a file into memory.

The db_env_set_func_file_map() function 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_file_map() function 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_file_map() function returns a non-zero error value on failure and 0 on success.

Parameters

func_file_map

The func_file_map parameter is the function which maps a file into memory. The function takes 5 parameters:

  • dbenv

    The dbenv parameter is the enclosing database environment handle.

  • path

    The path parameter is the name of file. Repeated requests for the mapping of the same name should return a reference to the same memory.

  • len

    The len parameter is the length, in bytes, of the file.

  • is_rdonly

    The is_rdonly parameter will be non-zero if the mapped file is read-only.

  • addr

    The addr parameter is the memory location into which a pointer to the mapped file is returned.

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

func_file_unmap

The func_file_unmap parameter is the function which unmaps a file from memory. The function takes 2 parameters:

  • dbenv

    The dbenv parameter is the enclosing database environment handle.

  • addr

    The addr parameter is the value returned by the func_file_map function when the file or region was mapped into memory.

See Also

Run-time configuration