Commit e290e617 authored by unknown's avatar unknown

Remove some files that should not have been added with BDB upgrade,

and update ignore file after move of storage engines to storage/.


BitKeeper/deleted/.del-.IGNORE_ME~7d48c5cc6a693365:
  Delete: storage/bdb/build_unix/.IGNORE_ME
BitKeeper/deleted/.del-config.hin~6c9fcc7865fbb64a:
  Delete: storage/bdb/dist/config.hin
BitKeeper/deleted/.del-db_server_proc~f547043c24590673:
  Delete: storage/bdb/dist/template/db_server_proc
BitKeeper/deleted/.del-gen_client_ret~ae4ef5cef951bd76:
  Delete: storage/bdb/dist/template/gen_client_ret
BitKeeper/deleted/.del-rec_btree~a5adf9b5626f4d9f:
  Delete: storage/bdb/dist/template/rec_btree
BitKeeper/deleted/.del-rec_crdel~7300927240b9d2d7:
  Delete: storage/bdb/dist/template/rec_crdel
BitKeeper/deleted/.del-rec_dbreg~b44e71f4622abd02:
  Delete: storage/bdb/dist/template/rec_dbreg
BitKeeper/deleted/.del-rec_db~f59dc271ee2f2ed3:
  Delete: storage/bdb/dist/template/rec_db
BitKeeper/deleted/.del-rec_fileops~86598044415274cd:
  Delete: storage/bdb/dist/template/rec_fileops
BitKeeper/deleted/.del-db_server.x~f2754d16c385befc:
  Delete: storage/bdb/rpc_server/db_server.x
BitKeeper/deleted/.del-db_server_proc.c~550295a7279e753:
  Delete: storage/bdb/rpc_server/c/db_server_proc.c
BitKeeper/deleted/.del-gen_client.c~3bea25e4cabac1d5:
  Delete: storage/bdb/rpc_client/gen_client.c
BitKeeper/deleted/.del-gen_db_server.c~978be757dca7e000:
  Delete: storage/bdb/rpc_server/c/gen_db_server.c
BitKeeper/deleted/.del-rec_hash~8b32ca72e303bedd:
  Delete: storage/bdb/dist/template/rec_hash
BitKeeper/deleted/.del-rec_qam~b914dc918c67b2d0:
  Delete: storage/bdb/dist/template/rec_qam
BitKeeper/deleted/.del-rec_txn~787bfed583e17818:
  Delete: storage/bdb/dist/template/rec_txn
BitKeeper/etc/ignore:
  Update files to ignore from storage engine directions, especially bdb,
  and some new additions to be ignored from libmysqld.
