Sindbad~EG File Manager
<?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="idp55696776"></a>Parameters</h3>
</div>
</div>
</div>
<div class="sect3" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h4 class="title"><a id="idp55696968"></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="idp55703784"></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="idp55701840"></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>
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists