1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
|
<?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>
|