Logo Search packages:      
Sourcecode: db3 version File versions  Download package

gen_client.c

/* Do not edit: automatically built by gen_rpc.awk. */
#include "db_config.h"

#ifdef HAVE_RPC
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <rpc/rpc.h>
#include <rpc/xdr.h>

#include <errno.h>
#include <string.h>
#endif
#include "db_server.h"

#include "db_int.h"
#include "db_page.h"
#include "db_ext.h"
#include "mp.h"
#include "rpc_client_ext.h"
#include "txn.h"

#include "gen_client_ext.h"

int
__dbcl_env_cachesize(dbenv, gbytes, bytes, ncache)
      DB_ENV * dbenv;
      u_int32_t gbytes;
      u_int32_t bytes;
      int ncache;
{
      CLIENT *cl;
      __env_cachesize_msg req;
      static __env_cachesize_reply *replyp = NULL;
      int ret;

      ret = 0;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___env_cachesize_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbenv == NULL)
            req.dbenvcl_id = 0;
      else
            req.dbenvcl_id = dbenv->cl_id;
      req.gbytes = gbytes;
      req.bytes = bytes;
      req.ncache = ncache;

      replyp = __db_env_cachesize_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_env_close(dbenv, flags)
      DB_ENV * dbenv;
      u_int32_t flags;
{
      CLIENT *cl;
      __env_close_msg req;
      static __env_close_reply *replyp = NULL;
      int ret;

      ret = 0;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___env_close_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbenv == NULL)
            req.dbenvcl_id = 0;
      else
            req.dbenvcl_id = dbenv->cl_id;
      req.flags = flags;

      replyp = __db_env_close_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_env_close_ret(dbenv, flags, replyp));
out:
      return (ret);
}

int
__dbcl_rpc_illegal(dbenv, name)
      DB_ENV *dbenv;
      char *name;
{
      __db_err(dbenv,
          "%s method meaningless in RPC environment", name);
      return (__db_eopnotsup(dbenv));
}

int
__dbcl_set_data_dir(dbenv, dir)
      DB_ENV * dbenv;
      const char * dir;
{
      COMPQUIET(dir, NULL);
      return (__dbcl_rpc_illegal(dbenv, "set_data_dir"));
}

int
__dbcl_env_set_feedback(dbenv, func0)
      DB_ENV * dbenv;
      void (*func0) __P((DB_ENV *, int, int));
{
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "env_set_feedback"));
}