parent b4d5576a
...@@ -115,135 +115,159 @@ autom4te.cache/* ...@@ -115,135 +115,159 @@ autom4te.cache/*
autom4te.cache/output.0 autom4te.cache/output.0
autom4te.cache/requests autom4te.cache/requests
autom4te.cache/traces.0 autom4te.cache/traces.0
bdb/README storage/bdb/btree/btree_auto.c
bdb/btree/btree_auto.c storage/bdb/btree/btree_autop.c
bdb/build_unix/* storage/bdb/build_unix/*
bdb/build_vxworks/db.h storage/bdb/build_vxworks/BerkeleyDB20small.wpj
bdb/build_vxworks/db_int.h storage/bdb/build_vxworks/BerkeleyDB20.wpj
bdb/build_win32/db.h storage/bdb/build_vxworks/BerkeleyDB22small.wpj
bdb/build_win32/db_archive.dsp storage/bdb/build_vxworks/BerkeleyDB22.wpj
bdb/build_win32/db_checkpoint.dsp storage/bdb/build_vxworks/db_config.h
bdb/build_win32/db_config.h storage/bdb/build_vxworks/db_config_small.h
bdb/build_win32/db_cxx.h storage/bdb/build_vxworks/db_deadlock/db_deadlock20.wpj
bdb/build_win32/db_deadlock.dsp storage/bdb/build_vxworks/db_deadlock/db_deadlock22.wpj
bdb/build_win32/db_dll.dsp storage/bdb/build_vxworks/dbdemo/dbdemo20.wpj
bdb/build_win32/db_dump.dsp storage/bdb/build_vxworks/dbdemo/dbdemo22.wpj
bdb/build_win32/db_int.h storage/bdb/build_vxworks/dbdemo/dbdemo.c
bdb/build_win32/db_java.dsp storage/bdb/build_vxworks/db.h
bdb/build_win32/db_load.dsp storage/bdb/build_vxworks/db_int.h
bdb/build_win32/db_perf.dsp storage/bdb/build_win32/db_archive.dsp
bdb/build_win32/db_printlog.dsp storage/bdb/build_win32/db_checkpoint.dsp
bdb/build_win32/db_recover.dsp storage/bdb/build_win32/db_config.h
bdb/build_win32/db_stat.dsp storage/bdb/build_win32/db_cxx.h
bdb/build_win32/db_static.dsp storage/bdb/build_win32/db_deadlock.dsp
bdb/build_win32/db_tcl.dsp storage/bdb/build_win32/db_dll.dsp
bdb/build_win32/db_test.dsp storage/bdb/build_win32/db_dump.dsp
bdb/build_win32/db_upgrade.dsp storage/bdb/build_win32/db.h
bdb/build_win32/db_verify.dsp storage/bdb/build_win32/db_int.h
bdb/build_win32/ex_access.dsp storage/bdb/build_win32/db_java.dsp
bdb/build_win32/ex_btrec.dsp storage/bdb/build_win32/db_load.dsp
bdb/build_win32/ex_env.dsp storage/bdb/build_win32/db_perf.dsp
bdb/build_win32/ex_lock.dsp storage/bdb/build_win32/db_printlog.dsp
bdb/build_win32/ex_mpool.dsp storage/bdb/build_win32/db_recover.dsp
bdb/build_win32/ex_tpcb.dsp storage/bdb/build_win32/db_stat.dsp
bdb/build_win32/excxx_access.dsp storage/bdb/build_win32/db_static.dsp
bdb/build_win32/excxx_btrec.dsp storage/bdb/build_win32/db_tcl.dsp
bdb/build_win32/excxx_env.dsp storage/bdb/build_win32/db_test.dsp
bdb/build_win32/excxx_lock.dsp storage/bdb/build_win32/db_upgrade.dsp
bdb/build_win32/excxx_mpool.dsp storage/bdb/build_win32/db_verify.dsp
bdb/build_win32/excxx_tpcb.dsp storage/bdb/build_win32/ex_access.dsp
bdb/build_win32/include.tcl storage/bdb/build_win32/ex_btrec.dsp
bdb/build_win32/libdb.def storage/bdb/build_win32/excxx_access.dsp
bdb/build_win32/libdb.rc storage/bdb/build_win32/excxx_btrec.dsp
bdb/db/crdel_auto.c storage/bdb/build_win32/excxx_env.dsp
bdb/db/db_auto.c storage/bdb/build_win32/excxx_lock.dsp
bdb/dbinc_auto/*.* storage/bdb/build_win32/excxx_mpool.dsp
bdb/dbreg/dbreg_auto.c storage/bdb/build_win32/excxx_tpcb.dsp
bdb/dist/autom4te-2.53.cache/* storage/bdb/build_win32/ex_env.dsp
bdb/dist/autom4te-2.53.cache/output.0 storage/bdb/build_win32/ex_lock.dsp
bdb/dist/autom4te-2.53.cache/requests storage/bdb/build_win32/ex_mpool.dsp
bdb/dist/autom4te-2.53.cache/traces.0 storage/bdb/build_win32/ex_repquote.dsp
bdb/dist/autom4te.cache/* storage/bdb/build_win32/ex_tpcb.dsp
bdb/dist/autom4te.cache/output.0 storage/bdb/build_win32/include.tcl
bdb/dist/autom4te.cache/requests storage/bdb/build_win32/libdb.def
bdb/dist/autom4te.cache/traces.0 storage/bdb/build_win32/libdb.rc
bdb/dist/config.hin storage/bdb/build_win32/win_db.h
bdb/dist/configure storage/bdb/db/crdel_auto.c
bdb/dist/tags storage/bdb/db/crdel_autop.c
bdb/dist/template/db_server_proc storage/bdb/db/db_auto.c
bdb/dist/template/gen_client_ret storage/bdb/db/db_autop.c
bdb/dist/template/rec_btree storage/bdb/dbinc_auto/*.*
bdb/dist/template/rec_crdel storage/bdb/dbreg/dbreg_auto.c
bdb/dist/template/rec_db storage/bdb/dbreg/dbreg_autop.c
bdb/dist/template/rec_dbreg storage/bdb/dist/autom4te-2.53.cache/*
bdb/dist/template/rec_fileops storage/bdb/dist/autom4te-2.53.cache/output.0
bdb/dist/template/rec_hash storage/bdb/dist/autom4te-2.53.cache/requests
bdb/dist/template/rec_log storage/bdb/dist/autom4te-2.53.cache/traces.0
bdb/dist/template/rec_qam storage/bdb/dist/autom4te.cache/*
bdb/dist/template/rec_txn storage/bdb/dist/autom4te.cache/output.0
bdb/examples_c/ex_apprec/ex_apprec_auto.c storage/bdb/dist/autom4te.cache/requests
bdb/examples_c/ex_apprec/ex_apprec_auto.h storage/bdb/dist/autom4te.cache/traces.0
bdb/examples_c/ex_apprec/ex_apprec_template storage/bdb/dist/config.hin
bdb/examples_java storage/bdb/dist/configure
bdb/fileops/fileops_auto.c storage/bdb/dist/tags
bdb/hash/hash_auto.c storage/bdb/dist/template/db_server_proc
bdb/include/btree_auto.h storage/bdb/dist/template/gen_client_ret
bdb/include/btree_ext.h storage/bdb/dist/template/rec_btree
bdb/include/clib_ext.h storage/bdb/dist/template/rec_crdel
bdb/include/common_ext.h storage/bdb/dist/template/rec_db
bdb/include/crdel_auto.h storage/bdb/dist/template/rec_dbreg
bdb/include/db_auto.h storage/bdb/dist/template/rec_fileops
bdb/include/db_ext.h storage/bdb/dist/template/rec_hash
bdb/include/db_server.h storage/bdb/dist/template/rec_log
bdb/include/env_ext.h storage/bdb/dist/template/rec_qam
bdb/include/gen_client_ext.h storage/bdb/dist/template/rec_txn
bdb/include/gen_server_ext.h storage/bdb/examples_c/ex_apprec/ex_apprec_auto.c
bdb/include/hash_auto.h storage/bdb/examples_c/ex_apprec/ex_apprec_auto.h
bdb/include/hash_ext.h storage/bdb/examples_c/ex_apprec/ex_apprec_template
bdb/include/lock_ext.h storage/bdb/examples_java
bdb/include/log_auto.h storage/bdb/fileops/fileops_auto.c
bdb/include/log_ext.h storage/bdb/fileops/fileops_autop.c
bdb/include/mp_ext.h storage/bdb/hash/hash_auto.c
bdb/include/mutex_ext.h storage/bdb/hash/hash_autop.c
bdb/include/os_ext.h storage/bdb/include/btree_auto.h
bdb/include/qam_auto.h storage/bdb/include/btree_ext.h
bdb/include/qam_ext.h storage/bdb/include/clib_ext.h
bdb/include/rpc_client_ext.h storage/bdb/include/common_ext.h
bdb/include/rpc_server_ext.h storage/bdb/include/crdel_auto.h
bdb/include/tcl_ext.h storage/bdb/include/db_auto.h
bdb/include/txn_auto.h storage/bdb/include/db_ext.h
bdb/include/txn_ext.h storage/bdb/include/db_server.h
bdb/include/xa_ext.h storage/bdb/include/env_ext.h
bdb/java/src/com/sleepycat/db/Db.java storage/bdb/include/gen_client_ext.h
bdb/java/src/com/sleepycat/db/DbBtreeStat.java storage/bdb/include/gen_server_ext.h
bdb/java/src/com/sleepycat/db/DbConstants.java storage/bdb/include/hash_auto.h
bdb/java/src/com/sleepycat/db/DbHashStat.java storage/bdb/include/hash_ext.h
bdb/java/src/com/sleepycat/db/DbLockStat.java storage/bdb/include/lock_ext.h
bdb/java/src/com/sleepycat/db/DbLogStat.java storage/bdb/include/log_auto.h
bdb/java/src/com/sleepycat/db/DbMpoolFStat.java storage/bdb/include/log_ext.h
bdb/java/src/com/sleepycat/db/DbQueueStat.java storage/bdb/include/mp_ext.h
bdb/java/src/com/sleepycat/db/DbRepStat.java storage/bdb/include/mutex_ext.h
bdb/java/src/com/sleepycat/db/DbTxnStat.java storage/bdb/include/os_ext.h
bdb/libdb_java/java_stat_auto.c storage/bdb/include/qam_auto.h
bdb/libdb_java/java_stat_auto.h storage/bdb/include/qam_ext.h
bdb/log/log_auto.c storage/bdb/include/rpc_client_ext.h
bdb/qam/qam_auto.c storage/bdb/include/rpc_server_ext.h
bdb/rpc_client/db_server_clnt.c storage/bdb/include/tcl_ext.h
bdb/rpc_client/gen_client.c storage/bdb/include/txn_auto.h
bdb/rpc_server/c/db_server_proc.c storage/bdb/include/txn_ext.h
bdb/rpc_server/c/db_server_proc.sed storage/bdb/include/xa_ext.h
bdb/rpc_server/c/db_server_svc.c storage/bdb/java/src/com/sleepycat/db/DbBtreeStat.java
bdb/rpc_server/c/db_server_xdr.c storage/bdb/java/src/com/sleepycat/db/DbConstants.java
bdb/rpc_server/c/gen_db_server.c storage/bdb/java/src/com/sleepycat/db/DbHashStat.java
bdb/rpc_server/db_server.x storage/bdb/java/src/com/sleepycat/db/Db.java
bdb/rpc_server/db_server_proc.sed storage/bdb/java/src/com/sleepycat/db/DbLockStat.java
bdb/rpc_server/db_server_svc.c storage/bdb/java/src/com/sleepycat/db/DbLogStat.java
bdb/rpc_server/db_server_xdr.c storage/bdb/java/src/com/sleepycat/db/DbMpoolFStat.java
bdb/rpc_server/gen_db_server.c storage/bdb/java/src/com/sleepycat/db/DbQueueStat.java
bdb/test/TESTS storage/bdb/java/src/com/sleepycat/db/DbRepStat.java
bdb/test/include.tcl storage/bdb/java/src/com/sleepycat/db/DbTxnStat.java
bdb/test/logtrack.list storage/bdb/libdb_java/java_stat_auto.c
bdb/txn/txn_auto.c storage/bdb/libdb_java/java_stat_auto.h
storage/bdb/libdb_java/java_util.i
storage/bdb/log/log_auto.c
storage/bdb/qam/qam_auto.c
storage/bdb/qam/qam_autop.c
storage/bdb/README
storage/bdb/rep/rep_auto.c
storage/bdb/rep/rep_autop.c
storage/bdb/rpc_client/db_server_clnt.c
storage/bdb/rpc_client/gen_client.c
storage/bdb/rpc_server/c/db_server_proc.c
storage/bdb/rpc_server/c/db_server_proc.sed
storage/bdb/rpc_server/c/db_server_svc.c
storage/bdb/rpc_server/c/db_server_xdr.c
storage/bdb/rpc_server/c/gen_db_server.c
storage/bdb/rpc_server/db_server_proc.sed
storage/bdb/rpc_server/db_server_svc.c
storage/bdb/rpc_server/db_server.x
storage/bdb/rpc_server/db_server_xdr.c
storage/bdb/rpc_server/gen_db_server.c
storage/bdb/test/include.tcl
storage/bdb/test/logtrack.list
storage/bdb/test/TESTS
storage/bdb/txn/txn_auto.c
storage/bdb/txn/txn_autop.c
binary/* binary/*
bkpull.log bkpull.log
bkpull.log* bkpull.log*
...@@ -330,8 +354,8 @@ fcns.h ...@@ -330,8 +354,8 @@ fcns.h
gdbinit gdbinit
gmon.out gmon.out
hardcopy.0 hardcopy.0
heap/hp_test1 storage/heap/hp_test1
heap/hp_test2 storage/heap/hp_test2
help help
help.c help.c
help.h help.h
...@@ -345,21 +369,21 @@ include/readline/*.h ...@@ -345,21 +369,21 @@ include/readline/*.h
include/readline/readline.h include/readline/readline.h
include/sql_state.h include/sql_state.h
include/widec.h include/widec.h
innobase/autom4te-2.53.cache/* storage/innobase/autom4te-2.53.cache/*
innobase/autom4te-2.53.cache/output.0 storage/innobase/autom4te-2.53.cache/output.0
innobase/autom4te-2.53.cache/requests storage/innobase/autom4te-2.53.cache/requests
innobase/autom4te-2.53.cache/traces.0 storage/innobase/autom4te-2.53.cache/traces.0
innobase/autom4te.cache/* storage/innobase/autom4te.cache/*
innobase/autom4te.cache/output.0 storage/innobase/autom4te.cache/output.0
innobase/autom4te.cache/requests storage/innobase/autom4te.cache/requests
innobase/autom4te.cache/traces.0 storage/innobase/autom4te.cache/traces.0
innobase/configure.lineno storage/innobase/configure.lineno
innobase/conftest.s1 storage/innobase/conftest.s1
innobase/conftest.subs storage/innobase/conftest.subs
innobase/ib_config.h storage/innobase/ib_config.h
innobase/ib_config.h.in storage/innobase/ib_config.h.in
innobase/mkinstalldirs storage/innobase/mkinstalldirs
innobase/stamp-h1 storage/innobase/stamp-h1
insert_test insert_test
install install
install-sh install-sh
...@@ -422,6 +446,7 @@ libmysqld/ha_isam.cc ...@@ -422,6 +446,7 @@ libmysqld/ha_isam.cc
libmysqld/ha_isammrg.cc libmysqld/ha_isammrg.cc
libmysqld/ha_myisam.cc libmysqld/ha_myisam.cc
libmysqld/ha_myisammrg.cc libmysqld/ha_myisammrg.cc
libmysqld/ha_partition.cc
libmysqld/ha_tina.cc libmysqld/ha_tina.cc
libmysqld/handler.cc libmysqld/handler.cc
libmysqld/hash_filo.cc libmysqld/hash_filo.cc
...@@ -462,6 +487,7 @@ libmysqld/protocol.cc ...@@ -462,6 +487,7 @@ libmysqld/protocol.cc
libmysqld/protocol_cursor.cc libmysqld/protocol_cursor.cc
libmysqld/records.cc libmysqld/records.cc
libmysqld/repl_failsafe.cc libmysqld/repl_failsafe.cc
libmysqld/rpl_filter.cc
libmysqld/set_var.cc libmysqld/set_var.cc
libmysqld/simple-test libmysqld/simple-test
libmysqld/slave.cc libmysqld/slave.cc
...@@ -493,6 +519,7 @@ libmysqld/sql_manager.cc ...@@ -493,6 +519,7 @@ libmysqld/sql_manager.cc
libmysqld/sql_map.cc libmysqld/sql_map.cc
libmysqld/sql_olap.cc libmysqld/sql_olap.cc
libmysqld/sql_parse.cc libmysqld/sql_parse.cc
libmysqld/sql_partition.cc
libmysqld/sql_prepare.cc libmysqld/sql_prepare.cc
libmysqld/sql_rename.cc libmysqld/sql_rename.cc
libmysqld/sql_repl.cc libmysqld/sql_repl.cc
...@@ -540,31 +567,31 @@ mit-pthreads/pg++ ...@@ -540,31 +567,31 @@ mit-pthreads/pg++
mit-pthreads/pgcc mit-pthreads/pgcc
mit-pthreads/syscall.S mit-pthreads/syscall.S
mkinstalldirs mkinstalldirs
myisam/FT1.MYD storage/myisam/FT1.MYD
myisam/FT1.MYI storage/myisam/FT1.MYI
myisam/ft_dump storage/myisam/ft_dump
myisam/ft_eval storage/myisam/ft_eval
myisam/ft_test1 storage/myisam/ft_test1
myisam/ftbench/data storage/myisam/ftbench/data
myisam/ftbench/t storage/myisam/ftbench/t
myisam/ftbench/var/* storage/myisam/ftbench/var/*
myisam/mi_test1 storage/myisam/mi_test1
myisam/mi_test2 storage/myisam/mi_test2
myisam/mi_test3 storage/myisam/mi_test3
myisam/mi_test_all storage/myisam/mi_test_all
myisam/myisam.log storage/myisam/myisam.log
myisam/myisam_ftdump storage/myisam/myisam_ftdump
myisam/myisamchk storage/myisam/myisamchk
myisam/myisamlog storage/myisam/myisamlog
myisam/myisampack storage/myisam/myisampack
myisam/rt_test storage/myisam/rt_test
myisam/rt_test.MYD storage/myisam/rt_test.MYD
myisam/rt_test.MYI storage/myisam/rt_test.MYI
myisam/sp_test storage/myisam/sp_test
myisam/test1.MYD storage/myisam/test1.MYD
myisam/test1.MYI storage/myisam/test1.MYI
myisam/test2.MYD storage/myisam/test2.MYD
myisam/test2.MYI storage/myisam/test2.MYI
mysql-4.0.2-alpha-pc-linux-gnu-i686.tar.gz mysql-4.0.2-alpha-pc-linux-gnu-i686.tar.gz
mysql-4.0.2-alpha.tar.gz mysql-4.0.2-alpha.tar.gz
mysql-4.1.8-win-src.zip mysql-4.1.8-win-src.zip
...@@ -663,247 +690,247 @@ mysys/test_thr_alarm ...@@ -663,247 +690,247 @@ mysys/test_thr_alarm
mysys/test_thr_lock mysys/test_thr_lock
mysys/test_vsnprintf mysys/test_vsnprintf
mysys/testhash mysys/testhash
ndb/bin/DbAsyncGenerator storage/ndb/bin/DbAsyncGenerator
ndb/bin/DbCreate storage/ndb/bin/DbCreate
ndb/bin/acid storage/ndb/bin/acid
ndb/bin/async-lmc-bench-l-p10.sh storage/ndb/bin/async-lmc-bench-l-p10.sh
ndb/bin/async-lmc-bench-l.sh storage/ndb/bin/async-lmc-bench-l.sh
ndb/bin/async-lmc-bench-p10.sh storage/ndb/bin/async-lmc-bench-p10.sh
ndb/bin/async-lmc-bench.sh storage/ndb/bin/async-lmc-bench.sh
ndb/bin/atrt storage/ndb/bin/atrt
ndb/bin/atrt-analyze-result.sh storage/ndb/bin/atrt-analyze-result.sh
ndb/bin/atrt-clear-result.sh storage/ndb/bin/atrt-clear-result.sh
ndb/bin/atrt-gather-result.sh storage/ndb/bin/atrt-gather-result.sh
ndb/bin/atrt-setup.sh storage/ndb/bin/atrt-setup.sh
ndb/bin/bankCreator storage/ndb/bin/bankCreator
ndb/bin/bankMakeGL storage/ndb/bin/bankMakeGL
ndb/bin/bankSumAccounts storage/ndb/bin/bankSumAccounts
ndb/bin/bankTimer storage/ndb/bin/bankTimer
ndb/bin/bankTransactionMaker storage/ndb/bin/bankTransactionMaker
ndb/bin/bankValidateAllGLs storage/ndb/bin/bankValidateAllGLs
ndb/bin/basicTransporterTest storage/ndb/bin/basicTransporterTest
ndb/bin/benchronja storage/ndb/bin/benchronja
ndb/bin/bulk_copy storage/ndb/bin/bulk_copy
ndb/bin/copy_tab storage/ndb/bin/copy_tab
ndb/bin/create_all_tabs storage/ndb/bin/create_all_tabs
ndb/bin/create_index storage/ndb/bin/create_index
ndb/bin/create_tab storage/ndb/bin/create_tab
ndb/bin/delete_all storage/ndb/bin/delete_all
ndb/bin/desc storage/ndb/bin/desc
ndb/bin/drop_all_tabs storage/ndb/bin/drop_all_tabs
ndb/bin/drop_index storage/ndb/bin/drop_index
ndb/bin/drop_tab storage/ndb/bin/drop_tab
ndb/bin/flexAsynch storage/ndb/bin/flexAsynch
ndb/bin/flexBench storage/ndb/bin/flexBench
ndb/bin/flexHammer storage/ndb/bin/flexHammer
ndb/bin/flexScan storage/ndb/bin/flexScan
ndb/bin/flexTT storage/ndb/bin/flexTT
ndb/bin/hugoCalculator storage/ndb/bin/hugoCalculator
ndb/bin/hugoFill storage/ndb/bin/hugoFill
ndb/bin/hugoLoad storage/ndb/bin/hugoLoad
ndb/bin/hugoLockRecords storage/ndb/bin/hugoLockRecords
ndb/bin/hugoPkDelete storage/ndb/bin/hugoPkDelete
ndb/bin/hugoPkRead storage/ndb/bin/hugoPkRead
ndb/bin/hugoPkReadRecord storage/ndb/bin/hugoPkReadRecord
ndb/bin/hugoPkUpdate storage/ndb/bin/hugoPkUpdate
ndb/bin/hugoScanRead storage/ndb/bin/hugoScanRead
ndb/bin/hugoScanUpdate storage/ndb/bin/hugoScanUpdate
ndb/bin/index storage/ndb/bin/index
ndb/bin/index2 storage/ndb/bin/index2
ndb/bin/initronja storage/ndb/bin/initronja
ndb/bin/interpreterInTup storage/ndb/bin/interpreterInTup
ndb/bin/list_tables storage/ndb/bin/list_tables
ndb/bin/make-config.sh storage/ndb/bin/make-config.sh
ndb/bin/mgmtclient storage/ndb/bin/mgmtclient
ndb/bin/mgmtsrvr storage/ndb/bin/mgmtsrvr
ndb/bin/mkconfig storage/ndb/bin/mkconfig
ndb/bin/ndb storage/ndb/bin/ndb
ndb/bin/ndb_cpcc storage/ndb/bin/ndb_cpcc
ndb/bin/ndb_cpcd storage/ndb/bin/ndb_cpcd
ndb/bin/ndb_rep storage/ndb/bin/ndb_rep
ndb/bin/ndbsql storage/ndb/bin/ndbsql
ndb/bin/newton_basic storage/ndb/bin/newton_basic
ndb/bin/newton_br storage/ndb/bin/newton_br
ndb/bin/newton_pb storage/ndb/bin/newton_pb
ndb/bin/newton_perf storage/ndb/bin/newton_perf
ndb/bin/perfTransporterTest storage/ndb/bin/perfTransporterTest
ndb/bin/printConfig storage/ndb/bin/printConfig
ndb/bin/printSchemafile storage/ndb/bin/printSchemafile
ndb/bin/printSysfile storage/ndb/bin/printSysfile
ndb/bin/redoLogFileReader storage/ndb/bin/redoLogFileReader
ndb/bin/restart storage/ndb/bin/restart
ndb/bin/restarter storage/ndb/bin/restarter
ndb/bin/restarter2 storage/ndb/bin/restarter2
ndb/bin/restarts storage/ndb/bin/restarts
ndb/bin/restore storage/ndb/bin/restore
ndb/bin/select_all storage/ndb/bin/select_all
ndb/bin/select_count storage/ndb/bin/select_count
ndb/bin/telco storage/ndb/bin/telco
ndb/bin/testBackup storage/ndb/bin/testBackup
ndb/bin/testBank storage/ndb/bin/testBank
ndb/bin/testBasic storage/ndb/bin/testBasic
ndb/bin/testBasicAsynch storage/ndb/bin/testBasicAsynch
ndb/bin/testCopy storage/ndb/bin/testCopy
ndb/bin/testDataBuffers storage/ndb/bin/testDataBuffers
ndb/bin/testDict storage/ndb/bin/testDict
ndb/bin/testGrep storage/ndb/bin/testGrep
ndb/bin/testGrepVerify storage/ndb/bin/testGrepVerify
ndb/bin/testIndex storage/ndb/bin/testIndex
ndb/bin/testInterpreter storage/ndb/bin/testInterpreter
ndb/bin/testKernelDataBuffer storage/ndb/bin/testKernelDataBuffer
ndb/bin/testLongSig storage/ndb/bin/testLongSig
ndb/bin/testMgm storage/ndb/bin/testMgm
ndb/bin/testMgmapi storage/ndb/bin/testMgmapi
ndb/bin/testNdbApi storage/ndb/bin/testNdbApi
ndb/bin/testNodeRestart storage/ndb/bin/testNodeRestart
ndb/bin/testOIBasic storage/ndb/bin/testOIBasic
ndb/bin/testOdbcDriver storage/ndb/bin/testOdbcDriver
ndb/bin/testOperations storage/ndb/bin/testOperations
ndb/bin/testRestartGci storage/ndb/bin/testRestartGci
ndb/bin/testScan storage/ndb/bin/testScan
ndb/bin/testScanInterpreter storage/ndb/bin/testScanInterpreter
ndb/bin/testSimplePropertiesSection storage/ndb/bin/testSimplePropertiesSection
ndb/bin/testSystemRestart storage/ndb/bin/testSystemRestart
ndb/bin/testTimeout storage/ndb/bin/testTimeout
ndb/bin/testTransactions storage/ndb/bin/testTransactions
ndb/bin/test_cpcd storage/ndb/bin/test_cpcd
ndb/bin/test_event storage/ndb/bin/test_event
ndb/bin/verify_index storage/ndb/bin/verify_index
ndb/bin/waiter storage/ndb/bin/waiter
ndb/config/autom4te.cache/* storage/ndb/config/autom4te.cache/*
ndb/config/config.mk storage/ndb/config/config.mk
ndb/examples/ndbapi_example1/ndbapi_example1 storage/ndb/examples/ndbapi_example1/ndbapi_example1
ndb/examples/ndbapi_example2/ndbapi_example2 storage/ndb/examples/ndbapi_example2/ndbapi_example2
ndb/examples/ndbapi_example3/ndbapi_example3 storage/ndb/examples/ndbapi_example3/ndbapi_example3
ndb/examples/ndbapi_example5/ndbapi_example5 storage/ndb/examples/ndbapi_example5/ndbapi_example5
ndb/examples/select_all/select_all storage/ndb/examples/select_all/select_all
ndb/include/ndb_global.h storage/ndb/include/ndb_global.h
ndb/include/ndb_types.h storage/ndb/include/ndb_types.h
ndb/include/ndb_version.h storage/ndb/include/ndb_version.h
ndb/lib/libMGM_API.so storage/ndb/lib/libMGM_API.so
ndb/lib/libNDB_API.so storage/ndb/lib/libNDB_API.so
ndb/lib/libNDB_ODBC.so storage/ndb/lib/libNDB_ODBC.so
ndb/lib/libNEWTON_API.so storage/ndb/lib/libNEWTON_API.so
ndb/lib/libNEWTON_BASICTEST_COMMON.so storage/ndb/lib/libNEWTON_BASICTEST_COMMON.so
ndb/lib/libREP_API.so storage/ndb/lib/libREP_API.so
ndb/lib/libndbclient.so storage/ndb/lib/libndbclient.so
ndb/lib/libndbclient_extra.so storage/ndb/lib/libndbclient_extra.so
ndb/src/common/debugger/libtrace.dsp storage/ndb/src/common/debugger/libtrace.dsp
ndb/src/common/debugger/signaldata/libsignaldataprint.dsp storage/ndb/src/common/debugger/signaldata/libsignaldataprint.dsp
ndb/src/common/logger/liblogger.dsp storage/ndb/src/common/logger/liblogger.dsp
ndb/src/common/mgmcommon/libmgmsrvcommon.dsp storage/ndb/src/common/mgmcommon/libmgmsrvcommon.dsp
ndb/src/common/mgmcommon/printConfig/*.d storage/ndb/src/common/mgmcommon/printConfig/*.d
ndb/src/common/portlib/libportlib.dsp storage/ndb/src/common/portlib/libportlib.dsp
ndb/src/common/transporter/libtransporter.dsp storage/ndb/src/common/transporter/libtransporter.dsp
ndb/src/common/util/libgeneral.dsp storage/ndb/src/common/util/libgeneral.dsp
ndb/src/cw/cpcd/ndb_cpcd storage/ndb/src/cw/cpcd/ndb_cpcd
ndb/src/dummy.cpp storage/ndb/src/dummy.cpp
ndb/src/kernel/blocks/backup/libbackup.dsp storage/ndb/src/kernel/blocks/backup/libbackup.dsp
ndb/src/kernel/blocks/backup/restore/ndb_restore storage/ndb/src/kernel/blocks/backup/restore/ndb_restore
ndb/src/kernel/blocks/cmvmi/libcmvmi.dsp storage/ndb/src/kernel/blocks/cmvmi/libcmvmi.dsp
ndb/src/kernel/blocks/dbacc/libdbacc.dsp storage/ndb/src/kernel/blocks/dbacc/libdbacc.dsp
ndb/src/kernel/blocks/dbdict/libdbdict.dsp storage/ndb/src/kernel/blocks/dbdict/libdbdict.dsp
ndb/src/kernel/blocks/dbdih/libdbdih.dsp storage/ndb/src/kernel/blocks/dbdih/libdbdih.dsp
ndb/src/kernel/blocks/dblqh/libdblqh.dsp storage/ndb/src/kernel/blocks/dblqh/libdblqh.dsp
ndb/src/kernel/blocks/dbtc/libdbtc.dsp storage/ndb/src/kernel/blocks/dbtc/libdbtc.dsp
ndb/src/kernel/blocks/dbtup/libdbtup.dsp storage/ndb/src/kernel/blocks/dbtup/libdbtup.dsp
ndb/src/kernel/blocks/dbtux/libdbtux.dsp storage/ndb/src/kernel/blocks/dbtux/libdbtux.dsp
ndb/src/kernel/blocks/dbutil/libdbutil.dsp storage/ndb/src/kernel/blocks/dbutil/libdbutil.dsp
ndb/src/kernel/blocks/grep/libgrep.dsp storage/ndb/src/kernel/blocks/grep/libgrep.dsp
ndb/src/kernel/blocks/ndbcntr/libndbcntr.dsp storage/ndb/src/kernel/blocks/ndbcntr/libndbcntr.dsp
ndb/src/kernel/blocks/ndbfs/libndbfs.dsp storage/ndb/src/kernel/blocks/ndbfs/libndbfs.dsp
ndb/src/kernel/blocks/qmgr/libqmgr.dsp storage/ndb/src/kernel/blocks/qmgr/libqmgr.dsp
ndb/src/kernel/blocks/suma/libsuma.dsp storage/ndb/src/kernel/blocks/suma/libsuma.dsp
ndb/src/kernel/blocks/trix/libtrix.dsp storage/ndb/src/kernel/blocks/trix/libtrix.dsp
ndb/src/kernel/error/liberror.dsp storage/ndb/src/kernel/error/liberror.dsp
ndb/src/kernel/ndbd storage/ndb/src/kernel/ndbd
ndb/src/kernel/ndbd.dsp storage/ndb/src/kernel/ndbd.dsp
ndb/src/kernel/vm/libkernel.dsp storage/ndb/src/kernel/vm/libkernel.dsp
ndb/src/libndbclient.dsp storage/ndb/src/libndbclient.dsp
ndb/src/mgmapi/libmgmapi.dsp storage/ndb/src/mgmapi/libmgmapi.dsp
ndb/src/mgmclient/libndbmgmclient.dsp storage/ndb/src/mgmclient/libndbmgmclient.dsp
ndb/src/mgmclient/ndb_mgm storage/ndb/src/mgmclient/ndb_mgm
ndb/src/mgmclient/ndb_mgm.dsp storage/ndb/src/mgmclient/ndb_mgm.dsp
ndb/src/mgmclient/test_cpcd/*.d storage/ndb/src/mgmclient/test_cpcd/*.d
ndb/src/mgmsrv/ndb_mgmd storage/ndb/src/mgmsrv/ndb_mgmd
ndb/src/mgmsrv/ndb_mgmd.dsp storage/ndb/src/mgmsrv/ndb_mgmd.dsp
ndb/src/ndbapi/libndbapi.dsp storage/ndb/src/ndbapi/libndbapi.dsp
ndb/test/ndbapi/bank/bankCreator storage/ndb/test/ndbapi/bank/bankCreator
ndb/test/ndbapi/bank/bankMakeGL storage/ndb/test/ndbapi/bank/bankMakeGL
ndb/test/ndbapi/bank/bankSumAccounts storage/ndb/test/ndbapi/bank/bankSumAccounts
ndb/test/ndbapi/bank/bankTimer storage/ndb/test/ndbapi/bank/bankTimer
ndb/test/ndbapi/bank/bankTransactionMaker storage/ndb/test/ndbapi/bank/bankTransactionMaker
ndb/test/ndbapi/bank/bankValidateAllGLs storage/ndb/test/ndbapi/bank/bankValidateAllGLs
ndb/test/ndbapi/bank/testBank storage/ndb/test/ndbapi/bank/testBank
ndb/test/ndbapi/create_all_tabs storage/ndb/test/ndbapi/create_all_tabs
ndb/test/ndbapi/create_tab storage/ndb/test/ndbapi/create_tab
ndb/test/ndbapi/drop_all_tabs storage/ndb/test/ndbapi/drop_all_tabs
ndb/test/ndbapi/flexAsynch storage/ndb/test/ndbapi/flexAsynch
ndb/test/ndbapi/flexBench storage/ndb/test/ndbapi/flexBench
ndb/test/ndbapi/flexBench.dsp storage/ndb/test/ndbapi/flexBench.dsp
ndb/test/ndbapi/flexHammer storage/ndb/test/ndbapi/flexHammer
ndb/test/ndbapi/flexTT storage/ndb/test/ndbapi/flexTT
ndb/test/ndbapi/testBackup storage/ndb/test/ndbapi/testBackup
ndb/test/ndbapi/testBasic storage/ndb/test/ndbapi/testBasic
ndb/test/ndbapi/testBasic.dsp storage/ndb/test/ndbapi/testBasic.dsp
ndb/test/ndbapi/testBasicAsynch storage/ndb/test/ndbapi/testBasicAsynch
ndb/test/ndbapi/testBlobs storage/ndb/test/ndbapi/testBlobs
ndb/test/ndbapi/testBlobs.dsp storage/ndb/test/ndbapi/testBlobs.dsp
ndb/test/ndbapi/testDataBuffers storage/ndb/test/ndbapi/testDataBuffers
ndb/test/ndbapi/testDeadlock storage/ndb/test/ndbapi/testDeadlock
ndb/test/ndbapi/testDict storage/ndb/test/ndbapi/testDict
ndb/test/ndbapi/testIndex storage/ndb/test/ndbapi/testIndex
ndb/test/ndbapi/testMgm storage/ndb/test/ndbapi/testMgm
ndb/test/ndbapi/testNdbApi storage/ndb/test/ndbapi/testNdbApi
ndb/test/ndbapi/testNodeRestart storage/ndb/test/ndbapi/testNodeRestart
ndb/test/ndbapi/testOIBasic storage/ndb/test/ndbapi/testOIBasic
ndb/test/ndbapi/testOperations storage/ndb/test/ndbapi/testOperations
ndb/test/ndbapi/testRestartGci storage/ndb/test/ndbapi/testRestartGci
ndb/test/ndbapi/testSRBank storage/ndb/test/ndbapi/testSRBank
ndb/test/ndbapi/testScan storage/ndb/test/ndbapi/testScan
ndb/test/ndbapi/testScan.dsp storage/ndb/test/ndbapi/testScan.dsp
ndb/test/ndbapi/testScanInterpreter storage/ndb/test/ndbapi/testScanInterpreter
ndb/test/ndbapi/testScanPerf storage/ndb/test/ndbapi/testScanPerf
ndb/test/ndbapi/testSystemRestart storage/ndb/test/ndbapi/testSystemRestart
ndb/test/ndbapi/testTimeout storage/ndb/test/ndbapi/testTimeout
ndb/test/ndbapi/testTransactions storage/ndb/test/ndbapi/testTransactions
ndb/test/ndbapi/test_event storage/ndb/test/ndbapi/test_event
ndb/test/run-test/atrt storage/ndb/test/run-test/atrt
ndb/test/src/libNDBT.dsp storage/ndb/test/src/libNDBT.dsp
ndb/test/tools/copy_tab storage/ndb/test/tools/copy_tab
ndb/test/tools/create_index storage/ndb/test/tools/create_index
ndb/test/tools/hugoCalculator storage/ndb/test/tools/hugoCalculator
ndb/test/tools/hugoFill storage/ndb/test/tools/hugoFill
ndb/test/tools/hugoLoad storage/ndb/test/tools/hugoLoad
ndb/test/tools/hugoLockRecords storage/ndb/test/tools/hugoLockRecords
ndb/test/tools/hugoPkDelete storage/ndb/test/tools/hugoPkDelete
ndb/test/tools/hugoPkRead storage/ndb/test/tools/hugoPkRead
ndb/test/tools/hugoPkReadRecord storage/ndb/test/tools/hugoPkReadRecord
ndb/test/tools/hugoPkUpdate storage/ndb/test/tools/hugoPkUpdate
ndb/test/tools/hugoScanRead storage/ndb/test/tools/hugoScanRead
ndb/test/tools/hugoScanUpdate storage/ndb/test/tools/hugoScanUpdate
ndb/test/tools/ndb_cpcc storage/ndb/test/tools/ndb_cpcc
ndb/test/tools/restart storage/ndb/test/tools/restart
ndb/test/tools/verify_index storage/ndb/test/tools/verify_index
ndb/tools/ndb_config storage/ndb/tools/ndb_config
ndb/tools/ndb_delete_all storage/ndb/tools/ndb_delete_all
ndb/tools/ndb_delete_all.dsp storage/ndb/tools/ndb_delete_all.dsp
ndb/tools/ndb_desc storage/ndb/tools/ndb_desc
ndb/tools/ndb_desc.dsp storage/ndb/tools/ndb_desc.dsp
ndb/tools/ndb_drop_index storage/ndb/tools/ndb_drop_index
ndb/tools/ndb_drop_index.dsp storage/ndb/tools/ndb_drop_index.dsp
ndb/tools/ndb_drop_table storage/ndb/tools/ndb_drop_table
ndb/tools/ndb_drop_table.dsp storage/ndb/tools/ndb_drop_table.dsp
ndb/tools/ndb_restore storage/ndb/tools/ndb_restore
ndb/tools/ndb_select_all storage/ndb/tools/ndb_select_all
ndb/tools/ndb_select_all.dsp storage/ndb/tools/ndb_select_all.dsp
ndb/tools/ndb_select_count storage/ndb/tools/ndb_select_count
ndb/tools/ndb_select_count.dsp storage/ndb/tools/ndb_select_count.dsp
ndb/tools/ndb_show_tables storage/ndb/tools/ndb_show_tables
ndb/tools/ndb_show_tables.dsp storage/ndb/tools/ndb_show_tables.dsp
ndb/tools/ndb_test_platform storage/ndb/tools/ndb_test_platform
ndb/tools/ndb_waiter storage/ndb/tools/ndb_waiter
ndb/tools/ndb_waiter.dsp storage/ndb/tools/ndb_waiter.dsp
ndbcluster-1186 ndbcluster-1186
ndbcluster-1186/SCCS ndbcluster-1186/SCCS
ndbcluster-1186/config.ini ndbcluster-1186/config.ini
......
Some combinations of the gzip and tar archive exploders found
on Linux systems ignore directories that don't have any files
(other than symbolic links) in them. So, here's a file.
/* config.hin. Generated from configure.ac by autoheader. */
/* Define to 1 if you want to build a version for running the test suite. */
#undef CONFIG_TEST
/* We use DB_WIN32 much as one would use _WIN32 -- to specify that we're using
an operating system environment that supports Win32 calls and semantics. We
don't use _WIN32 because Cygwin/GCC also defines _WIN32, even though
Cygwin/GCC closely emulates the Unix environment. */
#undef DB_WIN32
/* Define to 1 if you want a debugging version. */
#undef DEBUG
/* Define to 1 if you want a version that logs read operations. */
#undef DEBUG_ROP
/* Define to 1 if you want a version that logs write operations. */
#undef DEBUG_WOP
/* Define to 1 if you want a version with run-time diagnostic checking. */
#undef DIAGNOSTIC
/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME
/* Define to 1 if Berkeley DB release includes strong cryptography. */
#undef HAVE_CRYPTO
/* Define to 1 if you have the `directio' function. */
#undef HAVE_DIRECTIO
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have EXIT_SUCCESS/EXIT_FAILURE #defines. */
#undef HAVE_EXIT_SUCCESS
/* Define to 1 if fcntl/F_SETFD denies child access to file descriptors. */
#undef HAVE_FCNTL_F_SETFD
/* Define to 1 if you have the `fdatasync' function. */
#undef HAVE_FDATASYNC
/* Define to 1 if allocated filesystem blocks are not zeroed. */
#undef HAVE_FILESYSTEM_NOTZERO
/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE
/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the `getopt' function. */
#undef HAVE_GETOPT
/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID
/* Define to 1 if building Hash access method. */
#undef HAVE_HASH
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
/* Define to 1 if the system has the type `long long'. */
#undef HAVE_LONG_LONG
/* Define to 1 if you have the `memcmp' function. */
#undef HAVE_MEMCMP
/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `mlock' function. */
#undef HAVE_MLOCK
/* Define to 1 if you have the `mmap' function. */
#undef HAVE_MMAP
/* Define to 1 if you have the `munlock' function. */
#undef HAVE_MUNLOCK
/* Define to 1 if you have the `munmap' function. */
#undef HAVE_MUNMAP
/* Define to 1 to use the GCC compiler and 68K assembly language mutexes. */
#undef HAVE_MUTEX_68K_GCC_ASSEMBLY
/* Define to 1 to use the AIX _check_lock mutexes. */
#undef HAVE_MUTEX_AIX_CHECK_LOCK
/* Define to 1 to use the GCC compiler and Alpha assembly language mutexes. */
#undef HAVE_MUTEX_ALPHA_GCC_ASSEMBLY
/* Define to 1 to use the GCC compiler and ARM assembly language mutexes. */
#undef HAVE_MUTEX_ARM_GCC_ASSEMBLY
/* Define to 1 to use the Apple/Darwin _spin_lock_try mutexes. */
#undef HAVE_MUTEX_DARWIN_SPIN_LOCK_TRY
/* Define to 1 to use the UNIX fcntl system call mutexes. */
#undef HAVE_MUTEX_FCNTL
/* Define to 1 to use the GCC compiler and PaRisc assembly language mutexes.
*/
#undef HAVE_MUTEX_HPPA_GCC_ASSEMBLY
/* Define to 1 to use the msem_XXX mutexes on HP-UX. */
#undef HAVE_MUTEX_HPPA_MSEM_INIT
/* Define to 1 to use the GCC compiler and IA64 assembly language mutexes. */
#undef HAVE_MUTEX_IA64_GCC_ASSEMBLY
/* Define to 1 to use the msem_XXX mutexes on systems other than HP-UX. */
#undef HAVE_MUTEX_MSEM_INIT
/* Define to 1 to use the GCC compiler and PowerPC assembly language mutexes.
*/
#undef HAVE_MUTEX_PPC_GCC_ASSEMBLY
/* Define to 1 to use POSIX 1003.1 pthread_XXX mutexes. */
#undef HAVE_MUTEX_PTHREADS
/* Define to 1 to use Reliant UNIX initspin mutexes. */
#undef HAVE_MUTEX_RELIANTUNIX_INITSPIN
/* Define to 1 to use the IBM C compiler and S/390 assembly language mutexes.
*/
#undef HAVE_MUTEX_S390_CC_ASSEMBLY
/* Define to 1 to use the GCC compiler and S/390 assembly language mutexes. */
#undef HAVE_MUTEX_S390_GCC_ASSEMBLY
/* Define to 1 to use the SCO compiler and x86 assembly language mutexes. */
#undef HAVE_MUTEX_SCO_X86_CC_ASSEMBLY
/* Define to 1 to use the obsolete POSIX 1003.1 sema_XXX mutexes. */
#undef HAVE_MUTEX_SEMA_INIT
/* Define to 1 to use the SGI XXX_lock mutexes. */
#undef HAVE_MUTEX_SGI_INIT_LOCK
/* Define to 1 to use the Solaris _lock_XXX mutexes. */
#undef HAVE_MUTEX_SOLARIS_LOCK_TRY
/* Define to 1 to use the Solaris lwp threads mutexes. */
#undef HAVE_MUTEX_SOLARIS_LWP
/* Define to 1 to use the GCC compiler and Sparc assembly language mutexes. */
#undef HAVE_MUTEX_SPARC_GCC_ASSEMBLY
/* Define to 1 if mutexes hold system resources. */
#undef HAVE_MUTEX_SYSTEM_RESOURCES
/* Define to 1 if fast mutexes are available. */
#undef HAVE_MUTEX_THREADS
/* Define to 1 to configure mutexes intra-process only. */
#undef HAVE_MUTEX_THREAD_ONLY
/* Define to 1 to use the CC compiler and Tru64 assembly language mutexes. */
#undef HAVE_MUTEX_TRU64_CC_ASSEMBLY
/* Define to 1 to use the UNIX International mutexes. */
#undef HAVE_MUTEX_UI_THREADS
/* Define to 1 to use the UTS compiler and assembly language mutexes. */
#undef HAVE_MUTEX_UTS_CC_ASSEMBLY
/* Define to 1 to use VMS mutexes. */
#undef HAVE_MUTEX_VMS
/* Define to 1 to use VxWorks mutexes. */
#undef HAVE_MUTEX_VXWORKS
/* Define to 1 to use the MSVC compiler and Windows mutexes. */
#undef HAVE_MUTEX_WIN32
/* Define to 1 to use the GCC compiler and Windows mutexes. */
#undef HAVE_MUTEX_WIN32_GCC
/* Define to 1 to use the GCC compiler and x86 assembly language mutexes. */
#undef HAVE_MUTEX_X86_GCC_ASSEMBLY
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the O_DIRECT flag. */
#undef HAVE_O_DIRECT
/* Define to 1 if you have the `pread' function. */
#undef HAVE_PREAD
/* Define to 1 if you have the `pstat_getdynamic' function. */
#undef HAVE_PSTAT_GETDYNAMIC
/* Define to 1 if you have the `pwrite' function. */
#undef HAVE_PWRITE
/* Define to 1 if building on QNX. */
#undef HAVE_QNX
/* Define to 1 if building Queue access method. */
#undef HAVE_QUEUE
/* Define to 1 if you have the `raise' function. */
#undef HAVE_RAISE
/* Define to 1 if you have the `rand' function. */
#undef HAVE_RAND
/* Define to 1 if building replication support. */
#undef HAVE_REPLICATION
/* Define to 1 if building RPC client/server. */
#undef HAVE_RPC
/* Define to 1 if you have the `sched_yield' function. */
#undef HAVE_SCHED_YIELD
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if building sequence support. */
#undef HAVE_SEQUENCE
/* Define to 1 if you have the `shmget' function. */
#undef HAVE_SHMGET
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if you have the `srand' function. */
#undef HAVE_SRAND
/* Define to 1 if building statistics support. */
#undef HAVE_STATISTICS
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if `st_blksize' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE
/* Define to 1 if you have the `sysconf' function. */
#undef HAVE_SYSCONF
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/fcntl.h> header file. */
#undef HAVE_SYS_FCNTL_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if unlink of file with open file descriptors will fail. */
#undef HAVE_UNLINK_WITH_OPEN_FAILURE
/* Define to 1 if the system has the type `unsigned long long'. */
#undef HAVE_UNSIGNED_LONG_LONG
/* Define to 1 if building access method verification support. */
#undef HAVE_VERIFY
/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
/* Define to 1 if building VxWorks. */
#undef HAVE_VXWORKS
/* Define to 1 if you have the `yield' function. */
#undef HAVE_YIELD
/* Define to 1 if you have the `_fstati64' function. */
#undef HAVE__FSTATI64
/* Define to a value if using non-standard mutex alignment. */
#undef MUTEX_ALIGN
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* The size of a `char', as computed by sizeof. */
#undef SIZEOF_CHAR
/* The size of a `char *', as computed by sizeof. */
#undef SIZEOF_CHAR_P
/* The size of a `int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of a `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of a `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
/* The size of a `short', as computed by sizeof. */
#undef SIZEOF_SHORT
/* The size of a `size_t', as computed by sizeof. */
#undef SIZEOF_SIZE_T
/* The size of a `unsigned char', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_CHAR
/* The size of a `unsigned int', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_INT
/* The size of a `unsigned long', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG
/* The size of a `unsigned long long', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG_LONG
/* The size of a `unsigned short', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_SHORT
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define to 1 to mask harmless uninitialized memory read/writes. */
#undef UMRW
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/*
* Exit success/failure macros.
*/
#ifndef HAVE_EXIT_SUCCESS
#define EXIT_FAILURE 1
#define EXIT_SUCCESS 0
#endif
/*
* Don't step on the namespace. Other libraries may have their own
* implementations of these functions, we don't want to use their
* implementations or force them to use ours based on the load order.
*/
#ifndef HAVE_GETCWD
#define getcwd __db_Cgetcwd
#endif
#ifndef HAVE_MEMCMP
#define memcmp __db_Cmemcmp
#endif
#ifndef HAVE_MEMCPY
#define memcpy __db_Cmemcpy
#endif
#ifndef HAVE_MEMMOVE
#define memmove __db_Cmemmove
#endif
#ifndef HAVE_RAISE
#define raise __db_Craise
#endif
#ifndef HAVE_SNPRINTF
#define snprintf __db_Csnprintf
#endif
#ifndef HAVE_STRCASECMP
#define strcasecmp __db_Cstrcasecmp
#define strncasecmp __db_Cstrncasecmp
#endif
#ifndef HAVE_STRERROR
#define strerror __db_Cstrerror
#endif
#ifndef HAVE_VSNPRINTF
#define vsnprintf __db_Cvsnprintf
#endif
#ifdef DB_WIN32
#include "win_db.h"
#endif
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <rpc/rpc.h>
#include <string.h>
#endif
#include "db_server.h"
#include "db_int.h"
#include "dbinc/db_server_int.h"
/* BEGIN __env_get_cachesize_proc */
void
__env_get_cachesize_proc(dbenvcl_id,
replyp)
long dbenvcl_id;
__env_get_cachesize_reply *replyp;
/* END __env_get_cachesize_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_cachesize_proc */
void
__env_cachesize_proc(dbenvcl_id, gbytes, bytes,
ncache, replyp)
long dbenvcl_id;
u_int32_t gbytes;
u_int32_t bytes;
u_int32_t ncache;
__env_cachesize_reply *replyp;
/* END __env_cachesize_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_close_proc */
void
__env_close_proc(dbenvcl_id, flags, replyp)
long dbenvcl_id;
u_int32_t flags;
__env_close_reply *replyp;
/* END __env_close_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_create_proc */
void
__env_create_proc(timeout, replyp)
u_int32_t timeout;
__env_create_reply *replyp;
/* END __env_create_proc */
{
int ret;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_dbremove_proc */
void
__env_dbremove_proc(dbenvcl_id, txnpcl_id, name,
subdb, flags, replyp)
long dbenvcl_id;
long txnpcl_id;
char *name;
char *subdb;
u_int32_t flags;
__env_dbremove_reply *replyp;
/* END __env_dbremove_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_dbrename_proc */
void
__env_dbrename_proc(dbenvcl_id, txnpcl_id, name,
subdb, newname, flags, replyp)
long dbenvcl_id;
long txnpcl_id;
char *name;
char *subdb;
char *newname;
u_int32_t flags;
__env_dbrename_reply *replyp;
/* END __env_dbrename_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_get_encrypt_flags_proc */
void
__env_get_encrypt_flags_proc(dbenvcl_id, replyp)
long dbenvcl_id;
__env_get_encrypt_flags_reply *replyp;
/* END __env_get_encrypt_flags_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_encrypt_proc */
void
__env_encrypt_proc(dbenvcl_id, passwd, flags, replyp)
long dbenvcl_id;
char *passwd;
u_int32_t flags;
__env_encrypt_reply *replyp;
/* END __env_encrypt_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_get_flags_proc */
void
__env_get_flags_proc(dbenvcl_id, replyp)
long dbenvcl_id;
__env_get_flags_reply *replyp;
/* END __env_get_flags_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_flags_proc */
void
__env_flags_proc(dbenvcl_id, flags, onoff, replyp)
long dbenvcl_id;
u_int32_t flags;
u_int32_t onoff;
__env_flags_reply *replyp;
/* END __env_flags_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_get_home_proc */
void
__env_get_home_proc(dbenvcl_id, replyp)
long dbenvcl_id;
__env_get_home_reply *replyp;
/* END __env_get_home_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_get_open_flags_proc */
void
__env_get_open_flags_proc(dbenvcl_id, replyp)
long dbenvcl_id;
__env_get_open_flags_reply *replyp;
/* END __env_get_open_flags_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_open_proc */
void
__env_open_proc(dbenvcl_id, home, flags,
mode, replyp)
long dbenvcl_id;
char *home;
u_int32_t flags;
u_int32_t mode;
__env_open_reply *replyp;
/* END __env_open_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __env_remove_proc */
void
__env_remove_proc(dbenvcl_id, home, flags, replyp)
long dbenvcl_id;
char *home;
u_int32_t flags;
__env_remove_reply *replyp;
/* END __env_remove_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __txn_abort_proc */
void
__txn_abort_proc(txnpcl_id, replyp)
long txnpcl_id;
__txn_abort_reply *replyp;
/* END __txn_abort_proc */
{
int ret;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __txn_begin_proc */
void
__txn_begin_proc(dbenvcl_id, parentcl_id,
flags, replyp)
long dbenvcl_id;
long parentcl_id;
u_int32_t flags;
__txn_begin_reply *replyp;
/* END __txn_begin_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
DB_TXN * parent;
ct_entry *parent_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
ACTIVATE_CTP(parent_ctp, parentcl_id, CT_TXN);
parent = (DB_TXN *)parent_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __txn_commit_proc */
void
__txn_commit_proc(txnpcl_id, flags, replyp)
long txnpcl_id;
u_int32_t flags;
__txn_commit_reply *replyp;
/* END __txn_commit_proc */
{
int ret;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __txn_discard_proc */
void
__txn_discard_proc(txnpcl_id, flags, replyp)
long txnpcl_id;
u_int32_t flags;
__txn_discard_reply *replyp;
/* END __txn_discard_proc */
{
int ret;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __txn_prepare_proc */
void
__txn_prepare_proc(txnpcl_id, gid, replyp)
long txnpcl_id;
u_int8_t *gid;
__txn_prepare_reply *replyp;
/* END __txn_prepare_proc */
{
int ret;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __txn_recover_proc */
void
__txn_recover_proc(dbenvcl_id, count,
flags, replyp, freep)
long dbenvcl_id;
u_int32_t count;
u_int32_t flags;
__txn_recover_reply *replyp;
int * freep;
/* END __txn_recover_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_associate_proc */
void
__db_associate_proc(dbpcl_id, txnpcl_id, sdbpcl_id,
flags, replyp)
long dbpcl_id;
long txnpcl_id;
long sdbpcl_id;
u_int32_t flags;
__db_associate_reply *replyp;
/* END __db_associate_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
DB * sdbp;
ct_entry *sdbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
ACTIVATE_CTP(sdbp_ctp, sdbpcl_id, CT_DB);
sdbp = (DB *)sdbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_bt_maxkey_proc */
void
__db_bt_maxkey_proc(dbpcl_id, maxkey, replyp)
long dbpcl_id;
u_int32_t maxkey;
__db_bt_maxkey_reply *replyp;
/* END __db_bt_maxkey_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_bt_minkey_proc */
void
__db_get_bt_minkey_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_bt_minkey_reply *replyp;
/* END __db_get_bt_minkey_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_bt_minkey_proc */
void
__db_bt_minkey_proc(dbpcl_id, minkey, replyp)
long dbpcl_id;
u_int32_t minkey;
__db_bt_minkey_reply *replyp;
/* END __db_bt_minkey_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_close_proc */
void
__db_close_proc(dbpcl_id, flags, replyp)
long dbpcl_id;
u_int32_t flags;
__db_close_reply *replyp;
/* END __db_close_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_create_proc */
void
__db_create_proc(dbenvcl_id, flags, replyp)
long dbenvcl_id;
u_int32_t flags;
__db_create_reply *replyp;
/* END __db_create_proc */
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_del_proc */
void
__db_del_proc(dbpcl_id, txnpcl_id, keydlen,
keydoff, keyulen, keyflags, keydata,
keysize, flags, replyp)
long dbpcl_id;
long txnpcl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t flags;
__db_del_reply *replyp;
/* END __db_del_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_encrypt_flags_proc */
void
__db_get_encrypt_flags_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_encrypt_flags_reply *replyp;
/* END __db_get_encrypt_flags_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_encrypt_proc */
void
__db_encrypt_proc(dbpcl_id, passwd, flags, replyp)
long dbpcl_id;
char *passwd;
u_int32_t flags;
__db_encrypt_reply *replyp;
/* END __db_encrypt_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_extentsize_proc */
void
__db_get_extentsize_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_extentsize_reply *replyp;
/* END __db_get_extentsize_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_extentsize_proc */
void
__db_extentsize_proc(dbpcl_id, extentsize, replyp)
long dbpcl_id;
u_int32_t extentsize;
__db_extentsize_reply *replyp;
/* END __db_extentsize_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_flags_proc */
void
__db_get_flags_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_flags_reply *replyp;
/* END __db_get_flags_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_flags_proc */
void
__db_flags_proc(dbpcl_id, flags, replyp)
long dbpcl_id;
u_int32_t flags;
__db_flags_reply *replyp;
/* END __db_flags_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_proc */
void
__db_get_proc(dbpcl_id, txnpcl_id, keydlen,
keydoff, keyulen, keyflags, keydata,
keysize, datadlen, datadoff, dataulen,
dataflags, datadata, datasize, flags, replyp, freep)
long dbpcl_id;
long txnpcl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__db_get_reply *replyp;
int * freep;
/* END __db_get_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_name_proc */
void
__db_get_name_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_name_reply *replyp;
/* END __db_get_name_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_open_flags_proc */
void
__db_get_open_flags_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_open_flags_reply *replyp;
/* END __db_get_open_flags_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_h_ffactor_proc */
void
__db_get_h_ffactor_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_h_ffactor_reply *replyp;
/* END __db_get_h_ffactor_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_h_ffactor_proc */
void
__db_h_ffactor_proc(dbpcl_id, ffactor, replyp)
long dbpcl_id;
u_int32_t ffactor;
__db_h_ffactor_reply *replyp;
/* END __db_h_ffactor_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_h_nelem_proc */
void
__db_get_h_nelem_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_h_nelem_reply *replyp;
/* END __db_get_h_nelem_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_h_nelem_proc */
void
__db_h_nelem_proc(dbpcl_id, nelem, replyp)
long dbpcl_id;
u_int32_t nelem;
__db_h_nelem_reply *replyp;
/* END __db_h_nelem_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_key_range_proc */
void
__db_key_range_proc(dbpcl_id, txnpcl_id, keydlen,
keydoff, keyulen, keyflags, keydata,
keysize, flags, replyp)
long dbpcl_id;
long txnpcl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t flags;
__db_key_range_reply *replyp;
/* END __db_key_range_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_lorder_proc */
void
__db_get_lorder_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_lorder_reply *replyp;
/* END __db_get_lorder_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_lorder_proc */
void
__db_lorder_proc(dbpcl_id, lorder, replyp)
long dbpcl_id;
u_int32_t lorder;
__db_lorder_reply *replyp;
/* END __db_lorder_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_open_proc */
void
__db_open_proc(dbpcl_id, txnpcl_id, name,
subdb, type, flags, mode, replyp)
long dbpcl_id;
long txnpcl_id;
char *name;
char *subdb;
u_int32_t type;
u_int32_t flags;
u_int32_t mode;
__db_open_reply *replyp;
/* END __db_open_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_pagesize_proc */
void
__db_get_pagesize_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_pagesize_reply *replyp;
/* END __db_get_pagesize_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_pagesize_proc */
void
__db_pagesize_proc(dbpcl_id, pagesize, replyp)
long dbpcl_id;
u_int32_t pagesize;
__db_pagesize_reply *replyp;
/* END __db_pagesize_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_pget_proc */
void
__db_pget_proc(dbpcl_id, txnpcl_id, skeydlen,
skeydoff, skeyulen, skeyflags, skeydata,
skeysize, pkeydlen, pkeydoff, pkeyulen,
pkeyflags, pkeydata, pkeysize, datadlen,
datadoff, dataulen, dataflags, datadata,
datasize, flags, replyp, freep)
long dbpcl_id;
long txnpcl_id;
u_int32_t skeydlen;
u_int32_t skeydoff;
u_int32_t skeyulen;
u_int32_t skeyflags;
void *skeydata;
u_int32_t skeysize;
u_int32_t pkeydlen;
u_int32_t pkeydoff;
u_int32_t pkeyulen;
u_int32_t pkeyflags;
void *pkeydata;
u_int32_t pkeysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__db_pget_reply *replyp;
int * freep;
/* END __db_pget_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_put_proc */
void
__db_put_proc(dbpcl_id, txnpcl_id, keydlen,
keydoff, keyulen, keyflags, keydata,
keysize, datadlen, datadoff, dataulen,
dataflags, datadata, datasize, flags, replyp, freep)
long dbpcl_id;
long txnpcl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__db_put_reply *replyp;
int * freep;
/* END __db_put_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_re_delim_proc */
void
__db_get_re_delim_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_re_delim_reply *replyp;
/* END __db_get_re_delim_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_re_delim_proc */
void
__db_re_delim_proc(dbpcl_id, delim, replyp)
long dbpcl_id;
u_int32_t delim;
__db_re_delim_reply *replyp;
/* END __db_re_delim_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_re_len_proc */
void
__db_get_re_len_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_re_len_reply *replyp;
/* END __db_get_re_len_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_re_len_proc */
void
__db_re_len_proc(dbpcl_id, len, replyp)
long dbpcl_id;
u_int32_t len;
__db_re_len_reply *replyp;
/* END __db_re_len_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_re_pad_proc */
void
__db_re_pad_proc(dbpcl_id, pad, replyp)
long dbpcl_id;
u_int32_t pad;
__db_re_pad_reply *replyp;
/* END __db_re_pad_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_get_re_pad_proc */
void
__db_get_re_pad_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_re_pad_reply *replyp;
/* END __db_get_re_pad_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_remove_proc */
void
__db_remove_proc(dbpcl_id, name, subdb,
flags, replyp)
long dbpcl_id;
char *name;
char *subdb;
u_int32_t flags;
__db_remove_reply *replyp;
/* END __db_remove_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_rename_proc */
void
__db_rename_proc(dbpcl_id, name, subdb,
newname, flags, replyp)
long dbpcl_id;
char *name;
char *subdb;
char *newname;
u_int32_t flags;
__db_rename_reply *replyp;
/* END __db_rename_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_stat_proc */
void
__db_stat_proc(dbpcl_id, txnpcl_id,
flags, replyp, freep)
long dbpcl_id;
long txnpcl_id;
u_int32_t flags;
__db_stat_reply *replyp;
int * freep;
/* END __db_stat_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_sync_proc */
void
__db_sync_proc(dbpcl_id, flags, replyp)
long dbpcl_id;
u_int32_t flags;
__db_sync_reply *replyp;
/* END __db_sync_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_truncate_proc */
void
__db_truncate_proc(dbpcl_id, txnpcl_id,
flags, replyp)
long dbpcl_id;
long txnpcl_id;
u_int32_t flags;
__db_truncate_reply *replyp;
/* END __db_truncate_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_cursor_proc */
void
__db_cursor_proc(dbpcl_id, txnpcl_id,
flags, replyp)
long dbpcl_id;
long txnpcl_id;
u_int32_t flags;
__db_cursor_reply *replyp;
/* END __db_cursor_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __db_join_proc */
void
__db_join_proc(dbpcl_id, curs, curslen,
flags, replyp)
long dbpcl_id;
u_int32_t * curs;
u_int32_t curslen;
u_int32_t flags;
__db_join_reply *replyp;
/* END __db_join_proc */
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __dbc_close_proc */
void
__dbc_close_proc(dbccl_id, replyp)
long dbccl_id;
__dbc_close_reply *replyp;
/* END __dbc_close_proc */
{
int ret;
DBC * dbc;
ct_entry *dbc_ctp;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __dbc_count_proc */
void
__dbc_count_proc(dbccl_id, flags, replyp)
long dbccl_id;
u_int32_t flags;
__dbc_count_reply *replyp;
/* END __dbc_count_proc */
{
int ret;
DBC * dbc;
ct_entry *dbc_ctp;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __dbc_del_proc */
void
__dbc_del_proc(dbccl_id, flags, replyp)
long dbccl_id;
u_int32_t flags;
__dbc_del_reply *replyp;
/* END __dbc_del_proc */
{
int ret;
DBC * dbc;
ct_entry *dbc_ctp;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __dbc_dup_proc */
void
__dbc_dup_proc(dbccl_id, flags, replyp)
long dbccl_id;
u_int32_t flags;
__dbc_dup_reply *replyp;
/* END __dbc_dup_proc */
{
int ret;
DBC * dbc;
ct_entry *dbc_ctp;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __dbc_get_proc */
void
__dbc_get_proc(dbccl_id, keydlen, keydoff,
keyulen, keyflags, keydata, keysize,
datadlen, datadoff, dataulen, dataflags,
datadata, datasize, flags, replyp, freep)
long dbccl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__dbc_get_reply *replyp;
int * freep;
/* END __dbc_get_proc */
{
int ret;
DBC * dbc;
ct_entry *dbc_ctp;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __dbc_pget_proc */
void
__dbc_pget_proc(dbccl_id, skeydlen, skeydoff,
skeyulen, skeyflags, skeydata, skeysize,
pkeydlen, pkeydoff, pkeyulen, pkeyflags,
pkeydata, pkeysize, datadlen, datadoff,
dataulen, dataflags, datadata, datasize,
flags, replyp, freep)
long dbccl_id;
u_int32_t skeydlen;
u_int32_t skeydoff;
u_int32_t skeyulen;
u_int32_t skeyflags;
void *skeydata;
u_int32_t skeysize;
u_int32_t pkeydlen;
u_int32_t pkeydoff;
u_int32_t pkeyulen;
u_int32_t pkeyflags;
void *pkeydata;
u_int32_t pkeysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__dbc_pget_reply *replyp;
int * freep;
/* END __dbc_pget_proc */
{
int ret;
DBC * dbc;
ct_entry *dbc_ctp;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* BEGIN __dbc_put_proc */
void
__dbc_put_proc(dbccl_id, keydlen, keydoff,
keyulen, keyflags, keydata, keysize,
datadlen, datadoff, dataulen, dataflags,
datadata, datasize, flags, replyp, freep)
long dbccl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__dbc_put_reply *replyp;
int * freep;
/* END __dbc_put_proc */
{
int ret;
DBC * dbc;
ct_entry *dbc_ctp;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
/*
* XXX Code goes here
*/
replyp->status = ret;
return;
}
/* Do not edit: automatically built by gen_rpc.awk. */
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <string.h>
#endif
#include "db_int.h"
#include "dbinc/txn.h"
/*
* PUBLIC: int __dbcl_env_create_ret __P((DB_ENV *, long,
* PUBLIC: __env_create_reply *));
*/
int
__dbcl_env_create_ret(dbenv, timeout, replyp)
DB_ENV * dbenv;
long timeout;
__env_create_reply *replyp;
{
int ret;
long env;
if (replyp->status != 0)
return (replyp->status);
env = replyp->envcl_id;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_env_open_ret __P((DB_ENV *, const char *, u_int32_t, int,
* PUBLIC: __env_open_reply *));
*/
int
__dbcl_env_open_ret(dbenv, home, flags, mode, replyp)
DB_ENV * dbenv;
const char * home;
u_int32_t flags;
int mode;
__env_open_reply *replyp;
{
int ret;
long env;
if (replyp->status != 0)
return (replyp->status);
env = replyp->envcl_id;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_env_remove_ret __P((DB_ENV *, const char *, u_int32_t,
* PUBLIC: __env_remove_reply *));
*/
int
__dbcl_env_remove_ret(dbenv, home, flags, replyp)
DB_ENV * dbenv;
const char * home;
u_int32_t flags;
__env_remove_reply *replyp;
{
int ret;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_txn_abort_ret __P((DB_TXN *, __txn_abort_reply *));
*/
int
__dbcl_txn_abort_ret(txnp, replyp)
DB_TXN * txnp;
__txn_abort_reply *replyp;
{
int ret;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_txn_begin_ret __P((DB_ENV *, DB_TXN *, DB_TXN **,
* PUBLIC: u_int32_t, __txn_begin_reply *));
*/
int
__dbcl_txn_begin_ret(dbenv, parent, txnpp, flags, replyp)
DB_ENV * dbenv;
DB_TXN * parent;
DB_TXN ** txnpp;
u_int32_t flags;
__txn_begin_reply *replyp;
{
int ret;
long txnid;
if (replyp->status != 0)
return (replyp->status);
txnid = replyp->txnidcl_id;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_txn_commit_ret __P((DB_TXN *, u_int32_t,
* PUBLIC: __txn_commit_reply *));
*/
int
__dbcl_txn_commit_ret(txnp, flags, replyp)
DB_TXN * txnp;
u_int32_t flags;
__txn_commit_reply *replyp;
{
int ret;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_txn_discard_ret __P((DB_TXN *, u_int32_t,
* PUBLIC: __txn_discard_reply *));
*/
int
__dbcl_txn_discard_ret(txnp, flags, replyp)
DB_TXN * txnp;
u_int32_t flags;
__txn_discard_reply *replyp;
{
int ret;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_txn_recover_ret __P((DB_ENV *, DB_PREPLIST *, long,
* PUBLIC: long *, u_int32_t, __txn_recover_reply *));
*/
int
__dbcl_txn_recover_ret(dbenv, preplist, count, retp, flags, replyp)
DB_ENV * dbenv;
DB_PREPLIST * preplist;
long count;
long * retp;
u_int32_t flags;
__txn_recover_reply *replyp;
{
int ret;
u_int32_t *__db_txn;
u_int8_t *__db_gid;
long retcount;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Handle list
*/
/*
* XXX Handle list
*/
retcount = replyp->retcount;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_close_ret __P((DB *, u_int32_t, __db_close_reply *));
*/
int
__dbcl_db_close_ret(dbp, flags, replyp)
DB * dbp;
u_int32_t flags;
__db_close_reply *replyp;
{
int ret;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_create_ret __P((DB *, DB_ENV *, u_int32_t,
* PUBLIC: __db_create_reply *));
*/
int
__dbcl_db_create_ret(dbp, dbenv, flags, replyp)
DB * dbp;
DB_ENV * dbenv;
u_int32_t flags;
__db_create_reply *replyp;
{
int ret;
long db;
if (replyp->status != 0)
return (replyp->status);
db = replyp->dbcl_id;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_get_ret __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t,
* PUBLIC: __db_get_reply *));
*/
int
__dbcl_db_get_ret(dbp, txnp, key, data, flags, replyp)
DB * dbp;
DB_TXN * txnp;
DBT * key;
DBT * data;
u_int32_t flags;
__db_get_reply *replyp;
{
int ret;
/* DBT key; */
/* DBT data; */
if (replyp->status != 0)
return (replyp->status);
/* Handle replyp->keydata; */
/* Handle replyp->datadata; */
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_key_range_ret __P((DB *, DB_TXN *, DBT *,
* PUBLIC: DB_KEY_RANGE *, u_int32_t, __db_key_range_reply *));
*/
int
__dbcl_db_key_range_ret(dbp, txnp, key, range, flags, replyp)
DB * dbp;
DB_TXN * txnp;
DBT * key;
DB_KEY_RANGE * range;
u_int32_t flags;
__db_key_range_reply *replyp;
{
int ret;
double less;
double equal;
double greater;
if (replyp->status != 0)
return (replyp->status);
less = replyp->less;
equal = replyp->equal;
greater = replyp->greater;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_open_ret __P((DB *, DB_TXN *, const char *,
* PUBLIC: const char *, DBTYPE, u_int32_t, int, __db_open_reply *));
*/
int
__dbcl_db_open_ret(dbp, txnp, name, subdb, type, flags, mode, replyp)
DB * dbp;
DB_TXN * txnp;
const char * name;
const char * subdb;
DBTYPE type;
u_int32_t flags;
int mode;
__db_open_reply *replyp;
{
int ret;
long db;
DBTYPE type;
int lorder;
if (replyp->status != 0)
return (replyp->status);
db = replyp->dbcl_id;
type = replyp->type;
lorder = replyp->lorder;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_pget_ret __P((DB *, DB_TXN *, DBT *, DBT *, DBT *,
* PUBLIC: u_int32_t, __db_pget_reply *));
*/
int
__dbcl_db_pget_ret(dbp, txnp, skey, pkey, data, flags, replyp)
DB * dbp;
DB_TXN * txnp;
DBT * skey;
DBT * pkey;
DBT * data;
u_int32_t flags;
__db_pget_reply *replyp;
{
int ret;
/* DBT skey; */
/* DBT pkey; */
/* DBT data; */
if (replyp->status != 0)
return (replyp->status);
/* Handle replyp->skeydata; */
/* Handle replyp->pkeydata; */
/* Handle replyp->datadata; */
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_put_ret __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t,
* PUBLIC: __db_put_reply *));
*/
int
__dbcl_db_put_ret(dbp, txnp, key, data, flags, replyp)
DB * dbp;
DB_TXN * txnp;
DBT * key;
DBT * data;
u_int32_t flags;
__db_put_reply *replyp;
{
int ret;
/* DBT key; */
if (replyp->status != 0)
return (replyp->status);
/* Handle replyp->keydata; */
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_remove_ret __P((DB *, const char *, const char *,
* PUBLIC: u_int32_t, __db_remove_reply *));
*/
int
__dbcl_db_remove_ret(dbp, name, subdb, flags, replyp)
DB * dbp;
const char * name;
const char * subdb;
u_int32_t flags;
__db_remove_reply *replyp;
{
int ret;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_rename_ret __P((DB *, const char *, const char *,
* PUBLIC: const char *, u_int32_t, __db_rename_reply *));
*/
int
__dbcl_db_rename_ret(dbp, name, subdb, newname, flags, replyp)
DB * dbp;
const char * name;
const char * subdb;
const char * newname;
u_int32_t flags;
__db_rename_reply *replyp;
{
int ret;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_stat_ret __P((DB *, DB_TXN *, void *, u_int32_t,
* PUBLIC: __db_stat_reply *));
*/
int
__dbcl_db_stat_ret(dbp, txnp, sp, flags, replyp)
DB * dbp;
DB_TXN * txnp;
void * sp;
u_int32_t flags;
__db_stat_reply *replyp;
{
int ret;
u_int32_t *__db_stats;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Handle list
*/
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_truncate_ret __P((DB *, DB_TXN *, u_int32_t *,
* PUBLIC: u_int32_t, __db_truncate_reply *));
*/
int
__dbcl_db_truncate_ret(dbp, txnp, countp, flags, replyp)
DB * dbp;
DB_TXN * txnp;
u_int32_t * countp;
u_int32_t flags;
__db_truncate_reply *replyp;
{
int ret;
u_int32_t count;
if (replyp->status != 0)
return (replyp->status);
count = replyp->count;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_cursor_ret __P((DB *, DB_TXN *, DBC **, u_int32_t,
* PUBLIC: __db_cursor_reply *));
*/
int
__dbcl_db_cursor_ret(dbp, txnp, dbcpp, flags, replyp)
DB * dbp;
DB_TXN * txnp;
DBC ** dbcpp;
u_int32_t flags;
__db_cursor_reply *replyp;
{
int ret;
long dbcid;
if (replyp->status != 0)
return (replyp->status);
dbcid = replyp->dbcidcl_id;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_db_join_ret __P((DB *, DBC **, DBC **, u_int32_t,
* PUBLIC: __db_join_reply *));
*/
int
__dbcl_db_join_ret(dbp, curs, dbcp, flags, replyp)
DB * dbp;
DBC ** curs;
DBC ** dbcp;
u_int32_t flags;
__db_join_reply *replyp;
{
int ret;
long dbcid;
if (replyp->status != 0)
return (replyp->status);
dbcid = replyp->dbcidcl_id;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_dbc_close_ret __P((DBC *, __dbc_close_reply *));
*/
int
__dbcl_dbc_close_ret(dbc, replyp)
DBC * dbc;
__dbc_close_reply *replyp;
{
int ret;
if (replyp->status != 0)
return (replyp->status);
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_dbc_count_ret __P((DBC *, db_recno_t *, u_int32_t,
* PUBLIC: __dbc_count_reply *));
*/
int
__dbcl_dbc_count_ret(dbc, countp, flags, replyp)
DBC * dbc;
db_recno_t * countp;
u_int32_t flags;
__dbc_count_reply *replyp;
{
int ret;
db_recno_t dupcount;
if (replyp->status != 0)
return (replyp->status);
dupcount = replyp->dupcount;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_dbc_dup_ret __P((DBC *, DBC **, u_int32_t,
* PUBLIC: __dbc_dup_reply *));
*/
int
__dbcl_dbc_dup_ret(dbc, dbcp, flags, replyp)
DBC * dbc;
DBC ** dbcp;
u_int32_t flags;
__dbc_dup_reply *replyp;
{
int ret;
long dbcid;
if (replyp->status != 0)
return (replyp->status);
dbcid = replyp->dbcidcl_id;
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_dbc_get_ret __P((DBC *, DBT *, DBT *, u_int32_t,
* PUBLIC: __dbc_get_reply *));
*/
int
__dbcl_dbc_get_ret(dbc, key, data, flags, replyp)
DBC * dbc;
DBT * key;
DBT * data;
u_int32_t flags;
__dbc_get_reply *replyp;
{
int ret;
/* DBT key; */
/* DBT data; */
if (replyp->status != 0)
return (replyp->status);
/* Handle replyp->keydata; */
/* Handle replyp->datadata; */
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_dbc_pget_ret __P((DBC *, DBT *, DBT *, DBT *, u_int32_t,
* PUBLIC: __dbc_pget_reply *));
*/
int
__dbcl_dbc_pget_ret(dbc, skey, pkey, data, flags, replyp)
DBC * dbc;
DBT * skey;
DBT * pkey;
DBT * data;
u_int32_t flags;
__dbc_pget_reply *replyp;
{
int ret;
/* DBT skey; */
/* DBT pkey; */
/* DBT data; */
if (replyp->status != 0)
return (replyp->status);
/* Handle replyp->skeydata; */
/* Handle replyp->pkeydata; */
/* Handle replyp->datadata; */
/*
* XXX Code goes here
*/
return (replyp->status);
}
/*
* PUBLIC: int __dbcl_dbc_put_ret __P((DBC *, DBT *, DBT *, u_int32_t,
* PUBLIC: __dbc_put_reply *));
*/
int
__dbcl_dbc_put_ret(dbc, key, data, flags, replyp)
DBC * dbc;
DBT * key;
DBT * data;
u_int32_t flags;
__dbc_put_reply *replyp;
{
int ret;
/* DBT key; */
if (replyp->status != 0)
return (replyp->status);
/* Handle replyp->keydata; */
/*
* XXX Code goes here
*/
return (replyp->status);
}
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <string.h>
#endif
#include "db_int.h"
#include "dbinc/db_page.h"
#include "dbinc/__bam.h"
#include "dbinc/log.h"
/*
* __bam_split_recover --
* Recovery function for split.
*
* PUBLIC: int __bam_split_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_split_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_split_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_split_print);
REC_INTRO(__bam_split_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __bam_rsplit_recover --
* Recovery function for rsplit.
*
* PUBLIC: int __bam_rsplit_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_rsplit_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_rsplit_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_rsplit_print);
REC_INTRO(__bam_rsplit_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __bam_adj_recover --
* Recovery function for adj.
*
* PUBLIC: int __bam_adj_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_adj_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_adj_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_adj_print);
REC_INTRO(__bam_adj_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __bam_cadjust_recover --
* Recovery function for cadjust.
*
* PUBLIC: int __bam_cadjust_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_cadjust_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_cadjust_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_cadjust_print);
REC_INTRO(__bam_cadjust_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __bam_cdel_recover --
* Recovery function for cdel.
*
* PUBLIC: int __bam_cdel_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_cdel_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_cdel_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_cdel_print);
REC_INTRO(__bam_cdel_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __bam_repl_recover --
* Recovery function for repl.
*
* PUBLIC: int __bam_repl_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_repl_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_repl_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_repl_print);
REC_INTRO(__bam_repl_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __bam_root_recover --
* Recovery function for root.
*
* PUBLIC: int __bam_root_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_root_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_root_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_root_print);
REC_INTRO(__bam_root_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __bam_curadj_recover --
* Recovery function for curadj.
*
* PUBLIC: int __bam_curadj_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_curadj_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_curadj_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_curadj_print);
REC_INTRO(__bam_curadj_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __bam_rcuradj_recover --
* Recovery function for rcuradj.
*
* PUBLIC: int __bam_rcuradj_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_rcuradj_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_rcuradj_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_rcuradj_print);
REC_INTRO(__bam_rcuradj_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __bam_relink_recover --
* Recovery function for relink.
*
* PUBLIC: int __bam_relink_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__bam_relink_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__bam_relink_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__bam_relink_print);
REC_INTRO(__bam_relink_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <string.h>
#endif
#include "db_int.h"
#include "dbinc/db_page.h"
#include "dbinc/__crdel.h"
#include "dbinc/log.h"
/*
* __crdel_metasub_recover --
* Recovery function for metasub.
*
* PUBLIC: int __crdel_metasub_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__crdel_metasub_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__crdel_metasub_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__crdel_metasub_print);
REC_INTRO(__crdel_metasub_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <string.h>
#endif
#include "db_int.h"
#include "dbinc/db_page.h"
#include "dbinc/__db.h"
#include "dbinc/log.h"
/*
* __db_addrem_recover --
* Recovery function for addrem.
*
* PUBLIC: int __db_addrem_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_addrem_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_addrem_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_addrem_print);
REC_INTRO(__db_addrem_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_big_recover --
* Recovery function for big.
*
* PUBLIC: int __db_big_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_big_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_big_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_big_print);
REC_INTRO(__db_big_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_ovref_recover --
* Recovery function for ovref.
*
* PUBLIC: int __db_ovref_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_ovref_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_ovref_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_ovref_print);
REC_INTRO(__db_ovref_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_debug_recover --
* Recovery function for debug.
*
* PUBLIC: int __db_debug_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_debug_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_debug_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_debug_print);
REC_INTRO(__db_debug_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_noop_recover --
* Recovery function for noop.
*
* PUBLIC: int __db_noop_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_noop_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_noop_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_noop_print);
REC_INTRO(__db_noop_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_pg_alloc_recover --
* Recovery function for pg_alloc.
*
* PUBLIC: int __db_pg_alloc_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_pg_alloc_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_pg_alloc_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_pg_alloc_print);
REC_INTRO(__db_pg_alloc_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_pg_free_recover --
* Recovery function for pg_free.
*
* PUBLIC: int __db_pg_free_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_pg_free_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_pg_free_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_pg_free_print);
REC_INTRO(__db_pg_free_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_cksum_recover --
* Recovery function for cksum.
*
* PUBLIC: int __db_cksum_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_cksum_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_cksum_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_cksum_print);
REC_INTRO(__db_cksum_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_pg_freedata_recover --
* Recovery function for pg_freedata.
*
* PUBLIC: int __db_pg_freedata_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_pg_freedata_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_pg_freedata_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_pg_freedata_print);
REC_INTRO(__db_pg_freedata_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_pg_prepare_recover --
* Recovery function for pg_prepare.
*
* PUBLIC: int __db_pg_prepare_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_pg_prepare_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_pg_prepare_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_pg_prepare_print);
REC_INTRO(__db_pg_prepare_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_pg_new_recover --
* Recovery function for pg_new.
*
* PUBLIC: int __db_pg_new_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_pg_new_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_pg_new_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_pg_new_print);
REC_INTRO(__db_pg_new_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __db_pg_init_recover --
* Recovery function for pg_init.
*
* PUBLIC: int __db_pg_init_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__db_pg_init_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__db_pg_init_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__db_pg_init_print);
REC_INTRO(__db_pg_init_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <string.h>
#endif
#include "db_int.h"
#include "dbinc/db_page.h"
#include "dbinc/__dbreg.h"
#include "dbinc/log.h"
/*
* __dbreg_register_recover --
* Recovery function for register.
*
* PUBLIC: int __dbreg_register_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__dbreg_register_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__dbreg_register_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__dbreg_register_print);
REC_INTRO(__dbreg_register_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <string.h>
#endif
#include "db_int.h"
#include "dbinc/db_page.h"
#include "dbinc/__fop.h"
#include "dbinc/log.h"
/*
* __fop_create_recover --
* Recovery function for create.
*
* PUBLIC: int __fop_create_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__fop_create_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__fop_create_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__fop_create_print);
REC_INTRO(__fop_create_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __fop_remove_recover --
* Recovery function for remove.
*
* PUBLIC: int __fop_remove_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__fop_remove_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__fop_remove_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__fop_remove_print);
REC_INTRO(__fop_remove_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __fop_write_recover --
* Recovery function for write.
*
* PUBLIC: int __fop_write_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__fop_write_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__fop_write_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__fop_write_print);
REC_INTRO(__fop_write_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __fop_rename_recover --
* Recovery function for rename.
*
* PUBLIC: int __fop_rename_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__fop_rename_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__fop_rename_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__fop_rename_print);
REC_INTRO(__fop_rename_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __fop_file_remove_recover --
* Recovery function for file_remove.
*
* PUBLIC: int __fop_file_remove_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__fop_file_remove_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__fop_file_remove_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__fop_file_remove_print);
REC_INTRO(__fop_file_remove_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <string.h>
#endif
#include "db_int.h"
#include "dbinc/db_page.h"
#include "dbinc/__ham.h"
#include "dbinc/log.h"
/*
* __ham_insdel_recover --
* Recovery function for insdel.
*
* PUBLIC: int __ham_insdel_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__ham_insdel_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__ham_insdel_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__ham_insdel_print);
REC_INTRO(__ham_insdel_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __ham_newpage_recover --
* Recovery function for newpage.
*
* PUBLIC: int __ham_newpage_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__ham_newpage_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__ham_newpage_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__ham_newpage_print);
REC_INTRO(__ham_newpage_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __ham_splitdata_recover --
* Recovery function for splitdata.
*
* PUBLIC: int __ham_splitdata_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__ham_splitdata_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__ham_splitdata_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__ham_splitdata_print);
REC_INTRO(__ham_splitdata_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __ham_replace_recover --
* Recovery function for replace.
*
* PUBLIC: int __ham_replace_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__ham_replace_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__ham_replace_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__ham_replace_print);
REC_INTRO(__ham_replace_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __ham_copypage_recover --
* Recovery function for copypage.
*
* PUBLIC: int __ham_copypage_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__ham_copypage_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__ham_copypage_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__ham_copypage_print);
REC_INTRO(__ham_copypage_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __ham_metagroup_recover --
* Recovery function for metagroup.
*
* PUBLIC: int __ham_metagroup_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__ham_metagroup_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__ham_metagroup_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__ham_metagroup_print);
REC_INTRO(__ham_metagroup_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __ham_groupalloc_recover --
* Recovery function for groupalloc.
*
* PUBLIC: int __ham_groupalloc_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__ham_groupalloc_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__ham_groupalloc_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__ham_groupalloc_print);
REC_INTRO(__ham_groupalloc_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __ham_curadj_recover --
* Recovery function for curadj.
*
* PUBLIC: int __ham_curadj_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__ham_curadj_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__ham_curadj_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__ham_curadj_print);
REC_INTRO(__ham_curadj_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __ham_chgpg_recover --
* Recovery function for chgpg.
*
* PUBLIC: int __ham_chgpg_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__ham_chgpg_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__ham_chgpg_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__ham_chgpg_print);
REC_INTRO(__ham_chgpg_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <string.h>
#endif
#include "db_int.h"
#include "dbinc/db_page.h"
#include "dbinc/__qam.h"
#include "dbinc/log.h"
/*
* __qam_incfirst_recover --
* Recovery function for incfirst.
*
* PUBLIC: int __qam_incfirst_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__qam_incfirst_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__qam_incfirst_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__qam_incfirst_print);
REC_INTRO(__qam_incfirst_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __qam_mvptr_recover --
* Recovery function for mvptr.
*
* PUBLIC: int __qam_mvptr_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__qam_mvptr_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__qam_mvptr_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__qam_mvptr_print);
REC_INTRO(__qam_mvptr_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __qam_del_recover --
* Recovery function for del.
*
* PUBLIC: int __qam_del_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__qam_del_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__qam_del_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__qam_del_print);
REC_INTRO(__qam_del_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __qam_add_recover --
* Recovery function for add.
*
* PUBLIC: int __qam_add_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__qam_add_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__qam_add_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__qam_add_print);
REC_INTRO(__qam_add_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __qam_delext_recover --
* Recovery function for delext.
*
* PUBLIC: int __qam_delext_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__qam_delext_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__qam_delext_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__qam_delext_print);
REC_INTRO(__qam_delext_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <string.h>
#endif
#include "db_int.h"
#include "dbinc/db_page.h"
#include "dbinc/__txn.h"
#include "dbinc/log.h"
/*
* __txn_regop_recover --
* Recovery function for regop.
*
* PUBLIC: int __txn_regop_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__txn_regop_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__txn_regop_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__txn_regop_print);
REC_INTRO(__txn_regop_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __txn_ckp_recover --
* Recovery function for ckp.
*
* PUBLIC: int __txn_ckp_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__txn_ckp_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__txn_ckp_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__txn_ckp_print);
REC_INTRO(__txn_ckp_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __txn_child_recover --
* Recovery function for child.
*
* PUBLIC: int __txn_child_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__txn_child_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__txn_child_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__txn_child_print);
REC_INTRO(__txn_child_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __txn_xa_regop_recover --
* Recovery function for xa_regop.
*
* PUBLIC: int __txn_xa_regop_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__txn_xa_regop_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__txn_xa_regop_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__txn_xa_regop_print);
REC_INTRO(__txn_xa_regop_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/*
* __txn_recycle_recover --
* Recovery function for recycle.
*
* PUBLIC: int __txn_recycle_recover
* PUBLIC: __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *));
*/
int
__txn_recycle_recover(dbenv, dbtp, lsnp, op, info)
DB_ENV *dbenv;
DBT *dbtp;
DB_LSN *lsnp;
db_recops op;
void *info;
{
__txn_recycle_args *argp;
DB *file_dbp;
DBC *dbc;
DB_MPOOLFILE *mpf;
PAGE *pagep;
int cmp_n, cmp_p, modified, ret;
REC_PRINT(__txn_recycle_print);
REC_INTRO(__txn_recycle_read, 1);
if ((ret = mpf->get(mpf, &argp->pgno, 0, &pagep)) != 0)
if (DB_REDO(op)) {
if ((ret = mpf->get(mpf,
&argp->pgno, DB_MPOOL_CREATE, &pagep)) != 0)
goto out;
} else {
*lsnp = argp->prev_lsn;
ret = 0;
goto out;
}
modified = 0;
cmp_n = log_compare(lsnp, &LSN(pagep));
/*
* Use this when there is something like "pagelsn" in the argp
* structure. Sometimes, you might need to compare meta-data
* lsn's instead.
*
* cmp_p = log_compare(&LSN(pagep), argp->pagelsn);
*/
if (cmp_p == 0 && DB_REDO(op)) {
/* Need to redo update described. */
modified = 1;
} else if (cmp_n == 0 && !DB_REDO(op)) {
/* Need to undo update described. */
modified = 1;
}
if (ret = mpf->put(mpf, pagep, modified ? DB_MPOOL_DIRTY : 0))
goto out;
*lsnp = argp->prev_lsn;
ret = 0;
out: REC_CLOSE;
}
/* Do not edit: automatically built by gen_rpc.awk. */
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <rpc/rpc.h>
#include <string.h>
#endif
#include "db_server.h"
#include "db_int.h"
#include "dbinc/txn.h"
#include "dbinc_auto/rpc_client_ext.h"
static int __dbcl_noserver __P((DB_ENV *));
static int
__dbcl_noserver(dbenv)
DB_ENV *dbenv;
{
__db_err(dbenv, "No server environment");
return (DB_NOSERVER);
}
static int __dbcl_rpc_illegal __P((DB_ENV *, char *));
static int
__dbcl_rpc_illegal(dbenv, name)
DB_ENV *dbenv;
char *name;
{
__db_err(dbenv, "%s method unsupported in RPC environments", name);
return (DB_OPNOTSUP);
}
/*
* PUBLIC: int __dbcl_env_alloc __P((DB_ENV *, void *(*)(size_t),
* PUBLIC: void *(*)(void *, size_t), void (*)(void *)));
*/
int
__dbcl_env_alloc(dbenv, func0, func1, func2)
DB_ENV * dbenv;
void *(*func0) __P((size_t));
void *(*func1) __P((void *, size_t));
void (*func2) __P((void *));
{
COMPQUIET(func0, 0);
COMPQUIET(func1, 0);
COMPQUIET(func2, 0);
return (__dbcl_rpc_illegal(dbenv, "env_alloc"));
}
/*
* PUBLIC: int __dbcl_set_app_dispatch __P((DB_ENV *, int (*)(DB_ENV *, DBT *,
* PUBLIC: DB_LSN *, db_recops)));
*/
int
__dbcl_set_app_dispatch(dbenv, func0)
DB_ENV * dbenv;
int (*func0) __P((DB_ENV *, DBT *, DB_LSN *, db_recops));
{
COMPQUIET(func0, 0);
return (__dbcl_rpc_illegal(dbenv, "set_app_dispatch"));
}
/*
* PUBLIC: int __dbcl_env_get_cachesize __P((DB_ENV *, u_int32_t *,
* PUBLIC: u_int32_t *, int *));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_cachesize_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (gbytesp != NULL)
*gbytesp = replyp->gbytes;
if (bytesp != NULL)
*bytesp = replyp->bytes;
if (ncachep != NULL)
*ncachep = replyp->ncache;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_cachesize_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_env_cachesize __P((DB_ENV *, u_int32_t, u_int32_t, int));
*/
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 msg;
__env_cachesize_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
msg.gbytes = gbytes;
msg.bytes = bytes;
msg.ncache = ncache;
replyp = __db_env_cachesize_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_cachesize_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_env_close __P((DB_ENV *, u_int32_t));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
msg.flags = flags;
replyp = __db_env_close_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_env_create __P((DB_ENV *, long));
*/
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 = timeout;
replyp = __db_env_create_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_get_data_dirs __P((DB_ENV *, const char ***));
*/
int
__dbcl_get_data_dirs(dbenv, dirpp)
DB_ENV * dbenv;
const char *** dirpp;
{
COMPQUIET(dirpp, NULL);
return (__dbcl_rpc_illegal(dbenv, "get_data_dirs"));
}
/*
* PUBLIC: int __dbcl_set_data_dir __P((DB_ENV *, const char *));
*/
int
__dbcl_set_data_dir(dbenv, dir)
DB_ENV * dbenv;
const char * dir;
{
COMPQUIET(dir, NULL);
return (__dbcl_rpc_illegal(dbenv, "set_data_dir"));
}
/*
* PUBLIC: int __dbcl_env_dbremove __P((DB_ENV *, DB_TXN *, const char *,
* PUBLIC: const char *, u_int32_t));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
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 = flags;
replyp = __db_env_dbremove_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_env_dbrename __P((DB_ENV *, DB_TXN *, const char *,
* PUBLIC: const char *, const char *, u_int32_t));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
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 = flags;
replyp = __db_env_dbrename_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_env_get_encrypt_flags __P((DB_ENV *, u_int32_t *));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_encrypt_flags_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_encrypt_flags_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_env_encrypt __P((DB_ENV *, const char *, u_int32_t));
*/
int
__dbcl_env_encrypt(dbenv, passwd, flags)
DB_ENV * dbenv;
const char * passwd;
u_int32_t flags;
{
CLIENT *cl;
__env_encrypt_msg msg;
__env_encrypt_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
if (passwd == NULL)
msg.passwd = "";
else
msg.passwd = (char *)passwd;
msg.flags = flags;
replyp = __db_env_encrypt_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_encrypt_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_env_set_feedback __P((DB_ENV *, void (*)(DB_ENV *, int,
* PUBLIC: int)));
*/
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"));
}
/*
* PUBLIC: int __dbcl_env_get_flags __P((DB_ENV *, u_int32_t *));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_flags_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_flags_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_env_flags __P((DB_ENV *, u_int32_t, int));
*/
int
__dbcl_env_flags(dbenv, flags, onoff)
DB_ENV * dbenv;
u_int32_t flags;
int onoff;
{
CLIENT *cl;
__env_flags_msg msg;
__env_flags_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
msg.flags = flags;
msg.onoff = onoff;
replyp = __db_env_flags_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_flags_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_get_lg_bsize __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_get_lg_bsize(dbenv, bsizep)
DB_ENV * dbenv;
u_int32_t * bsizep;
{
COMPQUIET(bsizep, 0);
return (__dbcl_rpc_illegal(dbenv, "get_lg_bsize"));
}
/*
* PUBLIC: int __dbcl_set_lg_bsize __P((DB_ENV *, u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_get_lg_dir __P((DB_ENV *, const char * *));
*/
int
__dbcl_get_lg_dir(dbenv, dirp)
DB_ENV * dbenv;
const char * * dirp;
{
COMPQUIET(dirp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_lg_dir"));
}
/*
* PUBLIC: int __dbcl_set_lg_dir __P((DB_ENV *, const char *));
*/
int
__dbcl_set_lg_dir(dbenv, dir)
DB_ENV * dbenv;
const char * dir;
{
COMPQUIET(dir, NULL);
return (__dbcl_rpc_illegal(dbenv, "set_lg_dir"));
}
/*
* PUBLIC: int __dbcl_get_lg_max __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_get_lg_max(dbenv, maxp)
DB_ENV * dbenv;
u_int32_t * maxp;
{
COMPQUIET(maxp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_lg_max"));
}
/*
* PUBLIC: int __dbcl_set_lg_max __P((DB_ENV *, u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_get_lg_regionmax __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_get_lg_regionmax(dbenv, maxp)
DB_ENV * dbenv;
u_int32_t * maxp;
{
COMPQUIET(maxp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_lg_regionmax"));
}
/*
* PUBLIC: int __dbcl_set_lg_regionmax __P((DB_ENV *, u_int32_t));
*/
int
__dbcl_set_lg_regionmax(dbenv, max)
DB_ENV * dbenv;
u_int32_t max;
{
COMPQUIET(max, 0);
return (__dbcl_rpc_illegal(dbenv, "set_lg_regionmax"));
}
/*
* PUBLIC: int __dbcl_get_lk_conflicts __P((DB_ENV *, const u_int8_t **,
* PUBLIC: int *));
*/
int
__dbcl_get_lk_conflicts(dbenv, conflicts, modes)
DB_ENV * dbenv;
const u_int8_t ** conflicts;
int * modes;
{
COMPQUIET(conflicts, 0);
COMPQUIET(modes, 0);
return (__dbcl_rpc_illegal(dbenv, "get_lk_conflicts"));
}
/*
* PUBLIC: int __dbcl_set_lk_conflict __P((DB_ENV *, u_int8_t *, int));
*/
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"));
}
/*
* PUBLIC: int __dbcl_get_lk_detect __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_get_lk_detect(dbenv, detectp)
DB_ENV * dbenv;
u_int32_t * detectp;
{
COMPQUIET(detectp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_lk_detect"));
}
/*
* PUBLIC: int __dbcl_set_lk_detect __P((DB_ENV *, u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_set_lk_max __P((DB_ENV *, u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_get_lk_max_locks __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_get_lk_max_locks(dbenv, maxp)
DB_ENV * dbenv;
u_int32_t * maxp;
{
COMPQUIET(maxp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_lk_max_locks"));
}
/*
* PUBLIC: int __dbcl_set_lk_max_locks __P((DB_ENV *, u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_get_lk_max_lockers __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_get_lk_max_lockers(dbenv, maxp)
DB_ENV * dbenv;
u_int32_t * maxp;
{
COMPQUIET(maxp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_lk_max_lockers"));
}
/*
* PUBLIC: int __dbcl_set_lk_max_lockers __P((DB_ENV *, u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_get_lk_max_objects __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_get_lk_max_objects(dbenv, maxp)
DB_ENV * dbenv;
u_int32_t * maxp;
{
COMPQUIET(maxp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_lk_max_objects"));
}
/*
* PUBLIC: int __dbcl_set_lk_max_objects __P((DB_ENV *, u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_get_mp_max_openfd __P((DB_ENV *, int *));
*/
int
__dbcl_get_mp_max_openfd(dbenv, nopenp)
DB_ENV * dbenv;
int * nopenp;
{
COMPQUIET(nopenp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_mp_max_openfd"));
}
/*
* PUBLIC: int __dbcl_set_mp_max_openfd __P((DB_ENV *, int));
*/
int
__dbcl_set_mp_max_openfd(dbenv, nopen)
DB_ENV * dbenv;
int nopen;
{
COMPQUIET(nopen, 0);
return (__dbcl_rpc_illegal(dbenv, "set_mp_max_openfd"));
}
/*
* PUBLIC: int __dbcl_get_mp_max_write __P((DB_ENV *, int *, int *));
*/
int
__dbcl_get_mp_max_write(dbenv, nwritep, nsleepp)
DB_ENV * dbenv;
int * nwritep;
int * nsleepp;
{
COMPQUIET(nwritep, 0);
COMPQUIET(nsleepp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_mp_max_write"));
}
/*
* PUBLIC: int __dbcl_set_mp_max_write __P((DB_ENV *, int, int));
*/
int
__dbcl_set_mp_max_write(dbenv, nwrite, nsleep)
DB_ENV * dbenv;
int nwrite;
int nsleep;
{
COMPQUIET(nwrite, 0);
COMPQUIET(nsleep, 0);
return (__dbcl_rpc_illegal(dbenv, "set_mp_max_write"));
}
/*
* PUBLIC: int __dbcl_get_mp_mmapsize __P((DB_ENV *, size_t *));
*/
int
__dbcl_get_mp_mmapsize(dbenv, mmapsizep)
DB_ENV * dbenv;
size_t * mmapsizep;
{
COMPQUIET(mmapsizep, 0);
return (__dbcl_rpc_illegal(dbenv, "get_mp_mmapsize"));
}
/*
* PUBLIC: int __dbcl_set_mp_mmapsize __P((DB_ENV *, size_t));
*/
int
__dbcl_set_mp_mmapsize(dbenv, mmapsize)
DB_ENV * dbenv;
size_t mmapsize;
{
COMPQUIET(mmapsize, 0);
return (__dbcl_rpc_illegal(dbenv, "set_mp_mmapsize"));
}
/*
* PUBLIC: int __dbcl_env_get_home __P((DB_ENV *, const char * *));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_home_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (homep != NULL)
*homep = replyp->home;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_home_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_env_get_open_flags __P((DB_ENV *, u_int32_t *));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
replyp = __db_env_get_open_flags_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___env_get_open_flags_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_env_open __P((DB_ENV *, const char *, u_int32_t, int));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
if (home == NULL)
msg.home = "";
else
msg.home = (char *)home;
msg.flags = flags;
msg.mode = mode;
replyp = __db_env_open_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_env_paniccall __P((DB_ENV *, void (*)(DB_ENV *, int)));
*/
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"));
}
/*
* PUBLIC: int __dbcl_env_remove __P((DB_ENV *, const char *, u_int32_t));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
if (home == NULL)
msg.home = "";
else
msg.home = (char *)home;
msg.flags = flags;
replyp = __db_env_remove_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_get_shm_key __P((DB_ENV *, long *));
*/
int
__dbcl_get_shm_key(dbenv, shm_keyp)
DB_ENV * dbenv;
long * shm_keyp;
{
COMPQUIET(shm_keyp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_shm_key"));
}
/*
* PUBLIC: int __dbcl_set_shm_key __P((DB_ENV *, long));
*/
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"));
}
/*
* PUBLIC: int __dbcl_get_tas_spins __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_get_tas_spins(dbenv, tas_spinsp)
DB_ENV * dbenv;
u_int32_t * tas_spinsp;
{
COMPQUIET(tas_spinsp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_tas_spins"));
}
/*
* PUBLIC: int __dbcl_set_tas_spins __P((DB_ENV *, u_int32_t));
*/
int
__dbcl_set_tas_spins(dbenv, tas_spins)
DB_ENV * dbenv;
u_int32_t tas_spins;
{
COMPQUIET(tas_spins, 0);
return (__dbcl_rpc_illegal(dbenv, "set_tas_spins"));
}
/*
* PUBLIC: int __dbcl_get_timeout __P((DB_ENV *, u_int32_t *, u_int32_t));
*/
int
__dbcl_get_timeout(dbenv, timeoutp, flags)
DB_ENV * dbenv;
u_int32_t * timeoutp;
u_int32_t flags;
{
COMPQUIET(timeoutp, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "get_timeout"));
}
/*
* PUBLIC: int __dbcl_set_timeout __P((DB_ENV *, u_int32_t, u_int32_t));
*/
int
__dbcl_set_timeout(dbenv, timeout, flags)
DB_ENV * dbenv;
u_int32_t timeout;
u_int32_t flags;
{
COMPQUIET(timeout, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "set_timeout"));
}
/*
* PUBLIC: int __dbcl_get_tmp_dir __P((DB_ENV *, const char * *));
*/
int
__dbcl_get_tmp_dir(dbenv, dirp)
DB_ENV * dbenv;
const char * * dirp;
{
COMPQUIET(dirp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_tmp_dir"));
}
/*
* PUBLIC: int __dbcl_set_tmp_dir __P((DB_ENV *, const char *));
*/
int
__dbcl_set_tmp_dir(dbenv, dir)
DB_ENV * dbenv;
const char * dir;
{
COMPQUIET(dir, NULL);
return (__dbcl_rpc_illegal(dbenv, "set_tmp_dir"));
}
/*
* PUBLIC: int __dbcl_get_tx_max __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_get_tx_max(dbenv, maxp)
DB_ENV * dbenv;
u_int32_t * maxp;
{
COMPQUIET(maxp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_tx_max"));
}
/*
* PUBLIC: int __dbcl_set_tx_max __P((DB_ENV *, u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_get_tx_timestamp __P((DB_ENV *, time_t *));
*/
int
__dbcl_get_tx_timestamp(dbenv, maxp)
DB_ENV * dbenv;
time_t * maxp;
{
COMPQUIET(maxp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_tx_timestamp"));
}
/*
* PUBLIC: int __dbcl_set_tx_timestamp __P((DB_ENV *, time_t *));
*/
int
__dbcl_set_tx_timestamp(dbenv, max)
DB_ENV * dbenv;
time_t * max;
{
COMPQUIET(max, 0);
return (__dbcl_rpc_illegal(dbenv, "set_tx_timestamp"));
}
/*
* PUBLIC: int __dbcl_get_verbose __P((DB_ENV *, u_int32_t, int *));
*/
int
__dbcl_get_verbose(dbenv, which, onoffp)
DB_ENV * dbenv;
u_int32_t which;
int * onoffp;
{
COMPQUIET(which, 0);
COMPQUIET(onoffp, 0);
return (__dbcl_rpc_illegal(dbenv, "get_verbose"));
}
/*
* PUBLIC: int __dbcl_set_verbose __P((DB_ENV *, u_int32_t, int));
*/
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"));
}
/*
* PUBLIC: int __dbcl_txn_abort __P((DB_TXN *));
*/
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->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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_txn_begin __P((DB_ENV *, DB_TXN *, DB_TXN **,
* PUBLIC: u_int32_t));
*/
int
__dbcl_txn_begin(dbenv, parent, txnpp, flags)
DB_ENV * dbenv;
DB_TXN * parent;
DB_TXN ** txnpp;
u_int32_t flags;
{
CLIENT *cl;
__txn_begin_msg msg;
__txn_begin_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
if (parent == NULL)
msg.parentcl_id = 0;
else
msg.parentcl_id = parent->txnid;
msg.flags = flags;
replyp = __db_txn_begin_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_txn_begin_ret(dbenv, parent, txnpp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___txn_begin_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_txn_checkpoint __P((DB_ENV *, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t));
*/
int
__dbcl_txn_checkpoint(dbenv, kbyte, min, flags)
DB_ENV * dbenv;
u_int32_t kbyte;
u_int32_t min;
u_int32_t flags;
{
COMPQUIET(kbyte, 0);
COMPQUIET(min, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "txn_checkpoint"));
}
/*
* PUBLIC: int __dbcl_txn_commit __P((DB_TXN *, u_int32_t));
*/
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->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 = flags;
replyp = __db_txn_commit_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_txn_discard __P((DB_TXN *, u_int32_t));
*/
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->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 = flags;
replyp = __db_txn_discard_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_txn_prepare __P((DB_TXN *, u_int8_t *));
*/
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->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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_txn_recover __P((DB_ENV *, DB_PREPLIST *, long, long *,
* PUBLIC: u_int32_t));
*/
int
__dbcl_txn_recover(dbenv, preplist, count, retp, flags)
DB_ENV * dbenv;
DB_PREPLIST * preplist;
long count;
long * retp;
u_int32_t flags;
{
CLIENT *cl;
__txn_recover_msg msg;
__txn_recover_reply *replyp = NULL;
int ret;
ret = 0;
if (dbenv == NULL || !RPC_ON(dbenv))
return (__dbcl_noserver(dbenv));
cl = (CLIENT *)dbenv->cl_handle;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
msg.count = count;
msg.flags = flags;
replyp = __db_txn_recover_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = __dbcl_txn_recover_ret(dbenv, preplist, count, retp, flags, replyp);
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___txn_recover_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_txn_stat __P((DB_ENV *, DB_TXN_STAT **, u_int32_t));
*/
int
__dbcl_txn_stat(dbenv, statp, flags)
DB_ENV * dbenv;
DB_TXN_STAT ** statp;
u_int32_t flags;
{
COMPQUIET(statp, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "txn_stat"));
}
/*
* PUBLIC: int __dbcl_txn_timeout __P((DB_TXN *, u_int32_t, u_int32_t));
*/
int
__dbcl_txn_timeout(txnp, timeout, flags)
DB_TXN * txnp;
u_int32_t timeout;
u_int32_t flags;
{
DB_ENV *dbenv;
dbenv = txnp->mgrp->dbenv;
COMPQUIET(timeout, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "txn_timeout"));
}
/*
* PUBLIC: int __dbcl_rep_elect __P((DB_ENV *, int, int, int, u_int32_t, int *,
* PUBLIC: u_int32_t));
*/
int
__dbcl_rep_elect(dbenv, nsites, nvotes, pri, timeout, idp, flags)
DB_ENV * dbenv;
int nsites;
int nvotes;
int pri;
u_int32_t timeout;
int * idp;
u_int32_t flags;
{
COMPQUIET(nsites, 0);
COMPQUIET(nvotes, 0);
COMPQUIET(pri, 0);
COMPQUIET(timeout, 0);
COMPQUIET(idp, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "rep_elect"));
}
/*
* PUBLIC: int __dbcl_rep_flush __P((DB_ENV *));
*/
int
__dbcl_rep_flush(dbenv)
DB_ENV * dbenv;
{
return (__dbcl_rpc_illegal(dbenv, "rep_flush"));
}
/*
* PUBLIC: int __dbcl_rep_process_message __P((DB_ENV *, DBT *, DBT *, int *,
* PUBLIC: DB_LSN *));
*/
int
__dbcl_rep_process_message(dbenv, rec, control, idp, ret_lsnp)
DB_ENV * dbenv;
DBT * rec;
DBT * control;
int * idp;
DB_LSN * ret_lsnp;
{
COMPQUIET(rec, NULL);
COMPQUIET(control, NULL);
COMPQUIET(idp, 0);
COMPQUIET(ret_lsnp, 0);
return (__dbcl_rpc_illegal(dbenv, "rep_process_message"));
}
/*
* PUBLIC: int __dbcl_rep_get_limit __P((DB_ENV *, u_int32_t *, u_int32_t *));
*/
int
__dbcl_rep_get_limit(dbenv, mbytesp, bytesp)
DB_ENV * dbenv;
u_int32_t * mbytesp;
u_int32_t * bytesp;
{
COMPQUIET(mbytesp, 0);
COMPQUIET(bytesp, 0);
return (__dbcl_rpc_illegal(dbenv, "rep_get_limit"));
}
/*
* PUBLIC: int __dbcl_rep_set_limit __P((DB_ENV *, u_int32_t, u_int32_t));
*/
int
__dbcl_rep_set_limit(dbenv, mbytes, bytes)
DB_ENV * dbenv;
u_int32_t mbytes;
u_int32_t bytes;
{
COMPQUIET(mbytes, 0);
COMPQUIET(bytes, 0);
return (__dbcl_rpc_illegal(dbenv, "rep_set_limit"));
}
/*
* PUBLIC: int __dbcl_rep_set_request __P((DB_ENV *, u_int32_t, u_int32_t));
*/
int
__dbcl_rep_set_request(dbenv, min, max)
DB_ENV * dbenv;
u_int32_t min;
u_int32_t max;
{
COMPQUIET(min, 0);
COMPQUIET(max, 0);
return (__dbcl_rpc_illegal(dbenv, "rep_set_request"));
}
/*
* PUBLIC: int __dbcl_rep_set_rep_transport __P((DB_ENV *, int,
* PUBLIC: int (*)(DB_ENV *, const DBT *, const DBT *, const DB_LSN *, int, u_int32_t)));
*/
int
__dbcl_rep_set_rep_transport(dbenv, id, func0)
DB_ENV * dbenv;
int id;
int (*func0) __P((DB_ENV *, const DBT *, const DBT *, const DB_LSN *, int, u_int32_t));
{
COMPQUIET(id, 0);
COMPQUIET(func0, 0);
return (__dbcl_rpc_illegal(dbenv, "rep_set_rep_transport"));
}
/*
* PUBLIC: int __dbcl_rep_start __P((DB_ENV *, DBT *, u_int32_t));
*/
int
__dbcl_rep_start(dbenv, cdata, flags)
DB_ENV * dbenv;
DBT * cdata;
u_int32_t flags;
{
COMPQUIET(cdata, NULL);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "rep_start"));
}
/*
* PUBLIC: int __dbcl_rep_stat __P((DB_ENV *, DB_REP_STAT **, u_int32_t));
*/
int
__dbcl_rep_stat(dbenv, statp, flags)
DB_ENV * dbenv;
DB_REP_STAT ** statp;
u_int32_t flags;
{
COMPQUIET(statp, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "rep_stat"));
}
/*
* PUBLIC: int __dbcl_db_alloc __P((DB *, void *(*)(size_t), void *(*)(void *,
* PUBLIC: size_t), void (*)(void *)));
*/
int
__dbcl_db_alloc(dbp, func0, func1, func2)
DB * dbp;
void *(*func0) __P((size_t));
void *(*func1) __P((void *, size_t));
void (*func2) __P((void *));
{
DB_ENV *dbenv;
dbenv = dbp->dbenv;
COMPQUIET(func0, 0);
COMPQUIET(func1, 0);
COMPQUIET(func2, 0);
return (__dbcl_rpc_illegal(dbenv, "db_alloc"));
}
/*
* PUBLIC: int __dbcl_db_associate __P((DB *, DB_TXN *, DB *, int (*)(DB *,
* PUBLIC: const DBT *, const DBT *, DBT *), u_int32_t));
*/
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_err(dbenv, "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 = flags;
replyp = __db_db_associate_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_bt_compare __P((DB *, int (*)(DB *, const DBT *,
* PUBLIC: const DBT *)));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_bt_maxkey __P((DB *, u_int32_t));
*/
int
__dbcl_db_bt_maxkey(dbp, maxkey)
DB * dbp;
u_int32_t maxkey;
{
CLIENT *cl;
__db_bt_maxkey_msg msg;
__db_bt_maxkey_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.maxkey = maxkey;
replyp = __db_db_bt_maxkey_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_bt_maxkey_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_get_bt_minkey __P((DB *, u_int32_t *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (minkeyp != NULL)
*minkeyp = replyp->minkey;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_bt_minkey_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_bt_minkey __P((DB *, u_int32_t));
*/
int
__dbcl_db_bt_minkey(dbp, minkey)
DB * dbp;
u_int32_t minkey;
{
CLIENT *cl;
__db_bt_minkey_msg msg;
__db_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 = minkey;
replyp = __db_db_bt_minkey_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_bt_minkey_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_bt_prefix __P((DB *, size_t(*)(DB *, const DBT *,
* PUBLIC: const DBT *)));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_set_append_recno __P((DB *, int (*)(DB *, DBT *,
* PUBLIC: db_recno_t)));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_get_cachesize __P((DB *, u_int32_t *, u_int32_t *,
* PUBLIC: int *));
*/
int
__dbcl_db_get_cachesize(dbp, gbytesp, bytesp, ncachep)
DB * dbp;
u_int32_t * gbytesp;
u_int32_t * bytesp;
int * ncachep;
{
DB_ENV *dbenv;
dbenv = dbp->dbenv;
COMPQUIET(gbytesp, 0);
COMPQUIET(bytesp, 0);
COMPQUIET(ncachep, 0);
return (__dbcl_rpc_illegal(dbenv, "db_get_cachesize"));
}
/*
* PUBLIC: int __dbcl_db_cachesize __P((DB *, u_int32_t, u_int32_t, int));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_close __P((DB *, u_int32_t));
*/
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 = flags;
replyp = __db_db_close_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_create __P((DB *, DB_ENV *, u_int32_t));
*/
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;
if (dbenv == NULL)
msg.dbenvcl_id = 0;
else
msg.dbenvcl_id = dbenv->cl_id;
msg.flags = flags;
replyp = __db_db_create_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_del __P((DB *, DB_TXN *, DBT *, u_int32_t));
*/
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 = flags;
replyp = __db_db_del_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_dup_compare __P((DB *, int (*)(DB *, const DBT *,
* PUBLIC: const DBT *)));
*/
int
__dbcl_db_dup_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_dup_compare"));
}
/*
* PUBLIC: int __dbcl_db_get_encrypt_flags __P((DB *, u_int32_t *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_encrypt_flags_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_encrypt __P((DB *, const char *, u_int32_t));
*/
int
__dbcl_db_encrypt(dbp, passwd, flags)
DB * dbp;
const char * passwd;
u_int32_t flags;
{
CLIENT *cl;
__db_encrypt_msg msg;
__db_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 = flags;
replyp = __db_db_encrypt_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_encrypt_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_get_extentsize __P((DB *, u_int32_t *));
*/
int
__dbcl_db_get_extentsize(dbp, extentsizep)
DB * dbp;
u_int32_t * extentsizep;
{
CLIENT *cl;
__db_get_extentsize_msg msg;
__db_get_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_extentsize_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (extentsizep != NULL)
*extentsizep = replyp->extentsize;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_extentsize_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_extentsize __P((DB *, u_int32_t));
*/
int
__dbcl_db_extentsize(dbp, extentsize)
DB * dbp;
u_int32_t extentsize;
{
CLIENT *cl;
__db_extentsize_msg msg;
__db_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 = extentsize;
replyp = __db_db_extentsize_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_extentsize_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_fd __P((DB *, int *));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_feedback __P((DB *, void (*)(DB *, int, int)));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_get_flags __P((DB *, u_int32_t *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_flags_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_flags __P((DB *, u_int32_t));
*/
int
__dbcl_db_flags(dbp, flags)
DB * dbp;
u_int32_t flags;
{
CLIENT *cl;
__db_flags_msg msg;
__db_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 = flags;
replyp = __db_db_flags_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_flags_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_get __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t));
*/
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 = flags;
replyp = __db_db_get_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_get_name __P((DB *, const char * *, const char * *));
*/
int
__dbcl_db_get_name(dbp, filenamep, dbnamep)
DB * dbp;
const char * * filenamep;
const char * * dbnamep;
{
CLIENT *cl;
__db_get_name_msg msg;
__db_get_name_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_name_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (filenamep != NULL)
*filenamep = replyp->filename;
if (dbnamep != NULL)
*dbnamep = replyp->dbname;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_name_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_get_open_flags __P((DB *, u_int32_t *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (flagsp != NULL)
*flagsp = replyp->flags;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_open_flags_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_get_h_ffactor __P((DB *, u_int32_t *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (ffactorp != NULL)
*ffactorp = replyp->ffactor;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_h_ffactor_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_h_ffactor __P((DB *, u_int32_t));
*/
int
__dbcl_db_h_ffactor(dbp, ffactor)
DB * dbp;
u_int32_t ffactor;
{
CLIENT *cl;
__db_h_ffactor_msg msg;
__db_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 = ffactor;
replyp = __db_db_h_ffactor_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_h_ffactor_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_h_hash __P((DB *, u_int32_t(*)(DB *, const void *,
* PUBLIC: u_int32_t)));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_get_h_nelem __P((DB *, u_int32_t *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (nelemp != NULL)
*nelemp = replyp->nelem;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_h_nelem_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_h_nelem __P((DB *, u_int32_t));
*/
int
__dbcl_db_h_nelem(dbp, nelem)
DB * dbp;
u_int32_t nelem;
{
CLIENT *cl;
__db_h_nelem_msg msg;
__db_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 = nelem;
replyp = __db_db_h_nelem_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_h_nelem_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_key_range __P((DB *, DB_TXN *, DBT *, DB_KEY_RANGE *,
* PUBLIC: u_int32_t));
*/
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 = flags;
replyp = __db_db_key_range_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_get_lorder __P((DB *, int *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (lorderp != NULL)
*lorderp = replyp->lorder;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_lorder_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_lorder __P((DB *, int));
*/
int
__dbcl_db_lorder(dbp, lorder)
DB * dbp;
int lorder;
{
CLIENT *cl;
__db_lorder_msg msg;
__db_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 = lorder;
replyp = __db_db_lorder_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_lorder_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_open __P((DB *, DB_TXN *, const char *, const char *,
* PUBLIC: DBTYPE, u_int32_t, int));
*/
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 = type;
msg.flags = flags;
msg.mode = mode;
replyp = __db_db_open_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_get_pagesize __P((DB *, u_int32_t *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (pagesizep != NULL)
*pagesizep = replyp->pagesize;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_pagesize_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_pagesize __P((DB *, u_int32_t));
*/
int
__dbcl_db_pagesize(dbp, pagesize)
DB * dbp;
u_int32_t pagesize;
{
CLIENT *cl;
__db_pagesize_msg msg;
__db_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 = pagesize;
replyp = __db_db_pagesize_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_pagesize_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_panic __P((DB *, void (*)(DB_ENV *, int)));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_pget __P((DB *, DB_TXN *, DBT *, DBT *, DBT *,
* PUBLIC: u_int32_t));
*/
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 = flags;
replyp = __db_db_pget_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_put __P((DB *, DB_TXN *, DBT *, DBT *, u_int32_t));
*/
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 = flags;
replyp = __db_db_put_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_get_re_delim __P((DB *, int *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (delimp != NULL)
*delimp = replyp->delim;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_re_delim_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_re_delim __P((DB *, int));
*/
int
__dbcl_db_re_delim(dbp, delim)
DB * dbp;
int delim;
{
CLIENT *cl;
__db_re_delim_msg msg;
__db_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 = delim;
replyp = __db_db_re_delim_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_re_delim_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_get_re_len __P((DB *, u_int32_t *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (lenp != NULL)
*lenp = replyp->len;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_re_len_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_re_len __P((DB *, u_int32_t));
*/
int
__dbcl_db_re_len(dbp, len)
DB * dbp;
u_int32_t len;
{
CLIENT *cl;
__db_re_len_msg msg;
__db_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 = len;
replyp = __db_db_re_len_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_re_len_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_re_pad __P((DB *, int));
*/
int
__dbcl_db_re_pad(dbp, pad)
DB * dbp;
int pad;
{
CLIENT *cl;
__db_re_pad_msg msg;
__db_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 = pad;
replyp = __db_db_re_pad_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_re_pad_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_get_re_pad __P((DB *, int *));
*/
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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
ret = DB_NOSERVER;
goto out;
}
ret = replyp->status;
if (padp != NULL)
*padp = replyp->pad;
out:
if (replyp != NULL)
xdr_free((xdrproc_t)xdr___db_get_re_pad_reply, (void *)replyp);
return (ret);
}
/*
* PUBLIC: int __dbcl_db_get_re_source __P((DB *, const char * *));
*/
int
__dbcl_db_get_re_source(dbp, re_sourcep)
DB * dbp;
const char * * re_sourcep;
{
DB_ENV *dbenv;
dbenv = dbp->dbenv;
COMPQUIET(re_sourcep, 0);
return (__dbcl_rpc_illegal(dbenv, "db_get_re_source"));
}
/*
* PUBLIC: int __dbcl_db_re_source __P((DB *, const char *));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_remove __P((DB *, const char *, const char *,
* PUBLIC: u_int32_t));
*/
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 = flags;
replyp = __db_db_remove_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_rename __P((DB *, const char *, const char *,
* PUBLIC: const char *, u_int32_t));
*/
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 = flags;
replyp = __db_db_rename_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_stat __P((DB *, DB_TXN *, void *, u_int32_t));
*/
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 = flags;
replyp = __db_db_stat_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_sync __P((DB *, u_int32_t));
*/
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 = flags;
replyp = __db_db_sync_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_truncate __P((DB *, DB_TXN *, u_int32_t *,
* PUBLIC: u_int32_t));
*/
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 = flags;
replyp = __db_db_truncate_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_upgrade __P((DB *, const char *, u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_db_verify __P((DB *, const char *, const char *, FILE *,
* PUBLIC: u_int32_t));
*/
int
__dbcl_db_verify(dbp, fname, subdb, outfile, flags)
DB * dbp;
const char * fname;
const char * subdb;
FILE * outfile;
u_int32_t flags;
{
DB_ENV *dbenv;
dbenv = dbp->dbenv;
COMPQUIET(fname, NULL);
COMPQUIET(subdb, NULL);
COMPQUIET(outfile, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "db_verify"));
}
/*
* PUBLIC: int __dbcl_db_cursor __P((DB *, DB_TXN *, DBC **, u_int32_t));
*/
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 = flags;
replyp = __db_db_cursor_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_db_join __P((DB *, DBC **, DBC **, u_int32_t));
*/
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 = cursi;
if ((ret = __os_calloc(dbenv,
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 = flags;
replyp = __db_db_join_4003(&msg, cl);
__os_free(dbenv, msg.curs.curs_val);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_dbc_close __P((DBC *));
*/
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->dbp->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_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_dbc_count __P((DBC *, db_recno_t *, u_int32_t));
*/
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->dbp->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 = flags;
replyp = __db_dbc_count_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_dbc_del __P((DBC *, u_int32_t));
*/
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->dbp->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 = flags;
replyp = __db_dbc_del_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_dbc_dup __P((DBC *, DBC **, u_int32_t));
*/
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->dbp->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 = flags;
replyp = __db_dbc_dup_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_dbc_get __P((DBC *, DBT *, DBT *, u_int32_t));
*/
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->dbp->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 = flags;
replyp = __db_dbc_get_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_dbc_pget __P((DBC *, DBT *, DBT *, DBT *, u_int32_t));
*/
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->dbp->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 = flags;
replyp = __db_dbc_pget_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_dbc_put __P((DBC *, DBT *, DBT *, u_int32_t));
*/
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->dbp->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 = flags;
replyp = __db_dbc_put_4003(&msg, cl);
if (replyp == NULL) {
__db_err(dbenv, 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);
}
/*
* PUBLIC: int __dbcl_lock_detect __P((DB_ENV *, u_int32_t, u_int32_t, int *));
*/
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"));
}
/*
* PUBLIC: int __dbcl_lock_get __P((DB_ENV *, u_int32_t, u_int32_t,
* PUBLIC: const DBT *, db_lockmode_t, DB_LOCK *));
*/
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"));
}
/*
* PUBLIC: int __dbcl_lock_id __P((DB_ENV *, u_int32_t *));
*/
int
__dbcl_lock_id(dbenv, idp)
DB_ENV * dbenv;
u_int32_t * idp;
{
COMPQUIET(idp, 0);
return (__dbcl_rpc_illegal(dbenv, "lock_id"));
}
/*
* PUBLIC: int __dbcl_lock_id_free __P((DB_ENV *, u_int32_t));
*/
int
__dbcl_lock_id_free(dbenv, id)
DB_ENV * dbenv;
u_int32_t id;
{
COMPQUIET(id, 0);
return (__dbcl_rpc_illegal(dbenv, "lock_id_free"));
}
/*
* PUBLIC: int __dbcl_lock_put __P((DB_ENV *, DB_LOCK *));
*/
int
__dbcl_lock_put(dbenv, lock)
DB_ENV * dbenv;
DB_LOCK * lock;
{
COMPQUIET(lock, 0);
return (__dbcl_rpc_illegal(dbenv, "lock_put"));
}
/*
* PUBLIC: int __dbcl_lock_stat __P((DB_ENV *, DB_LOCK_STAT **, u_int32_t));
*/
int
__dbcl_lock_stat(dbenv, statp, flags)
DB_ENV * dbenv;
DB_LOCK_STAT ** statp;
u_int32_t flags;
{
COMPQUIET(statp, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "lock_stat"));
}
/*
* PUBLIC: int __dbcl_lock_vec __P((DB_ENV *, u_int32_t, u_int32_t,
* PUBLIC: DB_LOCKREQ *, int, DB_LOCKREQ **));
*/
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"));
}
/*
* PUBLIC: int __dbcl_log_archive __P((DB_ENV *, char ***, u_int32_t));
*/
int
__dbcl_log_archive(dbenv, listp, flags)
DB_ENV * dbenv;
char *** listp;
u_int32_t flags;
{
COMPQUIET(listp, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "log_archive"));
}
/*
* PUBLIC: int __dbcl_log_cursor __P((DB_ENV *, DB_LOGC **, u_int32_t));
*/
int
__dbcl_log_cursor(dbenv, logcp, flags)
DB_ENV * dbenv;
DB_LOGC ** logcp;
u_int32_t flags;
{
COMPQUIET(logcp, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "log_cursor"));
}
/*
* PUBLIC: int __dbcl_log_file __P((DB_ENV *, const DB_LSN *, char *, size_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_log_flush __P((DB_ENV *, const DB_LSN *));
*/
int
__dbcl_log_flush(dbenv, lsn)
DB_ENV * dbenv;
const DB_LSN * lsn;
{
COMPQUIET(lsn, NULL);
return (__dbcl_rpc_illegal(dbenv, "log_flush"));
}
/*
* PUBLIC: int __dbcl_log_put __P((DB_ENV *, DB_LSN *, const DBT *,
* PUBLIC: u_int32_t));
*/
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"));
}
/*
* PUBLIC: int __dbcl_log_stat __P((DB_ENV *, DB_LOG_STAT **, u_int32_t));
*/
int
__dbcl_log_stat(dbenv, statp, flags)
DB_ENV * dbenv;
DB_LOG_STAT ** statp;
u_int32_t flags;
{
COMPQUIET(statp, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "log_stat"));
}
/*
* PUBLIC: int __dbcl_memp_register __P((DB_ENV *, int, int (*)(DB_ENV *,
* PUBLIC: db_pgno_t, void *, DBT *), int (*)(DB_ENV *, db_pgno_t, void *, DBT *)));
*/
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"));
}
/*
* PUBLIC: int __dbcl_memp_stat __P((DB_ENV *, DB_MPOOL_STAT **,
* PUBLIC: DB_MPOOL_FSTAT ***, u_int32_t));
*/
int
__dbcl_memp_stat(dbenv, gstatp, fstatp, flags)
DB_ENV * dbenv;
DB_MPOOL_STAT ** gstatp;
DB_MPOOL_FSTAT *** fstatp;
u_int32_t flags;
{
COMPQUIET(gstatp, 0);
COMPQUIET(fstatp, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_stat"));
}
/*
* PUBLIC: int __dbcl_memp_sync __P((DB_ENV *, DB_LSN *));
*/
int
__dbcl_memp_sync(dbenv, lsn)
DB_ENV * dbenv;
DB_LSN * lsn;
{
COMPQUIET(lsn, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_sync"));
}
/*
* PUBLIC: int __dbcl_memp_trickle __P((DB_ENV *, int, int *));
*/
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"));
}
/*
* PUBLIC: int __dbcl_memp_fget __P((DB_MPOOLFILE *, u_int32_t *, u_int32_t,
* PUBLIC: void *));
*/
int
__dbcl_memp_fget(dbmfp, pgnoaddr, flags, addrp)
DB_MPOOLFILE * dbmfp;
u_int32_t * pgnoaddr;
u_int32_t flags;
void * addrp;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(pgnoaddr, 0);
COMPQUIET(flags, 0);
COMPQUIET(addrp, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_fget"));
}
/*
* PUBLIC: int __dbcl_memp_fopen __P((DB_MPOOLFILE *, const char *, u_int32_t,
* PUBLIC: int, size_t));
*/
int
__dbcl_memp_fopen(dbmfp, path, flags, mode, pagesize)
DB_MPOOLFILE * dbmfp;
const char * path;
u_int32_t flags;
int mode;
size_t pagesize;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(path, 0);
COMPQUIET(flags, 0);
COMPQUIET(mode, 0);
COMPQUIET(pagesize, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_fopen"));
}
/*
* PUBLIC: int __dbcl_memp_fput __P((DB_MPOOLFILE *, void *, u_int32_t));
*/
int
__dbcl_memp_fput(dbmfp, pgaddr, flags)
DB_MPOOLFILE * dbmfp;
void * pgaddr;
u_int32_t flags;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(pgaddr, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_fput"));
}
/*
* PUBLIC: int __dbcl_memp_fset __P((DB_MPOOLFILE *, void *, u_int32_t));
*/
int
__dbcl_memp_fset(dbmfp, pgaddr, flags)
DB_MPOOLFILE * dbmfp;
void * pgaddr;
u_int32_t flags;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(pgaddr, 0);
COMPQUIET(flags, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_fset"));
}
/*
* PUBLIC: int __dbcl_memp_get_clear_len __P((DB_MPOOLFILE *, u_int32_t *));
*/
int
__dbcl_memp_get_clear_len(dbmfp, clear_lenp)
DB_MPOOLFILE * dbmfp;
u_int32_t * clear_lenp;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(clear_lenp, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_get_clear_len"));
}
/*
* PUBLIC: int __dbcl_memp_set_clear_len __P((DB_MPOOLFILE *, u_int32_t));
*/
int
__dbcl_memp_set_clear_len(dbmfp, clear_len)
DB_MPOOLFILE * dbmfp;
u_int32_t clear_len;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(clear_len, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_set_clear_len"));
}
/*
* PUBLIC: int __dbcl_memp_get_fileid __P((DB_MPOOLFILE *, u_int8_t *));
*/
int
__dbcl_memp_get_fileid(dbmfp, fileid)
DB_MPOOLFILE * dbmfp;
u_int8_t * fileid;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(fileid, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_get_fileid"));
}
/*
* PUBLIC: int __dbcl_memp_set_fileid __P((DB_MPOOLFILE *, u_int8_t *));
*/
int
__dbcl_memp_set_fileid(dbmfp, fileid)
DB_MPOOLFILE * dbmfp;
u_int8_t * fileid;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(fileid, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_set_fileid"));
}
/*
* PUBLIC: int __dbcl_memp_get_flags __P((DB_MPOOLFILE *, u_int32_t *));
*/
int
__dbcl_memp_get_flags(dbmfp, flagsp)
DB_MPOOLFILE * dbmfp;
u_int32_t * flagsp;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(flagsp, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_get_flags"));
}
/*
* PUBLIC: int __dbcl_memp_set_flags __P((DB_MPOOLFILE *, u_int32_t, int));
*/
int
__dbcl_memp_set_flags(dbmfp, flags, onoff)
DB_MPOOLFILE * dbmfp;
u_int32_t flags;
int onoff;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(flags, 0);
COMPQUIET(onoff, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_set_flags"));
}
/*
* PUBLIC: int __dbcl_memp_get_ftype __P((DB_MPOOLFILE *, int *));
*/
int
__dbcl_memp_get_ftype(dbmfp, ftype)
DB_MPOOLFILE * dbmfp;
int * ftype;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(ftype, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_get_ftype"));
}
/*
* PUBLIC: int __dbcl_memp_set_ftype __P((DB_MPOOLFILE *, int));
*/
int
__dbcl_memp_set_ftype(dbmfp, ftype)
DB_MPOOLFILE * dbmfp;
int ftype;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(ftype, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_set_ftype"));
}
/*
* PUBLIC: int __dbcl_memp_get_lsn_offset __P((DB_MPOOLFILE *, int32_t *));
*/
int
__dbcl_memp_get_lsn_offset(dbmfp, lsn_offsetp)
DB_MPOOLFILE * dbmfp;
int32_t * lsn_offsetp;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(lsn_offsetp, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_get_lsn_offset"));
}
/*
* PUBLIC: int __dbcl_memp_set_lsn_offset __P((DB_MPOOLFILE *, int32_t));
*/
int
__dbcl_memp_set_lsn_offset(dbmfp, lsn_offset)
DB_MPOOLFILE * dbmfp;
int32_t lsn_offset;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(lsn_offset, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_set_lsn_offset"));
}
/*
* PUBLIC: int __dbcl_memp_get_maxsize __P((DB_MPOOLFILE *, u_int32_t *,
* PUBLIC: u_int32_t *));
*/
int
__dbcl_memp_get_maxsize(dbmfp, gbytesp, bytesp)
DB_MPOOLFILE * dbmfp;
u_int32_t * gbytesp;
u_int32_t * bytesp;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(gbytesp, 0);
COMPQUIET(bytesp, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_get_maxsize"));
}
/*
* PUBLIC: int __dbcl_memp_set_maxsize __P((DB_MPOOLFILE *, u_int32_t,
* PUBLIC: u_int32_t));
*/
int
__dbcl_memp_set_maxsize(dbmfp, gbytes, bytes)
DB_MPOOLFILE * dbmfp;
u_int32_t gbytes;
u_int32_t bytes;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(gbytes, 0);
COMPQUIET(bytes, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_set_maxsize"));
}
/*
* PUBLIC: int __dbcl_memp_get_pgcookie __P((DB_MPOOLFILE *, DBT *));
*/
int
__dbcl_memp_get_pgcookie(dbmfp, pgcookie)
DB_MPOOLFILE * dbmfp;
DBT * pgcookie;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(pgcookie, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_get_pgcookie"));
}
/*
* PUBLIC: int __dbcl_memp_set_pgcookie __P((DB_MPOOLFILE *, DBT *));
*/
int
__dbcl_memp_set_pgcookie(dbmfp, pgcookie)
DB_MPOOLFILE * dbmfp;
DBT * pgcookie;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(pgcookie, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_set_pgcookie"));
}
/*
* PUBLIC: int __dbcl_memp_get_priority __P((DB_MPOOLFILE *,
* PUBLIC: DB_CACHE_PRIORITY *));
*/
int
__dbcl_memp_get_priority(dbmfp, priorityp)
DB_MPOOLFILE * dbmfp;
DB_CACHE_PRIORITY * priorityp;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(priorityp, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_get_priority"));
}
/*
* PUBLIC: int __dbcl_memp_set_priority __P((DB_MPOOLFILE *,
* PUBLIC: DB_CACHE_PRIORITY));
*/
int
__dbcl_memp_set_priority(dbmfp, priority)
DB_MPOOLFILE * dbmfp;
DB_CACHE_PRIORITY priority;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
COMPQUIET(priority, 0);
return (__dbcl_rpc_illegal(dbenv, "memp_set_priority"));
}
/*
* PUBLIC: int __dbcl_memp_fsync __P((DB_MPOOLFILE *));
*/
int
__dbcl_memp_fsync(dbmfp)
DB_MPOOLFILE * dbmfp;
{
DB_ENV *dbenv;
dbenv = dbmfp->dbenv;
return (__dbcl_rpc_illegal(dbenv, "memp_fsync"));
}
/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 2000-2004
* Sleepycat Software. All rights reserved.
*
* $Id: db_server_proc.c,v 1.106 2004/09/22 17:30:12 bostic Exp $
*/
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <rpc/rpc.h>
#include <string.h>
#endif
#include "db_server.h"
#include "db_int.h"
#include "dbinc/db_server_int.h"
#include "dbinc_auto/rpc_server_ext.h"
/*
* PUBLIC: void __env_get_cachesize_proc __P((long,
* PUBLIC: __env_get_cachesize_reply *));
*/
void
__env_get_cachesize_proc(dbenvcl_id, replyp)
long dbenvcl_id;
__env_get_cachesize_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
replyp->status = dbenv->get_cachesize(dbenv, &replyp->gbytes,
&replyp->bytes, (int *)&replyp->ncache);
}
/*
* PUBLIC: void __env_cachesize_proc __P((long, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, __env_cachesize_reply *));
*/
void
__env_cachesize_proc(dbenvcl_id, gbytes, bytes, ncache, replyp)
long dbenvcl_id;
u_int32_t gbytes;
u_int32_t bytes;
u_int32_t ncache;
__env_cachesize_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *dbenv_ctp;
int ret;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
ret = dbenv->set_cachesize(dbenv, gbytes, bytes, ncache);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __env_close_proc __P((long, u_int32_t, __env_close_reply *));
*/
void
__env_close_proc(dbenvcl_id, flags, replyp)
long dbenvcl_id;
u_int32_t flags;
__env_close_reply *replyp;
{
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
replyp->status = __dbenv_close_int(dbenvcl_id, flags, 0);
return;
}
/*
* PUBLIC: void __env_create_proc __P((u_int32_t, __env_create_reply *));
*/
void
__env_create_proc(timeout, replyp)
u_int32_t timeout;
__env_create_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *ctp;
int ret;
ctp = new_ct_ent(&replyp->status);
if (ctp == NULL)
return;
if ((ret = db_env_create(&dbenv, 0)) == 0) {
ctp->ct_envp = dbenv;
ctp->ct_type = CT_ENV;
ctp->ct_parent = NULL;
ctp->ct_envparent = ctp;
__dbsrv_settimeout(ctp, timeout);
__dbsrv_active(ctp);
replyp->envcl_id = ctp->ct_id;
} else
__dbclear_ctp(ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __env_dbremove_proc __P((long, long, char *, char *, u_int32_t,
* PUBLIC: __env_dbremove_reply *));
*/
void
__env_dbremove_proc(dbenvcl_id, txnpcl_id, name, subdb, flags, replyp)
long dbenvcl_id;
long txnpcl_id;
char *name;
char *subdb;
u_int32_t flags;
__env_dbremove_reply *replyp;
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
ret = dbenv->dbremove(dbenv, txnp, name, subdb, flags);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __env_dbrename_proc __P((long, long, char *, char *, char *,
* PUBLIC: u_int32_t, __env_dbrename_reply *));
*/
void
__env_dbrename_proc(dbenvcl_id, txnpcl_id, name, subdb, newname, flags, replyp)
long dbenvcl_id;
long txnpcl_id;
char *name;
char *subdb;
char *newname;
u_int32_t flags;
__env_dbrename_reply *replyp;
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
DB_TXN * txnp;
ct_entry *txnp_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
ret = dbenv->dbrename(dbenv, txnp, name, subdb, newname, flags);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __env_get_encrypt_flags_proc __P((long,
* PUBLIC: __env_get_encrypt_flags_reply *));
*/
void
__env_get_encrypt_flags_proc(dbenvcl_id, replyp)
long dbenvcl_id;
__env_get_encrypt_flags_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
replyp->status = dbenv->get_encrypt_flags(dbenv, &replyp->flags);
}
/*
* PUBLIC: void __env_encrypt_proc __P((long, char *, u_int32_t,
* PUBLIC: __env_encrypt_reply *));
*/
void
__env_encrypt_proc(dbenvcl_id, passwd, flags, replyp)
long dbenvcl_id;
char *passwd;
u_int32_t flags;
__env_encrypt_reply *replyp;
{
int ret;
DB_ENV * dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
ret = dbenv->set_encrypt(dbenv, passwd, flags);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __env_get_flags_proc __P((long, __env_get_flags_reply *));
*/
void
__env_get_flags_proc(dbenvcl_id, replyp)
long dbenvcl_id;
__env_get_flags_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
replyp->status = dbenv->get_flags(dbenv, &replyp->flags);
}
/*
* PUBLIC: void __env_flags_proc __P((long, u_int32_t, u_int32_t,
* PUBLIC: __env_flags_reply *));
*/
void
__env_flags_proc(dbenvcl_id, flags, onoff, replyp)
long dbenvcl_id;
u_int32_t flags;
u_int32_t onoff;
__env_flags_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *dbenv_ctp;
int ret;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
ret = dbenv->set_flags(dbenv, flags, onoff);
if (onoff)
dbenv_ctp->ct_envdp.onflags = flags;
else
dbenv_ctp->ct_envdp.offflags = flags;
replyp->status = ret;
return;
}
/*
* PUBLIC: void __env_get_home_proc __P((long, __env_get_home_reply *));
*/
void
__env_get_home_proc(dbenvcl_id, replyp)
long dbenvcl_id;
__env_get_home_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
replyp->status = dbenv->get_home(dbenv,
(const char **)&replyp->home);
}
/*
* PUBLIC: void __env_get_open_flags_proc __P((long,
* PUBLIC: __env_get_open_flags_reply *));
*/
void
__env_get_open_flags_proc(dbenvcl_id, replyp)
long dbenvcl_id;
__env_get_open_flags_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *dbenv_ctp;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
replyp->status = dbenv->get_open_flags(dbenv, &replyp->flags);
}
/*
* PUBLIC: void __env_open_proc __P((long, char *, u_int32_t, u_int32_t,
* PUBLIC: __env_open_reply *));
*/
void
__env_open_proc(dbenvcl_id, home, flags, mode, replyp)
long dbenvcl_id;
char *home;
u_int32_t flags;
u_int32_t mode;
__env_open_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *dbenv_ctp, *new_ctp;
u_int32_t newflags, shareflags;
int ret;
home_entry *fullhome;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
fullhome = get_fullhome(home);
if (fullhome == NULL) {
ret = DB_NOSERVER_HOME;
goto out;
}
/*
* If they are using locking do deadlock detection for them,
* internally.
*/
if ((flags & DB_INIT_LOCK) &&
(ret = dbenv->set_lk_detect(dbenv, DB_LOCK_DEFAULT)) != 0)
goto out;
if (__dbsrv_verbose) {
dbenv->set_errfile(dbenv, stderr);
dbenv->set_errpfx(dbenv, fullhome->home);
}
/*
* Mask off flags we ignore
*/
newflags = (flags & ~DB_SERVER_FLAGMASK);
shareflags = (newflags & DB_SERVER_ENVFLAGS);
/*
* Check now whether we can share a handle for this env.
*/
replyp->envcl_id = dbenvcl_id;
if ((new_ctp = __dbsrv_shareenv(dbenv_ctp, fullhome, shareflags))
!= NULL) {
/*
* We can share, clean up old ID, set new one.
*/
if (__dbsrv_verbose)
printf("Sharing env ID %ld\n", new_ctp->ct_id);
replyp->envcl_id = new_ctp->ct_id;
ret = __dbenv_close_int(dbenvcl_id, 0, 0);
} else {
ret = dbenv->open(dbenv, fullhome->home, newflags, mode);
dbenv_ctp->ct_envdp.home = fullhome;
dbenv_ctp->ct_envdp.envflags = shareflags;
}
out: replyp->status = ret;
return;
}
/*
* PUBLIC: void __env_remove_proc __P((long, char *, u_int32_t,
* PUBLIC: __env_remove_reply *));
*/
void
__env_remove_proc(dbenvcl_id, home, flags, replyp)
long dbenvcl_id;
char *home;
u_int32_t flags;
__env_remove_reply *replyp;
{
DB_ENV *dbenv;
ct_entry *dbenv_ctp;
int ret;
home_entry *fullhome;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
fullhome = get_fullhome(home);
if (fullhome == NULL) {
replyp->status = DB_NOSERVER_HOME;
return;
}
ret = dbenv->remove(dbenv, fullhome->home, flags);
__dbdel_ctp(dbenv_ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __txn_abort_proc __P((long, __txn_abort_reply *));
*/
void
__txn_abort_proc(txnpcl_id, replyp)
long txnpcl_id;
__txn_abort_reply *replyp;
{
DB_TXN *txnp;
ct_entry *txnp_ctp;
int ret;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
ret = txnp->abort(txnp);
__dbdel_ctp(txnp_ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __txn_begin_proc __P((long, long, u_int32_t,
* PUBLIC: __txn_begin_reply *));
*/
void
__txn_begin_proc(dbenvcl_id, parentcl_id, flags, replyp)
long dbenvcl_id;
long parentcl_id;
u_int32_t flags;
__txn_begin_reply *replyp;
{
DB_ENV *dbenv;
DB_TXN *parent, *txnp;
ct_entry *ctp, *dbenv_ctp, *parent_ctp;
int ret;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
parent_ctp = NULL;
ctp = new_ct_ent(&replyp->status);
if (ctp == NULL)
return;
if (parentcl_id != 0) {
ACTIVATE_CTP(parent_ctp, parentcl_id, CT_TXN);
parent = (DB_TXN *)parent_ctp->ct_anyp;
ctp->ct_activep = parent_ctp->ct_activep;
} else
parent = NULL;
/*
* Need to set DB_TXN_NOWAIT or the RPC server may deadlock
* itself and no one can break the lock.
*/
ret = dbenv->txn_begin(dbenv, parent, &txnp, flags | DB_TXN_NOWAIT);
if (ret == 0) {
ctp->ct_txnp = txnp;
ctp->ct_type = CT_TXN;
ctp->ct_parent = parent_ctp;
ctp->ct_envparent = dbenv_ctp;
replyp->txnidcl_id = ctp->ct_id;
__dbsrv_settimeout(ctp, dbenv_ctp->ct_timeout);
__dbsrv_active(ctp);
} else
__dbclear_ctp(ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __txn_commit_proc __P((long, u_int32_t,
* PUBLIC: __txn_commit_reply *));
*/
void
__txn_commit_proc(txnpcl_id, flags, replyp)
long txnpcl_id;
u_int32_t flags;
__txn_commit_reply *replyp;
{
DB_TXN *txnp;
ct_entry *txnp_ctp;
int ret;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
ret = txnp->commit(txnp, flags);
__dbdel_ctp(txnp_ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __txn_discard_proc __P((long, u_int32_t,
* PUBLIC: __txn_discard_reply *));
*/
void
__txn_discard_proc(txnpcl_id, flags, replyp)
long txnpcl_id;
u_int32_t flags;
__txn_discard_reply *replyp;
{
DB_TXN *txnp;
ct_entry *txnp_ctp;
int ret;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
ret = txnp->discard(txnp, flags);
__dbdel_ctp(txnp_ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __txn_prepare_proc __P((long, u_int8_t *,
* PUBLIC: __txn_prepare_reply *));
*/
void
__txn_prepare_proc(txnpcl_id, gid, replyp)
long txnpcl_id;
u_int8_t *gid;
__txn_prepare_reply *replyp;
{
DB_TXN *txnp;
ct_entry *txnp_ctp;
int ret;
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
ret = txnp->prepare(txnp, gid);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __txn_recover_proc __P((long, u_int32_t, u_int32_t,
* PUBLIC: __txn_recover_reply *, int *));
*/
void
__txn_recover_proc(dbenvcl_id, count, flags, replyp, freep)
long dbenvcl_id;
u_int32_t count;
u_int32_t flags;
__txn_recover_reply *replyp;
int * freep;
{
DB_ENV *dbenv;
DB_PREPLIST *dbprep, *p;
ct_entry *dbenv_ctp, *ctp;
long erri, i, retcount;
u_int32_t *txnidp;
int ret;
u_int8_t *gid;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
dbprep = NULL;
*freep = 0;
if ((ret =
__os_malloc(dbenv, count * sizeof(DB_PREPLIST), &dbprep)) != 0)
goto out;
if ((ret =
dbenv->txn_recover(dbenv, dbprep, count, &retcount, flags)) != 0)
goto out;
/*
* If there is nothing, success, but it's easy.
*/
replyp->retcount = retcount;
if (retcount == 0) {
replyp->txn.txn_val = NULL;
replyp->txn.txn_len = 0;
replyp->gid.gid_val = NULL;
replyp->gid.gid_len = 0;
}
/*
* We have our txn list. Now we need to allocate the space for
* the txn ID array and the GID array and set them up.
*/
if ((ret = __os_calloc(dbenv, retcount, sizeof(u_int32_t),
&replyp->txn.txn_val)) != 0)
goto out;
replyp->txn.txn_len = retcount * sizeof(u_int32_t);
if ((ret = __os_calloc(dbenv, retcount, DB_XIDDATASIZE,
&replyp->gid.gid_val)) != 0) {
__os_free(dbenv, replyp->txn.txn_val);
goto out;
}
replyp->gid.gid_len = retcount * DB_XIDDATASIZE;
/*
* Now walk through our results, creating parallel arrays
* to send back. For each entry we need to create a new
* txn ctp and then fill in the array info.
*/
i = 0;
p = dbprep;
gid = replyp->gid.gid_val;
txnidp = replyp->txn.txn_val;
while (i++ < retcount) {
ctp = new_ct_ent(&ret);
if (ret != 0) {
i--;
goto out2;
}
ctp->ct_txnp = p->txn;
ctp->ct_type = CT_TXN;
ctp->ct_parent = NULL;
ctp->ct_envparent = dbenv_ctp;
__dbsrv_settimeout(ctp, dbenv_ctp->ct_timeout);
__dbsrv_active(ctp);
*txnidp = ctp->ct_id;
memcpy(gid, p->gid, DB_XIDDATASIZE);
p++;
txnidp++;
gid += DB_XIDDATASIZE;
}
/*
* If we get here, we have success and we have to set freep
* so it'll get properly freed next time.
*/
*freep = 1;
out:
if (dbprep != NULL)
__os_free(dbenv, dbprep);
replyp->status = ret;
return;
out2:
/*
* We had an error in the middle of creating our new txn
* ct entries. We have to unwind all that we have done. Ugh.
*/
for (txnidp = replyp->txn.txn_val, erri = 0;
erri < i; erri++, txnidp++) {
ctp = get_tableent(*txnidp);
__dbclear_ctp(ctp);
}
__os_free(dbenv, replyp->txn.txn_val);
__os_free(dbenv, replyp->gid.gid_val);
__os_free(dbenv, dbprep);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_bt_maxkey_proc __P((long, u_int32_t,
* PUBLIC: __db_bt_maxkey_reply *));
*/
void
__db_bt_maxkey_proc(dbpcl_id, maxkey, replyp)
long dbpcl_id;
u_int32_t maxkey;
__db_bt_maxkey_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_bt_maxkey(dbp, maxkey);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_associate_proc __P((long, long, long, u_int32_t,
* PUBLIC: __db_associate_reply *));
*/
void
__db_associate_proc(dbpcl_id, txnpcl_id, sdbpcl_id, flags, replyp)
long dbpcl_id;
long txnpcl_id;
long sdbpcl_id;
u_int32_t flags;
__db_associate_reply *replyp;
{
DB *dbp, *sdbp;
DB_TXN *txnp;
ct_entry *dbp_ctp, *sdbp_ctp, *txnp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ACTIVATE_CTP(sdbp_ctp, sdbpcl_id, CT_DB);
sdbp = (DB *)sdbp_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
/*
* We do not support DB_CREATE for associate or the callbacks
* implemented in the Java and JE RPC servers. Users can only
* access secondary indices on a read-only basis, so whatever they
* are looking for needs to be there already.
*/
#ifdef CONFIG_TEST
if (LF_ISSET(DB_RPC2ND_MASK | DB_CREATE))
#else
if (LF_ISSET(DB_CREATE))
#endif
ret = EINVAL;
else
ret = dbp->associate(dbp, txnp, sdbp, NULL, flags);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_bt_minkey_proc __P((long,
* PUBLIC: __db_get_bt_minkey_reply *));
*/
void
__db_get_bt_minkey_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_bt_minkey_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_bt_minkey(dbp, &replyp->minkey);
}
/*
* PUBLIC: void __db_bt_minkey_proc __P((long, u_int32_t,
* PUBLIC: __db_bt_minkey_reply *));
*/
void
__db_bt_minkey_proc(dbpcl_id, minkey, replyp)
long dbpcl_id;
u_int32_t minkey;
__db_bt_minkey_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_bt_minkey(dbp, minkey);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_close_proc __P((long, u_int32_t, __db_close_reply *));
*/
void
__db_close_proc(dbpcl_id, flags, replyp)
long dbpcl_id;
u_int32_t flags;
__db_close_reply *replyp;
{
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
replyp->status = __db_close_int(dbpcl_id, flags);
return;
}
/*
* PUBLIC: void __db_create_proc __P((long, u_int32_t, __db_create_reply *));
*/
void
__db_create_proc(dbenvcl_id, flags, replyp)
long dbenvcl_id;
u_int32_t flags;
__db_create_reply *replyp;
{
DB *dbp;
DB_ENV *dbenv;
ct_entry *dbenv_ctp, *dbp_ctp;
int ret;
ACTIVATE_CTP(dbenv_ctp, dbenvcl_id, CT_ENV);
dbenv = (DB_ENV *)dbenv_ctp->ct_anyp;
dbp_ctp = new_ct_ent(&replyp->status);
if (dbp_ctp == NULL)
return ;
/*
* We actually require env's for databases. The client should
* have caught it, but just in case.
*/
DB_ASSERT(dbenv != NULL);
if ((ret = db_create(&dbp, dbenv, flags)) == 0) {
dbp_ctp->ct_dbp = dbp;
dbp_ctp->ct_type = CT_DB;
dbp_ctp->ct_parent = dbenv_ctp;
dbp_ctp->ct_envparent = dbenv_ctp;
replyp->dbcl_id = dbp_ctp->ct_id;
} else
__dbclear_ctp(dbp_ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_del_proc __P((long, long, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, __db_del_reply *));
*/
void
__db_del_proc(dbpcl_id, txnpcl_id, keydlen, keydoff, keyulen, keyflags,
keydata, keysize, flags, replyp)
long dbpcl_id;
long txnpcl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t flags;
__db_del_reply *replyp;
{
DB *dbp;
DBT key;
DB_TXN *txnp;
ct_entry *dbp_ctp, *txnp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
memset(&key, 0, sizeof(key));
/* Set up key DBT */
key.dlen = keydlen;
key.ulen = keyulen;
key.doff = keydoff;
key.flags = keyflags;
key.size = keysize;
key.data = keydata;
ret = dbp->del(dbp, txnp, &key, flags);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_encrypt_flags_proc __P((long,
* PUBLIC: __db_get_encrypt_flags_reply *));
*/
void
__db_get_encrypt_flags_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_encrypt_flags_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_encrypt_flags(dbp, &replyp->flags);
}
/*
* PUBLIC: void __db_encrypt_proc __P((long, char *, u_int32_t,
* PUBLIC: __db_encrypt_reply *));
*/
void
__db_encrypt_proc(dbpcl_id, passwd, flags, replyp)
long dbpcl_id;
char *passwd;
u_int32_t flags;
__db_encrypt_reply *replyp;
{
int ret;
DB * dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_encrypt(dbp, passwd, flags);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_extentsize_proc __P((long,
* PUBLIC: __db_get_extentsize_reply *));
*/
void
__db_get_extentsize_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_extentsize_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_q_extentsize(dbp, &replyp->extentsize);
}
/*
* PUBLIC: void __db_extentsize_proc __P((long, u_int32_t,
* PUBLIC: __db_extentsize_reply *));
*/
void
__db_extentsize_proc(dbpcl_id, extentsize, replyp)
long dbpcl_id;
u_int32_t extentsize;
__db_extentsize_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_q_extentsize(dbp, extentsize);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_flags_proc __P((long, __db_get_flags_reply *));
*/
void
__db_get_flags_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_flags_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_flags(dbp, &replyp->flags);
}
/*
* PUBLIC: void __db_flags_proc __P((long, u_int32_t, __db_flags_reply *));
*/
void
__db_flags_proc(dbpcl_id, flags, replyp)
long dbpcl_id;
u_int32_t flags;
__db_flags_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_flags(dbp, flags);
dbp_ctp->ct_dbdp.setflags |= flags;
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_proc __P((long, long, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, __db_get_reply *,
* PUBLIC: int *));
*/
void
__db_get_proc(dbpcl_id, txnpcl_id, keydlen, keydoff, keyulen, keyflags,
keydata, keysize, datadlen, datadoff, dataulen, dataflags, datadata,
datasize, flags, replyp, freep)
long dbpcl_id;
long txnpcl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__db_get_reply *replyp;
int * freep;
{
DB *dbp;
DBT key, data;
DB_TXN *txnp;
ct_entry *dbp_ctp, *txnp_ctp;
int key_alloc, bulk_alloc, ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
*freep = 0;
bulk_alloc = 0;
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
/* Set up key and data DBT */
key.dlen = keydlen;
key.doff = keydoff;
/*
* Ignore memory related flags on server.
*/
key.flags = DB_DBT_MALLOC;
if (keyflags & DB_DBT_PARTIAL)
key.flags |= DB_DBT_PARTIAL;
key.size = keysize;
key.ulen = keyulen;
key.data = keydata;
data.dlen = datadlen;
data.doff = datadoff;
data.ulen = dataulen;
/*
* Ignore memory related flags on server.
*/
data.size = datasize;
data.data = datadata;
if (flags & DB_MULTIPLE) {
if (data.data == 0) {
ret = __os_umalloc(dbp->dbenv,
data.ulen, &data.data);
if (ret != 0)
goto err;
bulk_alloc = 1;
}
data.flags |= DB_DBT_USERMEM;
} else
data.flags |= DB_DBT_MALLOC;
if (dataflags & DB_DBT_PARTIAL)
data.flags |= DB_DBT_PARTIAL;
/* Got all our stuff, now do the get */
ret = dbp->get(dbp, txnp, &key, &data, flags);
/*
* Otherwise just status.
*/
if (ret == 0) {
/*
* XXX
* We need to xdr_free whatever we are returning, next time.
* However, DB does not allocate a new key if one was given
* and we'd be free'ing up space allocated in the request.
* So, allocate a new key/data pointer if it is the same one
* as in the request.
*/
*freep = 1;
/*
* Key
*/
key_alloc = 0;
if (key.data == keydata) {
ret = __os_umalloc(dbp->dbenv,
key.size, &replyp->keydata.keydata_val);
if (ret != 0) {
__os_ufree(dbp->dbenv, key.data);
__os_ufree(dbp->dbenv, data.data);
goto err;
}
key_alloc = 1;
memcpy(replyp->keydata.keydata_val, key.data, key.size);
} else
replyp->keydata.keydata_val = key.data;
replyp->keydata.keydata_len = key.size;
/*
* Data
*/
if (data.data == datadata) {
ret = __os_umalloc(dbp->dbenv,
data.size, &replyp->datadata.datadata_val);
if (ret != 0) {
__os_ufree(dbp->dbenv, key.data);
__os_ufree(dbp->dbenv, data.data);
if (key_alloc)
__os_ufree(dbp->dbenv,
replyp->keydata.keydata_val);
goto err;
}
memcpy(replyp->datadata.datadata_val, data.data,
data.size);
} else
replyp->datadata.datadata_val = data.data;
replyp->datadata.datadata_len = data.size;
} else {
err: replyp->keydata.keydata_val = NULL;
replyp->keydata.keydata_len = 0;
replyp->datadata.datadata_val = NULL;
replyp->datadata.datadata_len = 0;
*freep = 0;
if (bulk_alloc)
__os_ufree(dbp->dbenv, data.data);
}
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_h_ffactor_proc __P((long,
* PUBLIC: __db_get_h_ffactor_reply *));
*/
void
__db_get_h_ffactor_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_h_ffactor_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_h_ffactor(dbp, &replyp->ffactor);
}
/*
* PUBLIC: void __db_h_ffactor_proc __P((long, u_int32_t,
* PUBLIC: __db_h_ffactor_reply *));
*/
void
__db_h_ffactor_proc(dbpcl_id, ffactor, replyp)
long dbpcl_id;
u_int32_t ffactor;
__db_h_ffactor_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_h_ffactor(dbp, ffactor);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_h_nelem_proc __P((long, __db_get_h_nelem_reply *));
*/
void
__db_get_h_nelem_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_h_nelem_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_h_nelem(dbp, &replyp->nelem);
}
/*
* PUBLIC: void __db_h_nelem_proc __P((long, u_int32_t,
* PUBLIC: __db_h_nelem_reply *));
*/
void
__db_h_nelem_proc(dbpcl_id, nelem, replyp)
long dbpcl_id;
u_int32_t nelem;
__db_h_nelem_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_h_nelem(dbp, nelem);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_key_range_proc __P((long, long, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, u_int32_t, void *, u_int32_t, u_int32_t,
* PUBLIC: __db_key_range_reply *));
*/
void
__db_key_range_proc(dbpcl_id, txnpcl_id, keydlen, keydoff, keyulen,
keyflags, keydata, keysize, flags, replyp)
long dbpcl_id;
long txnpcl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t flags;
__db_key_range_reply *replyp;
{
DB *dbp;
DBT key;
DB_KEY_RANGE range;
DB_TXN *txnp;
ct_entry *dbp_ctp, *txnp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
memset(&key, 0, sizeof(key));
/* Set up key and data DBT */
key.dlen = keydlen;
key.ulen = keyulen;
key.doff = keydoff;
key.size = keysize;
key.data = keydata;
key.flags = keyflags;
ret = dbp->key_range(dbp, txnp, &key, &range, flags);
replyp->status = ret;
replyp->less = range.less;
replyp->equal = range.equal;
replyp->greater = range.greater;
return;
}
/*
* PUBLIC: void __db_get_lorder_proc __P((long, __db_get_lorder_reply *));
*/
void
__db_get_lorder_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_lorder_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_lorder(dbp, (int *)&replyp->lorder);
}
/*
* PUBLIC: void __db_lorder_proc __P((long, u_int32_t, __db_lorder_reply *));
*/
void
__db_lorder_proc(dbpcl_id, lorder, replyp)
long dbpcl_id;
u_int32_t lorder;
__db_lorder_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_lorder(dbp, lorder);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_name_proc __P((long, __db_get_name_reply *));
*/
void
__db_get_name_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_name_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_dbname(dbp,
(const char **)&replyp->filename, (const char **)&replyp->dbname);
}
/*
* PUBLIC: void __db_get_open_flags_proc __P((long,
* PUBLIC: __db_get_open_flags_reply *));
*/
void
__db_get_open_flags_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_open_flags_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_open_flags(dbp, &replyp->flags);
}
/*
* PUBLIC: void __db_open_proc __P((long, long, char *, char *, u_int32_t,
* PUBLIC: u_int32_t, u_int32_t, __db_open_reply *));
*/
void
__db_open_proc(dbpcl_id, txnpcl_id, name, subdb, type, flags, mode, replyp)
long dbpcl_id;
long txnpcl_id;
char *name;
char *subdb;
u_int32_t type;
u_int32_t flags;
u_int32_t mode;
__db_open_reply *replyp;
{
DB *dbp;
DB_TXN *txnp;
DBTYPE dbtype;
ct_entry *dbp_ctp, *new_ctp, *txnp_ctp;
int isswapped, ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
replyp->dbcl_id = dbpcl_id;
if ((new_ctp = __dbsrv_sharedb(dbp_ctp, name, subdb, type, flags))
!= NULL) {
/*
* We can share, clean up old ID, set new one.
*/
if (__dbsrv_verbose)
printf("Sharing db ID %ld\n", new_ctp->ct_id);
replyp->dbcl_id = new_ctp->ct_id;
ret = __db_close_int(dbpcl_id, 0);
goto out;
}
ret = dbp->open(dbp, txnp, name, subdb, (DBTYPE)type, flags, mode);
if (ret == 0) {
(void)dbp->get_type(dbp, &dbtype);
replyp->type = dbtype;
/*
* We need to determine the byte order of the database
* and send it back to the client. Determine it by
* the server's native order and the swapped value of
* the DB itself.
*/
(void)dbp->get_byteswapped(dbp, &isswapped);
if (__db_byteorder(NULL, 1234) == 0) {
if (isswapped == 0)
replyp->lorder = 1234;
else
replyp->lorder = 4321;
} else {
if (isswapped == 0)
replyp->lorder = 4321;
else
replyp->lorder = 1234;
}
dbp_ctp->ct_dbdp.type = dbtype;
dbp_ctp->ct_dbdp.dbflags = LF_ISSET(DB_SERVER_DBFLAGS);
if (name == NULL)
dbp_ctp->ct_dbdp.db = NULL;
else if ((ret = __os_strdup(dbp->dbenv, name,
&dbp_ctp->ct_dbdp.db)) != 0)
goto out;
if (subdb == NULL)
dbp_ctp->ct_dbdp.subdb = NULL;
else if ((ret = __os_strdup(dbp->dbenv, subdb,
&dbp_ctp->ct_dbdp.subdb)) != 0)
goto out;
}
out:
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_pagesize_proc __P((long, __db_get_pagesize_reply *));
*/
void
__db_get_pagesize_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_pagesize_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_pagesize(dbp, &replyp->pagesize);
}
/*
* PUBLIC: void __db_pagesize_proc __P((long, u_int32_t,
* PUBLIC: __db_pagesize_reply *));
*/
void
__db_pagesize_proc(dbpcl_id, pagesize, replyp)
long dbpcl_id;
u_int32_t pagesize;
__db_pagesize_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_pagesize(dbp, pagesize);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_pget_proc __P((long, long, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, __db_pget_reply *,
* PUBLIC: int *));
*/
void
__db_pget_proc(dbpcl_id, txnpcl_id, skeydlen, skeydoff, skeyulen,
skeyflags, skeydata, skeysize, pkeydlen, pkeydoff, pkeyulen, pkeyflags,
pkeydata, pkeysize, datadlen, datadoff, dataulen, dataflags, datadata,
datasize, flags, replyp, freep)
long dbpcl_id;
long txnpcl_id;
u_int32_t skeydlen;
u_int32_t skeydoff;
u_int32_t skeyulen;
u_int32_t skeyflags;
void *skeydata;
u_int32_t skeysize;
u_int32_t pkeydlen;
u_int32_t pkeydoff;
u_int32_t pkeyulen;
u_int32_t pkeyflags;
void *pkeydata;
u_int32_t pkeysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__db_pget_reply *replyp;
int * freep;
{
DB *dbp;
DBT skey, pkey, data;
DB_TXN *txnp;
ct_entry *dbp_ctp, *txnp_ctp;
int key_alloc, ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
*freep = 0;
memset(&skey, 0, sizeof(skey));
memset(&pkey, 0, sizeof(pkey));
memset(&data, 0, sizeof(data));
/*
* Ignore memory related flags on server.
*/
/* Set up key and data DBT */
skey.flags = DB_DBT_MALLOC;
skey.dlen = skeydlen;
skey.ulen = skeyulen;
skey.doff = skeydoff;
if (skeyflags & DB_DBT_PARTIAL)
skey.flags |= DB_DBT_PARTIAL;
skey.size = skeysize;
skey.data = skeydata;
pkey.flags = DB_DBT_MALLOC;
pkey.dlen = pkeydlen;
pkey.ulen = pkeyulen;
pkey.doff = pkeydoff;
if (pkeyflags & DB_DBT_PARTIAL)
pkey.flags |= DB_DBT_PARTIAL;
pkey.size = pkeysize;
pkey.data = pkeydata;
data.flags = DB_DBT_MALLOC;
data.dlen = datadlen;
data.ulen = dataulen;
data.doff = datadoff;
if (dataflags & DB_DBT_PARTIAL)
data.flags |= DB_DBT_PARTIAL;
data.size = datasize;
data.data = datadata;
/* Got all our stuff, now do the get */
ret = dbp->pget(dbp, txnp, &skey, &pkey, &data, flags);
/*
* Otherwise just status.
*/
if (ret == 0) {
/*
* XXX
* We need to xdr_free whatever we are returning, next time.
* However, DB does not allocate a new key if one was given
* and we'd be free'ing up space allocated in the request.
* So, allocate a new key/data pointer if it is the same one
* as in the request.
*/
*freep = 1;
/*
* Key
*/
key_alloc = 0;
if (skey.data == skeydata) {
ret = __os_umalloc(dbp->dbenv,
skey.size, &replyp->skeydata.skeydata_val);
if (ret != 0) {
__os_ufree(dbp->dbenv, skey.data);
__os_ufree(dbp->dbenv, pkey.data);
__os_ufree(dbp->dbenv, data.data);
goto err;
}
key_alloc = 1;
memcpy(replyp->skeydata.skeydata_val, skey.data,
skey.size);
} else
replyp->skeydata.skeydata_val = skey.data;
replyp->skeydata.skeydata_len = skey.size;
/*
* Primary key
*/
if (pkey.data == pkeydata) {
ret = __os_umalloc(dbp->dbenv,
pkey.size, &replyp->pkeydata.pkeydata_val);
if (ret != 0) {
__os_ufree(dbp->dbenv, skey.data);
__os_ufree(dbp->dbenv, pkey.data);
__os_ufree(dbp->dbenv, data.data);
if (key_alloc)
__os_ufree(dbp->dbenv,
replyp->skeydata.skeydata_val);
goto err;
}
/*
* We can set it to 2, because they cannot send the
* pkey over without sending the skey over too.
* So if they did send a pkey, they must have sent
* the skey as well.
*/
key_alloc = 2;
memcpy(replyp->pkeydata.pkeydata_val, pkey.data,
pkey.size);
} else
replyp->pkeydata.pkeydata_val = pkey.data;
replyp->pkeydata.pkeydata_len = pkey.size;
/*
* Data
*/
if (data.data == datadata) {
ret = __os_umalloc(dbp->dbenv,
data.size, &replyp->datadata.datadata_val);
if (ret != 0) {
__os_ufree(dbp->dbenv, skey.data);
__os_ufree(dbp->dbenv, pkey.data);
__os_ufree(dbp->dbenv, data.data);
/*
* If key_alloc is 1, just skey needs to be
* freed, if key_alloc is 2, both skey and pkey
* need to be freed.
*/
if (key_alloc--)
__os_ufree(dbp->dbenv,
replyp->skeydata.skeydata_val);
if (key_alloc)
__os_ufree(dbp->dbenv,
replyp->pkeydata.pkeydata_val);
goto err;
}
memcpy(replyp->datadata.datadata_val, data.data,
data.size);
} else
replyp->datadata.datadata_val = data.data;
replyp->datadata.datadata_len = data.size;
} else {
err: replyp->skeydata.skeydata_val = NULL;
replyp->skeydata.skeydata_len = 0;
replyp->pkeydata.pkeydata_val = NULL;
replyp->pkeydata.pkeydata_len = 0;
replyp->datadata.datadata_val = NULL;
replyp->datadata.datadata_len = 0;
*freep = 0;
}
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_put_proc __P((long, long, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, __db_put_reply *,
* PUBLIC: int *));
*/
void
__db_put_proc(dbpcl_id, txnpcl_id, keydlen, keydoff, keyulen, keyflags,
keydata, keysize, datadlen, datadoff, dataulen, dataflags, datadata,
datasize, flags, replyp, freep)
long dbpcl_id;
long txnpcl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__db_put_reply *replyp;
int * freep;
{
DB *dbp;
DBT key, data;
DB_TXN *txnp;
ct_entry *dbp_ctp, *txnp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
*freep = 0;
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
/* Set up key and data DBT */
key.dlen = keydlen;
key.ulen = keyulen;
key.doff = keydoff;
/*
* Ignore memory related flags on server.
*/
key.flags = DB_DBT_MALLOC;
if (keyflags & DB_DBT_PARTIAL)
key.flags |= DB_DBT_PARTIAL;
key.size = keysize;
key.data = keydata;
data.dlen = datadlen;
data.ulen = dataulen;
data.doff = datadoff;
data.flags = dataflags;
data.size = datasize;
data.data = datadata;
/* Got all our stuff, now do the put */
ret = dbp->put(dbp, txnp, &key, &data, flags);
/*
* If the client did a DB_APPEND, set up key in reply.
* Otherwise just status.
*/
if (ret == 0 && (flags == DB_APPEND)) {
/*
* XXX
* We need to xdr_free whatever we are returning, next time.
* However, DB does not allocate a new key if one was given
* and we'd be free'ing up space allocated in the request.
* So, allocate a new key/data pointer if it is the same one
* as in the request.
*/
*freep = 1;
/*
* Key
*/
if (key.data == keydata) {
ret = __os_umalloc(dbp->dbenv,
key.size, &replyp->keydata.keydata_val);
if (ret != 0) {
__os_ufree(dbp->dbenv, key.data);
goto err;
}
memcpy(replyp->keydata.keydata_val, key.data, key.size);
} else
replyp->keydata.keydata_val = key.data;
replyp->keydata.keydata_len = key.size;
} else {
err: replyp->keydata.keydata_val = NULL;
replyp->keydata.keydata_len = 0;
*freep = 0;
}
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_re_delim_proc __P((long, __db_get_re_delim_reply *));
*/
void
__db_get_re_delim_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_re_delim_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_re_delim(dbp, (int *)&replyp->delim);
}
/*
* PUBLIC: void __db_re_delim_proc __P((long, u_int32_t,
* PUBLIC: __db_re_delim_reply *));
*/
void
__db_re_delim_proc(dbpcl_id, delim, replyp)
long dbpcl_id;
u_int32_t delim;
__db_re_delim_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_re_delim(dbp, delim);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_re_len_proc __P((long, __db_get_re_len_reply *));
*/
void
__db_get_re_len_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_re_len_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_re_len(dbp, &replyp->len);
}
/*
* PUBLIC: void __db_re_len_proc __P((long, u_int32_t, __db_re_len_reply *));
*/
void
__db_re_len_proc(dbpcl_id, len, replyp)
long dbpcl_id;
u_int32_t len;
__db_re_len_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_re_len(dbp, len);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_get_re_pad_proc __P((long, __db_get_re_pad_reply *));
*/
void
__db_get_re_pad_proc(dbpcl_id, replyp)
long dbpcl_id;
__db_get_re_pad_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
replyp->status = dbp->get_re_pad(dbp, (int *)&replyp->pad);
}
/*
* PUBLIC: void __db_re_pad_proc __P((long, u_int32_t, __db_re_pad_reply *));
*/
void
__db_re_pad_proc(dbpcl_id, pad, replyp)
long dbpcl_id;
u_int32_t pad;
__db_re_pad_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->set_re_pad(dbp, pad);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_remove_proc __P((long, char *, char *, u_int32_t,
* PUBLIC: __db_remove_reply *));
*/
void
__db_remove_proc(dbpcl_id, name, subdb, flags, replyp)
long dbpcl_id;
char *name;
char *subdb;
u_int32_t flags;
__db_remove_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->remove(dbp, name, subdb, flags);
__dbdel_ctp(dbp_ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_rename_proc __P((long, char *, char *, char *, u_int32_t,
* PUBLIC: __db_rename_reply *));
*/
void
__db_rename_proc(dbpcl_id, name, subdb, newname, flags, replyp)
long dbpcl_id;
char *name;
char *subdb;
char *newname;
u_int32_t flags;
__db_rename_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->rename(dbp, name, subdb, newname, flags);
__dbdel_ctp(dbp_ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_stat_proc __P((long, long, u_int32_t, __db_stat_reply *,
* PUBLIC: int *));
*/
void
__db_stat_proc(dbpcl_id, txnpcl_id, flags, replyp, freep)
long dbpcl_id;
long txnpcl_id;
u_int32_t flags;
__db_stat_reply *replyp;
int * freep;
{
DB *dbp;
DB_TXN *txnp;
DBTYPE type;
ct_entry *dbp_ctp, *txnp_ctp;
u_int32_t *q, *p, *retsp;
int i, len, ret;
void *sp;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
ret = dbp->stat(dbp, txnp, &sp, flags);
replyp->status = ret;
if (ret != 0)
return;
/*
* We get here, we have success. Allocate an array so that
* we can use the list generator. Generate the reply, free
* up the space.
*/
/*
* XXX This assumes that all elements of all stat structures
* are u_int32_t fields. They are, currently.
*/
(void)dbp->get_type(dbp, &type);
if (type == DB_HASH)
len = sizeof(DB_HASH_STAT);
else if (type == DB_QUEUE)
len = sizeof(DB_QUEUE_STAT);
else /* BTREE or RECNO are same stats */
len = sizeof(DB_BTREE_STAT);
replyp->stats.stats_len = len / sizeof(u_int32_t);
if ((ret = __os_umalloc(dbp->dbenv, len * replyp->stats.stats_len,
&retsp)) != 0)
goto out;
for (i = 0, q = retsp, p = sp; i < len;
i++, q++, p++)
*q = *p;
replyp->stats.stats_val = retsp;
__os_ufree(dbp->dbenv, sp);
if (ret == 0)
*freep = 1;
out:
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_sync_proc __P((long, u_int32_t, __db_sync_reply *));
*/
void
__db_sync_proc(dbpcl_id, flags, replyp)
long dbpcl_id;
u_int32_t flags;
__db_sync_reply *replyp;
{
DB *dbp;
ct_entry *dbp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
ret = dbp->sync(dbp, flags);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_truncate_proc __P((long, long, u_int32_t,
* PUBLIC: __db_truncate_reply *));
*/
void
__db_truncate_proc(dbpcl_id, txnpcl_id, flags, replyp)
long dbpcl_id;
long txnpcl_id;
u_int32_t flags;
__db_truncate_reply *replyp;
{
DB *dbp;
DB_TXN *txnp;
ct_entry *dbp_ctp, *txnp_ctp;
u_int32_t count;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
} else
txnp = NULL;
ret = dbp->truncate(dbp, txnp, &count, flags);
replyp->status = ret;
if (ret == 0)
replyp->count = count;
return;
}
/*
* PUBLIC: void __db_cursor_proc __P((long, long, u_int32_t,
* PUBLIC: __db_cursor_reply *));
*/
void
__db_cursor_proc(dbpcl_id, txnpcl_id, flags, replyp)
long dbpcl_id;
long txnpcl_id;
u_int32_t flags;
__db_cursor_reply *replyp;
{
DB *dbp;
DBC *dbc;
DB_TXN *txnp;
ct_entry *dbc_ctp, *env_ctp, *dbp_ctp, *txnp_ctp;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
dbc_ctp = new_ct_ent(&replyp->status);
if (dbc_ctp == NULL)
return;
if (txnpcl_id != 0) {
ACTIVATE_CTP(txnp_ctp, txnpcl_id, CT_TXN);
txnp = (DB_TXN *)txnp_ctp->ct_anyp;
dbc_ctp->ct_activep = txnp_ctp->ct_activep;
} else
txnp = NULL;
if ((ret = dbp->cursor(dbp, txnp, &dbc, flags)) == 0) {
dbc_ctp->ct_dbc = dbc;
dbc_ctp->ct_type = CT_CURSOR;
dbc_ctp->ct_parent = dbp_ctp;
env_ctp = dbp_ctp->ct_envparent;
dbc_ctp->ct_envparent = env_ctp;
__dbsrv_settimeout(dbc_ctp, env_ctp->ct_timeout);
__dbsrv_active(dbc_ctp);
replyp->dbcidcl_id = dbc_ctp->ct_id;
} else
__dbclear_ctp(dbc_ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __db_join_proc __P((long, u_int32_t *, u_int32_t, u_int32_t,
* PUBLIC: __db_join_reply *));
*/
void
__db_join_proc(dbpcl_id, curs, curslen, flags, replyp)
long dbpcl_id;
u_int32_t * curs;
u_int32_t curslen;
u_int32_t flags;
__db_join_reply *replyp;
{
DB *dbp;
DBC **jcurs, **c;
DBC *dbc;
ct_entry *dbc_ctp, *ctp, *dbp_ctp;
size_t size;
u_int32_t *cl, i;
int ret;
ACTIVATE_CTP(dbp_ctp, dbpcl_id, CT_DB);
dbp = (DB *)dbp_ctp->ct_anyp;
dbc_ctp = new_ct_ent(&replyp->status);
if (dbc_ctp == NULL)
return;
size = (curslen + 1) * sizeof(DBC *);
if ((ret = __os_calloc(dbp->dbenv,
curslen + 1, sizeof(DBC *), &jcurs)) != 0) {
replyp->status = ret;
__dbclear_ctp(dbc_ctp);
return;
}
/*
* If our curslist has a parent txn, we need to use it too
* for the activity timeout. All cursors must be part of
* the same transaction, so just check the first.
*/
ctp = get_tableent(*curs);
DB_ASSERT(ctp->ct_type == CT_CURSOR);
/*
* If we are using a transaction, set the join activity timer
* to point to the parent transaction.
*/
if (ctp->ct_activep != &ctp->ct_active)
dbc_ctp->ct_activep = ctp->ct_activep;
for (i = 0, cl = curs, c = jcurs; i < curslen; i++, cl++, c++) {
ctp = get_tableent(*cl);
if (ctp == NULL) {
replyp->status = DB_NOSERVER_ID;
goto out;
}
/*
* If we are using a txn, the join cursor points to the
* transaction timeout. If we are not using a transaction,
* then all the curslist cursors must point to the join
* cursor's timeout so that we do not timeout any of the
* curlist cursors while the join cursor is active.
* Change the type of the curslist ctps to CT_JOIN so that
* we know they are part of a join list and we can distinguish
* them and later restore them when the join cursor is closed.
*/
DB_ASSERT(ctp->ct_type == CT_CURSOR);
ctp->ct_type |= CT_JOIN;
ctp->ct_origp = ctp->ct_activep;
/*
* Setting this to the ct_active field of the dbc_ctp is
* really just a way to distinguish which join dbc this
* cursor is part of. The ct_activep of this cursor is
* not used at all during its lifetime as part of a join
* cursor.
*/
ctp->ct_activep = &dbc_ctp->ct_active;
*c = ctp->ct_dbc;
}
*c = NULL;
if ((ret = dbp->join(dbp, jcurs, &dbc, flags)) == 0) {
dbc_ctp->ct_dbc = dbc;
dbc_ctp->ct_type = (CT_JOINCUR | CT_CURSOR);
dbc_ctp->ct_parent = dbp_ctp;
dbc_ctp->ct_envparent = dbp_ctp->ct_envparent;
__dbsrv_settimeout(dbc_ctp, dbp_ctp->ct_envparent->ct_timeout);
__dbsrv_active(dbc_ctp);
replyp->dbcidcl_id = dbc_ctp->ct_id;
} else {
__dbclear_ctp(dbc_ctp);
/*
* If we get an error, undo what we did above to any cursors.
*/
for (cl = curs; *cl != 0; cl++) {
ctp = get_tableent(*cl);
ctp->ct_type = CT_CURSOR;
ctp->ct_activep = ctp->ct_origp;
}
}
replyp->status = ret;
out:
__os_free(dbp->dbenv, jcurs);
return;
}
/*
* PUBLIC: void __dbc_close_proc __P((long, __dbc_close_reply *));
*/
void
__dbc_close_proc(dbccl_id, replyp)
long dbccl_id;
__dbc_close_reply *replyp;
{
ct_entry *dbc_ctp;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
replyp->status = __dbc_close_int(dbc_ctp);
return;
}
/*
* PUBLIC: void __dbc_count_proc __P((long, u_int32_t, __dbc_count_reply *));
*/
void
__dbc_count_proc(dbccl_id, flags, replyp)
long dbccl_id;
u_int32_t flags;
__dbc_count_reply *replyp;
{
DBC *dbc;
ct_entry *dbc_ctp;
db_recno_t num;
int ret;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
ret = dbc->c_count(dbc, &num, flags);
replyp->status = ret;
if (ret == 0)
replyp->dupcount = num;
return;
}
/*
* PUBLIC: void __dbc_del_proc __P((long, u_int32_t, __dbc_del_reply *));
*/
void
__dbc_del_proc(dbccl_id, flags, replyp)
long dbccl_id;
u_int32_t flags;
__dbc_del_reply *replyp;
{
DBC *dbc;
ct_entry *dbc_ctp;
int ret;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
ret = dbc->c_del(dbc, flags);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __dbc_dup_proc __P((long, u_int32_t, __dbc_dup_reply *));
*/
void
__dbc_dup_proc(dbccl_id, flags, replyp)
long dbccl_id;
u_int32_t flags;
__dbc_dup_reply *replyp;
{
DBC *dbc, *newdbc;
ct_entry *dbc_ctp, *new_ctp;
int ret;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
new_ctp = new_ct_ent(&replyp->status);
if (new_ctp == NULL)
return;
if ((ret = dbc->c_dup(dbc, &newdbc, flags)) == 0) {
new_ctp->ct_dbc = newdbc;
new_ctp->ct_type = CT_CURSOR;
new_ctp->ct_parent = dbc_ctp->ct_parent;
new_ctp->ct_envparent = dbc_ctp->ct_envparent;
/*
* If our cursor has a parent txn, we need to use it too.
*/
if (dbc_ctp->ct_activep != &dbc_ctp->ct_active)
new_ctp->ct_activep = dbc_ctp->ct_activep;
__dbsrv_settimeout(new_ctp, dbc_ctp->ct_timeout);
__dbsrv_active(new_ctp);
replyp->dbcidcl_id = new_ctp->ct_id;
} else
__dbclear_ctp(new_ctp);
replyp->status = ret;
return;
}
/*
* PUBLIC: void __dbc_get_proc __P((long, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, __dbc_get_reply *,
* PUBLIC: int *));
*/
void
__dbc_get_proc(dbccl_id, keydlen, keydoff, keyulen, keyflags, keydata,
keysize, datadlen, datadoff, dataulen, dataflags, datadata, datasize,
flags, replyp, freep)
long dbccl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__dbc_get_reply *replyp;
int * freep;
{
DBC *dbc;
DBT key, data;
DB_ENV *dbenv;
ct_entry *dbc_ctp;
int key_alloc, bulk_alloc, ret;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
dbenv = dbc->dbp->dbenv;
*freep = 0;
bulk_alloc = 0;
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
/* Set up key and data DBT */
key.dlen = keydlen;
key.ulen = keyulen;
key.doff = keydoff;
/*
* Ignore memory related flags on server.
*/
key.flags = DB_DBT_MALLOC;
if (keyflags & DB_DBT_PARTIAL)
key.flags |= DB_DBT_PARTIAL;
key.size = keysize;
key.data = keydata;
data.dlen = datadlen;
data.ulen = dataulen;
data.doff = datadoff;
data.size = datasize;
data.data = datadata;
if (flags & DB_MULTIPLE || flags & DB_MULTIPLE_KEY) {
if (data.data == 0) {
ret = __os_umalloc(dbenv, data.ulen, &data.data);
if (ret != 0)
goto err;
bulk_alloc = 1;
}
data.flags |= DB_DBT_USERMEM;
} else
data.flags |= DB_DBT_MALLOC;
if (dataflags & DB_DBT_PARTIAL)
data.flags |= DB_DBT_PARTIAL;
/* Got all our stuff, now do the get */
ret = dbc->c_get(dbc, &key, &data, flags);
/*
* Otherwise just status.
*/
if (ret == 0) {
/*
* XXX
* We need to xdr_free whatever we are returning, next time.
* However, DB does not allocate a new key if one was given
* and we'd be free'ing up space allocated in the request.
* So, allocate a new key/data pointer if it is the same one
* as in the request.
*/
*freep = 1;
/*
* Key
*/
key_alloc = 0;
if (key.data == keydata) {
ret = __os_umalloc(dbenv, key.size,
&replyp->keydata.keydata_val);
if (ret != 0) {
__os_ufree(dbenv, key.data);
__os_ufree(dbenv, data.data);
goto err;
}
key_alloc = 1;
memcpy(replyp->keydata.keydata_val, key.data, key.size);
} else
replyp->keydata.keydata_val = key.data;
replyp->keydata.keydata_len = key.size;
/*
* Data
*/
if (data.data == datadata) {
ret = __os_umalloc(dbenv, data.size,
&replyp->datadata.datadata_val);
if (ret != 0) {
__os_ufree(dbenv, key.data);
__os_ufree(dbenv, data.data);
if (key_alloc)
__os_ufree(
dbenv, replyp->keydata.keydata_val);
goto err;
}
memcpy(replyp->datadata.datadata_val, data.data,
data.size);
} else
replyp->datadata.datadata_val = data.data;
replyp->datadata.datadata_len = data.size;
} else {
err: replyp->keydata.keydata_val = NULL;
replyp->keydata.keydata_len = 0;
replyp->datadata.datadata_val = NULL;
replyp->datadata.datadata_len = 0;
*freep = 0;
if (bulk_alloc)
__os_ufree(dbenv, data.data);
}
replyp->status = ret;
return;
}
/*
* PUBLIC: void __dbc_pget_proc __P((long, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, __dbc_pget_reply *,
* PUBLIC: int *));
*/
void
__dbc_pget_proc(dbccl_id, skeydlen, skeydoff, skeyulen, skeyflags,
skeydata, skeysize, pkeydlen, pkeydoff, pkeyulen, pkeyflags, pkeydata,
pkeysize, datadlen, datadoff, dataulen, dataflags, datadata, datasize,
flags, replyp, freep)
long dbccl_id;
u_int32_t skeydlen;
u_int32_t skeydoff;
u_int32_t skeyulen;
u_int32_t skeyflags;
void *skeydata;
u_int32_t skeysize;
u_int32_t pkeydlen;
u_int32_t pkeydoff;
u_int32_t pkeyulen;
u_int32_t pkeyflags;
void *pkeydata;
u_int32_t pkeysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__dbc_pget_reply *replyp;
int * freep;
{
DBC *dbc;
DBT skey, pkey, data;
DB_ENV *dbenv;
ct_entry *dbc_ctp;
int key_alloc, ret;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
dbenv = dbc->dbp->dbenv;
*freep = 0;
memset(&skey, 0, sizeof(skey));
memset(&pkey, 0, sizeof(pkey));
memset(&data, 0, sizeof(data));
/*
* Ignore memory related flags on server.
*/
/* Set up key and data DBT */
skey.flags = DB_DBT_MALLOC;
skey.dlen = skeydlen;
skey.ulen = skeyulen;
skey.doff = skeydoff;
if (skeyflags & DB_DBT_PARTIAL)
skey.flags |= DB_DBT_PARTIAL;
skey.size = skeysize;
skey.data = skeydata;
pkey.flags = DB_DBT_MALLOC;
pkey.dlen = pkeydlen;
pkey.ulen = pkeyulen;
pkey.doff = pkeydoff;
if (pkeyflags & DB_DBT_PARTIAL)
pkey.flags |= DB_DBT_PARTIAL;
pkey.size = pkeysize;
pkey.data = pkeydata;
data.flags = DB_DBT_MALLOC;
data.dlen = datadlen;
data.ulen = dataulen;
data.doff = datadoff;
if (dataflags & DB_DBT_PARTIAL)
data.flags |= DB_DBT_PARTIAL;
data.size = datasize;
data.data = datadata;
/* Got all our stuff, now do the get */
ret = dbc->c_pget(dbc, &skey, &pkey, &data, flags);
/*
* Otherwise just status.
*/
if (ret == 0) {
/*
* XXX
* We need to xdr_free whatever we are returning, next time.
* However, DB does not allocate a new key if one was given
* and we'd be free'ing up space allocated in the request.
* So, allocate a new key/data pointer if it is the same one
* as in the request.
*/
*freep = 1;
/*
* Key
*/
key_alloc = 0;
if (skey.data == skeydata) {
ret = __os_umalloc(dbenv,
skey.size, &replyp->skeydata.skeydata_val);
if (ret != 0) {
__os_ufree(dbenv, skey.data);
__os_ufree(dbenv, pkey.data);
__os_ufree(dbenv, data.data);
goto err;
}
key_alloc = 1;
memcpy(replyp->skeydata.skeydata_val, skey.data,
skey.size);
} else
replyp->skeydata.skeydata_val = skey.data;
replyp->skeydata.skeydata_len = skey.size;
/*
* Primary key
*/
if (pkey.data == pkeydata) {
ret = __os_umalloc(dbenv,
pkey.size, &replyp->pkeydata.pkeydata_val);
if (ret != 0) {
__os_ufree(dbenv, skey.data);
__os_ufree(dbenv, pkey.data);
__os_ufree(dbenv, data.data);
if (key_alloc)
__os_ufree(dbenv,
replyp->skeydata.skeydata_val);
goto err;
}
/*
* We can set it to 2, because they cannot send the
* pkey over without sending the skey over too.
* So if they did send a pkey, they must have sent
* the skey as well.
*/
key_alloc = 2;
memcpy(replyp->pkeydata.pkeydata_val, pkey.data,
pkey.size);
} else
replyp->pkeydata.pkeydata_val = pkey.data;
replyp->pkeydata.pkeydata_len = pkey.size;
/*
* Data
*/
if (data.data == datadata) {
ret = __os_umalloc(dbenv,
data.size, &replyp->datadata.datadata_val);
if (ret != 0) {
__os_ufree(dbenv, skey.data);
__os_ufree(dbenv, pkey.data);
__os_ufree(dbenv, data.data);
/*
* If key_alloc is 1, just skey needs to be
* freed, if key_alloc is 2, both skey and pkey
* need to be freed.
*/
if (key_alloc--)
__os_ufree(dbenv,
replyp->skeydata.skeydata_val);
if (key_alloc)
__os_ufree(dbenv,
replyp->pkeydata.pkeydata_val);
goto err;
}
memcpy(replyp->datadata.datadata_val, data.data,
data.size);
} else
replyp->datadata.datadata_val = data.data;
replyp->datadata.datadata_len = data.size;
} else {
err: replyp->skeydata.skeydata_val = NULL;
replyp->skeydata.skeydata_len = 0;
replyp->pkeydata.pkeydata_val = NULL;
replyp->pkeydata.pkeydata_len = 0;
replyp->datadata.datadata_val = NULL;
replyp->datadata.datadata_len = 0;
*freep = 0;
}
replyp->status = ret;
return;
}
/*
* PUBLIC: void __dbc_put_proc __P((long, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, u_int32_t, u_int32_t,
* PUBLIC: u_int32_t, void *, u_int32_t, u_int32_t, __dbc_put_reply *,
* PUBLIC: int *));
*/
void
__dbc_put_proc(dbccl_id, keydlen, keydoff, keyulen, keyflags, keydata,
keysize, datadlen, datadoff, dataulen, dataflags, datadata, datasize,
flags, replyp, freep)
long dbccl_id;
u_int32_t keydlen;
u_int32_t keydoff;
u_int32_t keyulen;
u_int32_t keyflags;
void *keydata;
u_int32_t keysize;
u_int32_t datadlen;
u_int32_t datadoff;
u_int32_t dataulen;
u_int32_t dataflags;
void *datadata;
u_int32_t datasize;
u_int32_t flags;
__dbc_put_reply *replyp;
int * freep;
{
DB *dbp;
DBC *dbc;
DBT key, data;
ct_entry *dbc_ctp;
int ret;
ACTIVATE_CTP(dbc_ctp, dbccl_id, CT_CURSOR);
dbc = (DBC *)dbc_ctp->ct_anyp;
dbp = (DB *)dbc_ctp->ct_parent->ct_anyp;
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
/* Set up key and data DBT */
key.dlen = keydlen;
key.ulen = keyulen;
key.doff = keydoff;
/*
* Ignore memory related flags on server.
*/
key.flags = 0;
if (keyflags & DB_DBT_PARTIAL)
key.flags |= DB_DBT_PARTIAL;
key.size = keysize;
key.data = keydata;
data.dlen = datadlen;
data.ulen = dataulen;
data.doff = datadoff;
data.flags = dataflags;
data.size = datasize;
data.data = datadata;
/* Got all our stuff, now do the put */
ret = dbc->c_put(dbc, &key, &data, flags);
*freep = 0;
if (ret == 0 && (flags == DB_AFTER || flags == DB_BEFORE) &&
dbp->type == DB_RECNO) {
/*
* We need to xdr_free whatever we are returning, next time.
*/
replyp->keydata.keydata_val = key.data;
replyp->keydata.keydata_len = key.size;
} else {
replyp->keydata.keydata_val = NULL;
replyp->keydata.keydata_len = 0;
}
replyp->status = ret;
return;
}
/* Do not edit: automatically built by gen_rpc.awk. */
#include "db_config.h"
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <rpc/rpc.h>
#include <string.h>
#endif
#include "db_server.h"
#include "db_int.h"
#include "dbinc/db_server_int.h"
#include "dbinc_auto/rpc_server_ext.h"
__env_get_cachesize_reply *
__db_env_get_cachesize_4003__SVCSUFFIX__(msg, req)
__env_get_cachesize_msg *msg;
struct svc_req *req;
{
static __env_get_cachesize_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_get_cachesize_proc(msg->dbenvcl_id,
&reply);
return (&reply);
}
__env_cachesize_reply *
__db_env_cachesize_4003__SVCSUFFIX__(msg, req)
__env_cachesize_msg *msg;
struct svc_req *req;
{
static __env_cachesize_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_cachesize_proc(msg->dbenvcl_id,
msg->gbytes,
msg->bytes,
msg->ncache,
&reply);
return (&reply);
}
__env_close_reply *
__db_env_close_4003__SVCSUFFIX__(msg, req)
__env_close_msg *msg;
struct svc_req *req;
{
static __env_close_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_close_proc(msg->dbenvcl_id,
msg->flags,
&reply);
return (&reply);
}
__env_create_reply *
__db_env_create_4003__SVCSUFFIX__(msg, req)
__env_create_msg *msg;
struct svc_req *req;
{
static __env_create_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_create_proc(msg->timeout,
&reply);
return (&reply);
}
__env_dbremove_reply *
__db_env_dbremove_4003__SVCSUFFIX__(msg, req)
__env_dbremove_msg *msg;
struct svc_req *req;
{
static __env_dbremove_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_dbremove_proc(msg->dbenvcl_id,
msg->txnpcl_id,
(*msg->name == '\0') ? NULL : msg->name,
(*msg->subdb == '\0') ? NULL : msg->subdb,
msg->flags,
&reply);
return (&reply);
}
__env_dbrename_reply *
__db_env_dbrename_4003__SVCSUFFIX__(msg, req)
__env_dbrename_msg *msg;
struct svc_req *req;
{
static __env_dbrename_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_dbrename_proc(msg->dbenvcl_id,
msg->txnpcl_id,
(*msg->name == '\0') ? NULL : msg->name,
(*msg->subdb == '\0') ? NULL : msg->subdb,
(*msg->newname == '\0') ? NULL : msg->newname,
msg->flags,
&reply);
return (&reply);
}
__env_get_encrypt_flags_reply *
__db_env_get_encrypt_flags_4003__SVCSUFFIX__(msg, req)
__env_get_encrypt_flags_msg *msg;
struct svc_req *req;
{
static __env_get_encrypt_flags_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_get_encrypt_flags_proc(msg->dbenvcl_id,
&reply);
return (&reply);
}
__env_encrypt_reply *
__db_env_encrypt_4003__SVCSUFFIX__(msg, req)
__env_encrypt_msg *msg;
struct svc_req *req;
{
static __env_encrypt_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_encrypt_proc(msg->dbenvcl_id,
(*msg->passwd == '\0') ? NULL : msg->passwd,
msg->flags,
&reply);
return (&reply);
}
__env_get_flags_reply *
__db_env_get_flags_4003__SVCSUFFIX__(msg, req)
__env_get_flags_msg *msg;
struct svc_req *req;
{
static __env_get_flags_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_get_flags_proc(msg->dbenvcl_id,
&reply);
return (&reply);
}
__env_flags_reply *
__db_env_flags_4003__SVCSUFFIX__(msg, req)
__env_flags_msg *msg;
struct svc_req *req;
{
static __env_flags_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_flags_proc(msg->dbenvcl_id,
msg->flags,
msg->onoff,
&reply);
return (&reply);
}
__env_get_home_reply *
__db_env_get_home_4003__SVCSUFFIX__(msg, req)
__env_get_home_msg *msg;
struct svc_req *req;
{
static __env_get_home_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_get_home_proc(msg->dbenvcl_id,
&reply);
return (&reply);
}
__env_get_open_flags_reply *
__db_env_get_open_flags_4003__SVCSUFFIX__(msg, req)
__env_get_open_flags_msg *msg;
struct svc_req *req;
{
static __env_get_open_flags_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_get_open_flags_proc(msg->dbenvcl_id,
&reply);
return (&reply);
}
__env_open_reply *
__db_env_open_4003__SVCSUFFIX__(msg, req)
__env_open_msg *msg;
struct svc_req *req;
{
static __env_open_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_open_proc(msg->dbenvcl_id,
(*msg->home == '\0') ? NULL : msg->home,
msg->flags,
msg->mode,
&reply);
return (&reply);
}
__env_remove_reply *
__db_env_remove_4003__SVCSUFFIX__(msg, req)
__env_remove_msg *msg;
struct svc_req *req;
{
static __env_remove_reply reply; /* must be static */
COMPQUIET(req, NULL);
__env_remove_proc(msg->dbenvcl_id,
(*msg->home == '\0') ? NULL : msg->home,
msg->flags,
&reply);
return (&reply);
}
__txn_abort_reply *
__db_txn_abort_4003__SVCSUFFIX__(msg, req)
__txn_abort_msg *msg;
struct svc_req *req;
{
static __txn_abort_reply reply; /* must be static */
COMPQUIET(req, NULL);
__txn_abort_proc(msg->txnpcl_id,
&reply);
return (&reply);
}
__txn_begin_reply *
__db_txn_begin_4003__SVCSUFFIX__(msg, req)
__txn_begin_msg *msg;
struct svc_req *req;
{
static __txn_begin_reply reply; /* must be static */
COMPQUIET(req, NULL);
__txn_begin_proc(msg->dbenvcl_id,
msg->parentcl_id,
msg->flags,
&reply);
return (&reply);
}
__txn_commit_reply *
__db_txn_commit_4003__SVCSUFFIX__(msg, req)
__txn_commit_msg *msg;
struct svc_req *req;
{
static __txn_commit_reply reply; /* must be static */
COMPQUIET(req, NULL);
__txn_commit_proc(msg->txnpcl_id,
msg->flags,
&reply);
return (&reply);
}
__txn_discard_reply *
__db_txn_discard_4003__SVCSUFFIX__(msg, req)
__txn_discard_msg *msg;
struct svc_req *req;
{
static __txn_discard_reply reply; /* must be static */
COMPQUIET(req, NULL);
__txn_discard_proc(msg->txnpcl_id,
msg->flags,
&reply);
return (&reply);
}
__txn_prepare_reply *
__db_txn_prepare_4003__SVCSUFFIX__(msg, req)
__txn_prepare_msg *msg;
struct svc_req *req;
{
static __txn_prepare_reply reply; /* must be static */
COMPQUIET(req, NULL);
__txn_prepare_proc(msg->txnpcl_id,
(u_int8_t *)msg->gid,
&reply);
return (&reply);
}
__txn_recover_reply *
__db_txn_recover_4003__SVCSUFFIX__(msg, req)
__txn_recover_msg *msg;
struct svc_req *req;
{
static __txn_recover_reply reply; /* must be static */
static int __txn_recover_free = 0; /* must be static */
COMPQUIET(req, NULL);
if (__txn_recover_free)
xdr_free((xdrproc_t)xdr___txn_recover_reply, (void *)&reply);
__txn_recover_free = 0;
/* Reinitialize allocated fields */
reply.txn.txn_val = NULL;
reply.gid.gid_val = NULL;
__txn_recover_proc(msg->dbenvcl_id,
msg->count,
msg->flags,
&reply,
&__txn_recover_free);
return (&reply);
}
__db_associate_reply *
__db_db_associate_4003__SVCSUFFIX__(msg, req)
__db_associate_msg *msg;
struct svc_req *req;
{
static __db_associate_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_associate_proc(msg->dbpcl_id,
msg->txnpcl_id,
msg->sdbpcl_id,
msg->flags,
&reply);
return (&reply);
}
__db_bt_maxkey_reply *
__db_db_bt_maxkey_4003__SVCSUFFIX__(msg, req)
__db_bt_maxkey_msg *msg;
struct svc_req *req;
{
static __db_bt_maxkey_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_bt_maxkey_proc(msg->dbpcl_id,
msg->maxkey,
&reply);
return (&reply);
}
__db_get_bt_minkey_reply *
__db_db_get_bt_minkey_4003__SVCSUFFIX__(msg, req)
__db_get_bt_minkey_msg *msg;
struct svc_req *req;
{
static __db_get_bt_minkey_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_bt_minkey_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_bt_minkey_reply *
__db_db_bt_minkey_4003__SVCSUFFIX__(msg, req)
__db_bt_minkey_msg *msg;
struct svc_req *req;
{
static __db_bt_minkey_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_bt_minkey_proc(msg->dbpcl_id,
msg->minkey,
&reply);
return (&reply);
}
__db_close_reply *
__db_db_close_4003__SVCSUFFIX__(msg, req)
__db_close_msg *msg;
struct svc_req *req;
{
static __db_close_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_close_proc(msg->dbpcl_id,
msg->flags,
&reply);
return (&reply);
}
__db_create_reply *
__db_db_create_4003__SVCSUFFIX__(msg, req)
__db_create_msg *msg;
struct svc_req *req;
{
static __db_create_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_create_proc(msg->dbenvcl_id,
msg->flags,
&reply);
return (&reply);
}
__db_del_reply *
__db_db_del_4003__SVCSUFFIX__(msg, req)
__db_del_msg *msg;
struct svc_req *req;
{
static __db_del_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_del_proc(msg->dbpcl_id,
msg->txnpcl_id,
msg->keydlen,
msg->keydoff,
msg->keyulen,
msg->keyflags,
msg->keydata.keydata_val,
msg->keydata.keydata_len,
msg->flags,
&reply);
return (&reply);
}
__db_get_encrypt_flags_reply *
__db_db_get_encrypt_flags_4003__SVCSUFFIX__(msg, req)
__db_get_encrypt_flags_msg *msg;
struct svc_req *req;
{
static __db_get_encrypt_flags_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_encrypt_flags_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_encrypt_reply *
__db_db_encrypt_4003__SVCSUFFIX__(msg, req)
__db_encrypt_msg *msg;
struct svc_req *req;
{
static __db_encrypt_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_encrypt_proc(msg->dbpcl_id,
(*msg->passwd == '\0') ? NULL : msg->passwd,
msg->flags,
&reply);
return (&reply);
}
__db_get_extentsize_reply *
__db_db_get_extentsize_4003__SVCSUFFIX__(msg, req)
__db_get_extentsize_msg *msg;
struct svc_req *req;
{
static __db_get_extentsize_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_extentsize_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_extentsize_reply *
__db_db_extentsize_4003__SVCSUFFIX__(msg, req)
__db_extentsize_msg *msg;
struct svc_req *req;
{
static __db_extentsize_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_extentsize_proc(msg->dbpcl_id,
msg->extentsize,
&reply);
return (&reply);
}
__db_get_flags_reply *
__db_db_get_flags_4003__SVCSUFFIX__(msg, req)
__db_get_flags_msg *msg;
struct svc_req *req;
{
static __db_get_flags_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_flags_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_flags_reply *
__db_db_flags_4003__SVCSUFFIX__(msg, req)
__db_flags_msg *msg;
struct svc_req *req;
{
static __db_flags_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_flags_proc(msg->dbpcl_id,
msg->flags,
&reply);
return (&reply);
}
__db_get_reply *
__db_db_get_4003__SVCSUFFIX__(msg, req)
__db_get_msg *msg;
struct svc_req *req;
{
static __db_get_reply reply; /* must be static */
static int __db_get_free = 0; /* must be static */
COMPQUIET(req, NULL);
if (__db_get_free)
xdr_free((xdrproc_t)xdr___db_get_reply, (void *)&reply);
__db_get_free = 0;
/* Reinitialize allocated fields */
reply.keydata.keydata_val = NULL;
reply.datadata.datadata_val = NULL;
__db_get_proc(msg->dbpcl_id,
msg->txnpcl_id,
msg->keydlen,
msg->keydoff,
msg->keyulen,
msg->keyflags,
msg->keydata.keydata_val,
msg->keydata.keydata_len,
msg->datadlen,
msg->datadoff,
msg->dataulen,
msg->dataflags,
msg->datadata.datadata_val,
msg->datadata.datadata_len,
msg->flags,
&reply,
&__db_get_free);
return (&reply);
}
__db_get_name_reply *
__db_db_get_name_4003__SVCSUFFIX__(msg, req)
__db_get_name_msg *msg;
struct svc_req *req;
{
static __db_get_name_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_name_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_get_open_flags_reply *
__db_db_get_open_flags_4003__SVCSUFFIX__(msg, req)
__db_get_open_flags_msg *msg;
struct svc_req *req;
{
static __db_get_open_flags_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_open_flags_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_get_h_ffactor_reply *
__db_db_get_h_ffactor_4003__SVCSUFFIX__(msg, req)
__db_get_h_ffactor_msg *msg;
struct svc_req *req;
{
static __db_get_h_ffactor_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_h_ffactor_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_h_ffactor_reply *
__db_db_h_ffactor_4003__SVCSUFFIX__(msg, req)
__db_h_ffactor_msg *msg;
struct svc_req *req;
{
static __db_h_ffactor_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_h_ffactor_proc(msg->dbpcl_id,
msg->ffactor,
&reply);
return (&reply);
}
__db_get_h_nelem_reply *
__db_db_get_h_nelem_4003__SVCSUFFIX__(msg, req)
__db_get_h_nelem_msg *msg;
struct svc_req *req;
{
static __db_get_h_nelem_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_h_nelem_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_h_nelem_reply *
__db_db_h_nelem_4003__SVCSUFFIX__(msg, req)
__db_h_nelem_msg *msg;
struct svc_req *req;
{
static __db_h_nelem_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_h_nelem_proc(msg->dbpcl_id,
msg->nelem,
&reply);
return (&reply);
}
__db_key_range_reply *
__db_db_key_range_4003__SVCSUFFIX__(msg, req)
__db_key_range_msg *msg;
struct svc_req *req;
{
static __db_key_range_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_key_range_proc(msg->dbpcl_id,
msg->txnpcl_id,
msg->keydlen,
msg->keydoff,
msg->keyulen,
msg->keyflags,
msg->keydata.keydata_val,
msg->keydata.keydata_len,
msg->flags,
&reply);
return (&reply);
}
__db_get_lorder_reply *
__db_db_get_lorder_4003__SVCSUFFIX__(msg, req)
__db_get_lorder_msg *msg;
struct svc_req *req;
{
static __db_get_lorder_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_lorder_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_lorder_reply *
__db_db_lorder_4003__SVCSUFFIX__(msg, req)
__db_lorder_msg *msg;
struct svc_req *req;
{
static __db_lorder_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_lorder_proc(msg->dbpcl_id,
msg->lorder,
&reply);
return (&reply);
}
__db_open_reply *
__db_db_open_4003__SVCSUFFIX__(msg, req)
__db_open_msg *msg;
struct svc_req *req;
{
static __db_open_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_open_proc(msg->dbpcl_id,
msg->txnpcl_id,
(*msg->name == '\0') ? NULL : msg->name,
(*msg->subdb == '\0') ? NULL : msg->subdb,
msg->type,
msg->flags,
msg->mode,
&reply);
return (&reply);
}
__db_get_pagesize_reply *
__db_db_get_pagesize_4003__SVCSUFFIX__(msg, req)
__db_get_pagesize_msg *msg;
struct svc_req *req;
{
static __db_get_pagesize_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_pagesize_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_pagesize_reply *
__db_db_pagesize_4003__SVCSUFFIX__(msg, req)
__db_pagesize_msg *msg;
struct svc_req *req;
{
static __db_pagesize_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_pagesize_proc(msg->dbpcl_id,
msg->pagesize,
&reply);
return (&reply);
}
__db_pget_reply *
__db_db_pget_4003__SVCSUFFIX__(msg, req)
__db_pget_msg *msg;
struct svc_req *req;
{
static __db_pget_reply reply; /* must be static */
static int __db_pget_free = 0; /* must be static */
COMPQUIET(req, NULL);
if (__db_pget_free)
xdr_free((xdrproc_t)xdr___db_pget_reply, (void *)&reply);
__db_pget_free = 0;
/* Reinitialize allocated fields */
reply.skeydata.skeydata_val = NULL;
reply.pkeydata.pkeydata_val = NULL;
reply.datadata.datadata_val = NULL;
__db_pget_proc(msg->dbpcl_id,
msg->txnpcl_id,
msg->skeydlen,
msg->skeydoff,
msg->skeyulen,
msg->skeyflags,
msg->skeydata.skeydata_val,
msg->skeydata.skeydata_len,
msg->pkeydlen,
msg->pkeydoff,
msg->pkeyulen,
msg->pkeyflags,
msg->pkeydata.pkeydata_val,
msg->pkeydata.pkeydata_len,
msg->datadlen,
msg->datadoff,
msg->dataulen,
msg->dataflags,
msg->datadata.datadata_val,
msg->datadata.datadata_len,
msg->flags,
&reply,
&__db_pget_free);
return (&reply);
}
__db_put_reply *
__db_db_put_4003__SVCSUFFIX__(msg, req)
__db_put_msg *msg;
struct svc_req *req;
{
static __db_put_reply reply; /* must be static */
static int __db_put_free = 0; /* must be static */
COMPQUIET(req, NULL);
if (__db_put_free)
xdr_free((xdrproc_t)xdr___db_put_reply, (void *)&reply);
__db_put_free = 0;
/* Reinitialize allocated fields */
reply.keydata.keydata_val = NULL;
__db_put_proc(msg->dbpcl_id,
msg->txnpcl_id,
msg->keydlen,
msg->keydoff,
msg->keyulen,
msg->keyflags,
msg->keydata.keydata_val,
msg->keydata.keydata_len,
msg->datadlen,
msg->datadoff,
msg->dataulen,
msg->dataflags,
msg->datadata.datadata_val,
msg->datadata.datadata_len,
msg->flags,
&reply,
&__db_put_free);
return (&reply);
}
__db_get_re_delim_reply *
__db_db_get_re_delim_4003__SVCSUFFIX__(msg, req)
__db_get_re_delim_msg *msg;
struct svc_req *req;
{
static __db_get_re_delim_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_re_delim_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_re_delim_reply *
__db_db_re_delim_4003__SVCSUFFIX__(msg, req)
__db_re_delim_msg *msg;
struct svc_req *req;
{
static __db_re_delim_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_re_delim_proc(msg->dbpcl_id,
msg->delim,
&reply);
return (&reply);
}
__db_get_re_len_reply *
__db_db_get_re_len_4003__SVCSUFFIX__(msg, req)
__db_get_re_len_msg *msg;
struct svc_req *req;
{
static __db_get_re_len_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_re_len_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_re_len_reply *
__db_db_re_len_4003__SVCSUFFIX__(msg, req)
__db_re_len_msg *msg;
struct svc_req *req;
{
static __db_re_len_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_re_len_proc(msg->dbpcl_id,
msg->len,
&reply);
return (&reply);
}
__db_re_pad_reply *
__db_db_re_pad_4003__SVCSUFFIX__(msg, req)
__db_re_pad_msg *msg;
struct svc_req *req;
{
static __db_re_pad_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_re_pad_proc(msg->dbpcl_id,
msg->pad,
&reply);
return (&reply);
}
__db_get_re_pad_reply *
__db_db_get_re_pad_4003__SVCSUFFIX__(msg, req)
__db_get_re_pad_msg *msg;
struct svc_req *req;
{
static __db_get_re_pad_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_get_re_pad_proc(msg->dbpcl_id,
&reply);
return (&reply);
}
__db_remove_reply *
__db_db_remove_4003__SVCSUFFIX__(msg, req)
__db_remove_msg *msg;
struct svc_req *req;
{
static __db_remove_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_remove_proc(msg->dbpcl_id,
(*msg->name == '\0') ? NULL : msg->name,
(*msg->subdb == '\0') ? NULL : msg->subdb,
msg->flags,
&reply);
return (&reply);
}
__db_rename_reply *
__db_db_rename_4003__SVCSUFFIX__(msg, req)
__db_rename_msg *msg;
struct svc_req *req;
{
static __db_rename_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_rename_proc(msg->dbpcl_id,
(*msg->name == '\0') ? NULL : msg->name,
(*msg->subdb == '\0') ? NULL : msg->subdb,
(*msg->newname == '\0') ? NULL : msg->newname,
msg->flags,
&reply);
return (&reply);
}
__db_stat_reply *
__db_db_stat_4003__SVCSUFFIX__(msg, req)
__db_stat_msg *msg;
struct svc_req *req;
{
static __db_stat_reply reply; /* must be static */
static int __db_stat_free = 0; /* must be static */
COMPQUIET(req, NULL);
if (__db_stat_free)
xdr_free((xdrproc_t)xdr___db_stat_reply, (void *)&reply);
__db_stat_free = 0;
/* Reinitialize allocated fields */
reply.stats.stats_val = NULL;
__db_stat_proc(msg->dbpcl_id,
msg->txnpcl_id,
msg->flags,
&reply,
&__db_stat_free);
return (&reply);
}
__db_sync_reply *
__db_db_sync_4003__SVCSUFFIX__(msg, req)
__db_sync_msg *msg;
struct svc_req *req;
{
static __db_sync_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_sync_proc(msg->dbpcl_id,
msg->flags,
&reply);
return (&reply);
}
__db_truncate_reply *
__db_db_truncate_4003__SVCSUFFIX__(msg, req)
__db_truncate_msg *msg;
struct svc_req *req;
{
static __db_truncate_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_truncate_proc(msg->dbpcl_id,
msg->txnpcl_id,
msg->flags,
&reply);
return (&reply);
}
__db_cursor_reply *
__db_db_cursor_4003__SVCSUFFIX__(msg, req)
__db_cursor_msg *msg;
struct svc_req *req;
{
static __db_cursor_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_cursor_proc(msg->dbpcl_id,
msg->txnpcl_id,
msg->flags,
&reply);
return (&reply);
}
__db_join_reply *
__db_db_join_4003__SVCSUFFIX__(msg, req)
__db_join_msg *msg;
struct svc_req *req;
{
static __db_join_reply reply; /* must be static */
COMPQUIET(req, NULL);
__db_join_proc(msg->dbpcl_id,
msg->curs.curs_val,
msg->curs.curs_len,
msg->flags,
&reply);
return (&reply);
}
__dbc_close_reply *
__db_dbc_close_4003__SVCSUFFIX__(msg, req)
__dbc_close_msg *msg;
struct svc_req *req;
{
static __dbc_close_reply reply; /* must be static */
COMPQUIET(req, NULL);
__dbc_close_proc(msg->dbccl_id,
&reply);
return (&reply);
}
__dbc_count_reply *
__db_dbc_count_4003__SVCSUFFIX__(msg, req)
__dbc_count_msg *msg;
struct svc_req *req;
{
static __dbc_count_reply reply; /* must be static */
COMPQUIET(req, NULL);
__dbc_count_proc(msg->dbccl_id,
msg->flags,
&reply);
return (&reply);
}
__dbc_del_reply *
__db_dbc_del_4003__SVCSUFFIX__(msg, req)
__dbc_del_msg *msg;
struct svc_req *req;
{
static __dbc_del_reply reply; /* must be static */
COMPQUIET(req, NULL);
__dbc_del_proc(msg->dbccl_id,
msg->flags,
&reply);
return (&reply);
}
__dbc_dup_reply *
__db_dbc_dup_4003__SVCSUFFIX__(msg, req)
__dbc_dup_msg *msg;
struct svc_req *req;
{
static __dbc_dup_reply reply; /* must be static */
COMPQUIET(req, NULL);
__dbc_dup_proc(msg->dbccl_id,
msg->flags,
&reply);
return (&reply);
}
__dbc_get_reply *
__db_dbc_get_4003__SVCSUFFIX__(msg, req)
__dbc_get_msg *msg;
struct svc_req *req;
{
static __dbc_get_reply reply; /* must be static */
static int __dbc_get_free = 0; /* must be static */
COMPQUIET(req, NULL);
if (__dbc_get_free)
xdr_free((xdrproc_t)xdr___dbc_get_reply, (void *)&reply);
__dbc_get_free = 0;
/* Reinitialize allocated fields */
reply.keydata.keydata_val = NULL;
reply.datadata.datadata_val = NULL;
__dbc_get_proc(msg->dbccl_id,
msg->keydlen,
msg->keydoff,
msg->keyulen,
msg->keyflags,
msg->keydata.keydata_val,
msg->keydata.keydata_len,
msg->datadlen,
msg->datadoff,
msg->dataulen,
msg->dataflags,
msg->datadata.datadata_val,
msg->datadata.datadata_len,
msg->flags,
&reply,
&__dbc_get_free);
return (&reply);
}
__dbc_pget_reply *
__db_dbc_pget_4003__SVCSUFFIX__(msg, req)
__dbc_pget_msg *msg;
struct svc_req *req;
{
static __dbc_pget_reply reply; /* must be static */
static int __dbc_pget_free = 0; /* must be static */
COMPQUIET(req, NULL);
if (__dbc_pget_free)
xdr_free((xdrproc_t)xdr___dbc_pget_reply, (void *)&reply);
__dbc_pget_free = 0;
/* Reinitialize allocated fields */
reply.skeydata.skeydata_val = NULL;
reply.pkeydata.pkeydata_val = NULL;
reply.datadata.datadata_val = NULL;
__dbc_pget_proc(msg->dbccl_id,
msg->skeydlen,
msg->skeydoff,
msg->skeyulen,
msg->skeyflags,
msg->skeydata.skeydata_val,
msg->skeydata.skeydata_len,
msg->pkeydlen,
msg->pkeydoff,
msg->pkeyulen,
msg->pkeyflags,
msg->pkeydata.pkeydata_val,
msg->pkeydata.pkeydata_len,
msg->datadlen,
msg->datadoff,
msg->dataulen,
msg->dataflags,
msg->datadata.datadata_val,
msg->datadata.datadata_len,
msg->flags,
&reply,
&__dbc_pget_free);
return (&reply);
}
__dbc_put_reply *
__db_dbc_put_4003__SVCSUFFIX__(msg, req)
__dbc_put_msg *msg;
struct svc_req *req;
{
static __dbc_put_reply reply; /* must be static */
static int __dbc_put_free = 0; /* must be static */
COMPQUIET(req, NULL);
if (__dbc_put_free)
xdr_free((xdrproc_t)xdr___dbc_put_reply, (void *)&reply);
__dbc_put_free = 0;
/* Reinitialize allocated fields */
reply.keydata.keydata_val = NULL;
__dbc_put_proc(msg->dbccl_id,
msg->keydlen,
msg->keydoff,
msg->keyulen,
msg->keyflags,
msg->keydata.keydata_val,
msg->keydata.keydata_len,
msg->datadlen,
msg->datadoff,
msg->dataulen,
msg->dataflags,
msg->datadata.datadata_val,
msg->datadata.datadata_len,
msg->flags,
&reply,
&__dbc_put_free);
return (&reply);
}
/* Do not edit: automatically built by gen_rpc.awk. */
struct __env_get_cachesize_msg {
unsigned int dbenvcl_id;
};
struct __env_get_cachesize_reply {
/* num return vars: 3 */
int status;
unsigned int gbytes;
unsigned int bytes;
unsigned int ncache;
};
struct __env_cachesize_msg {
unsigned int dbenvcl_id;
unsigned int gbytes;
unsigned int bytes;
unsigned int ncache;
};
struct __env_cachesize_reply {
/* num return vars: 0 */
int status;
};
struct __env_close_msg {
unsigned int dbenvcl_id;
unsigned int flags;
};
struct __env_close_reply {
/* num return vars: 0 */
int status;
};
struct __env_create_msg {
unsigned int timeout;
};
struct __env_create_reply {
/* num return vars: 1 */
int status;
unsigned int envcl_id;
};
struct __env_dbremove_msg {
unsigned int dbenvcl_id;
unsigned int txnpcl_id;
string name<>;
string subdb<>;
unsigned int flags;
};
struct __env_dbremove_reply {
/* num return vars: 0 */
int status;
};
struct __env_dbrename_msg {
unsigned int dbenvcl_id;
unsigned int txnpcl_id;
string name<>;
string subdb<>;
string newname<>;
unsigned int flags;
};
struct __env_dbrename_reply {
/* num return vars: 0 */
int status;
};
struct __env_get_encrypt_flags_msg {
unsigned int dbenvcl_id;
};
struct __env_get_encrypt_flags_reply {
/* num return vars: 1 */
int status;
unsigned int flags;
};
struct __env_encrypt_msg {
unsigned int dbenvcl_id;
string passwd<>;
unsigned int flags;
};
struct __env_encrypt_reply {
/* num return vars: 0 */
int status;
};
struct __env_get_flags_msg {
unsigned int dbenvcl_id;
};
struct __env_get_flags_reply {
/* num return vars: 1 */
int status;
unsigned int flags;
};
struct __env_flags_msg {
unsigned int dbenvcl_id;
unsigned int flags;
unsigned int onoff;
};
struct __env_flags_reply {
/* num return vars: 0 */
int status;
};
struct __env_get_home_msg {
unsigned int dbenvcl_id;
};
struct __env_get_home_reply {
/* num return vars: 1 */
int status;
string home<>;
};
struct __env_get_open_flags_msg {
unsigned int dbenvcl_id;
};
struct __env_get_open_flags_reply {
/* num return vars: 1 */
int status;
unsigned int flags;
};
struct __env_open_msg {
unsigned int dbenvcl_id;
string home<>;
unsigned int flags;
unsigned int mode;
};
struct __env_open_reply {
/* num return vars: 1 */
int status;
unsigned int envcl_id;
};
struct __env_remove_msg {
unsigned int dbenvcl_id;
string home<>;
unsigned int flags;
};
struct __env_remove_reply {
/* num return vars: 0 */
int status;
};
struct __txn_abort_msg {
unsigned int txnpcl_id;
};
struct __txn_abort_reply {
/* num return vars: 0 */
int status;
};
struct __txn_begin_msg {
unsigned int dbenvcl_id;
unsigned int parentcl_id;
unsigned int flags;
};
struct __txn_begin_reply {
/* num return vars: 1 */
int status;
unsigned int txnidcl_id;
};
struct __txn_commit_msg {
unsigned int txnpcl_id;
unsigned int flags;
};
struct __txn_commit_reply {
/* num return vars: 0 */
int status;
};
struct __txn_discard_msg {
unsigned int txnpcl_id;
unsigned int flags;
};
struct __txn_discard_reply {
/* num return vars: 0 */
int status;
};
struct __txn_prepare_msg {
unsigned int txnpcl_id;
opaque gid[128];
};
struct __txn_prepare_reply {
/* num return vars: 0 */
int status;
};
struct __txn_recover_msg {
unsigned int dbenvcl_id;
unsigned int count;
unsigned int flags;
};
struct __txn_recover_reply {
/* num return vars: 3 */
int status;
unsigned int txn<>;
opaque gid<>;
unsigned int retcount;
};
struct __db_associate_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
unsigned int sdbpcl_id;
unsigned int flags;
};
struct __db_associate_reply {
/* num return vars: 0 */
int status;
};
struct __db_bt_maxkey_msg {
unsigned int dbpcl_id;
unsigned int maxkey;
};
struct __db_bt_maxkey_reply {
/* num return vars: 0 */
int status;
};
struct __db_get_bt_minkey_msg {
unsigned int dbpcl_id;
};
struct __db_get_bt_minkey_reply {
/* num return vars: 1 */
int status;
unsigned int minkey;
};
struct __db_bt_minkey_msg {
unsigned int dbpcl_id;
unsigned int minkey;
};
struct __db_bt_minkey_reply {
/* num return vars: 0 */
int status;
};
struct __db_close_msg {
unsigned int dbpcl_id;
unsigned int flags;
};
struct __db_close_reply {
/* num return vars: 0 */
int status;
};
struct __db_create_msg {
unsigned int dbenvcl_id;
unsigned int flags;
};
struct __db_create_reply {
/* num return vars: 1 */
int status;
unsigned int dbcl_id;
};
struct __db_del_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
unsigned int keydlen;
unsigned int keydoff;
unsigned int keyulen;
unsigned int keyflags;
opaque keydata<>;
unsigned int flags;
};
struct __db_del_reply {
/* num return vars: 0 */
int status;
};
struct __db_get_encrypt_flags_msg {
unsigned int dbpcl_id;
};
struct __db_get_encrypt_flags_reply {
/* num return vars: 1 */
int status;
unsigned int flags;
};
struct __db_encrypt_msg {
unsigned int dbpcl_id;
string passwd<>;
unsigned int flags;
};
struct __db_encrypt_reply {
/* num return vars: 0 */
int status;
};
struct __db_get_extentsize_msg {
unsigned int dbpcl_id;
};
struct __db_get_extentsize_reply {
/* num return vars: 1 */
int status;
unsigned int extentsize;
};
struct __db_extentsize_msg {
unsigned int dbpcl_id;
unsigned int extentsize;
};
struct __db_extentsize_reply {
/* num return vars: 0 */
int status;
};
struct __db_get_flags_msg {
unsigned int dbpcl_id;
};
struct __db_get_flags_reply {
/* num return vars: 1 */
int status;
unsigned int flags;
};
struct __db_flags_msg {
unsigned int dbpcl_id;
unsigned int flags;
};
struct __db_flags_reply {
/* num return vars: 0 */
int status;
};
struct __db_get_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
unsigned int keydlen;
unsigned int keydoff;
unsigned int keyulen;
unsigned int keyflags;
opaque keydata<>;
unsigned int datadlen;
unsigned int datadoff;
unsigned int dataulen;
unsigned int dataflags;
opaque datadata<>;
unsigned int flags;
};
struct __db_get_reply {
/* num return vars: 2 */
int status;
opaque keydata<>;
opaque datadata<>;
};
struct __db_get_name_msg {
unsigned int dbpcl_id;
};
struct __db_get_name_reply {
/* num return vars: 2 */
int status;
string filename<>;
string dbname<>;
};
struct __db_get_open_flags_msg {
unsigned int dbpcl_id;
};
struct __db_get_open_flags_reply {
/* num return vars: 1 */
int status;
unsigned int flags;
};
struct __db_get_h_ffactor_msg {
unsigned int dbpcl_id;
};
struct __db_get_h_ffactor_reply {
/* num return vars: 1 */
int status;
unsigned int ffactor;
};
struct __db_h_ffactor_msg {
unsigned int dbpcl_id;
unsigned int ffactor;
};
struct __db_h_ffactor_reply {
/* num return vars: 0 */
int status;
};
struct __db_get_h_nelem_msg {
unsigned int dbpcl_id;
};
struct __db_get_h_nelem_reply {
/* num return vars: 1 */
int status;
unsigned int nelem;
};
struct __db_h_nelem_msg {
unsigned int dbpcl_id;
unsigned int nelem;
};
struct __db_h_nelem_reply {
/* num return vars: 0 */
int status;
};
struct __db_key_range_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
unsigned int keydlen;
unsigned int keydoff;
unsigned int keyulen;
unsigned int keyflags;
opaque keydata<>;
unsigned int flags;
};
struct __db_key_range_reply {
/* num return vars: 3 */
int status;
double less;
double equal;
double greater;
};
struct __db_get_lorder_msg {
unsigned int dbpcl_id;
};
struct __db_get_lorder_reply {
/* num return vars: 1 */
int status;
unsigned int lorder;
};
struct __db_lorder_msg {
unsigned int dbpcl_id;
unsigned int lorder;
};
struct __db_lorder_reply {
/* num return vars: 0 */
int status;
};
struct __db_open_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
string name<>;
string subdb<>;
unsigned int type;
unsigned int flags;
unsigned int mode;
};
struct __db_open_reply {
/* num return vars: 3 */
int status;
unsigned int dbcl_id;
unsigned int type;
unsigned int lorder;
};
struct __db_get_pagesize_msg {
unsigned int dbpcl_id;
};
struct __db_get_pagesize_reply {
/* num return vars: 1 */
int status;
unsigned int pagesize;
};
struct __db_pagesize_msg {
unsigned int dbpcl_id;
unsigned int pagesize;
};
struct __db_pagesize_reply {
/* num return vars: 0 */
int status;
};
struct __db_pget_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
unsigned int skeydlen;
unsigned int skeydoff;
unsigned int skeyulen;
unsigned int skeyflags;
opaque skeydata<>;
unsigned int pkeydlen;
unsigned int pkeydoff;
unsigned int pkeyulen;
unsigned int pkeyflags;
opaque pkeydata<>;
unsigned int datadlen;
unsigned int datadoff;
unsigned int dataulen;
unsigned int dataflags;
opaque datadata<>;
unsigned int flags;
};
struct __db_pget_reply {
/* num return vars: 3 */
int status;
opaque skeydata<>;
opaque pkeydata<>;
opaque datadata<>;
};
struct __db_put_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
unsigned int keydlen;
unsigned int keydoff;
unsigned int keyulen;
unsigned int keyflags;
opaque keydata<>;
unsigned int datadlen;
unsigned int datadoff;
unsigned int dataulen;
unsigned int dataflags;
opaque datadata<>;
unsigned int flags;
};
struct __db_put_reply {
/* num return vars: 1 */
int status;
opaque keydata<>;
};
struct __db_get_re_delim_msg {
unsigned int dbpcl_id;
};
struct __db_get_re_delim_reply {
/* num return vars: 1 */
int status;
unsigned int delim;
};
struct __db_re_delim_msg {
unsigned int dbpcl_id;
unsigned int delim;
};
struct __db_re_delim_reply {
/* num return vars: 0 */
int status;
};
struct __db_get_re_len_msg {
unsigned int dbpcl_id;
};
struct __db_get_re_len_reply {
/* num return vars: 1 */
int status;
unsigned int len;
};
struct __db_re_len_msg {
unsigned int dbpcl_id;
unsigned int len;
};
struct __db_re_len_reply {
/* num return vars: 0 */
int status;
};
struct __db_re_pad_msg {
unsigned int dbpcl_id;
unsigned int pad;
};
struct __db_re_pad_reply {
/* num return vars: 0 */
int status;
};
struct __db_get_re_pad_msg {
unsigned int dbpcl_id;
};
struct __db_get_re_pad_reply {
/* num return vars: 1 */
int status;
unsigned int pad;
};
struct __db_remove_msg {
unsigned int dbpcl_id;
string name<>;
string subdb<>;
unsigned int flags;
};
struct __db_remove_reply {
/* num return vars: 0 */
int status;
};
struct __db_rename_msg {
unsigned int dbpcl_id;
string name<>;
string subdb<>;
string newname<>;
unsigned int flags;
};
struct __db_rename_reply {
/* num return vars: 0 */
int status;
};
struct __db_stat_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
unsigned int flags;
};
struct __db_stat_reply {
/* num return vars: 1 */
int status;
unsigned int stats<>;
};
struct __db_sync_msg {
unsigned int dbpcl_id;
unsigned int flags;
};
struct __db_sync_reply {
/* num return vars: 0 */
int status;
};
struct __db_truncate_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
unsigned int flags;
};
struct __db_truncate_reply {
/* num return vars: 1 */
int status;
unsigned int count;
};
struct __db_cursor_msg {
unsigned int dbpcl_id;
unsigned int txnpcl_id;
unsigned int flags;
};
struct __db_cursor_reply {
/* num return vars: 1 */
int status;
unsigned int dbcidcl_id;
};
struct __db_join_msg {
unsigned int dbpcl_id;
unsigned int curs<>;
unsigned int flags;
};
struct __db_join_reply {
/* num return vars: 1 */
int status;
unsigned int dbcidcl_id;
};
struct __dbc_close_msg {
unsigned int dbccl_id;
};
struct __dbc_close_reply {
/* num return vars: 0 */
int status;
};
struct __dbc_count_msg {
unsigned int dbccl_id;
unsigned int flags;
};
struct __dbc_count_reply {
/* num return vars: 1 */
int status;
unsigned int dupcount;
};
struct __dbc_del_msg {
unsigned int dbccl_id;
unsigned int flags;
};
struct __dbc_del_reply {
/* num return vars: 0 */
int status;
};
struct __dbc_dup_msg {
unsigned int dbccl_id;
unsigned int flags;
};
struct __dbc_dup_reply {
/* num return vars: 1 */
int status;
unsigned int dbcidcl_id;
};
struct __dbc_get_msg {
unsigned int dbccl_id;
unsigned int keydlen;
unsigned int keydoff;
unsigned int keyulen;
unsigned int keyflags;
opaque keydata<>;
unsigned int datadlen;
unsigned int datadoff;
unsigned int dataulen;
unsigned int dataflags;
opaque datadata<>;
unsigned int flags;
};
struct __dbc_get_reply {
/* num return vars: 2 */
int status;
opaque keydata<>;
opaque datadata<>;
};
struct __dbc_pget_msg {
unsigned int dbccl_id;
unsigned int skeydlen;
unsigned int skeydoff;
unsigned int skeyulen;
unsigned int skeyflags;
opaque skeydata<>;
unsigned int pkeydlen;
unsigned int pkeydoff;
unsigned int pkeyulen;
unsigned int pkeyflags;
opaque pkeydata<>;
unsigned int datadlen;
unsigned int datadoff;
unsigned int dataulen;
unsigned int dataflags;
opaque datadata<>;
unsigned int flags;
};
struct __dbc_pget_reply {
/* num return vars: 3 */
int status;
opaque skeydata<>;
opaque pkeydata<>;
opaque datadata<>;
};
struct __dbc_put_msg {
unsigned int dbccl_id;
unsigned int keydlen;
unsigned int keydoff;
unsigned int keyulen;
unsigned int keyflags;
opaque keydata<>;
unsigned int datadlen;
unsigned int datadoff;
unsigned int dataulen;
unsigned int dataflags;
opaque datadata<>;
unsigned int flags;
};
struct __dbc_put_reply {
/* num return vars: 1 */
int status;
opaque keydata<>;
};
program DB_RPC_SERVERPROG {
version DB_RPC_SERVERVERS {
__env_get_cachesize_reply __DB_env_get_cachesize(__env_get_cachesize_msg) = 1;
__env_cachesize_reply __DB_env_cachesize(__env_cachesize_msg) = 2;
__env_close_reply __DB_env_close(__env_close_msg) = 3;
__env_create_reply __DB_env_create(__env_create_msg) = 4;
__env_dbremove_reply __DB_env_dbremove(__env_dbremove_msg) = 5;
__env_dbrename_reply __DB_env_dbrename(__env_dbrename_msg) = 6;
__env_get_encrypt_flags_reply __DB_env_get_encrypt_flags(__env_get_encrypt_flags_msg) = 7;
__env_encrypt_reply __DB_env_encrypt(__env_encrypt_msg) = 8;
__env_get_flags_reply __DB_env_get_flags(__env_get_flags_msg) = 9;
__env_flags_reply __DB_env_flags(__env_flags_msg) = 10;
__env_get_home_reply __DB_env_get_home(__env_get_home_msg) = 11;
__env_get_open_flags_reply __DB_env_get_open_flags(__env_get_open_flags_msg) = 12;
__env_open_reply __DB_env_open(__env_open_msg) = 13;
__env_remove_reply __DB_env_remove(__env_remove_msg) = 14;
__txn_abort_reply __DB_txn_abort(__txn_abort_msg) = 15;
__txn_begin_reply __DB_txn_begin(__txn_begin_msg) = 16;
__txn_commit_reply __DB_txn_commit(__txn_commit_msg) = 17;
__txn_discard_reply __DB_txn_discard(__txn_discard_msg) = 18;
__txn_prepare_reply __DB_txn_prepare(__txn_prepare_msg) = 19;
__txn_recover_reply __DB_txn_recover(__txn_recover_msg) = 20;
__db_associate_reply __DB_db_associate(__db_associate_msg) = 21;
__db_bt_maxkey_reply __DB_db_bt_maxkey(__db_bt_maxkey_msg) = 22;
__db_get_bt_minkey_reply __DB_db_get_bt_minkey(__db_get_bt_minkey_msg) = 23;
__db_bt_minkey_reply __DB_db_bt_minkey(__db_bt_minkey_msg) = 24;
__db_close_reply __DB_db_close(__db_close_msg) = 25;
__db_create_reply __DB_db_create(__db_create_msg) = 26;
__db_del_reply __DB_db_del(__db_del_msg) = 27;
__db_get_encrypt_flags_reply __DB_db_get_encrypt_flags(__db_get_encrypt_flags_msg) = 28;
__db_encrypt_reply __DB_db_encrypt(__db_encrypt_msg) = 29;
__db_get_extentsize_reply __DB_db_get_extentsize(__db_get_extentsize_msg) = 30;
__db_extentsize_reply __DB_db_extentsize(__db_extentsize_msg) = 31;
__db_get_flags_reply __DB_db_get_flags(__db_get_flags_msg) = 32;
__db_flags_reply __DB_db_flags(__db_flags_msg) = 33;
__db_get_reply __DB_db_get(__db_get_msg) = 34;
__db_get_name_reply __DB_db_get_name(__db_get_name_msg) = 35;
__db_get_open_flags_reply __DB_db_get_open_flags(__db_get_open_flags_msg) = 36;
__db_get_h_ffactor_reply __DB_db_get_h_ffactor(__db_get_h_ffactor_msg) = 37;
__db_h_ffactor_reply __DB_db_h_ffactor(__db_h_ffactor_msg) = 38;
__db_get_h_nelem_reply __DB_db_get_h_nelem(__db_get_h_nelem_msg) = 39;
__db_h_nelem_reply __DB_db_h_nelem(__db_h_nelem_msg) = 40;
__db_key_range_reply __DB_db_key_range(__db_key_range_msg) = 41;
__db_get_lorder_reply __DB_db_get_lorder(__db_get_lorder_msg) = 42;
__db_lorder_reply __DB_db_lorder(__db_lorder_msg) = 43;
__db_open_reply __DB_db_open(__db_open_msg) = 44;
__db_get_pagesize_reply __DB_db_get_pagesize(__db_get_pagesize_msg) = 45;
__db_pagesize_reply __DB_db_pagesize(__db_pagesize_msg) = 46;
__db_pget_reply __DB_db_pget(__db_pget_msg) = 47;
__db_put_reply __DB_db_put(__db_put_msg) = 48;
__db_get_re_delim_reply __DB_db_get_re_delim(__db_get_re_delim_msg) = 49;
__db_re_delim_reply __DB_db_re_delim(__db_re_delim_msg) = 50;
__db_get_re_len_reply __DB_db_get_re_len(__db_get_re_len_msg) = 51;
__db_re_len_reply __DB_db_re_len(__db_re_len_msg) = 52;
__db_re_pad_reply __DB_db_re_pad(__db_re_pad_msg) = 53;
__db_get_re_pad_reply __DB_db_get_re_pad(__db_get_re_pad_msg) = 54;
__db_remove_reply __DB_db_remove(__db_remove_msg) = 55;
__db_rename_reply __DB_db_rename(__db_rename_msg) = 56;
__db_stat_reply __DB_db_stat(__db_stat_msg) = 57;
__db_sync_reply __DB_db_sync(__db_sync_msg) = 58;
__db_truncate_reply __DB_db_truncate(__db_truncate_msg) = 59;
__db_cursor_reply __DB_db_cursor(__db_cursor_msg) = 60;
__db_join_reply __DB_db_join(__db_join_msg) = 61;
__dbc_close_reply __DB_dbc_close(__dbc_close_msg) = 62;
__dbc_count_reply __DB_dbc_count(__dbc_count_msg) = 63;
__dbc_del_reply __DB_dbc_del(__dbc_del_msg) = 64;
__dbc_dup_reply __DB_dbc_dup(__dbc_dup_msg) = 65;
__dbc_get_reply __DB_dbc_get(__dbc_get_msg) = 66;
__dbc_pget_reply __DB_dbc_pget(__dbc_pget_msg) = 67;
__dbc_put_reply __DB_dbc_put(__dbc_put_msg) = 68;
} = 4003;
} = 351457;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment