#include "db_config.h"
#include "db_int.h"
#ifdef HAVE_SYSTEM_INCLUDE_FILES
#include <rpc/rpc.h>
#endif
#include "db_server.h"
#include "dbinc/txn.h"
#include "dbinc_auto/rpc_client_ext.h"
static int __dbcl_dbp_illegal __P((DB *));
static int __dbcl_noserver __P((DB_ENV *));
static int __dbcl_txn_illegal __P((DB_TXN *));
static int
__dbcl_noserver(dbenv)
DB_ENV *dbenv;
{
__db_errx(dbenv == NULL ? NULL : dbenv->env,
"No Berkeley DB RPC server environment");
return (DB_NOSERVER);
}
int
__dbcl_dbenv_illegal(dbenv)
DB_ENV *dbenv;
{
__db_errx(dbenv == NULL ? NULL : dbenv->env,
"Interface not supported by Berkeley DB RPC client environments");
return (DB_OPNOTSUP);
}
static int
__dbcl_dbp_illegal(dbp)
DB *dbp;
{
return (__dbcl_dbenv_illegal(dbp->dbenv));
}
static int
__dbcl_txn_illegal(txn)
DB_TXN *txn;
{
return (__dbcl_dbenv_illegal(txn->mgrp->env->dbenv));
}
int
__dbcl_env_create(dbenv, timeout)
DB_ENV * dbenv;
long timeout;
{
CLIENT *cl;
__env_create_msg msg;
__env_create_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.timeout = (u_int)timeout;
replyp = __db_env_create_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_env_create_ret(dbenv, timeout, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_create_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_cdsgroup_begin(dbenv, txnpp)
DB_ENV * dbenv;
DB_TXN ** txnpp;
{
CLIENT *cl;
__env_cdsgroup_begin_msg msg;
__env_cdsgroup_begin_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_cdsgroup_begin_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_env_cdsgroup_begin_ret(dbenv, txnpp, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_cdsgroup_begin_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_close(dbenv, flags)
DB_ENV * dbenv;
u_int32_t flags;
{
CLIENT *cl;
__env_close_msg msg;
__env_close_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
msg.flags = (u_int)flags;
replyp = __db_env_close_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_close_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_dbremove(dbenv, txnp, name, subdb, flags)
DB_ENV * dbenv;
DB_TXN * txnp;
const char * name;
const char * subdb;
u_int32_t flags;
{
CLIENT *cl;
__env_dbremove_msg msg;
__env_dbremove_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
if (name == NULL)
msg.name = "";
else
msg.name = (char *)name;
if (subdb == NULL)
msg.subdb = "";
else
msg.subdb = (char *)subdb;
msg.flags = (u_int)flags;
replyp = __db_env_dbremove_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_dbremove_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_dbrename(dbenv, txnp, name, subdb, newname, flags)
DB_ENV * dbenv;
DB_TXN * txnp;
const char * name;
const char * subdb;
const char * newname;
u_int32_t flags;
{
CLIENT *cl;
__env_dbrename_msg msg;
__env_dbrename_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
if (name == NULL)
msg.name = "";
else
msg.name = (char *)name;
if (subdb == NULL)
msg.subdb = "";
else
msg.subdb = (char *)subdb;
if (newname == NULL)
msg.newname = "";
else
msg.newname = (char *)newname;
msg.flags = (u_int)flags;
replyp = __db_env_dbrename_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_dbrename_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_get_cachesize(dbenv, gbytesp, bytesp, ncachep)
DB_ENV * dbenv;
u_int32_t * gbytesp;
u_int32_t * bytesp;
int * ncachep;
{
CLIENT *cl;
__env_get_cachesize_msg msg;
__env_get_cachesize_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_cachesize_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (gbytesp != NULL)
*gbytesp = (u_int32_t)replyp->gbytes;
if (bytesp != NULL)
*bytesp = (u_int32_t)replyp->bytes;
if (ncachep != NULL)
*ncachep = (int)replyp->ncache;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_cachesize_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_get_encrypt_flags(dbenv, flagsp)
DB_ENV * dbenv;
u_int32_t * flagsp;
{
CLIENT *cl;
__env_get_encrypt_flags_msg msg;
__env_get_encrypt_flags_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_encrypt_flags_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = (u_int32_t)replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_encrypt_flags_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_get_flags(dbenv, flagsp)
DB_ENV * dbenv;
u_int32_t * flagsp;
{
CLIENT *cl;
__env_get_flags_msg msg;
__env_get_flags_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_flags_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = (u_int32_t)replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_flags_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_get_home(dbenv, homep)
DB_ENV * dbenv;
const char * * homep;
{
CLIENT *cl;
__env_get_home_msg msg;
__env_get_home_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_home_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (homep != NULL)
*homep = (const char *)replyp->home;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_home_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_get_open_flags(dbenv, flagsp)
DB_ENV * dbenv;
u_int32_t * flagsp;
{
CLIENT *cl;
__env_get_open_flags_msg msg;
__env_get_open_flags_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_open_flags_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = (u_int32_t)replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_open_flags_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_open(dbenv, home, flags, mode)
DB_ENV * dbenv;
const char * home;
u_int32_t flags;
int mode;
{
CLIENT *cl;
__env_open_msg msg;
__env_open_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
if (home == NULL)
msg.home = "";
else
msg.home = (char *)home;
msg.flags = (u_int)flags;
msg.mode = (u_int)mode;
replyp = __db_env_open_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_env_open_ret(dbenv, home, flags, mode, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_open_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_remove(dbenv, home, flags)
DB_ENV * dbenv;
const char * home;
u_int32_t flags;
{
CLIENT *cl;
__env_remove_msg msg;
__env_remove_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
if (home == NULL)
msg.home = "";
else
msg.home = (char *)home;
msg.flags = (u_int)flags;
replyp = __db_env_remove_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_env_remove_ret(dbenv, home, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_remove_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_set_cachesize(dbenv, gbytes, bytes, ncache)
DB_ENV * dbenv;
u_int32_t gbytes;
u_int32_t bytes;
int ncache;
{
CLIENT *cl;
__env_set_cachesize_msg msg;
__env_set_cachesize_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
msg.gbytes = (u_int)gbytes;
msg.bytes = (u_int)bytes;
msg.ncache = (u_int)ncache;
replyp = __db_env_set_cachesize_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_set_cachesize_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_set_encrypt(dbenv, passwd, flags)
DB_ENV * dbenv;
const char * passwd;
u_int32_t flags;
{
CLIENT *cl;
__env_set_encrypt_msg msg;
__env_set_encrypt_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
if (passwd == NULL)
msg.passwd = "";
else
msg.passwd = (char *)passwd;
msg.flags = (u_int)flags;
replyp = __db_env_set_encrypt_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_set_encrypt_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_set_flags(dbenv, flags, onoff)
DB_ENV * dbenv;
u_int32_t flags;
int onoff;
{
CLIENT *cl;
__env_set_flags_msg msg;
__env_set_flags_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
msg.flags = (u_int)flags;
msg.onoff = (u_int)onoff;
replyp = __db_env_set_flags_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_set_flags_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_txn_begin(dbenv, parent, txnpp, flags)
DB_ENV * dbenv;
DB_TXN * parent;
DB_TXN ** txnpp;
u_int32_t flags;
{
CLIENT *cl;
__env_txn_begin_msg msg;
__env_txn_begin_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
if (parent == NULL)
msg.parentcl_id = 0;
else
msg.parentcl_id = parent->txnid;
msg.flags = (u_int)flags;
replyp = __db_env_txn_begin_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_env_txn_begin_ret(dbenv, parent, txnpp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_txn_begin_reply, (void *)replyp);
return (ret);
}
int
__dbcl_env_txn_recover(dbenv, preplist, count, retp, flags)
DB_ENV * dbenv;
DB_PREPLIST * preplist;
long count;
long * retp;
u_int32_t flags;
{
CLIENT *cl;
__env_txn_recover_msg msg;
__env_txn_recover_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
msg.count = (u_int)count;
msg.flags = (u_int)flags;
replyp = __db_env_txn_recover_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_env_txn_recover_ret(dbenv, preplist, count, retp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_txn_recover_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_create(dbp, dbenv, flags)
DB * dbp;
DB_ENV * dbenv;
u_int32_t flags;
{
CLIENT *cl;
__db_create_msg msg;
__db_create_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
msg.dbenvcl_id = dbenv->cl_id;
msg.flags = (u_int)flags;
replyp = __db_db_create_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_create_ret(dbp, dbenv, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_create_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_associate(dbp, txnp, sdbp, func0, flags)
DB * dbp;
DB_TXN * txnp;
DB * sdbp;
int (*func0) __P((DB *, const DBT *, const DBT *, DBT *));
u_int32_t flags;
{
CLIENT *cl;
__db_associate_msg msg;
__db_associate_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (func0 != NULL) {
__db_errx(dbenv->env, "User functions not supported in RPC");
return (EINVAL);
}
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
if (sdbp == NULL)
msg.sdbpcl_id = 0;
else
msg.sdbpcl_id = sdbp->cl_id;
msg.flags = (u_int)flags;
replyp = __db_db_associate_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_associate_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_close(dbp, flags)
DB * dbp;
u_int32_t flags;
{
CLIENT *cl;
__db_close_msg msg;
__db_close_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.flags = (u_int)flags;
replyp = __db_db_close_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_close_ret(dbp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_close_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_cursor(dbp, txnp, dbcpp, flags)
DB * dbp;
DB_TXN * txnp;
DBC ** dbcpp;
u_int32_t flags;
{
CLIENT *cl;
__db_cursor_msg msg;
__db_cursor_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.flags = (u_int)flags;
replyp = __db_db_cursor_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_cursor_ret(dbp, txnp, dbcpp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_cursor_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_del(dbp, txnp, key, flags)
DB * dbp;
DB_TXN * txnp;
DBT * key;
u_int32_t flags;
{
CLIENT *cl;
__db_del_msg msg;
__db_del_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.keydlen = key->dlen;
msg.keydoff = key->doff;
msg.keyulen = key->ulen;
msg.keyflags = key->flags;
msg.keydata.keydata_val = key->data;
msg.keydata.keydata_len = key->size;
msg.flags = (u_int)flags;
replyp = __db_db_del_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_del_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get(dbp, txnp, key, data, flags)
DB * dbp;
DB_TXN * txnp;
DBT * key;
DBT * data;
u_int32_t flags;
{
CLIENT *cl;
__db_get_msg msg;
__db_get_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.keydlen = key->dlen;
msg.keydoff = key->doff;
msg.keyulen = key->ulen;
msg.keyflags = key->flags;
msg.keydata.keydata_val = key->data;
msg.keydata.keydata_len = key->size;
msg.datadlen = data->dlen;
msg.datadoff = data->doff;
msg.dataulen = data->ulen;
msg.dataflags = data->flags;
msg.datadata.datadata_val = data->data;
msg.datadata.datadata_len = data->size;
msg.flags = (u_int)flags;
replyp = __db_db_get_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_get_ret(dbp, txnp, key, data, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_bt_minkey(dbp, minkeyp)
DB * dbp;
u_int32_t * minkeyp;
{
CLIENT *cl;
__db_get_bt_minkey_msg msg;
__db_get_bt_minkey_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_bt_minkey_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (minkeyp != NULL)
*minkeyp = (u_int32_t)replyp->minkey;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_bt_minkey_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_dbname(dbp, filenamep, dbnamep)
DB * dbp;
const char * * filenamep;
const char * * dbnamep;
{
CLIENT *cl;
__db_get_dbname_msg msg;
__db_get_dbname_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_dbname_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (filenamep != NULL)
*filenamep = (const char *)replyp->filename;
if (dbnamep != NULL)
*dbnamep = (const char *)replyp->dbname;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_dbname_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_encrypt_flags(dbp, flagsp)
DB * dbp;
u_int32_t * flagsp;
{
CLIENT *cl;
__db_get_encrypt_flags_msg msg;
__db_get_encrypt_flags_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_encrypt_flags_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = (u_int32_t)replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_encrypt_flags_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_flags(dbp, flagsp)
DB * dbp;
u_int32_t * flagsp;
{
CLIENT *cl;
__db_get_flags_msg msg;
__db_get_flags_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_flags_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = (u_int32_t)replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_flags_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_h_ffactor(dbp, ffactorp)
DB * dbp;
u_int32_t * ffactorp;
{
CLIENT *cl;
__db_get_h_ffactor_msg msg;
__db_get_h_ffactor_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_h_ffactor_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (ffactorp != NULL)
*ffactorp = (u_int32_t)replyp->ffactor;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_h_ffactor_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_h_nelem(dbp, nelemp)
DB * dbp;
u_int32_t * nelemp;
{
CLIENT *cl;
__db_get_h_nelem_msg msg;
__db_get_h_nelem_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_h_nelem_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (nelemp != NULL)
*nelemp = (u_int32_t)replyp->nelem;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_h_nelem_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_lorder(dbp, lorderp)
DB * dbp;
int * lorderp;
{
CLIENT *cl;
__db_get_lorder_msg msg;
__db_get_lorder_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_lorder_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (lorderp != NULL)
*lorderp = (int)replyp->lorder;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_lorder_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_open_flags(dbp, flagsp)
DB * dbp;
u_int32_t * flagsp;
{
CLIENT *cl;
__db_get_open_flags_msg msg;
__db_get_open_flags_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_open_flags_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = (u_int32_t)replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_open_flags_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_pagesize(dbp, pagesizep)
DB * dbp;
u_int32_t * pagesizep;
{
CLIENT *cl;
__db_get_pagesize_msg msg;
__db_get_pagesize_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_pagesize_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (pagesizep != NULL)
*pagesizep = (u_int32_t)replyp->pagesize;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_pagesize_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_priority(dbp, priorityp)
DB * dbp;
DB_CACHE_PRIORITY * priorityp;
{
CLIENT *cl;
__db_get_priority_msg msg;
__db_get_priority_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_priority_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (priorityp != NULL)
*priorityp = (DB_CACHE_PRIORITY)replyp->priority;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_priority_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_q_extentsize(dbp, extentsizep)
DB * dbp;
u_int32_t * extentsizep;
{
CLIENT *cl;
__db_get_q_extentsize_msg msg;
__db_get_q_extentsize_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_q_extentsize_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (extentsizep != NULL)
*extentsizep = (u_int32_t)replyp->extentsize;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_q_extentsize_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_re_delim(dbp, delimp)
DB * dbp;
int * delimp;
{
CLIENT *cl;
__db_get_re_delim_msg msg;
__db_get_re_delim_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_re_delim_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (delimp != NULL)
*delimp = (int)replyp->delim;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_re_delim_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_re_len(dbp, lenp)
DB * dbp;
u_int32_t * lenp;
{
CLIENT *cl;
__db_get_re_len_msg msg;
__db_get_re_len_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_re_len_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (lenp != NULL)
*lenp = (u_int32_t)replyp->len;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_re_len_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_get_re_pad(dbp, padp)
DB * dbp;
int * padp;
{
CLIENT *cl;
__db_get_re_pad_msg msg;
__db_get_re_pad_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
replyp = __db_db_get_re_pad_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (padp != NULL)
*padp = (int)replyp->pad;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_re_pad_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_join(dbp, curs, dbcp, flags)
DB * dbp;
DBC ** curs;
DBC ** dbcp;
u_int32_t flags;
{
CLIENT *cl;
__db_join_msg msg;
__db_join_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
DBC ** cursp;
int cursi;
u_int32_t * cursq;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
for (cursi = 0, cursp = curs; *cursp != 0; cursi++, cursp++)
;
msg.curs.curs_len = (u_int)cursi;
if ((ret = __os_calloc(dbenv->env,
msg.curs.curs_len, sizeof(u_int32_t), &msg.curs.curs_val)) != 0)
return (ret);
for (cursq = msg.curs.curs_val, cursp = curs; cursi--; cursq++, cursp++)
*cursq = (*cursp)->cl_id;
msg.flags = (u_int)flags;
replyp = __db_db_join_4007(&msg, cl);
__os_free(dbenv->env, msg.curs.curs_val);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_join_ret(dbp, curs, dbcp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_join_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_key_range(dbp, txnp, key, range, flags)
DB * dbp;
DB_TXN * txnp;
DBT * key;
DB_KEY_RANGE * range;
u_int32_t flags;
{
CLIENT *cl;
__db_key_range_msg msg;
__db_key_range_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.keydlen = key->dlen;
msg.keydoff = key->doff;
msg.keyulen = key->ulen;
msg.keyflags = key->flags;
msg.keydata.keydata_val = key->data;
msg.keydata.keydata_len = key->size;
msg.flags = (u_int)flags;
replyp = __db_db_key_range_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_key_range_ret(dbp, txnp, key, range, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_key_range_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_open(dbp, txnp, name, subdb, type, flags, mode)
DB * dbp;
DB_TXN * txnp;
const char * name;
const char * subdb;
DBTYPE type;
u_int32_t flags;
int mode;
{
CLIENT *cl;
__db_open_msg msg;
__db_open_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
if (name == NULL)
msg.name = "";
else
msg.name = (char *)name;
if (subdb == NULL)
msg.subdb = "";
else
msg.subdb = (char *)subdb;
msg.type = (u_int)type;
msg.flags = (u_int)flags;
msg.mode = (u_int)mode;
replyp = __db_db_open_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_open_ret(dbp, txnp, name, subdb, type, flags, mode, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_open_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_pget(dbp, txnp, skey, pkey, data, flags)
DB * dbp;
DB_TXN * txnp;
DBT * skey;
DBT * pkey;
DBT * data;
u_int32_t flags;
{
CLIENT *cl;
__db_pget_msg msg;
__db_pget_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.skeydlen = skey->dlen;
msg.skeydoff = skey->doff;
msg.skeyulen = skey->ulen;
msg.skeyflags = skey->flags;
msg.skeydata.skeydata_val = skey->data;
msg.skeydata.skeydata_len = skey->size;
msg.pkeydlen = pkey->dlen;
msg.pkeydoff = pkey->doff;
msg.pkeyulen = pkey->ulen;
msg.pkeyflags = pkey->flags;
msg.pkeydata.pkeydata_val = pkey->data;
msg.pkeydata.pkeydata_len = pkey->size;
msg.datadlen = data->dlen;
msg.datadoff = data->doff;
msg.dataulen = data->ulen;
msg.dataflags = data->flags;
msg.datadata.datadata_val = data->data;
msg.datadata.datadata_len = data->size;
msg.flags = (u_int)flags;
replyp = __db_db_pget_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_pget_ret(dbp, txnp, skey, pkey, data, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_pget_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_put(dbp, txnp, key, data, flags)
DB * dbp;
DB_TXN * txnp;
DBT * key;
DBT * data;
u_int32_t flags;
{
CLIENT *cl;
__db_put_msg msg;
__db_put_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.keydlen = key->dlen;
msg.keydoff = key->doff;
msg.keyulen = key->ulen;
msg.keyflags = key->flags;
msg.keydata.keydata_val = key->data;
msg.keydata.keydata_len = key->size;
msg.datadlen = data->dlen;
msg.datadoff = data->doff;
msg.dataulen = data->ulen;
msg.dataflags = data->flags;
msg.datadata.datadata_val = data->data;
msg.datadata.datadata_len = data->size;
msg.flags = (u_int)flags;
replyp = __db_db_put_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_put_ret(dbp, txnp, key, data, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_put_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_remove(dbp, name, subdb, flags)
DB * dbp;
const char * name;
const char * subdb;
u_int32_t flags;
{
CLIENT *cl;
__db_remove_msg msg;
__db_remove_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (name == NULL)
msg.name = "";
else
msg.name = (char *)name;
if (subdb == NULL)
msg.subdb = "";
else
msg.subdb = (char *)subdb;
msg.flags = (u_int)flags;
replyp = __db_db_remove_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_remove_ret(dbp, name, subdb, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_remove_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_rename(dbp, name, subdb, newname, flags)
DB * dbp;
const char * name;
const char * subdb;
const char * newname;
u_int32_t flags;
{
CLIENT *cl;
__db_rename_msg msg;
__db_rename_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (name == NULL)
msg.name = "";
else
msg.name = (char *)name;
if (subdb == NULL)
msg.subdb = "";
else
msg.subdb = (char *)subdb;
if (newname == NULL)
msg.newname = "";
else
msg.newname = (char *)newname;
msg.flags = (u_int)flags;
replyp = __db_db_rename_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_rename_ret(dbp, name, subdb, newname, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_rename_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_bt_minkey(dbp, minkey)
DB * dbp;
u_int32_t minkey;
{
CLIENT *cl;
__db_set_bt_minkey_msg msg;
__db_set_bt_minkey_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.minkey = (u_int)minkey;
replyp = __db_db_set_bt_minkey_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_bt_minkey_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_encrypt(dbp, passwd, flags)
DB * dbp;
const char * passwd;
u_int32_t flags;
{
CLIENT *cl;
__db_set_encrypt_msg msg;
__db_set_encrypt_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (passwd == NULL)
msg.passwd = "";
else
msg.passwd = (char *)passwd;
msg.flags = (u_int)flags;
replyp = __db_db_set_encrypt_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_encrypt_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_flags(dbp, flags)
DB * dbp;
u_int32_t flags;
{
CLIENT *cl;
__db_set_flags_msg msg;
__db_set_flags_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.flags = (u_int)flags;
replyp = __db_db_set_flags_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_flags_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_h_ffactor(dbp, ffactor)
DB * dbp;
u_int32_t ffactor;
{
CLIENT *cl;
__db_set_h_ffactor_msg msg;
__db_set_h_ffactor_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.ffactor = (u_int)ffactor;
replyp = __db_db_set_h_ffactor_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_h_ffactor_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_h_nelem(dbp, nelem)
DB * dbp;
u_int32_t nelem;
{
CLIENT *cl;
__db_set_h_nelem_msg msg;
__db_set_h_nelem_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.nelem = (u_int)nelem;
replyp = __db_db_set_h_nelem_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_h_nelem_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_lorder(dbp, lorder)
DB * dbp;
int lorder;
{
CLIENT *cl;
__db_set_lorder_msg msg;
__db_set_lorder_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.lorder = (u_int)lorder;
replyp = __db_db_set_lorder_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_lorder_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_pagesize(dbp, pagesize)
DB * dbp;
u_int32_t pagesize;
{
CLIENT *cl;
__db_set_pagesize_msg msg;
__db_set_pagesize_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.pagesize = (u_int)pagesize;
replyp = __db_db_set_pagesize_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_pagesize_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_priority(dbp, priority)
DB * dbp;
DB_CACHE_PRIORITY priority;
{
CLIENT *cl;
__db_set_priority_msg msg;
__db_set_priority_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.priority = (u_int)priority;
replyp = __db_db_set_priority_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_priority_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_q_extentsize(dbp, extentsize)
DB * dbp;
u_int32_t extentsize;
{
CLIENT *cl;
__db_set_q_extentsize_msg msg;
__db_set_q_extentsize_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.extentsize = (u_int)extentsize;
replyp = __db_db_set_q_extentsize_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_q_extentsize_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_re_delim(dbp, delim)
DB * dbp;
int delim;
{
CLIENT *cl;
__db_set_re_delim_msg msg;
__db_set_re_delim_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.delim = (u_int)delim;
replyp = __db_db_set_re_delim_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_re_delim_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_re_len(dbp, len)
DB * dbp;
u_int32_t len;
{
CLIENT *cl;
__db_set_re_len_msg msg;
__db_set_re_len_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.len = (u_int)len;
replyp = __db_db_set_re_len_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_re_len_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_set_re_pad(dbp, pad)
DB * dbp;
int pad;
{
CLIENT *cl;
__db_set_re_pad_msg msg;
__db_set_re_pad_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.pad = (u_int)pad;
replyp = __db_db_set_re_pad_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_set_re_pad_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_stat(dbp, txnp, sp, flags)
DB * dbp;
DB_TXN * txnp;
void * sp;
u_int32_t flags;
{
CLIENT *cl;
__db_stat_msg msg;
__db_stat_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.flags = (u_int)flags;
replyp = __db_db_stat_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_stat_ret(dbp, txnp, sp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_stat_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_sync(dbp, flags)
DB * dbp;
u_int32_t flags;
{
CLIENT *cl;
__db_sync_msg msg;
__db_sync_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
msg.flags = (u_int)flags;
replyp = __db_db_sync_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_sync_reply, (void *)replyp);
return (ret);
}
int
__dbcl_db_truncate(dbp, txnp, countp, flags)
DB * dbp;
DB_TXN * txnp;
u_int32_t * countp;
u_int32_t flags;
{
CLIENT *cl;
__db_truncate_msg msg;
__db_truncate_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbp->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbp == NULL)
msg.dbpcl_id = 0;
else
msg.dbpcl_id = dbp->cl_id;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.flags = (u_int)flags;
replyp = __db_db_truncate_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_db_truncate_ret(dbp, txnp, countp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_truncate_reply, (void *)replyp);
return (ret);
}
int
__dbcl_dbc_close(dbc)
DBC * dbc;
{
CLIENT *cl;
__dbc_close_msg msg;
__dbc_close_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbc->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbc == NULL)
msg.dbccl_id = 0;
else
msg.dbccl_id = dbc->cl_id;
replyp = __db_dbc_close_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_dbc_close_ret(dbc, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___dbc_close_reply, (void *)replyp);
return (ret);
}
int
__dbcl_dbc_count(dbc, countp, flags)
DBC * dbc;
db_recno_t * countp;
u_int32_t flags;
{
CLIENT *cl;
__dbc_count_msg msg;
__dbc_count_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbc->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbc == NULL)
msg.dbccl_id = 0;
else
msg.dbccl_id = dbc->cl_id;
msg.flags = (u_int)flags;
replyp = __db_dbc_count_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_dbc_count_ret(dbc, countp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___dbc_count_reply, (void *)replyp);
return (ret);
}
int
__dbcl_dbc_del(dbc, flags)
DBC * dbc;
u_int32_t flags;
{
CLIENT *cl;
__dbc_del_msg msg;
__dbc_del_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbc->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbc == NULL)
msg.dbccl_id = 0;
else
msg.dbccl_id = dbc->cl_id;
msg.flags = (u_int)flags;
replyp = __db_dbc_del_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___dbc_del_reply, (void *)replyp);
return (ret);
}
int
__dbcl_dbc_dup(dbc, dbcp, flags)
DBC * dbc;
DBC ** dbcp;
u_int32_t flags;
{
CLIENT *cl;
__dbc_dup_msg msg;
__dbc_dup_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbc->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbc == NULL)
msg.dbccl_id = 0;
else
msg.dbccl_id = dbc->cl_id;
msg.flags = (u_int)flags;
replyp = __db_dbc_dup_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_dbc_dup_ret(dbc, dbcp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___dbc_dup_reply, (void *)replyp);
return (ret);
}
int
__dbcl_dbc_get(dbc, key, data, flags)
DBC * dbc;
DBT * key;
DBT * data;
u_int32_t flags;
{
CLIENT *cl;
__dbc_get_msg msg;
__dbc_get_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbc->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbc == NULL)
msg.dbccl_id = 0;
else
msg.dbccl_id = dbc->cl_id;
msg.keydlen = key->dlen;
msg.keydoff = key->doff;
msg.keyulen = key->ulen;
msg.keyflags = key->flags;
msg.keydata.keydata_val = key->data;
msg.keydata.keydata_len = key->size;
msg.datadlen = data->dlen;
msg.datadoff = data->doff;
msg.dataulen = data->ulen;
msg.dataflags = data->flags;
msg.datadata.datadata_val = data->data;
msg.datadata.datadata_len = data->size;
msg.flags = (u_int)flags;
replyp = __db_dbc_get_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_dbc_get_ret(dbc, key, data, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___dbc_get_reply, (void *)replyp);
return (ret);
}
int
__dbcl_dbc_get_priority(dbc, priorityp)
DBC * dbc;
DB_CACHE_PRIORITY * priorityp;
{
CLIENT *cl;
__dbc_get_priority_msg msg;
__dbc_get_priority_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbc->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbc == NULL)
msg.dbccl_id = 0;
else
msg.dbccl_id = dbc->cl_id;
replyp = __db_dbc_get_priority_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (priorityp != NULL)
*priorityp = (DB_CACHE_PRIORITY)replyp->priority;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___dbc_get_priority_reply, (void *)replyp);
return (ret);
}
int
__dbcl_dbc_pget(dbc, skey, pkey, data, flags)
DBC * dbc;
DBT * skey;
DBT * pkey;
DBT * data;
u_int32_t flags;
{
CLIENT *cl;
__dbc_pget_msg msg;
__dbc_pget_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbc->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbc == NULL)
msg.dbccl_id = 0;
else
msg.dbccl_id = dbc->cl_id;
msg.skeydlen = skey->dlen;
msg.skeydoff = skey->doff;
msg.skeyulen = skey->ulen;
msg.skeyflags = skey->flags;
msg.skeydata.skeydata_val = skey->data;
msg.skeydata.skeydata_len = skey->size;
msg.pkeydlen = pkey->dlen;
msg.pkeydoff = pkey->doff;
msg.pkeyulen = pkey->ulen;
msg.pkeyflags = pkey->flags;
msg.pkeydata.pkeydata_val = pkey->data;
msg.pkeydata.pkeydata_len = pkey->size;
msg.datadlen = data->dlen;
msg.datadoff = data->doff;
msg.dataulen = data->ulen;
msg.dataflags = data->flags;
msg.datadata.datadata_val = data->data;
msg.datadata.datadata_len = data->size;
msg.flags = (u_int)flags;
replyp = __db_dbc_pget_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_dbc_pget_ret(dbc, skey, pkey, data, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___dbc_pget_reply, (void *)replyp);
return (ret);
}
int
__dbcl_dbc_put(dbc, key, data, flags)
DBC * dbc;
DBT * key;
DBT * data;
u_int32_t flags;
{
CLIENT *cl;
__dbc_put_msg msg;
__dbc_put_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbc->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbc == NULL)
msg.dbccl_id = 0;
else
msg.dbccl_id = dbc->cl_id;
msg.keydlen = key->dlen;
msg.keydoff = key->doff;
msg.keyulen = key->ulen;
msg.keyflags = key->flags;
msg.keydata.keydata_val = key->data;
msg.keydata.keydata_len = key->size;
msg.datadlen = data->dlen;
msg.datadoff = data->doff;
msg.dataulen = data->ulen;
msg.dataflags = data->flags;
msg.datadata.datadata_val = data->data;
msg.datadata.datadata_len = data->size;
msg.flags = (u_int)flags;
replyp = __db_dbc_put_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_dbc_put_ret(dbc, key, data, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___dbc_put_reply, (void *)replyp);
return (ret);
}
int
__dbcl_dbc_set_priority(dbc, priority)
DBC * dbc;
DB_CACHE_PRIORITY priority;
{
CLIENT *cl;
__dbc_set_priority_msg msg;
__dbc_set_priority_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = dbc->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (dbc == NULL)
msg.dbccl_id = 0;
else
msg.dbccl_id = dbc->cl_id;
msg.priority = (u_int)priority;
replyp = __db_dbc_set_priority_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___dbc_set_priority_reply, (void *)replyp);
return (ret);
}
int
__dbcl_txn_abort(txnp)
DB_TXN * txnp;
{
CLIENT *cl;
__txn_abort_msg msg;
__txn_abort_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = txnp->mgrp->env->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
replyp = __db_txn_abort_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_txn_abort_ret(txnp, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___txn_abort_reply, (void *)replyp);
return (ret);
}
int
__dbcl_txn_commit(txnp, flags)
DB_TXN * txnp;
u_int32_t flags;
{
CLIENT *cl;
__txn_commit_msg msg;
__txn_commit_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = txnp->mgrp->env->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.flags = (u_int)flags;
replyp = __db_txn_commit_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_txn_commit_ret(txnp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___txn_commit_reply, (void *)replyp);
return (ret);
}
int
__dbcl_txn_discard(txnp, flags)
DB_TXN * txnp;
u_int32_t flags;
{
CLIENT *cl;
__txn_discard_msg msg;
__txn_discard_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = txnp->mgrp->env->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
msg.flags = (u_int)flags;
replyp = __db_txn_discard_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_txn_discard_ret(txnp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___txn_discard_reply, (void *)replyp);
return (ret);
}
int
__dbcl_txn_prepare(txnp, gid)
DB_TXN * txnp;
u_int8_t * gid;
{
CLIENT *cl;
__txn_prepare_msg msg;
__txn_prepare_reply *replyp = NULL;
int ret;
DB_ENV *dbenv;
ret = 0;
dbenv = txnp->mgrp->env->dbenv;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(NULL));
cl = (CLIENT *)dbenv->cl_handle;
if (txnp == NULL)
msg.txnpcl_id = 0;
else
msg.txnpcl_id = txnp->txnid;
memcpy(msg.gid, gid, 128);
replyp = __db_txn_prepare_4007(&msg, cl);
if (replyp == NULL) {
__db_errx(dbenv->env, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___txn_prepare_reply, (void *)replyp);
return (ret);
}
void
__dbcl_dbp_init(dbp)
DB *dbp;
{
dbp->associate = __dbcl_db_associate;
dbp->close = __dbcl_db_close;
dbp->compact =
(int (*)(DB *, DB_TXN *, DBT *, DBT *, DB_COMPACT *, u_int32_t, DBT *))
__dbcl_dbp_illegal;
dbp->cursor = __dbcl_db_cursor;
dbp->del = __dbcl_db_del;
dbp->fd =
(int (*)(DB *, int *))
__dbcl_dbp_illegal;
dbp->get = __dbcl_db_get;
dbp->get_bt_minkey = __dbcl_db_get_bt_minkey;
dbp->get_cachesize =
(int (*)(DB *, u_int32_t *, u_int32_t *, int *))
__dbcl_dbp_illegal;
dbp->get_dbname = __dbcl_db_get_dbname;
dbp->get_encrypt_flags = __dbcl_db_get_encrypt_flags;
dbp->get_flags = __dbcl_db_get_flags;
dbp->get_h_ffactor = __dbcl_db_get_h_ffactor;
dbp->get_h_nelem = __dbcl_db_get_h_nelem;
dbp->get_lorder = __dbcl_db_get_lorder;
dbp->get_mpf =
(DB_MPOOLFILE * (*)(DB *))
__dbcl_dbp_illegal;
dbp->get_open_flags = __dbcl_db_get_open_flags;
dbp->get_pagesize = __dbcl_db_get_pagesize;
dbp->get_priority = __dbcl_db_get_priority;
dbp->get_q_extentsize = __dbcl_db_get_q_extentsize;
dbp->get_re_delim = __dbcl_db_get_re_delim;
dbp->get_re_len = __dbcl_db_get_re_len;
dbp->get_re_pad = __dbcl_db_get_re_pad;
dbp->get_re_source =
(int (*)(DB *, const char **))
__dbcl_dbp_illegal;
dbp->join = __dbcl_db_join;
dbp->key_range = __dbcl_db_key_range;
dbp->open = __dbcl_db_open;
dbp->pget = __dbcl_db_pget;
dbp->put = __dbcl_db_put;
dbp->remove = __dbcl_db_remove;
dbp->rename = __dbcl_db_rename;
dbp->set_alloc =
(int (*)(DB *, void *(*)(size_t), void *(*)(void *, size_t), void (*)(void *)))
__dbcl_dbp_illegal;
dbp->set_append_recno =
(int (*)(DB *, int (*)(DB *, DBT *, db_recno_t)))
__dbcl_dbp_illegal;
dbp->set_bt_compare =
(int (*)(DB *, int (*)(DB *, const DBT *, const DBT *)))
__dbcl_dbp_illegal;
dbp->set_bt_minkey = __dbcl_db_set_bt_minkey;
dbp->set_bt_prefix =
(int (*)(DB *, size_t(*)(DB *, const DBT *, const DBT *)))
__dbcl_dbp_illegal;
dbp->set_cachesize =
(int (*)(DB *, u_int32_t, u_int32_t, int))
__dbcl_dbp_illegal;
dbp->set_dup_compare =
(int (*)(DB *, int (*)(DB *, const DBT *, const DBT *)))
__dbcl_dbp_illegal;
dbp->set_encrypt = __dbcl_db_set_encrypt;
dbp->set_feedback =
(int (*)(DB *, void (*)(DB *, int, int)))
__dbcl_dbp_illegal;
dbp->set_flags = __dbcl_db_set_flags;
dbp->set_h_compare =
(int (*)(DB *, int (*)(DB *, const DBT *, const DBT *)))
__dbcl_dbp_illegal;
dbp->set_h_ffactor = __dbcl_db_set_h_ffactor;
dbp->set_h_hash =
(int (*)(DB *, u_int32_t(*)(DB *, const void *, u_int32_t)))
__dbcl_dbp_illegal;
dbp->set_h_nelem = __dbcl_db_set_h_nelem;
dbp->set_lorder = __dbcl_db_set_lorder;
dbp->set_pagesize = __dbcl_db_set_pagesize;
dbp->set_paniccall =
(int (*)(DB *, void (*)(DB_ENV *, int)))
__dbcl_dbp_illegal;
dbp->set_priority = __dbcl_db_set_priority;
dbp->set_q_extentsize = __dbcl_db_set_q_extentsize;
dbp->set_re_delim = __dbcl_db_set_re_delim;
dbp->set_re_len = __dbcl_db_set_re_len;
dbp->set_re_pad = __dbcl_db_set_re_pad;
dbp->set_re_source =
(int (*)(DB *, const char *))
__dbcl_dbp_illegal;
dbp->stat = __dbcl_db_stat;
dbp->stat_print =
(int (*)(DB *, u_int32_t))
__dbcl_dbp_illegal;
dbp->sync = __dbcl_db_sync;
dbp->truncate = __dbcl_db_truncate;
dbp->upgrade =
(int (*)(DB *, const char *, u_int32_t))
__dbcl_dbp_illegal;
dbp->verify =
(int (*)(DB *, const char *, const char *, FILE *, u_int32_t))
__dbcl_dbp_illegal;
return;
}
void
__dbcl_dbc_init(dbc)
DBC *dbc;
{
dbc->close = dbc->c_close = __dbcl_dbc_close;
dbc->count = dbc->c_count = __dbcl_dbc_count;
dbc->del = dbc->c_del = __dbcl_dbc_del;
dbc->dup = dbc->c_dup = __dbcl_dbc_dup;
dbc->get = dbc->c_get = __dbcl_dbc_get;
dbc->get_priority = __dbcl_dbc_get_priority;
dbc->pget = dbc->c_pget = __dbcl_dbc_pget;
dbc->put = dbc->c_put = __dbcl_dbc_put;
dbc->set_priority = __dbcl_dbc_set_priority;
return;
}
void
__dbcl_dbenv_init(dbenv)
DB_ENV *dbenv;
{
dbenv->cdsgroup_begin = __dbcl_env_cdsgroup_begin;
dbenv->close = __dbcl_env_close;
dbenv->dbremove = __dbcl_env_dbremove;
dbenv->dbrename = __dbcl_env_dbrename;
dbenv->failchk =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->fileid_reset =
(int (*)(DB_ENV *, const char *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->get_cache_max =
(int (*)(DB_ENV *, u_int32_t *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_cachesize = __dbcl_env_get_cachesize;
dbenv->get_data_dirs =
(int (*)(DB_ENV *, const char ***))
__dbcl_dbenv_illegal;
dbenv->get_encrypt_flags = __dbcl_env_get_encrypt_flags;
dbenv->get_flags = __dbcl_env_get_flags;
dbenv->get_home = __dbcl_env_get_home;
dbenv->get_intermediate_dir_mode =
(int (*)(DB_ENV *, const char **))
__dbcl_dbenv_illegal;
dbenv->get_lg_bsize =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_lg_dir =
(int (*)(DB_ENV *, const char **))
__dbcl_dbenv_illegal;
dbenv->get_lg_filemode =
(int (*)(DB_ENV *, int *))
__dbcl_dbenv_illegal;
dbenv->get_lg_max =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_lg_regionmax =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_lk_conflicts =
(int (*)(DB_ENV *, const u_int8_t **, int *))
__dbcl_dbenv_illegal;
dbenv->get_lk_detect =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_lk_max_lockers =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_lk_max_locks =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_lk_max_objects =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_lk_partitions =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_mp_max_openfd =
(int (*)(DB_ENV *, int *))
__dbcl_dbenv_illegal;
dbenv->get_mp_max_write =
(int (*)(DB_ENV *, int *, db_timeout_t *))
__dbcl_dbenv_illegal;
dbenv->get_mp_mmapsize =
(int (*)(DB_ENV *, size_t *))
__dbcl_dbenv_illegal;
dbenv->get_open_flags = __dbcl_env_get_open_flags;
dbenv->get_shm_key =
(int (*)(DB_ENV *, long *))
__dbcl_dbenv_illegal;
dbenv->get_thread_count =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_timeout =
(int (*)(DB_ENV *, db_timeout_t *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->get_tmp_dir =
(int (*)(DB_ENV *, const char **))
__dbcl_dbenv_illegal;
dbenv->get_tx_max =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->get_tx_timestamp =
(int (*)(DB_ENV *, time_t *))
__dbcl_dbenv_illegal;
dbenv->get_verbose =
(int (*)(DB_ENV *, u_int32_t, int *))
__dbcl_dbenv_illegal;
dbenv->lock_detect =
(int (*)(DB_ENV *, u_int32_t, u_int32_t, int *))
__dbcl_dbenv_illegal;
dbenv->lock_get =
(int (*)(DB_ENV *, u_int32_t, u_int32_t, const DBT *, db_lockmode_t, DB_LOCK *))
__dbcl_dbenv_illegal;
dbenv->lock_id =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->lock_id_free =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->lock_put =
(int (*)(DB_ENV *, DB_LOCK *))
__dbcl_dbenv_illegal;
dbenv->lock_stat =
(int (*)(DB_ENV *, DB_LOCK_STAT **, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->lock_stat_print =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->lock_vec =
(int (*)(DB_ENV *, u_int32_t, u_int32_t, DB_LOCKREQ *, int, DB_LOCKREQ **))
__dbcl_dbenv_illegal;
dbenv->log_archive =
(int (*)(DB_ENV *, char ***, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->log_cursor =
(int (*)(DB_ENV *, DB_LOGC **, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->log_file =
(int (*)(DB_ENV *, const DB_LSN *, char *, size_t))
__dbcl_dbenv_illegal;
dbenv->log_flush =
(int (*)(DB_ENV *, const DB_LSN *))
__dbcl_dbenv_illegal;
dbenv->log_get_config =
(int (*)(DB_ENV *, u_int32_t, int *))
__dbcl_dbenv_illegal;
dbenv->log_printf =
(int (*)(DB_ENV *, DB_TXN *, const char *, ...))
__dbcl_dbenv_illegal;
dbenv->log_put =
(int (*)(DB_ENV *, DB_LSN *, const DBT *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->log_set_config =
(int (*)(DB_ENV *, u_int32_t, int))
__dbcl_dbenv_illegal;
dbenv->log_stat =
(int (*)(DB_ENV *, DB_LOG_STAT **, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->log_stat_print =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->lsn_reset =
(int (*)(DB_ENV *, const char *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->memp_fcreate =
(int (*)(DB_ENV *, DB_MPOOLFILE **, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->memp_register =
(int (*)(DB_ENV *, int, int (*)(DB_ENV *, db_pgno_t, void *, DBT *), int (*)(DB_ENV *, db_pgno_t, void *, DBT *)))
__dbcl_dbenv_illegal;
dbenv->memp_stat =
(int (*)(DB_ENV *, DB_MPOOL_STAT **, DB_MPOOL_FSTAT ***, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->memp_stat_print =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->memp_sync =
(int (*)(DB_ENV *, DB_LSN *))
__dbcl_dbenv_illegal;
dbenv->memp_trickle =
(int (*)(DB_ENV *, int, int *))
__dbcl_dbenv_illegal;
dbenv->mutex_alloc =
(int (*)(DB_ENV *, u_int32_t, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->mutex_free =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->mutex_get_align =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->mutex_get_increment =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->mutex_get_max =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->mutex_get_tas_spins =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->mutex_lock =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->mutex_set_align =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->mutex_set_increment =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->mutex_set_max =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->mutex_set_tas_spins =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->mutex_stat =
(int (*)(DB_ENV *, DB_MUTEX_STAT **, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->mutex_stat_print =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->mutex_unlock =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->open = __dbcl_env_open;
dbenv->remove = __dbcl_env_remove;
dbenv->rep_elect =
(int (*)(DB_ENV *, u_int32_t, u_int32_t, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->rep_flush =
(int (*)(DB_ENV *))
__dbcl_dbenv_illegal;
dbenv->rep_get_clockskew =
(int (*)(DB_ENV *, u_int32_t *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->rep_get_config =
(int (*)(DB_ENV *, u_int32_t, int *))
__dbcl_dbenv_illegal;
dbenv->rep_get_limit =
(int (*)(DB_ENV *, u_int32_t *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->rep_get_nsites =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->rep_get_priority =
(int (*)(DB_ENV *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->rep_get_request =
(int (*)(DB_ENV *, u_int32_t *, u_int32_t *))
__dbcl_dbenv_illegal;
dbenv->rep_get_timeout =
(int (*)(DB_ENV *, int, db_timeout_t *))
__dbcl_dbenv_illegal;
dbenv->rep_process_message =
(int (*)(DB_ENV *, DBT *, DBT *, int, DB_LSN *))
__dbcl_dbenv_illegal;
dbenv->rep_set_clockskew =
(int (*)(DB_ENV *, u_int32_t, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->rep_set_config =
(int (*)(DB_ENV *, u_int32_t, int))
__dbcl_dbenv_illegal;
dbenv->rep_set_limit =
(int (*)(DB_ENV *, u_int32_t, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->rep_set_nsites =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->rep_set_priority =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->rep_set_request =
(int (*)(DB_ENV *, u_int32_t, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->rep_set_timeout =
(int (*)(DB_ENV *, int, db_timeout_t))
__dbcl_dbenv_illegal;
dbenv->rep_set_transport =
(int (*)(DB_ENV *, int, int (*)(DB_ENV *, const DBT *, const DBT *, const DB_LSN *, int, u_int32_t)))
__dbcl_dbenv_illegal;
dbenv->rep_start =
(int (*)(DB_ENV *, DBT *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->rep_stat =
(int (*)(DB_ENV *, DB_REP_STAT **, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->rep_stat_print =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->rep_sync =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->repmgr_add_remote_site =
(int (*)(DB_ENV *, const char *, u_int, int *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->repmgr_get_ack_policy =
(int (*)(DB_ENV *, int *))
__dbcl_dbenv_illegal;
dbenv->repmgr_set_ack_policy =
(int (*)(DB_ENV *, int))
__dbcl_dbenv_illegal;
dbenv->repmgr_set_local_site =
(int (*)(DB_ENV *, const char *, u_int, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->repmgr_site_list =
(int (*)(DB_ENV *, u_int *, DB_REPMGR_SITE **))
__dbcl_dbenv_illegal;
dbenv->repmgr_start =
(int (*)(DB_ENV *, int, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->repmgr_stat =
(int (*)(DB_ENV *, DB_REPMGR_STAT **, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->repmgr_stat_print =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_alloc =
(int (*)(DB_ENV *, void *(*)(size_t), void *(*)(void *, size_t), void (*)(void *)))
__dbcl_dbenv_illegal;
dbenv->set_app_dispatch =
(int (*)(DB_ENV *, int (*)(DB_ENV *, DBT *, DB_LSN *, db_recops)))
__dbcl_dbenv_illegal;
dbenv->set_cache_max =
(int (*)(DB_ENV *, u_int32_t, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_cachesize = __dbcl_env_set_cachesize;
dbenv->set_data_dir =
(int (*)(DB_ENV *, const char *))
__dbcl_dbenv_illegal;
dbenv->set_encrypt = __dbcl_env_set_encrypt;
dbenv->set_event_notify =
(int (*)(DB_ENV *, void (*)(DB_ENV *, u_int32_t, void *)))
__dbcl_dbenv_illegal;
dbenv->set_feedback =
(int (*)(DB_ENV *, void (*)(DB_ENV *, int, int)))
__dbcl_dbenv_illegal;
dbenv->set_flags = __dbcl_env_set_flags;
dbenv->set_intermediate_dir_mode =
(int (*)(DB_ENV *, const char *))
__dbcl_dbenv_illegal;
dbenv->set_isalive =
(int (*)(DB_ENV *, int (*)(DB_ENV *, pid_t, db_threadid_t, u_int32_t)))
__dbcl_dbenv_illegal;
dbenv->set_lg_bsize =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_lg_dir =
(int (*)(DB_ENV *, const char *))
__dbcl_dbenv_illegal;
dbenv->set_lg_filemode =
(int (*)(DB_ENV *, int))
__dbcl_dbenv_illegal;
dbenv->set_lg_max =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_lg_regionmax =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_lk_conflicts =
(int (*)(DB_ENV *, u_int8_t *, int))
__dbcl_dbenv_illegal;
dbenv->set_lk_detect =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_lk_max_lockers =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_lk_max_locks =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_lk_max_objects =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_lk_partitions =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_mp_max_openfd =
(int (*)(DB_ENV *, int))
__dbcl_dbenv_illegal;
dbenv->set_mp_max_write =
(int (*)(DB_ENV *, int, db_timeout_t))
__dbcl_dbenv_illegal;
dbenv->set_mp_mmapsize =
(int (*)(DB_ENV *, size_t))
__dbcl_dbenv_illegal;
dbenv->set_paniccall =
(int (*)(DB_ENV *, void (*)(DB_ENV *, int)))
__dbcl_dbenv_illegal;
dbenv->set_rpc_server = __dbcl_env_set_rpc_server;
dbenv->set_shm_key =
(int (*)(DB_ENV *, long))
__dbcl_dbenv_illegal;
dbenv->set_thread_count =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_thread_id =
(int (*)(DB_ENV *, void (*)(DB_ENV *, pid_t *, db_threadid_t*)))
__dbcl_dbenv_illegal;
dbenv->set_thread_id_string =
(int (*)(DB_ENV *, char *(*)(DB_ENV *, pid_t, db_threadid_t, char *)))
__dbcl_dbenv_illegal;
dbenv->set_timeout =
(int (*)(DB_ENV *, u_int32_t, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_tmp_dir =
(int (*)(DB_ENV *, const char *))
__dbcl_dbenv_illegal;
dbenv->set_tx_max =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->set_tx_timestamp =
(int (*)(DB_ENV *, time_t *))
__dbcl_dbenv_illegal;
dbenv->set_verbose =
(int (*)(DB_ENV *, u_int32_t, int))
__dbcl_dbenv_illegal;
dbenv->stat_print =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->txn_begin = __dbcl_env_txn_begin;
dbenv->txn_checkpoint =
(int (*)(DB_ENV *, u_int32_t, u_int32_t, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->txn_recover = __dbcl_env_txn_recover;
dbenv->txn_stat =
(int (*)(DB_ENV *, DB_TXN_STAT **, u_int32_t))
__dbcl_dbenv_illegal;
dbenv->txn_stat_print =
(int (*)(DB_ENV *, u_int32_t))
__dbcl_dbenv_illegal;
return;
}
void
__dbcl_txn_init(txn)
DB_TXN *txn;
{
txn->abort = __dbcl_txn_abort;
txn->commit = __dbcl_txn_commit;
txn->discard = __dbcl_txn_discard;
txn->get_name =
(int (*)(DB_TXN *, const char **))
__dbcl_txn_illegal;
txn->prepare = __dbcl_txn_prepare;
txn->set_name =
(int (*)(DB_TXN *, const char *))
__dbcl_txn_illegal;
return;
}