int
__dbcl_env_flags(dbenv, flags, onoff)
      DB_ENV * dbenv;
      u_int32_t flags;
      int onoff;
{
      CLIENT *cl;
      __env_flags_msg req;
      static __env_flags_reply *replyp = NULL;
      int ret;

      ret = 0;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___env_flags_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbenv == NULL)
            req.dbenvcl_id = 0;
      else
            req.dbenvcl_id = dbenv->cl_id;
      req.flags = flags;
      req.onoff = onoff;

      replyp = __db_env_flags_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_set_lg_bsize(dbenv, bsize)
      DB_ENV * dbenv;
      u_int32_t bsize;
{
      COMPQUIET(bsize, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_lg_bsize"));
}

int
__dbcl_set_lg_dir(dbenv, dir)
      DB_ENV * dbenv;
      const char * dir;
{
      COMPQUIET(dir, NULL);
      return (__dbcl_rpc_illegal(dbenv, "set_lg_dir"));
}

int
__dbcl_set_lg_max(dbenv, max)
      DB_ENV * dbenv;
      u_int32_t max;
{
      COMPQUIET(max, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_lg_max"));
}

int
__dbcl_set_lk_conflict(dbenv, conflicts, modes)
      DB_ENV * dbenv;
      u_int8_t * conflicts;
      int modes;
{
      COMPQUIET(conflicts, 0);
      COMPQUIET(modes, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_lk_conflict"));
}

int
__dbcl_set_lk_detect(dbenv, detect)
      DB_ENV * dbenv;
      u_int32_t detect;
{
      COMPQUIET(detect, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_lk_detect"));
}

int
__dbcl_set_lk_max(dbenv, max)
      DB_ENV * dbenv;
      u_int32_t max;
{
      COMPQUIET(max, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_lk_max"));
}

int
__dbcl_set_lk_max_locks(dbenv, max)
      DB_ENV * dbenv;
      u_int32_t max;
{
      COMPQUIET(max, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_lk_max_locks"));
}

int
__dbcl_set_lk_max_lockers(dbenv, max)
      DB_ENV * dbenv;
      u_int32_t max;
{
      COMPQUIET(max, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_lk_max_lockers"));
}

int
__dbcl_set_lk_max_objects(dbenv, max)
      DB_ENV * dbenv;
      u_int32_t max;
{
      COMPQUIET(max, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_lk_max_objects"));
}

int
__dbcl_set_mp_mmapsize(dbenv, mmapsize)
      DB_ENV * dbenv;
      size_t mmapsize;
{
      COMPQUIET(mmapsize, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_mp_mmapsize"));
}

int
__dbcl_set_mutex_locks(dbenv, do_lock)
      DB_ENV * dbenv;
      int do_lock;
{
      COMPQUIET(do_lock, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_mutex_locks"));
}

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 req;
      static __env_open_reply *replyp = NULL;
      int ret;

      ret = 0;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___env_open_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbenv == NULL)
            req.dbenvcl_id = 0;
      else
            req.dbenvcl_id = dbenv->cl_id;
      if (home == NULL)
            req.home = "";
      else
            req.home = (char *)home;
      req.flags = flags;
      req.mode = mode;

      replyp = __db_env_open_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_env_open_ret(dbenv, home, flags, mode, replyp));
out:
      return (ret);
}

int
__dbcl_env_paniccall(dbenv, func0)
      DB_ENV * dbenv;
      void (*func0) __P((DB_ENV *, int));
{
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "env_paniccall"));
}

int
__dbcl_set_recovery_init(dbenv, func0)
      DB_ENV * dbenv;
      int (*func0) __P((DB_ENV *));
{
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_recovery_init"));
}

int
__dbcl_env_remove(dbenv, home, flags)
      DB_ENV * dbenv;
      const char * home;
      u_int32_t flags;
{
      CLIENT *cl;
      __env_remove_msg req;
      static __env_remove_reply *replyp = NULL;
      int ret;

      ret = 0;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___env_remove_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbenv == NULL)
            req.dbenvcl_id = 0;
      else
            req.dbenvcl_id = dbenv->cl_id;
      if (home == NULL)
            req.home = "";
      else
            req.home = (char *)home;
      req.flags = flags;

      replyp = __db_env_remove_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_env_remove_ret(dbenv, home, flags, replyp));
out:
      return (ret);
}

int
__dbcl_set_shm_key(dbenv, shm_key)
      DB_ENV * dbenv;
      long shm_key;
{
      COMPQUIET(shm_key, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_shm_key"));
}

int
__dbcl_set_tmp_dir(dbenv, dir)
      DB_ENV * dbenv;
      const char * dir;
{
      COMPQUIET(dir, NULL);
      return (__dbcl_rpc_illegal(dbenv, "set_tmp_dir"));
}

int
__dbcl_set_tx_recover(dbenv, func0)
      DB_ENV * dbenv;
      int (*func0) __P((DB_ENV *, DBT *, DB_LSN *, db_recops));
{
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_tx_recover"));
}

int
__dbcl_set_tx_max(dbenv, max)
      DB_ENV * dbenv;
      u_int32_t max;
{
      COMPQUIET(max, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_tx_max"));
}

int
__dbcl_set_tx_timestamp(dbenv, max)
      DB_ENV * dbenv;
      time_t * max;
{
      COMPQUIET(max, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_tx_timestamp"));
}

int
__dbcl_set_verbose(dbenv, which, onoff)
      DB_ENV * dbenv;
      u_int32_t which;
      int onoff;
{
      COMPQUIET(which, 0);
      COMPQUIET(onoff, 0);
      return (__dbcl_rpc_illegal(dbenv, "set_verbose"));
}

int
__dbcl_txn_abort(txnp)
      DB_TXN * txnp;
{
      CLIENT *cl;
      __txn_abort_msg req;
      static __txn_abort_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = txnp->mgrp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___txn_abort_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (txnp == NULL)
            req.txnpcl_id = 0;
      else
            req.txnpcl_id = txnp->txnid;

      replyp = __db_txn_abort_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_txn_abort_ret(txnp, replyp));
out:
      return (ret);
}

int
__dbcl_txn_begin(envp, parent, txnpp, flags)
      DB_ENV * envp;
      DB_TXN * parent;
      DB_TXN ** txnpp;
      u_int32_t flags;
{
      CLIENT *cl;
      __txn_begin_msg req;
      static __txn_begin_reply *replyp = NULL;
      int ret;

      ret = 0;
      if (envp == NULL || envp->cl_handle == NULL) {
            __db_err(envp, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___txn_begin_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)envp->cl_handle;

      if (envp == NULL)
            req.envpcl_id = 0;
      else
            req.envpcl_id = envp->cl_id;
      if (parent == NULL)
            req.parentcl_id = 0;
      else
            req.parentcl_id = parent->txnid;
      req.flags = flags;

      replyp = __db_txn_begin_1(&req, cl);
      if (replyp == NULL) {
            __db_err(envp, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_txn_begin_ret(envp, parent, txnpp, flags, replyp));
out:
      return (ret);
}

int
__dbcl_txn_checkpoint(dbenv, kbyte, min)
      DB_ENV * dbenv;
      u_int32_t kbyte;
      u_int32_t min;
{
      COMPQUIET(kbyte, 0);
      COMPQUIET(min, 0);
      return (__dbcl_rpc_illegal(dbenv, "txn_checkpoint"));
}

int
__dbcl_txn_commit(txnp, flags)
      DB_TXN * txnp;
      u_int32_t flags;
{
      CLIENT *cl;
      __txn_commit_msg req;
      static __txn_commit_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = txnp->mgrp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___txn_commit_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (txnp == NULL)
            req.txnpcl_id = 0;
      else
            req.txnpcl_id = txnp->txnid;
      req.flags = flags;

      replyp = __db_txn_commit_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_txn_commit_ret(txnp, flags, replyp));
out:
      return (ret);
}

int
__dbcl_txn_prepare(txnp)
      DB_TXN * txnp;
{
      DB_ENV *dbenv;

      dbenv = txnp->mgrp->dbenv;
      return (__dbcl_rpc_illegal(dbenv, "txn_prepare"));
}

int
__dbcl_txn_stat(dbenv, statp, func0)
      DB_ENV * dbenv;
      DB_TXN_STAT ** statp;
      void *(*func0) __P((size_t));
{
      COMPQUIET(statp, 0);
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "txn_stat"));
}

int
__dbcl_db_bt_compare(dbp, func0)
      DB * dbp;
      int (*func0) __P((DB *, const DBT *, const DBT *));
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_bt_compare"));
}

int
__dbcl_db_bt_maxkey(dbp, maxkey)
      DB * dbp;
      u_int32_t maxkey;
{
      CLIENT *cl;
      __db_bt_maxkey_msg req;
      static __db_bt_maxkey_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_bt_maxkey_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.maxkey = maxkey;

      replyp = __db_db_bt_maxkey_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_bt_minkey(dbp, minkey)
      DB * dbp;
      u_int32_t minkey;
{
      CLIENT *cl;
      __db_bt_minkey_msg req;
      static __db_bt_minkey_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_bt_minkey_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.minkey = minkey;

      replyp = __db_db_bt_minkey_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_bt_prefix(dbp, func0)
      DB * dbp;
      size_t (*func0) __P((DB *, const DBT *, const DBT *));
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_bt_prefix"));
}

int
__dbcl_db_set_append_recno(dbp, func0)
      DB * dbp;
      int (*func0) __P((DB *, DBT *, db_recno_t));
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_set_append_recno"));
}

int
__dbcl_db_cachesize(dbp, gbytes, bytes, ncache)
      DB * dbp;
      u_int32_t gbytes;
      u_int32_t bytes;
      int ncache;
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(gbytes, 0);
      COMPQUIET(bytes, 0);
      COMPQUIET(ncache, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_cachesize"));
}

int
__dbcl_db_close(dbp, flags)
      DB * dbp;
      u_int32_t flags;
{
      CLIENT *cl;
      __db_close_msg req;
      static __db_close_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_close_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.flags = flags;

      replyp = __db_db_close_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_db_close_ret(dbp, flags, replyp));
out:
      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 req;
      static __db_del_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_del_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      if (txnp == NULL)
            req.txnpcl_id = 0;
      else
            req.txnpcl_id = txnp->txnid;
      req.keydlen = key->dlen;
      req.keydoff = key->doff;
      req.keyflags = key->flags;
      req.keydata.keydata_val = key->data;
      req.keydata.keydata_len = key->size;
      req.flags = flags;

      replyp = __db_db_del_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_extentsize(dbp, extentsize)
      DB * dbp;
      u_int32_t extentsize;
{
      CLIENT *cl;
      __db_extentsize_msg req;
      static __db_extentsize_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_extentsize_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.extentsize = extentsize;

      replyp = __db_db_extentsize_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_fd(dbp, fdp)
      DB * dbp;
      int * fdp;
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(fdp, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_fd"));
}

int
__dbcl_db_feedback(dbp, func0)
      DB * dbp;
      void (*func0) __P((DB *, int, int));
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_feedback"));
}

int
__dbcl_db_flags(dbp, flags)
      DB * dbp;
      u_int32_t flags;
{
      CLIENT *cl;
      __db_flags_msg req;
      static __db_flags_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_flags_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.flags = flags;

      replyp = __db_db_flags_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      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 req;
      static __db_get_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_get_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      if (txnp == NULL)
            req.txnpcl_id = 0;
      else
            req.txnpcl_id = txnp->txnid;
      req.keydlen = key->dlen;
      req.keydoff = key->doff;
      req.keyflags = key->flags;
      req.keydata.keydata_val = key->data;
      req.keydata.keydata_len = key->size;
      req.datadlen = data->dlen;
      req.datadoff = data->doff;
      req.dataflags = data->flags;
      req.datadata.datadata_val = data->data;
      req.datadata.datadata_len = data->size;
      req.flags = flags;

      replyp = __db_db_get_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_db_get_ret(dbp, txnp, key, data, flags, replyp));
out:
      return (ret);
}

int
__dbcl_db_h_ffactor(dbp, ffactor)
      DB * dbp;
      u_int32_t ffactor;
{
      CLIENT *cl;
      __db_h_ffactor_msg req;
      static __db_h_ffactor_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_h_ffactor_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.ffactor = ffactor;

      replyp = __db_db_h_ffactor_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_h_hash(dbp, func0)
      DB * dbp;
      u_int32_t (*func0) __P((DB *, const void *, u_int32_t));
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_h_hash"));
}

int
__dbcl_db_h_nelem(dbp, nelem)
      DB * dbp;
      u_int32_t nelem;
{
      CLIENT *cl;
      __db_h_nelem_msg req;
      static __db_h_nelem_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_h_nelem_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.nelem = nelem;

      replyp = __db_db_h_nelem_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      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 req;
      static __db_key_range_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_key_range_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      if (txnp == NULL)
            req.txnpcl_id = 0;
      else
            req.txnpcl_id = txnp->txnid;
      req.keydlen = key->dlen;
      req.keydoff = key->doff;
      req.keyflags = key->flags;
      req.keydata.keydata_val = key->data;
      req.keydata.keydata_len = key->size;
      req.flags = flags;

      replyp = __db_db_key_range_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_db_key_range_ret(dbp, txnp, key, range, flags, replyp));
out:
      return (ret);
}

int
__dbcl_db_lorder(dbp, lorder)
      DB * dbp;
      int lorder;
{
      CLIENT *cl;
      __db_lorder_msg req;
      static __db_lorder_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_lorder_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.lorder = lorder;

      replyp = __db_db_lorder_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_malloc(dbp, func0)
      DB * dbp;
      void *(*func0) __P((size_t));
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_malloc"));
}

int
__dbcl_db_open(dbp, name, subdb, type, flags, mode)
      DB * dbp;
      const char * name;
      const char * subdb;
      DBTYPE type;
      u_int32_t flags;
      int mode;
{
      CLIENT *cl;
      __db_open_msg req;
      static __db_open_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_open_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      if (name == NULL)
            req.name = "";
      else
            req.name = (char *)name;
      if (subdb == NULL)
            req.subdb = "";
      else
            req.subdb = (char *)subdb;
      req.type = type;
      req.flags = flags;
      req.mode = mode;

      replyp = __db_db_open_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_db_open_ret(dbp, name, subdb, type, flags, mode, replyp));
out:
      return (ret);
}

int
__dbcl_db_pagesize(dbp, pagesize)
      DB * dbp;
      u_int32_t pagesize;
{
      CLIENT *cl;
      __db_pagesize_msg req;
      static __db_pagesize_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_pagesize_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.pagesize = pagesize;

      replyp = __db_db_pagesize_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_panic(dbp, func0)
      DB * dbp;
      void (*func0) __P((DB_ENV *, int));
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_panic"));
}

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 req;
      static __db_put_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_put_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      if (txnp == NULL)
            req.txnpcl_id = 0;
      else
            req.txnpcl_id = txnp->txnid;
      req.keydlen = key->dlen;
      req.keydoff = key->doff;
      req.keyflags = key->flags;
      req.keydata.keydata_val = key->data;
      req.keydata.keydata_len = key->size;
      req.datadlen = data->dlen;
      req.datadoff = data->doff;
      req.dataflags = data->flags;
      req.datadata.datadata_val = data->data;
      req.datadata.datadata_len = data->size;
      req.flags = flags;

      replyp = __db_db_put_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_db_put_ret(dbp, txnp, key, data, flags, replyp));
out:
      return (ret);
}

int
__dbcl_db_realloc(dbp, func0)
      DB * dbp;
      void *(*func0) __P((void *, size_t));
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_realloc"));
}

