<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>db_env_set_func_region_map</title> <link rel="stylesheet" href="apiReference.css" type="text/css" /> <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> <link rel="start" href="index.html" title="Berkeley DB C API Reference" /> <link rel="up" href="setfunc.html" title="Appendix C. Berkeley DB Application Space Static Functions" /> <link rel="prev" href="db_env_set_func_realloc.html" title="db_env_set_func_realloc" /> <link rel="next" href="db_env_set_func_rename.html" title="db_env_set_func_rename" /> </head> <body> <div xmlns="" class="navheader"> <div class="libver"> <p>Library Version 11.2.5.3</p> </div> <table width="100%" summary="Navigation header"> <tr> <th colspan="3" align="center">db_env_set_func_region_map</th> </tr> <tr> <td width="20%" align="left"><a accesskey="p" href="db_env_set_func_realloc.html">Prev</a> </td> <th width="60%" align="center">Appendix C. Berkeley DB Application Space Static Functions </th> <td width="20%" align="right"> <a accesskey="n" href="db_env_set_func_rename.html">Next</a></td> </tr> </table> <hr /> </div> <div class="sect1" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"><a id="db_env_set_func_region_map"></a>db_env_set_func_region_map</h2> </div> </div> </div> <pre class="programlisting">#include <db.h> int db_env_set_func_region_map(int (*func_region_map)(DB_ENV *dbenv, char *path, size_t len, int *is_create, void **addr), int (*func_region_unmap)(DB_ENV *dbenv, void *addr)); </pre> <p> The Berkeley DB library optionally uses the ability to create shared memory regions (which may or may not be backed by physical files). The memory will be used as a shared memory region for synchronization between Berkeley DB threads/processes; while the returned memory may be of any kind (for example, anonymous memory), it must be able to support semaphores. </p> <p> The <code class="function">db_env_set_func_region_map()</code> function configures all operations performed by a process and all of its threads of control, not operations confined to a single database environment. </p> <p> Although the <code class="function">db_env_set_func_region_map()</code> function may be called at any time during the life of the application, it should normally be called before making calls to the <a class="xref" href="envcreate.html" title="db_env_create">db_env_create</a> or <a class="xref" href="dbcreate.html" title="db_create">db_create</a> methods. </p> <p> The <code class="function">db_env_set_func_region_map()</code> <span> function returns a non-zero error value on failure and 0 on success. </span> </p> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="idp63656280"></a>Parameters</h3> </div> </div> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp63656472"></a>func_region_map</h4> </div> </div> </div> <p> The <span class="bold"><strong>func_region_map</strong></span> parameter is the function which creates shared memory regions. The function takes 5 parameters: </p> <div class="itemizedlist"> <ul type="disc"> <li> <p> <span class="bold"><strong>dbenv</strong></span> </p> <p> The <span class="bold"><strong>dbenv</strong></span> parameter is the enclosing database environment handle. This handle is provided to uniquely identify a shared memory region: the <span class="bold"><strong>dbenv</strong></span> parameter and the path are a unique identifier pair for mapping any new region, and the <span class="bold"><strong>dbenv</strong></span> parameter and the address are a unique identifier pair for unmapping any region. </p> </li> <li> <p> <span class="bold"><strong>path</strong></span> </p> <p> The <span class="bold"><strong>path</strong></span> parameter is the name of the region. Repeated requests for the shared regions of the same name, in the same database environment, should return a reference to the same memory. </p> </li> <li> <p> <span class="bold"><strong>len</strong></span> </p> <p> The <span class="bold"><strong>len</strong></span> parameter is the length, in bytes, needed for the region. </p> </li> <li> <p> <span class="bold"><strong>is_create</strong></span> </p> <p> The memory referenced by the <span class="bold"><strong>is_create</strong></span> parameter will be non-zero if flags to Berkeley DB allowed creation of the mapped region; the memory referenced by the <span class="bold"><strong>is_create</strong></span> parameter must be set to non-zero if the region is created by the <span class="bold"><strong>func_region_map</strong></span> function, and set to zero if the region is not created by the function. This returned information will determine if the region is subsequently initialized by Berkeley DB. </p> </li> <li> <p> <span class="bold"><strong>addr</strong></span> </p> <p> The <span class="bold"><strong>addr</strong></span> parameter is the memory location into which a pointer to the region or mapped file is returned. </p> </li> </ul> </div> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp63663288"></a>func_region_unmap</h4> </div> </div> </div> <p> The <span class="bold"><strong>func_region_unmap</strong></span> parameter is the function which unmaps a shared memory region. The function takes 2 parameters: </p> <div class="itemizedlist"> <ul type="disc"> <li> <p> <span class="bold"><strong>dbenv</strong></span> </p> <p> The <span class="bold"><strong>dbenv</strong></span> parameter is the enclosing database environment handle. </p> </li> <li> <p> <span class="bold"><strong>addr</strong></span> </p> <p> The <span class="bold"><strong>addr</strong></span> parameter is the value returned by the <span class="bold"><strong>func_region_map</strong></span> function when the region was mapped into memory. </p> </li> </ul> </div> </div> </div> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="idp63661344"></a>See Also</h3> </div> </div> </div> <p> <a href="../../programmer_reference/program_runtime.html" class="olink">Run-time configuration</a> </p> </div> </div> <div class="navfooter"> <hr /> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"><a accesskey="p" href="db_env_set_func_realloc.html">Prev</a> </td> <td width="20%" align="center"> <a accesskey="u" href="setfunc.html">Up</a> </td> <td width="40%" align="right"> <a accesskey="n" href="db_env_set_func_rename.html">Next</a></td> </tr> <tr> <td width="40%" align="left" valign="top">db_env_set_func_realloc </td> <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> <td width="40%" align="right" valign="top"> db_env_set_func_rename</td> </tr> </table> </div> </body> </html>