File: memp_set_fileid.html

package info (click to toggle)
evolution-data-server 1.0.4-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 39,504 kB
  • ctags: 26,423
  • sloc: ansic: 175,347; tcl: 30,499; sh: 20,699; perl: 11,320; xml: 9,039; java: 7,653; cpp: 6,029; makefile: 4,866; awk: 1,338; yacc: 1,103; sed: 772; cs: 505; lex: 134; asm: 14
file content (75 lines) | stat: -rw-r--r-- 4,170 bytes parent folder | download | duplicates (3)
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
<!--$Id: memp_set_fileid.html,v 1.1.1.1 2003/11/20 22:14:26 toshok Exp $-->
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: DB_MPOOLFILE-&gt;set_fileid</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table width="100%"><tr valign=top>
<td>
<h1>DB_MPOOLFILE-&gt;set_fileid</h1>
</td>
<td align=right>
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
DB_MPOOLFILE-&gt;set_fileid(DB_MPOOLFILE *mpf, u_int8_t *fileid);
</pre></h3>
<h1>Description</h1>
<p>The shared memory buffer pool functions must be able to uniquely
identify files in order that multiple processes wanting to share a file
will correctly identify it in the pool.  The DB_MPOOLFILE-&gt;set_fileid method
specifies a unique identifier for the file.  Unique file identifiers
must be a DB_FILE_ID_LEN length array of bytes.
<p>On most UNIX/POSIX systems, the <b>fileid</b> field will not need to
be set, and the memory pool functions will use the file's device and
inode numbers for this purpose.  On Windows systems, the memory pool
functions use the values returned by GetFileInformationByHandle() by
default -- these values are known to be constant between processes and
over reboot in the case of NTFS (in which they are the NTFS MFT
indices).
<p>On other filesystems (for example, FAT or NFS), these default values
are not necessarily unique between processes or across system reboots.
<b>Applications wanting to maintain a shared memory buffer pool
between processes or across system reboots, in which the pool contains
pages from files stored on such filesystems, must specify a unique file
identifier using the DB_MPOOLFILE-&gt;set_fileid method, and each process opening
the file must provide the same unique identifier.</b>
<p>This call should not be necessary for most applications.  Specifically,
it is not necessary if the memory pool is not shared between processes
and is reinstantiated after each system reboot, if the application is
using the Berkeley DB access methods instead of calling the pool functions
explicitly, or if the files in the memory pool are stored on filesystems
in which the default values as described previously are invariant
between process and across system reboots.
<p>The DB_MPOOLFILE-&gt;set_fileid method configures a file in the memory pool, not only
operations performed using the specified <a href="../api_c/mempfile_class.html">DB_MPOOLFILE</a> handle.
<p>The DB_MPOOLFILE-&gt;set_fileid interface may not be called after the <a href="../api_c/memp_fopen.html">DB_MPOOLFILE-&gt;open</a>
interface is called.
<p>The DB_MPOOLFILE-&gt;set_fileid method returns a non-zero error value on failure and 0 on success.
<h1>Errors</h1>
<p>The DB_MPOOLFILE-&gt;set_fileid method 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_MPOOLFILE-&gt;set_fileid method may fail and
return <a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>,
in which case all subsequent Berkeley DB calls will fail in the same way.
<h1>Class</h1>
<a href="../api_c/env_class.html">DB_ENV</a>, <a href="../api_c/mempfile_class.html">DB_MPOOLFILE</a>
<h1>See Also</h1>
<a href="../api_c/memp_list.html">Memory Pools and Related Methods</a>
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>