int
__dbcl_db_re_delim(dbp, delim)
      DB * dbp;
      int delim;
{
      CLIENT *cl;
      __db_re_delim_msg req;
      static __db_re_delim_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_re_delim_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.delim = delim;

      replyp = __db_db_re_delim_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_re_len(dbp, len)
      DB * dbp;
      u_int32_t len;
{
      CLIENT *cl;
      __db_re_len_msg req;
      static __db_re_len_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_re_len_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.len = len;

      replyp = __db_db_re_len_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_re_pad(dbp, pad)
      DB * dbp;
      int pad;
{
      CLIENT *cl;
      __db_re_pad_msg req;
      static __db_re_pad_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_re_pad_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.pad = pad;

      replyp = __db_db_re_pad_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_re_source(dbp, re_source)
      DB * dbp;
      const char * re_source;
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(re_source, NULL);
      return (__dbcl_rpc_illegal(dbenv, "db_re_source"));
}

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 req;
      static __db_remove_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_remove_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      if (name == NULL)
            req.name = "";
      else
            req.name = (char *)name;
      if (subdb == NULL)
            req.subdb = "";
      else
            req.subdb = (char *)subdb;
      req.flags = flags;

      replyp = __db_db_remove_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_db_remove_ret(dbp, name, subdb, flags, replyp));
out:
      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 req;
      static __db_rename_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_rename_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      if (name == NULL)
            req.name = "";
      else
            req.name = (char *)name;
      if (subdb == NULL)
            req.subdb = "";
      else
            req.subdb = (char *)subdb;
      if (newname == NULL)
            req.newname = "";
      else
            req.newname = (char *)newname;
      req.flags = flags;

      replyp = __db_db_rename_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_db_rename_ret(dbp, name, subdb, newname, flags, replyp));
