diff options
Diffstat (limited to 'db/docs/api_c/db_set_alloc.html')
-rw-r--r-- | db/docs/api_c/db_set_alloc.html | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/db/docs/api_c/db_set_alloc.html b/db/docs/api_c/db_set_alloc.html new file mode 100644 index 000000000..90d55f0cc --- /dev/null +++ b/db/docs/api_c/db_set_alloc.html @@ -0,0 +1,130 @@ +<!--Id: db_set_alloc.so,v 10.1 2001/04/04 19:06:25 bostic Exp --> +<!--Id: env_set_alloc.so,v 1.3 2001/05/01 14:23:07 bostic Exp --> +<!--Copyright 1997-2001 by Sleepycat Software, Inc.--> +<!--All rights reserved.--> +<html> +<head> +<title>Berkeley DB: DB->set_alloc</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->set_alloc</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 <db.h> +<p> +int +DB->set_alloc(DB *db, + void *(*app_malloc)(size_t size), + void *(*app_realloc)(void *, size_t), + void (*app_free)(void *)); +</pre></h3> +<h1>Description</h1> +<p>Set the allocation functions used by the DB_ENV and DB +methods to allocate or free memory owned by the application. The +<a href="../api_c/env_set_alloc.html">DBENV->set_alloc</a> interface sets the allocation functions for a +database environment; the DB->set_alloc interface sets the +allocation functions for a single database. If both are specified, +functions specified for a database will be used in preference to +functions specified for environment. +<p>There are a number of interfaces in Berkeley DB where memory is allocated by +the library and then given to the application. For example, the +<a href="../api_c/dbt.html#DB_DBT_MALLOC">DB_DBT_MALLOC</a> flag, when specified in the <a href="../api_c/dbt.html">DBT</a> object, +will cause the DB methods to allocate and reallocate memory +which then becomes the responsibility of the calling application. (See +<a href="../api_c/dbt.html">DBT</a> for more information.) Other examples are the Berkeley DB +interfaces which return statistical information to the application: +<a href="../api_c/db_stat.html">DB->stat</a>, <a href="../api_c/lock_stat.html">lock_stat</a>, <a href="../api_c/log_archive.html">log_archive</a>, +<a href="../api_c/log_stat.html">log_stat</a>, <a href="../api_c/memp_stat.html">memp_stat</a>, and <a href="../api_c/txn_stat.html">txn_stat</a>. There is +one interface in the Berkeley DB where memory is allocated by the application +and then given to the library: <a href="../api_c/db_associate.html">DB->associate</a>. +<p>On systems in which there may be multiple library versions of the +standard allocation routines (notably Windows NT), transferring memory +between the library and the application will fail because the Berkeley DB +library allocates memory from a different heap than the application uses +to free it. To avoid this problem, the <a href="../api_c/env_set_alloc.html">DBENV->set_alloc</a> and +DB->set_alloc functions can be used to pass Berkeley DB references to the +application's allocation routines. +<p>It is not an error to not specify all three arguments to these +interfaces; however, in that case the specified interfaces must be +compatible with the standard library interfaces, as they will be used +together. The functions specified must match the calling +conventions of the ANSI C X3.159-1989 (ANSI C) library routines of the same name. +<p>For DB handles opened inside of Berkeley DB environments, calling the +DB->set_alloc function affects the entire environment and is equivalent to calling +the <a href="../api_c/env_set_alloc.html">DBENV->set_alloc</a> function. +<p>The DB->set_alloc interface may be used only to configure Berkeley DB before +the <a href="../api_c/db_open.html">DB->open</a> interface is called. +<p>The DB->set_alloc function returns a non-zero error value on failure and 0 on success. +<h1>Errors</h1> +<p>The DB->set_alloc function may fail and return a non-zero error for the following conditions: +<p><dl compact> +<p><dt>EINVAL<dd>An invalid flag value or parameter was specified. +</dl> +<p>The DB->set_alloc function 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->set_alloc function 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>See Also</h1> +<a href="../api_c/db_create.html">db_create</a>, +<a href="../api_c/db_associate.html">DB->associate</a>, +<a href="../api_c/db_close.html">DB->close</a>, +<a href="../api_c/db_cursor.html">DB->cursor</a>, +<a href="../api_c/db_del.html">DB->del</a>, +<a href="../api_c/db_err.html">DB->err</a>, <a href="../api_c/db_err.html">DB->errx</a> +<a href="../api_c/db_fd.html">DB->fd</a>, +<a href="../api_c/db_get.html">DB->get</a>, +<a href="../api_c/db_get.html">DB->pget</a>, +<a href="../api_c/db_get_byteswapped.html">DB->get_byteswapped</a>, +<a href="../api_c/db_get_type.html">DB->get_type</a>, +<a href="../api_c/db_join.html">DB->join</a>, +<a href="../api_c/db_key_range.html">DB->key_range</a>, +<a href="../api_c/db_open.html">DB->open</a>, +<a href="../api_c/db_put.html">DB->put</a>, +<a href="../api_c/db_remove.html">DB->remove</a>, +<a href="../api_c/db_rename.html">DB->rename</a>, +<a href="../api_c/db_set_alloc.html">DB->set_alloc</a>, +<a href="../api_c/db_set_append_recno.html">DB->set_append_recno</a>, +<a href="../api_c/db_set_bt_compare.html">DB->set_bt_compare</a>, +<a href="../api_c/db_set_bt_minkey.html">DB->set_bt_minkey</a>, +<a href="../api_c/db_set_bt_prefix.html">DB->set_bt_prefix</a>, +<a href="../api_c/db_set_cachesize.html">DB->set_cachesize</a>, +<a href="../api_c/db_set_dup_compare.html">DB->set_dup_compare</a>, +<a href="../api_c/db_set_errcall.html">DB->set_errcall</a>, +<a href="../api_c/db_set_errfile.html">DB->set_errfile</a>, +<a href="../api_c/db_set_errpfx.html">DB->set_errpfx</a>, +<a href="../api_c/db_set_feedback.html">DB->set_feedback</a>, +<a href="../api_c/db_set_flags.html">DB->set_flags</a>, +<a href="../api_c/db_set_h_ffactor.html">DB->set_h_ffactor</a>, +<a href="../api_c/db_set_h_hash.html">DB->set_h_hash</a>, +<a href="../api_c/db_set_h_nelem.html">DB->set_h_nelem</a>, +<a href="../api_c/db_set_lorder.html">DB->set_lorder</a>, +<a href="../api_c/db_set_pagesize.html">DB->set_pagesize</a>, +<a href="../api_c/db_set_paniccall.html">DB->set_paniccall</a>, +<a href="../api_c/db_set_q_extentsize.html">DB->set_q_extentsize</a>, +<a href="../api_c/db_set_re_delim.html">DB->set_re_delim</a>, +<a href="../api_c/db_set_re_len.html">DB->set_re_len</a>, +<a href="../api_c/db_set_re_pad.html">DB->set_re_pad</a>, +<a href="../api_c/db_set_re_source.html">DB->set_re_source</a>, +<a href="../api_c/db_stat.html">DB->stat</a>, +<a href="../api_c/db_sync.html">DB->sync</a>, +<a href="../api_c/db_truncate.html">DB->truncate</a>, +<a href="../api_c/db_upgrade.html">DB->upgrade</a>, +and +<a href="../api_c/db_verify.html">DB->verify</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> |