out:
      return (ret);
}

int
__dbcl_db_stat(dbp, sp, func0, flags)
      DB * dbp;
      void * sp;
      void *(*func0) __P((size_t));
      u_int32_t flags;
{
      CLIENT *cl;
      __db_stat_msg req;
      static __db_stat_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_stat_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (func0 != NULL) {
            __db_err(sp, "User functions not supported in RPC.");
            return (EINVAL);
      }
      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.flags = flags;

      replyp = __db_db_stat_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_db_stat_ret(dbp, sp, func0, flags, replyp));
out:
      return (ret);
}

int
__dbcl_db_swapped(dbp)
      DB * dbp;
{
      CLIENT *cl;
      __db_swapped_msg req;
      static __db_swapped_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_swapped_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;

      replyp = __db_db_swapped_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_sync(dbp, flags)
      DB * dbp;
      u_int32_t flags;
{
      CLIENT *cl;
      __db_sync_msg req;
      static __db_sync_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_sync_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      req.flags = flags;

      replyp = __db_db_sync_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_db_upgrade(dbp, fname, flags)
      DB * dbp;
      const char * fname;
      u_int32_t flags;
{
      DB_ENV *dbenv;

      dbenv = dbp->dbenv;
      COMPQUIET(fname, NULL);
      COMPQUIET(flags, 0);
      return (__dbcl_rpc_illegal(dbenv, "db_upgrade"));
}

int
__dbcl_db_cursor(dbp, txnp, dbcpp, flags)
      DB * dbp;
      DB_TXN * txnp;
      DBC ** dbcpp;
      u_int32_t flags;
{
      CLIENT *cl;
      __db_cursor_msg req;
      static __db_cursor_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_cursor_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      if (txnp == NULL)
            req.txnpcl_id = 0;
      else
            req.txnpcl_id = txnp->txnid;
      req.flags = flags;

      replyp = __db_db_cursor_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_db_cursor_ret(dbp, txnp, dbcpp, flags, replyp));
out:
      return (ret);
}

static int __dbcl_db_join_curslist __P((__db_join_curslist **, DBC **));
static void __dbcl_db_join_cursfree __P((__db_join_curslist **));
int
__dbcl_db_join(dbp, curs, dbcp, flags)
      DB * dbp;
      DBC ** curs;
      DBC ** dbcp;
      u_int32_t flags;
{
      CLIENT *cl;
      __db_join_msg req;
      static __db_join_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___db_join_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbp == NULL)
            req.dbpcl_id = 0;
      else
            req.dbpcl_id = dbp->cl_id;
      if ((ret = __dbcl_db_join_curslist(&req.curslist, curs)) != 0)
            goto out;
      req.flags = flags;

      replyp = __db_db_join_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      __dbcl_db_join_cursfree(&req.curslist);
      return (__dbcl_db_join_ret(dbp, curs, dbcp, flags, replyp));
out:
      __dbcl_db_join_cursfree(&req.curslist);
      return (ret);
}

int
__dbcl_db_join_curslist(locp, pp)
      __db_join_curslist **locp;
      DBC ** pp;
{
      DBC ** p;
      u_int32_t *q;
      int ret;
      __db_join_curslist *nl, **nlp;

      *locp = NULL;
      if (pp == NULL)
            return (0);
      nlp = locp;
      for (p = pp; *p != 0; p++) {
            if ((ret = __os_malloc(NULL, sizeof(*nl), NULL, nlp)) != 0)
                  goto out;
            nl = *nlp;
            nl->next = NULL;
            nl->ent.ent_val = NULL;
            nl->ent.ent_len = 0;
            if ((ret = __os_malloc(NULL, sizeof(u_int32_t), NULL, &nl->ent.ent_val)) != 0)
                  goto out;
            q = (u_int32_t *)nl->ent.ent_val;
            *q = (*p)->cl_id;
            nl->ent.ent_len = sizeof(u_int32_t);
            nlp = &nl->next;
      }
      return (0);
out:
      __dbcl_db_join_cursfree(locp);
      return (ret);
}

void
__dbcl_db_join_cursfree(locp)
      __db_join_curslist **locp;
{
      __db_join_curslist *nl, *nl1;

      if (locp == NULL)
            return;
      for (nl = *locp; nl != NULL; nl = nl1) {
            nl1 = nl->next;
            if (nl->ent.ent_val)
                  __os_free(nl->ent.ent_val, nl->ent.ent_len);
            __os_free(nl, sizeof(*nl));
      }
}

int
__dbcl_dbc_close(dbc)
      DBC * dbc;
{
      CLIENT *cl;
      __dbc_close_msg req;
      static __dbc_close_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbc->dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___dbc_close_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbc == NULL)
            req.dbccl_id = 0;
      else
            req.dbccl_id = dbc->cl_id;

      replyp = __db_dbc_close_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_dbc_close_ret(dbc, replyp));
out:
      return (ret);
}

int
__dbcl_dbc_count(dbc, countp, flags)
      DBC * dbc;
      db_recno_t * countp;
      u_int32_t flags;
{
      CLIENT *cl;
      __dbc_count_msg req;
      static __dbc_count_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbc->dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___dbc_count_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbc == NULL)
            req.dbccl_id = 0;
      else
            req.dbccl_id = dbc->cl_id;
      req.flags = flags;

      replyp = __db_dbc_count_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_dbc_count_ret(dbc, countp, flags, replyp));
out:
      return (ret);
}

int
__dbcl_dbc_del(dbc, flags)
      DBC * dbc;
      u_int32_t flags;
{
      CLIENT *cl;
      __dbc_del_msg req;
      static __dbc_del_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbc->dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___dbc_del_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbc == NULL)
            req.dbccl_id = 0;
      else
            req.dbccl_id = dbc->cl_id;
      req.flags = flags;

      replyp = __db_dbc_del_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      ret = replyp->status;
out:
      return (ret);
}

int
__dbcl_dbc_dup(dbc, dbcp, flags)
      DBC * dbc;
      DBC ** dbcp;
      u_int32_t flags;
{
      CLIENT *cl;
      __dbc_dup_msg req;
      static __dbc_dup_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbc->dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___dbc_dup_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbc == NULL)
            req.dbccl_id = 0;
      else
            req.dbccl_id = dbc->cl_id;
      req.flags = flags;

      replyp = __db_dbc_dup_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_dbc_dup_ret(dbc, dbcp, flags, replyp));
out:
      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 req;
      static __dbc_get_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbc->dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___dbc_get_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbc == NULL)
            req.dbccl_id = 0;
      else
            req.dbccl_id = dbc->cl_id;
      req.keydlen = key->dlen;
      req.keydoff = key->doff;
      req.keyflags = key->flags;
      req.keydata.keydata_val = key->data;
      req.keydata.keydata_len = key->size;
      req.datadlen = data->dlen;
      req.datadoff = data->doff;
      req.dataflags = data->flags;
      req.datadata.datadata_val = data->data;
      req.datadata.datadata_len = data->size;
      req.flags = flags;

      replyp = __db_dbc_get_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_dbc_get_ret(dbc, key, data, flags, replyp));
out:
      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 req;
      static __dbc_put_reply *replyp = NULL;
      int ret;
      DB_ENV *dbenv;

      ret = 0;
      dbenv = NULL;
      dbenv = dbc->dbp->dbenv;
      if (dbenv == NULL || dbenv->cl_handle == NULL) {
            __db_err(dbenv, "No server environment.");
            return (DB_NOSERVER);
      }

      if (replyp != NULL) {
            xdr_free((xdrproc_t)xdr___dbc_put_reply, (void *)replyp);
            replyp = NULL;
      }
      cl = (CLIENT *)dbenv->cl_handle;

      if (dbc == NULL)
            req.dbccl_id = 0;
      else
            req.dbccl_id = dbc->cl_id;
      req.keydlen = key->dlen;
      req.keydoff = key->doff;
      req.keyflags = key->flags;
      req.keydata.keydata_val = key->data;
      req.keydata.keydata_len = key->size;
      req.datadlen = data->dlen;
      req.datadoff = data->doff;
      req.dataflags = data->flags;
      req.datadata.datadata_val = data->data;
      req.datadata.datadata_len = data->size;
      req.flags = flags;

      replyp = __db_dbc_put_1(&req, cl);
      if (replyp == NULL) {
            __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
            ret = DB_NOSERVER;
            goto out;
      }
      return (__dbcl_dbc_put_ret(dbc, key, data, flags, replyp));
out:
      return (ret);
}

int
__dbcl_lock_detect(dbenv, flags, atype, aborted)
      DB_ENV * dbenv;
      u_int32_t flags;
      u_int32_t atype;
      int * aborted;
{
      COMPQUIET(flags, 0);
      COMPQUIET(atype, 0);
      COMPQUIET(aborted, 0);
      return (__dbcl_rpc_illegal(dbenv, "lock_detect"));
}

int
__dbcl_lock_get(dbenv, locker, flags, obj, mode, lock)
      DB_ENV * dbenv;
      u_int32_t locker;
      u_int32_t flags;
      const DBT * obj;
      db_lockmode_t mode;
      DB_LOCK * lock;
{
      COMPQUIET(locker, 0);
      COMPQUIET(flags, 0);
      COMPQUIET(obj, NULL);
      COMPQUIET(mode, 0);
      COMPQUIET(lock, 0);
      return (__dbcl_rpc_illegal(dbenv, "lock_get"));
}

int
__dbcl_lock_id(dbenv, idp)
      DB_ENV * dbenv;
      u_int32_t * idp;
{
      COMPQUIET(idp, 0);
      return (__dbcl_rpc_illegal(dbenv, "lock_id"));
}

int
__dbcl_lock_put(dbenv, lock)
      DB_ENV * dbenv;
      DB_LOCK * lock;
{
      COMPQUIET(lock, 0);
      return (__dbcl_rpc_illegal(dbenv, "lock_put"));
}

int
__dbcl_lock_stat(dbenv, statp, func0)
      DB_ENV * dbenv;
      DB_LOCK_STAT ** statp;
      void *(*func0) __P((size_t));
{
      COMPQUIET(statp, 0);
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "lock_stat"));
}

int
__dbcl_lock_vec(dbenv, locker, flags, list, nlist, elistp)
      DB_ENV * dbenv;
      u_int32_t locker;
      u_int32_t flags;
      DB_LOCKREQ * list;
      int nlist;
      DB_LOCKREQ ** elistp;
{
      COMPQUIET(locker, 0);
      COMPQUIET(flags, 0);
      COMPQUIET(list, 0);
      COMPQUIET(nlist, 0);
      COMPQUIET(elistp, 0);
      return (__dbcl_rpc_illegal(dbenv, "lock_vec"));
}

int
__dbcl_log_archive(dbenv, listp, flags, func0)
      DB_ENV * dbenv;
      char *** listp;
      u_int32_t flags;
      void *(*func0) __P((size_t));
{
      COMPQUIET(listp, 0);
      COMPQUIET(flags, 0);
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "log_archive"));
}

int
__dbcl_log_file(dbenv, lsn, namep, len)
      DB_ENV * dbenv;
      const DB_LSN * lsn;
      char * namep;
      size_t len;
{
      COMPQUIET(lsn, NULL);
      COMPQUIET(namep, NULL);
      COMPQUIET(len, 0);
      return (__dbcl_rpc_illegal(dbenv, "log_file"));
}

int
__dbcl_log_flush(dbenv, lsn)
      DB_ENV * dbenv;
      const DB_LSN * lsn;
{
      COMPQUIET(lsn, NULL);
      return (__dbcl_rpc_illegal(dbenv, "log_flush"));
}

int
__dbcl_log_get(dbenv, lsn, data, flags)
      DB_ENV * dbenv;
      DB_LSN * lsn;
      DBT * data;
      u_int32_t flags;
{
      COMPQUIET(lsn, 0);
      COMPQUIET(data, NULL);
      COMPQUIET(flags, 0);
      return (__dbcl_rpc_illegal(dbenv, "log_get"));
}

int
__dbcl_log_put(dbenv, lsn, data, flags)
      DB_ENV * dbenv;
      DB_LSN * lsn;
      const DBT * data;
      u_int32_t flags;
{
      COMPQUIET(lsn, 0);
      COMPQUIET(data, NULL);
      COMPQUIET(flags, 0);
      return (__dbcl_rpc_illegal(dbenv, "log_put"));
}

int
__dbcl_log_register(dbenv, dbp, namep)
      DB_ENV * dbenv;
      DB * dbp;
      const char * namep;
{
      COMPQUIET(dbp, 0);
      COMPQUIET(namep, NULL);
      return (__dbcl_rpc_illegal(dbenv, "log_register"));
}

int
__dbcl_log_stat(dbenv, statp, func0)
      DB_ENV * dbenv;
      DB_LOG_STAT ** statp;
      void *(*func0) __P((size_t));
{
      COMPQUIET(statp, 0);
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "log_stat"));
}

int
__dbcl_log_unregister(dbenv, dbp)
      DB_ENV * dbenv;
      DB * dbp;
{
      COMPQUIET(dbp, 0);
      return (__dbcl_rpc_illegal(dbenv, "log_unregister"));
}

int
__dbcl_memp_fclose(mpf)
      DB_MPOOLFILE * mpf;
{
      DB_ENV *dbenv;

      dbenv = mpf->dbmp->dbenv;
      return (__dbcl_rpc_illegal(dbenv, "memp_fclose"));
}

int
__dbcl_memp_fget(mpf, pgno, flags, pagep)
      DB_MPOOLFILE * mpf;
      db_pgno_t * pgno;
      u_int32_t flags;
      void ** pagep;
{
      DB_ENV *dbenv;

      dbenv = mpf->dbmp->dbenv;
      COMPQUIET(pgno, 0);
      COMPQUIET(flags, 0);
      COMPQUIET(pagep, 0);
      return (__dbcl_rpc_illegal(dbenv, "memp_fget"));
}

int
__dbcl_memp_fopen(dbenv, file, flags, mode, pagesize, finfop, mpf)
      DB_ENV * dbenv;
      const char * file;
      u_int32_t flags;
      int mode;
      size_t pagesize;
      DB_MPOOL_FINFO * finfop;
      DB_MPOOLFILE ** mpf;
{
      COMPQUIET(file, NULL);
      COMPQUIET(flags, 0);
      COMPQUIET(mode, 0);
      COMPQUIET(pagesize, 0);
      COMPQUIET(finfop, 0);
      COMPQUIET(mpf, 0);
      return (__dbcl_rpc_illegal(dbenv, "memp_fopen"));
}

int
__dbcl_memp_fput(mpf, pgaddr, flags)
      DB_MPOOLFILE * mpf;
      void * pgaddr;
      u_int32_t flags;
{
      DB_ENV *dbenv;

      dbenv = mpf->dbmp->dbenv;
      COMPQUIET(pgaddr, 0);
      COMPQUIET(flags, 0);
      return (__dbcl_rpc_illegal(dbenv, "memp_fput"));
}

int
__dbcl_memp_fset(mpf, pgaddr, flags)
      DB_MPOOLFILE * mpf;
      void * pgaddr;
      u_int32_t flags;
{
      DB_ENV *dbenv;

      dbenv = mpf->dbmp->dbenv;
      COMPQUIET(pgaddr, 0);
      COMPQUIET(flags, 0);
      return (__dbcl_rpc_illegal(dbenv, "memp_fset"));
}

int
__dbcl_memp_fsync(mpf)
      DB_MPOOLFILE * mpf;
{
      DB_ENV *dbenv;

      dbenv = mpf->dbmp->dbenv;
      return (__dbcl_rpc_illegal(dbenv, "memp_fsync"));
}

int
__dbcl_memp_register(dbenv, ftype, func0, func1)
      DB_ENV * dbenv;
      int ftype;
      int (*func0) __P((DB_ENV *, db_pgno_t, void *, DBT *));
      int (*func1) __P((DB_ENV *, db_pgno_t, void *, DBT *));
{
      COMPQUIET(ftype, 0);
      COMPQUIET(func0, 0);
      COMPQUIET(func1, 0);
      return (__dbcl_rpc_illegal(dbenv, "memp_register"));
}

int
__dbcl_memp_stat(dbenv, gstatp, fstatp, func0)
      DB_ENV * dbenv;
      DB_MPOOL_STAT ** gstatp;
      DB_MPOOL_FSTAT *** fstatp;
      void *(*func0) __P((size_t));
{
      COMPQUIET(gstatp, 0);
      COMPQUIET(fstatp, 0);
      COMPQUIET(func0, 0);
      return (__dbcl_rpc_illegal(dbenv, "memp_stat"));
}

int
__dbcl_memp_sync(dbenv, lsn)
      DB_ENV * dbenv;
      DB_LSN * lsn;
{
      COMPQUIET(lsn, 0);
      return (__dbcl_rpc_illegal(dbenv, "memp_sync"));
}

int
__dbcl_memp_trickle(dbenv, pct, nwrotep)
      DB_ENV * dbenv;
      int pct;
      int * nwrotep;
{
      COMPQUIET(pct, 0);
      COMPQUIET(nwrotep, 0);
      return (__dbcl_rpc_illegal(dbenv, "memp_trickle"));
}

#endif /* HAVE_RPC */

Generated by  Doxygen 1.6.0   Back to index