gen_client.c
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:46k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Do not edit: automatically built by gen_rpc.awk. */
  2. #include "db_config.h"
  3. #ifdef HAVE_RPC
  4. #ifndef NO_SYSTEM_INCLUDES
  5. #include <sys/types.h>
  6. #include <rpc/rpc.h>
  7. #include <rpc/xdr.h>
  8. #include <errno.h>
  9. #include <string.h>
  10. #endif
  11. #include "db_server.h"
  12. #include "db_int.h"
  13. #include "db_page.h"
  14. #include "db_ext.h"
  15. #include "mp.h"
  16. #include "rpc_client_ext.h"
  17. #include "txn.h"
  18. #include "gen_client_ext.h"
  19. int
  20. __dbcl_env_cachesize(dbenv, gbytes, bytes, ncache)
  21. DB_ENV * dbenv;
  22. u_int32_t gbytes;
  23. u_int32_t bytes;
  24. int ncache;
  25. {
  26. CLIENT *cl;
  27. __env_cachesize_msg req;
  28. static __env_cachesize_reply *replyp = NULL;
  29. int ret;
  30. ret = 0;
  31. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  32. __db_err(dbenv, "No server environment.");
  33. return (DB_NOSERVER);
  34. }
  35. if (replyp != NULL) {
  36. xdr_free((xdrproc_t)xdr___env_cachesize_reply, (void *)replyp);
  37. replyp = NULL;
  38. }
  39. cl = (CLIENT *)dbenv->cl_handle;
  40. if (dbenv == NULL)
  41. req.dbenvcl_id = 0;
  42. else
  43. req.dbenvcl_id = dbenv->cl_id;
  44. req.gbytes = gbytes;
  45. req.bytes = bytes;
  46. req.ncache = ncache;
  47. replyp = __db_env_cachesize_1(&req, cl);
  48. if (replyp == NULL) {
  49. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  50. ret = DB_NOSERVER;
  51. goto out;
  52. }
  53. ret = replyp->status;
  54. out:
  55. return (ret);
  56. }
  57. int
  58. __dbcl_env_close(dbenv, flags)
  59. DB_ENV * dbenv;
  60. u_int32_t flags;
  61. {
  62. CLIENT *cl;
  63. __env_close_msg req;
  64. static __env_close_reply *replyp = NULL;
  65. int ret;
  66. ret = 0;
  67. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  68. __db_err(dbenv, "No server environment.");
  69. return (DB_NOSERVER);
  70. }
  71. if (replyp != NULL) {
  72. xdr_free((xdrproc_t)xdr___env_close_reply, (void *)replyp);
  73. replyp = NULL;
  74. }
  75. cl = (CLIENT *)dbenv->cl_handle;
  76. if (dbenv == NULL)
  77. req.dbenvcl_id = 0;
  78. else
  79. req.dbenvcl_id = dbenv->cl_id;
  80. req.flags = flags;
  81. replyp = __db_env_close_1(&req, cl);
  82. if (replyp == NULL) {
  83. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  84. ret = DB_NOSERVER;
  85. goto out;
  86. }
  87. return (__dbcl_env_close_ret(dbenv, flags, replyp));
  88. out:
  89. return (ret);
  90. }
  91. int
  92. __dbcl_rpc_illegal(dbenv, name)
  93. DB_ENV *dbenv;
  94. char *name;
  95. {
  96. __db_err(dbenv,
  97.     "%s method meaningless in RPC environment", name);
  98. return (__db_eopnotsup(dbenv));
  99. }
  100. int
  101. __dbcl_set_data_dir(dbenv, dir)
  102. DB_ENV * dbenv;
  103. const char * dir;
  104. {
  105. COMPQUIET(dir, NULL);
  106. return (__dbcl_rpc_illegal(dbenv, "set_data_dir"));
  107. }
  108. int
  109. __dbcl_env_set_feedback(dbenv, func0)
  110. DB_ENV * dbenv;
  111. void (*func0) __P((DB_ENV *, int, int));
  112. {
  113. COMPQUIET(func0, 0);
  114. return (__dbcl_rpc_illegal(dbenv, "env_set_feedback"));
  115. }
  116. int
  117. __dbcl_env_flags(dbenv, flags, onoff)
  118. DB_ENV * dbenv;
  119. u_int32_t flags;
  120. int onoff;
  121. {
  122. CLIENT *cl;
  123. __env_flags_msg req;
  124. static __env_flags_reply *replyp = NULL;
  125. int ret;
  126. ret = 0;
  127. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  128. __db_err(dbenv, "No server environment.");
  129. return (DB_NOSERVER);
  130. }
  131. if (replyp != NULL) {
  132. xdr_free((xdrproc_t)xdr___env_flags_reply, (void *)replyp);
  133. replyp = NULL;
  134. }
  135. cl = (CLIENT *)dbenv->cl_handle;
  136. if (dbenv == NULL)
  137. req.dbenvcl_id = 0;
  138. else
  139. req.dbenvcl_id = dbenv->cl_id;
  140. req.flags = flags;
  141. req.onoff = onoff;
  142. replyp = __db_env_flags_1(&req, cl);
  143. if (replyp == NULL) {
  144. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  145. ret = DB_NOSERVER;
  146. goto out;
  147. }
  148. ret = replyp->status;
  149. out:
  150. return (ret);
  151. }
  152. int
  153. __dbcl_set_lg_bsize(dbenv, bsize)
  154. DB_ENV * dbenv;
  155. u_int32_t bsize;
  156. {
  157. COMPQUIET(bsize, 0);
  158. return (__dbcl_rpc_illegal(dbenv, "set_lg_bsize"));
  159. }
  160. int
  161. __dbcl_set_lg_dir(dbenv, dir)
  162. DB_ENV * dbenv;
  163. const char * dir;
  164. {
  165. COMPQUIET(dir, NULL);
  166. return (__dbcl_rpc_illegal(dbenv, "set_lg_dir"));
  167. }
  168. int
  169. __dbcl_set_lg_max(dbenv, max)
  170. DB_ENV * dbenv;
  171. u_int32_t max;
  172. {
  173. COMPQUIET(max, 0);
  174. return (__dbcl_rpc_illegal(dbenv, "set_lg_max"));
  175. }
  176. int
  177. __dbcl_set_lk_conflict(dbenv, conflicts, modes)
  178. DB_ENV * dbenv;
  179. u_int8_t * conflicts;
  180. int modes;
  181. {
  182. COMPQUIET(conflicts, 0);
  183. COMPQUIET(modes, 0);
  184. return (__dbcl_rpc_illegal(dbenv, "set_lk_conflict"));
  185. }
  186. int
  187. __dbcl_set_lk_detect(dbenv, detect)
  188. DB_ENV * dbenv;
  189. u_int32_t detect;
  190. {
  191. COMPQUIET(detect, 0);
  192. return (__dbcl_rpc_illegal(dbenv, "set_lk_detect"));
  193. }
  194. int
  195. __dbcl_set_lk_max(dbenv, max)
  196. DB_ENV * dbenv;
  197. u_int32_t max;
  198. {
  199. COMPQUIET(max, 0);
  200. return (__dbcl_rpc_illegal(dbenv, "set_lk_max"));
  201. }
  202. int
  203. __dbcl_set_lk_max_locks(dbenv, max)
  204. DB_ENV * dbenv;
  205. u_int32_t max;
  206. {
  207. COMPQUIET(max, 0);
  208. return (__dbcl_rpc_illegal(dbenv, "set_lk_max_locks"));
  209. }
  210. int
  211. __dbcl_set_lk_max_lockers(dbenv, max)
  212. DB_ENV * dbenv;
  213. u_int32_t max;
  214. {
  215. COMPQUIET(max, 0);
  216. return (__dbcl_rpc_illegal(dbenv, "set_lk_max_lockers"));
  217. }
  218. int
  219. __dbcl_set_lk_max_objects(dbenv, max)
  220. DB_ENV * dbenv;
  221. u_int32_t max;
  222. {
  223. COMPQUIET(max, 0);
  224. return (__dbcl_rpc_illegal(dbenv, "set_lk_max_objects"));
  225. }
  226. int
  227. __dbcl_set_mp_mmapsize(dbenv, mmapsize)
  228. DB_ENV * dbenv;
  229. size_t mmapsize;
  230. {
  231. COMPQUIET(mmapsize, 0);
  232. return (__dbcl_rpc_illegal(dbenv, "set_mp_mmapsize"));
  233. }
  234. int
  235. __dbcl_set_mutex_locks(dbenv, do_lock)
  236. DB_ENV * dbenv;
  237. int do_lock;
  238. {
  239. COMPQUIET(do_lock, 0);
  240. return (__dbcl_rpc_illegal(dbenv, "set_mutex_locks"));
  241. }
  242. int
  243. __dbcl_env_open(dbenv, home, flags, mode)
  244. DB_ENV * dbenv;
  245. const char * home;
  246. u_int32_t flags;
  247. int mode;
  248. {
  249. CLIENT *cl;
  250. __env_open_msg req;
  251. static __env_open_reply *replyp = NULL;
  252. int ret;
  253. ret = 0;
  254. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  255. __db_err(dbenv, "No server environment.");
  256. return (DB_NOSERVER);
  257. }
  258. if (replyp != NULL) {
  259. xdr_free((xdrproc_t)xdr___env_open_reply, (void *)replyp);
  260. replyp = NULL;
  261. }
  262. cl = (CLIENT *)dbenv->cl_handle;
  263. if (dbenv == NULL)
  264. req.dbenvcl_id = 0;
  265. else
  266. req.dbenvcl_id = dbenv->cl_id;
  267. if (home == NULL)
  268. req.home = "";
  269. else
  270. req.home = (char *)home;
  271. req.flags = flags;
  272. req.mode = mode;
  273. replyp = __db_env_open_1(&req, cl);
  274. if (replyp == NULL) {
  275. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  276. ret = DB_NOSERVER;
  277. goto out;
  278. }
  279. return (__dbcl_env_open_ret(dbenv, home, flags, mode, replyp));
  280. out:
  281. return (ret);
  282. }
  283. int
  284. __dbcl_env_paniccall(dbenv, func0)
  285. DB_ENV * dbenv;
  286. void (*func0) __P((DB_ENV *, int));
  287. {
  288. COMPQUIET(func0, 0);
  289. return (__dbcl_rpc_illegal(dbenv, "env_paniccall"));
  290. }
  291. int
  292. __dbcl_set_recovery_init(dbenv, func0)
  293. DB_ENV * dbenv;
  294. int (*func0) __P((DB_ENV *));
  295. {
  296. COMPQUIET(func0, 0);
  297. return (__dbcl_rpc_illegal(dbenv, "set_recovery_init"));
  298. }
  299. int
  300. __dbcl_env_remove(dbenv, home, flags)
  301. DB_ENV * dbenv;
  302. const char * home;
  303. u_int32_t flags;
  304. {
  305. CLIENT *cl;
  306. __env_remove_msg req;
  307. static __env_remove_reply *replyp = NULL;
  308. int ret;
  309. ret = 0;
  310. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  311. __db_err(dbenv, "No server environment.");
  312. return (DB_NOSERVER);
  313. }
  314. if (replyp != NULL) {
  315. xdr_free((xdrproc_t)xdr___env_remove_reply, (void *)replyp);
  316. replyp = NULL;
  317. }
  318. cl = (CLIENT *)dbenv->cl_handle;
  319. if (dbenv == NULL)
  320. req.dbenvcl_id = 0;
  321. else
  322. req.dbenvcl_id = dbenv->cl_id;
  323. if (home == NULL)
  324. req.home = "";
  325. else
  326. req.home = (char *)home;
  327. req.flags = flags;
  328. replyp = __db_env_remove_1(&req, cl);
  329. if (replyp == NULL) {
  330. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  331. ret = DB_NOSERVER;
  332. goto out;
  333. }
  334. return (__dbcl_env_remove_ret(dbenv, home, flags, replyp));
  335. out:
  336. return (ret);
  337. }
  338. int
  339. __dbcl_set_shm_key(dbenv, shm_key)
  340. DB_ENV * dbenv;
  341. long shm_key;
  342. {
  343. COMPQUIET(shm_key, 0);
  344. return (__dbcl_rpc_illegal(dbenv, "set_shm_key"));
  345. }
  346. int
  347. __dbcl_set_tmp_dir(dbenv, dir)
  348. DB_ENV * dbenv;
  349. const char * dir;
  350. {
  351. COMPQUIET(dir, NULL);
  352. return (__dbcl_rpc_illegal(dbenv, "set_tmp_dir"));
  353. }
  354. int
  355. __dbcl_set_tx_recover(dbenv, func0)
  356. DB_ENV * dbenv;
  357. int (*func0) __P((DB_ENV *, DBT *, DB_LSN *, db_recops));
  358. {
  359. COMPQUIET(func0, 0);
  360. return (__dbcl_rpc_illegal(dbenv, "set_tx_recover"));
  361. }
  362. int
  363. __dbcl_set_tx_max(dbenv, max)
  364. DB_ENV * dbenv;
  365. u_int32_t max;
  366. {
  367. COMPQUIET(max, 0);
  368. return (__dbcl_rpc_illegal(dbenv, "set_tx_max"));
  369. }
  370. int
  371. __dbcl_set_tx_timestamp(dbenv, max)
  372. DB_ENV * dbenv;
  373. time_t * max;
  374. {
  375. COMPQUIET(max, 0);
  376. return (__dbcl_rpc_illegal(dbenv, "set_tx_timestamp"));
  377. }
  378. int
  379. __dbcl_set_verbose(dbenv, which, onoff)
  380. DB_ENV * dbenv;
  381. u_int32_t which;
  382. int onoff;
  383. {
  384. COMPQUIET(which, 0);
  385. COMPQUIET(onoff, 0);
  386. return (__dbcl_rpc_illegal(dbenv, "set_verbose"));
  387. }
  388. int
  389. __dbcl_txn_abort(txnp)
  390. DB_TXN * txnp;
  391. {
  392. CLIENT *cl;
  393. __txn_abort_msg req;
  394. static __txn_abort_reply *replyp = NULL;
  395. int ret;
  396. DB_ENV *dbenv;
  397. ret = 0;
  398. dbenv = NULL;
  399. dbenv = txnp->mgrp->dbenv;
  400. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  401. __db_err(dbenv, "No server environment.");
  402. return (DB_NOSERVER);
  403. }
  404. if (replyp != NULL) {
  405. xdr_free((xdrproc_t)xdr___txn_abort_reply, (void *)replyp);
  406. replyp = NULL;
  407. }
  408. cl = (CLIENT *)dbenv->cl_handle;
  409. if (txnp == NULL)
  410. req.txnpcl_id = 0;
  411. else
  412. req.txnpcl_id = txnp->txnid;
  413. replyp = __db_txn_abort_1(&req, cl);
  414. if (replyp == NULL) {
  415. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  416. ret = DB_NOSERVER;
  417. goto out;
  418. }
  419. return (__dbcl_txn_abort_ret(txnp, replyp));
  420. out:
  421. return (ret);
  422. }
  423. int
  424. __dbcl_txn_begin(envp, parent, txnpp, flags)
  425. DB_ENV * envp;
  426. DB_TXN * parent;
  427. DB_TXN ** txnpp;
  428. u_int32_t flags;
  429. {
  430. CLIENT *cl;
  431. __txn_begin_msg req;
  432. static __txn_begin_reply *replyp = NULL;
  433. int ret;
  434. ret = 0;
  435. if (envp == NULL || envp->cl_handle == NULL) {
  436. __db_err(envp, "No server environment.");
  437. return (DB_NOSERVER);
  438. }
  439. if (replyp != NULL) {
  440. xdr_free((xdrproc_t)xdr___txn_begin_reply, (void *)replyp);
  441. replyp = NULL;
  442. }
  443. cl = (CLIENT *)envp->cl_handle;
  444. if (envp == NULL)
  445. req.envpcl_id = 0;
  446. else
  447. req.envpcl_id = envp->cl_id;
  448. if (parent == NULL)
  449. req.parentcl_id = 0;
  450. else
  451. req.parentcl_id = parent->txnid;
  452. req.flags = flags;
  453. replyp = __db_txn_begin_1(&req, cl);
  454. if (replyp == NULL) {
  455. __db_err(envp, clnt_sperror(cl, "Berkeley DB"));
  456. ret = DB_NOSERVER;
  457. goto out;
  458. }
  459. return (__dbcl_txn_begin_ret(envp, parent, txnpp, flags, replyp));
  460. out:
  461. return (ret);
  462. }
  463. int
  464. __dbcl_txn_checkpoint(dbenv, kbyte, min)
  465. DB_ENV * dbenv;
  466. u_int32_t kbyte;
  467. u_int32_t min;
  468. {
  469. COMPQUIET(kbyte, 0);
  470. COMPQUIET(min, 0);
  471. return (__dbcl_rpc_illegal(dbenv, "txn_checkpoint"));
  472. }
  473. int
  474. __dbcl_txn_commit(txnp, flags)
  475. DB_TXN * txnp;
  476. u_int32_t flags;
  477. {
  478. CLIENT *cl;
  479. __txn_commit_msg req;
  480. static __txn_commit_reply *replyp = NULL;
  481. int ret;
  482. DB_ENV *dbenv;
  483. ret = 0;
  484. dbenv = NULL;
  485. dbenv = txnp->mgrp->dbenv;
  486. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  487. __db_err(dbenv, "No server environment.");
  488. return (DB_NOSERVER);
  489. }
  490. if (replyp != NULL) {
  491. xdr_free((xdrproc_t)xdr___txn_commit_reply, (void *)replyp);
  492. replyp = NULL;
  493. }
  494. cl = (CLIENT *)dbenv->cl_handle;
  495. if (txnp == NULL)
  496. req.txnpcl_id = 0;
  497. else
  498. req.txnpcl_id = txnp->txnid;
  499. req.flags = flags;
  500. replyp = __db_txn_commit_1(&req, cl);
  501. if (replyp == NULL) {
  502. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  503. ret = DB_NOSERVER;
  504. goto out;
  505. }
  506. return (__dbcl_txn_commit_ret(txnp, flags, replyp));
  507. out:
  508. return (ret);
  509. }
  510. int
  511. __dbcl_txn_prepare(txnp)
  512. DB_TXN * txnp;
  513. {
  514. DB_ENV *dbenv;
  515. dbenv = txnp->mgrp->dbenv;
  516. return (__dbcl_rpc_illegal(dbenv, "txn_prepare"));
  517. }
  518. int
  519. __dbcl_txn_stat(dbenv, statp, func0)
  520. DB_ENV * dbenv;
  521. DB_TXN_STAT ** statp;
  522. void *(*func0) __P((size_t));
  523. {
  524. COMPQUIET(statp, 0);
  525. COMPQUIET(func0, 0);
  526. return (__dbcl_rpc_illegal(dbenv, "txn_stat"));
  527. }
  528. int
  529. __dbcl_db_bt_compare(dbp, func0)
  530. DB * dbp;
  531. int (*func0) __P((DB *, const DBT *, const DBT *));
  532. {
  533. DB_ENV *dbenv;
  534. dbenv = dbp->dbenv;
  535. COMPQUIET(func0, 0);
  536. return (__dbcl_rpc_illegal(dbenv, "db_bt_compare"));
  537. }
  538. int
  539. __dbcl_db_bt_maxkey(dbp, maxkey)
  540. DB * dbp;
  541. u_int32_t maxkey;
  542. {
  543. CLIENT *cl;
  544. __db_bt_maxkey_msg req;
  545. static __db_bt_maxkey_reply *replyp = NULL;
  546. int ret;
  547. DB_ENV *dbenv;
  548. ret = 0;
  549. dbenv = NULL;
  550. dbenv = dbp->dbenv;
  551. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  552. __db_err(dbenv, "No server environment.");
  553. return (DB_NOSERVER);
  554. }
  555. if (replyp != NULL) {
  556. xdr_free((xdrproc_t)xdr___db_bt_maxkey_reply, (void *)replyp);
  557. replyp = NULL;
  558. }
  559. cl = (CLIENT *)dbenv->cl_handle;
  560. if (dbp == NULL)
  561. req.dbpcl_id = 0;
  562. else
  563. req.dbpcl_id = dbp->cl_id;
  564. req.maxkey = maxkey;
  565. replyp = __db_db_bt_maxkey_1(&req, cl);
  566. if (replyp == NULL) {
  567. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  568. ret = DB_NOSERVER;
  569. goto out;
  570. }
  571. ret = replyp->status;
  572. out:
  573. return (ret);
  574. }
  575. int
  576. __dbcl_db_bt_minkey(dbp, minkey)
  577. DB * dbp;
  578. u_int32_t minkey;
  579. {
  580. CLIENT *cl;
  581. __db_bt_minkey_msg req;
  582. static __db_bt_minkey_reply *replyp = NULL;
  583. int ret;
  584. DB_ENV *dbenv;
  585. ret = 0;
  586. dbenv = NULL;
  587. dbenv = dbp->dbenv;
  588. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  589. __db_err(dbenv, "No server environment.");
  590. return (DB_NOSERVER);
  591. }
  592. if (replyp != NULL) {
  593. xdr_free((xdrproc_t)xdr___db_bt_minkey_reply, (void *)replyp);
  594. replyp = NULL;
  595. }
  596. cl = (CLIENT *)dbenv->cl_handle;
  597. if (dbp == NULL)
  598. req.dbpcl_id = 0;
  599. else
  600. req.dbpcl_id = dbp->cl_id;
  601. req.minkey = minkey;
  602. replyp = __db_db_bt_minkey_1(&req, cl);
  603. if (replyp == NULL) {
  604. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  605. ret = DB_NOSERVER;
  606. goto out;
  607. }
  608. ret = replyp->status;
  609. out:
  610. return (ret);
  611. }
  612. int
  613. __dbcl_db_bt_prefix(dbp, func0)
  614. DB * dbp;
  615. size_t (*func0) __P((DB *, const DBT *, const DBT *));
  616. {
  617. DB_ENV *dbenv;
  618. dbenv = dbp->dbenv;
  619. COMPQUIET(func0, 0);
  620. return (__dbcl_rpc_illegal(dbenv, "db_bt_prefix"));
  621. }
  622. int
  623. __dbcl_db_set_append_recno(dbp, func0)
  624. DB * dbp;
  625. int (*func0) __P((DB *, DBT *, db_recno_t));
  626. {
  627. DB_ENV *dbenv;
  628. dbenv = dbp->dbenv;
  629. COMPQUIET(func0, 0);
  630. return (__dbcl_rpc_illegal(dbenv, "db_set_append_recno"));
  631. }
  632. int
  633. __dbcl_db_cachesize(dbp, gbytes, bytes, ncache)
  634. DB * dbp;
  635. u_int32_t gbytes;
  636. u_int32_t bytes;
  637. int ncache;
  638. {
  639. DB_ENV *dbenv;
  640. dbenv = dbp->dbenv;
  641. COMPQUIET(gbytes, 0);
  642. COMPQUIET(bytes, 0);
  643. COMPQUIET(ncache, 0);
  644. return (__dbcl_rpc_illegal(dbenv, "db_cachesize"));
  645. }
  646. int
  647. __dbcl_db_close(dbp, flags)
  648. DB * dbp;
  649. u_int32_t flags;
  650. {
  651. CLIENT *cl;
  652. __db_close_msg req;
  653. static __db_close_reply *replyp = NULL;
  654. int ret;
  655. DB_ENV *dbenv;
  656. ret = 0;
  657. dbenv = NULL;
  658. dbenv = dbp->dbenv;
  659. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  660. __db_err(dbenv, "No server environment.");
  661. return (DB_NOSERVER);
  662. }
  663. if (replyp != NULL) {
  664. xdr_free((xdrproc_t)xdr___db_close_reply, (void *)replyp);
  665. replyp = NULL;
  666. }
  667. cl = (CLIENT *)dbenv->cl_handle;
  668. if (dbp == NULL)
  669. req.dbpcl_id = 0;
  670. else
  671. req.dbpcl_id = dbp->cl_id;
  672. req.flags = flags;
  673. replyp = __db_db_close_1(&req, cl);
  674. if (replyp == NULL) {
  675. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  676. ret = DB_NOSERVER;
  677. goto out;
  678. }
  679. return (__dbcl_db_close_ret(dbp, flags, replyp));
  680. out:
  681. return (ret);
  682. }
  683. int
  684. __dbcl_db_del(dbp, txnp, key, flags)
  685. DB * dbp;
  686. DB_TXN * txnp;
  687. DBT * key;
  688. u_int32_t flags;
  689. {
  690. CLIENT *cl;
  691. __db_del_msg req;
  692. static __db_del_reply *replyp = NULL;
  693. int ret;
  694. DB_ENV *dbenv;
  695. ret = 0;
  696. dbenv = NULL;
  697. dbenv = dbp->dbenv;
  698. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  699. __db_err(dbenv, "No server environment.");
  700. return (DB_NOSERVER);
  701. }
  702. if (replyp != NULL) {
  703. xdr_free((xdrproc_t)xdr___db_del_reply, (void *)replyp);
  704. replyp = NULL;
  705. }
  706. cl = (CLIENT *)dbenv->cl_handle;
  707. if (dbp == NULL)
  708. req.dbpcl_id = 0;
  709. else
  710. req.dbpcl_id = dbp->cl_id;
  711. if (txnp == NULL)
  712. req.txnpcl_id = 0;
  713. else
  714. req.txnpcl_id = txnp->txnid;
  715. req.keydlen = key->dlen;
  716. req.keydoff = key->doff;
  717. req.keyflags = key->flags;
  718. req.keydata.keydata_val = key->data;
  719. req.keydata.keydata_len = key->size;
  720. req.flags = flags;
  721. replyp = __db_db_del_1(&req, cl);
  722. if (replyp == NULL) {
  723. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  724. ret = DB_NOSERVER;
  725. goto out;
  726. }
  727. ret = replyp->status;
  728. out:
  729. return (ret);
  730. }
  731. int
  732. __dbcl_db_extentsize(dbp, extentsize)
  733. DB * dbp;
  734. u_int32_t extentsize;
  735. {
  736. CLIENT *cl;
  737. __db_extentsize_msg req;
  738. static __db_extentsize_reply *replyp = NULL;
  739. int ret;
  740. DB_ENV *dbenv;
  741. ret = 0;
  742. dbenv = NULL;
  743. dbenv = dbp->dbenv;
  744. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  745. __db_err(dbenv, "No server environment.");
  746. return (DB_NOSERVER);
  747. }
  748. if (replyp != NULL) {
  749. xdr_free((xdrproc_t)xdr___db_extentsize_reply, (void *)replyp);
  750. replyp = NULL;
  751. }
  752. cl = (CLIENT *)dbenv->cl_handle;
  753. if (dbp == NULL)
  754. req.dbpcl_id = 0;
  755. else
  756. req.dbpcl_id = dbp->cl_id;
  757. req.extentsize = extentsize;
  758. replyp = __db_db_extentsize_1(&req, cl);
  759. if (replyp == NULL) {
  760. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  761. ret = DB_NOSERVER;
  762. goto out;
  763. }
  764. ret = replyp->status;
  765. out:
  766. return (ret);
  767. }
  768. int
  769. __dbcl_db_fd(dbp, fdp)
  770. DB * dbp;
  771. int * fdp;
  772. {
  773. DB_ENV *dbenv;
  774. dbenv = dbp->dbenv;
  775. COMPQUIET(fdp, 0);
  776. return (__dbcl_rpc_illegal(dbenv, "db_fd"));
  777. }
  778. int
  779. __dbcl_db_feedback(dbp, func0)
  780. DB * dbp;
  781. void (*func0) __P((DB *, int, int));
  782. {
  783. DB_ENV *dbenv;
  784. dbenv = dbp->dbenv;
  785. COMPQUIET(func0, 0);
  786. return (__dbcl_rpc_illegal(dbenv, "db_feedback"));
  787. }
  788. int
  789. __dbcl_db_flags(dbp, flags)
  790. DB * dbp;
  791. u_int32_t flags;
  792. {
  793. CLIENT *cl;
  794. __db_flags_msg req;
  795. static __db_flags_reply *replyp = NULL;
  796. int ret;
  797. DB_ENV *dbenv;
  798. ret = 0;
  799. dbenv = NULL;
  800. dbenv = dbp->dbenv;
  801. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  802. __db_err(dbenv, "No server environment.");
  803. return (DB_NOSERVER);
  804. }
  805. if (replyp != NULL) {
  806. xdr_free((xdrproc_t)xdr___db_flags_reply, (void *)replyp);
  807. replyp = NULL;
  808. }
  809. cl = (CLIENT *)dbenv->cl_handle;
  810. if (dbp == NULL)
  811. req.dbpcl_id = 0;
  812. else
  813. req.dbpcl_id = dbp->cl_id;
  814. req.flags = flags;
  815. replyp = __db_db_flags_1(&req, cl);
  816. if (replyp == NULL) {
  817. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  818. ret = DB_NOSERVER;
  819. goto out;
  820. }
  821. ret = replyp->status;
  822. out:
  823. return (ret);
  824. }
  825. int
  826. __dbcl_db_get(dbp, txnp, key, data, flags)
  827. DB * dbp;
  828. DB_TXN * txnp;
  829. DBT * key;
  830. DBT * data;
  831. u_int32_t flags;
  832. {
  833. CLIENT *cl;
  834. __db_get_msg req;
  835. static __db_get_reply *replyp = NULL;
  836. int ret;
  837. DB_ENV *dbenv;
  838. ret = 0;
  839. dbenv = NULL;
  840. dbenv = dbp->dbenv;
  841. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  842. __db_err(dbenv, "No server environment.");
  843. return (DB_NOSERVER);
  844. }
  845. if (replyp != NULL) {
  846. xdr_free((xdrproc_t)xdr___db_get_reply, (void *)replyp);
  847. replyp = NULL;
  848. }
  849. cl = (CLIENT *)dbenv->cl_handle;
  850. if (dbp == NULL)
  851. req.dbpcl_id = 0;
  852. else
  853. req.dbpcl_id = dbp->cl_id;
  854. if (txnp == NULL)
  855. req.txnpcl_id = 0;
  856. else
  857. req.txnpcl_id = txnp->txnid;
  858. req.keydlen = key->dlen;
  859. req.keydoff = key->doff;
  860. req.keyflags = key->flags;
  861. req.keydata.keydata_val = key->data;
  862. req.keydata.keydata_len = key->size;
  863. req.datadlen = data->dlen;
  864. req.datadoff = data->doff;
  865. req.dataflags = data->flags;
  866. req.datadata.datadata_val = data->data;
  867. req.datadata.datadata_len = data->size;
  868. req.flags = flags;
  869. replyp = __db_db_get_1(&req, cl);
  870. if (replyp == NULL) {
  871. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  872. ret = DB_NOSERVER;
  873. goto out;
  874. }
  875. return (__dbcl_db_get_ret(dbp, txnp, key, data, flags, replyp));
  876. out:
  877. return (ret);
  878. }
  879. int
  880. __dbcl_db_h_ffactor(dbp, ffactor)
  881. DB * dbp;
  882. u_int32_t ffactor;
  883. {
  884. CLIENT *cl;
  885. __db_h_ffactor_msg req;
  886. static __db_h_ffactor_reply *replyp = NULL;
  887. int ret;
  888. DB_ENV *dbenv;
  889. ret = 0;
  890. dbenv = NULL;
  891. dbenv = dbp->dbenv;
  892. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  893. __db_err(dbenv, "No server environment.");
  894. return (DB_NOSERVER);
  895. }
  896. if (replyp != NULL) {
  897. xdr_free((xdrproc_t)xdr___db_h_ffactor_reply, (void *)replyp);
  898. replyp = NULL;
  899. }
  900. cl = (CLIENT *)dbenv->cl_handle;
  901. if (dbp == NULL)
  902. req.dbpcl_id = 0;
  903. else
  904. req.dbpcl_id = dbp->cl_id;
  905. req.ffactor = ffactor;
  906. replyp = __db_db_h_ffactor_1(&req, cl);
  907. if (replyp == NULL) {
  908. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  909. ret = DB_NOSERVER;
  910. goto out;
  911. }
  912. ret = replyp->status;
  913. out:
  914. return (ret);
  915. }
  916. int
  917. __dbcl_db_h_hash(dbp, func0)
  918. DB * dbp;
  919. u_int32_t (*func0) __P((DB *, const void *, u_int32_t));
  920. {
  921. DB_ENV *dbenv;
  922. dbenv = dbp->dbenv;
  923. COMPQUIET(func0, 0);
  924. return (__dbcl_rpc_illegal(dbenv, "db_h_hash"));
  925. }
  926. int
  927. __dbcl_db_h_nelem(dbp, nelem)
  928. DB * dbp;
  929. u_int32_t nelem;
  930. {
  931. CLIENT *cl;
  932. __db_h_nelem_msg req;
  933. static __db_h_nelem_reply *replyp = NULL;
  934. int ret;
  935. DB_ENV *dbenv;
  936. ret = 0;
  937. dbenv = NULL;
  938. dbenv = dbp->dbenv;
  939. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  940. __db_err(dbenv, "No server environment.");
  941. return (DB_NOSERVER);
  942. }
  943. if (replyp != NULL) {
  944. xdr_free((xdrproc_t)xdr___db_h_nelem_reply, (void *)replyp);
  945. replyp = NULL;
  946. }
  947. cl = (CLIENT *)dbenv->cl_handle;
  948. if (dbp == NULL)
  949. req.dbpcl_id = 0;
  950. else
  951. req.dbpcl_id = dbp->cl_id;
  952. req.nelem = nelem;
  953. replyp = __db_db_h_nelem_1(&req, cl);
  954. if (replyp == NULL) {
  955. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  956. ret = DB_NOSERVER;
  957. goto out;
  958. }
  959. ret = replyp->status;
  960. out:
  961. return (ret);
  962. }
  963. int
  964. __dbcl_db_key_range(dbp, txnp, key, range, flags)
  965. DB * dbp;
  966. DB_TXN * txnp;
  967. DBT * key;
  968. DB_KEY_RANGE * range;
  969. u_int32_t flags;
  970. {
  971. CLIENT *cl;
  972. __db_key_range_msg req;
  973. static __db_key_range_reply *replyp = NULL;
  974. int ret;
  975. DB_ENV *dbenv;
  976. ret = 0;
  977. dbenv = NULL;
  978. dbenv = dbp->dbenv;
  979. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  980. __db_err(dbenv, "No server environment.");
  981. return (DB_NOSERVER);
  982. }
  983. if (replyp != NULL) {
  984. xdr_free((xdrproc_t)xdr___db_key_range_reply, (void *)replyp);
  985. replyp = NULL;
  986. }
  987. cl = (CLIENT *)dbenv->cl_handle;
  988. if (dbp == NULL)
  989. req.dbpcl_id = 0;
  990. else
  991. req.dbpcl_id = dbp->cl_id;
  992. if (txnp == NULL)
  993. req.txnpcl_id = 0;
  994. else
  995. req.txnpcl_id = txnp->txnid;
  996. req.keydlen = key->dlen;
  997. req.keydoff = key->doff;
  998. req.keyflags = key->flags;
  999. req.keydata.keydata_val = key->data;
  1000. req.keydata.keydata_len = key->size;
  1001. req.flags = flags;
  1002. replyp = __db_db_key_range_1(&req, cl);
  1003. if (replyp == NULL) {
  1004. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1005. ret = DB_NOSERVER;
  1006. goto out;
  1007. }
  1008. return (__dbcl_db_key_range_ret(dbp, txnp, key, range, flags, replyp));
  1009. out:
  1010. return (ret);
  1011. }
  1012. int
  1013. __dbcl_db_lorder(dbp, lorder)
  1014. DB * dbp;
  1015. int lorder;
  1016. {
  1017. CLIENT *cl;
  1018. __db_lorder_msg req;
  1019. static __db_lorder_reply *replyp = NULL;
  1020. int ret;
  1021. DB_ENV *dbenv;
  1022. ret = 0;
  1023. dbenv = NULL;
  1024. dbenv = dbp->dbenv;
  1025. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1026. __db_err(dbenv, "No server environment.");
  1027. return (DB_NOSERVER);
  1028. }
  1029. if (replyp != NULL) {
  1030. xdr_free((xdrproc_t)xdr___db_lorder_reply, (void *)replyp);
  1031. replyp = NULL;
  1032. }
  1033. cl = (CLIENT *)dbenv->cl_handle;
  1034. if (dbp == NULL)
  1035. req.dbpcl_id = 0;
  1036. else
  1037. req.dbpcl_id = dbp->cl_id;
  1038. req.lorder = lorder;
  1039. replyp = __db_db_lorder_1(&req, cl);
  1040. if (replyp == NULL) {
  1041. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1042. ret = DB_NOSERVER;
  1043. goto out;
  1044. }
  1045. ret = replyp->status;
  1046. out:
  1047. return (ret);
  1048. }
  1049. int
  1050. __dbcl_db_malloc(dbp, func0)
  1051. DB * dbp;
  1052. void *(*func0) __P((size_t));
  1053. {
  1054. DB_ENV *dbenv;
  1055. dbenv = dbp->dbenv;
  1056. COMPQUIET(func0, 0);
  1057. return (__dbcl_rpc_illegal(dbenv, "db_malloc"));
  1058. }
  1059. int
  1060. __dbcl_db_open(dbp, name, subdb, type, flags, mode)
  1061. DB * dbp;
  1062. const char * name;
  1063. const char * subdb;
  1064. DBTYPE type;
  1065. u_int32_t flags;
  1066. int mode;
  1067. {
  1068. CLIENT *cl;
  1069. __db_open_msg req;
  1070. static __db_open_reply *replyp = NULL;
  1071. int ret;
  1072. DB_ENV *dbenv;
  1073. ret = 0;
  1074. dbenv = NULL;
  1075. dbenv = dbp->dbenv;
  1076. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1077. __db_err(dbenv, "No server environment.");
  1078. return (DB_NOSERVER);
  1079. }
  1080. if (replyp != NULL) {
  1081. xdr_free((xdrproc_t)xdr___db_open_reply, (void *)replyp);
  1082. replyp = NULL;
  1083. }
  1084. cl = (CLIENT *)dbenv->cl_handle;
  1085. if (dbp == NULL)
  1086. req.dbpcl_id = 0;
  1087. else
  1088. req.dbpcl_id = dbp->cl_id;
  1089. if (name == NULL)
  1090. req.name = "";
  1091. else
  1092. req.name = (char *)name;
  1093. if (subdb == NULL)
  1094. req.subdb = "";
  1095. else
  1096. req.subdb = (char *)subdb;
  1097. req.type = type;
  1098. req.flags = flags;
  1099. req.mode = mode;
  1100. replyp = __db_db_open_1(&req, cl);
  1101. if (replyp == NULL) {
  1102. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1103. ret = DB_NOSERVER;
  1104. goto out;
  1105. }
  1106. return (__dbcl_db_open_ret(dbp, name, subdb, type, flags, mode, replyp));
  1107. out:
  1108. return (ret);
  1109. }
  1110. int
  1111. __dbcl_db_pagesize(dbp, pagesize)
  1112. DB * dbp;
  1113. u_int32_t pagesize;
  1114. {
  1115. CLIENT *cl;
  1116. __db_pagesize_msg req;
  1117. static __db_pagesize_reply *replyp = NULL;
  1118. int ret;
  1119. DB_ENV *dbenv;
  1120. ret = 0;
  1121. dbenv = NULL;
  1122. dbenv = dbp->dbenv;
  1123. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1124. __db_err(dbenv, "No server environment.");
  1125. return (DB_NOSERVER);
  1126. }
  1127. if (replyp != NULL) {
  1128. xdr_free((xdrproc_t)xdr___db_pagesize_reply, (void *)replyp);
  1129. replyp = NULL;
  1130. }
  1131. cl = (CLIENT *)dbenv->cl_handle;
  1132. if (dbp == NULL)
  1133. req.dbpcl_id = 0;
  1134. else
  1135. req.dbpcl_id = dbp->cl_id;
  1136. req.pagesize = pagesize;
  1137. replyp = __db_db_pagesize_1(&req, cl);
  1138. if (replyp == NULL) {
  1139. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1140. ret = DB_NOSERVER;
  1141. goto out;
  1142. }
  1143. ret = replyp->status;
  1144. out:
  1145. return (ret);
  1146. }
  1147. int
  1148. __dbcl_db_panic(dbp, func0)
  1149. DB * dbp;
  1150. void (*func0) __P((DB_ENV *, int));
  1151. {
  1152. DB_ENV *dbenv;
  1153. dbenv = dbp->dbenv;
  1154. COMPQUIET(func0, 0);
  1155. return (__dbcl_rpc_illegal(dbenv, "db_panic"));
  1156. }
  1157. int
  1158. __dbcl_db_put(dbp, txnp, key, data, flags)
  1159. DB * dbp;
  1160. DB_TXN * txnp;
  1161. DBT * key;
  1162. DBT * data;
  1163. u_int32_t flags;
  1164. {
  1165. CLIENT *cl;
  1166. __db_put_msg req;
  1167. static __db_put_reply *replyp = NULL;
  1168. int ret;
  1169. DB_ENV *dbenv;
  1170. ret = 0;
  1171. dbenv = NULL;
  1172. dbenv = dbp->dbenv;
  1173. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1174. __db_err(dbenv, "No server environment.");
  1175. return (DB_NOSERVER);
  1176. }
  1177. if (replyp != NULL) {
  1178. xdr_free((xdrproc_t)xdr___db_put_reply, (void *)replyp);
  1179. replyp = NULL;
  1180. }
  1181. cl = (CLIENT *)dbenv->cl_handle;
  1182. if (dbp == NULL)
  1183. req.dbpcl_id = 0;
  1184. else
  1185. req.dbpcl_id = dbp->cl_id;
  1186. if (txnp == NULL)
  1187. req.txnpcl_id = 0;
  1188. else
  1189. req.txnpcl_id = txnp->txnid;
  1190. req.keydlen = key->dlen;
  1191. req.keydoff = key->doff;
  1192. req.keyflags = key->flags;
  1193. req.keydata.keydata_val = key->data;
  1194. req.keydata.keydata_len = key->size;
  1195. req.datadlen = data->dlen;
  1196. req.datadoff = data->doff;
  1197. req.dataflags = data->flags;
  1198. req.datadata.datadata_val = data->data;
  1199. req.datadata.datadata_len = data->size;
  1200. req.flags = flags;
  1201. replyp = __db_db_put_1(&req, cl);
  1202. if (replyp == NULL) {
  1203. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1204. ret = DB_NOSERVER;
  1205. goto out;
  1206. }
  1207. return (__dbcl_db_put_ret(dbp, txnp, key, data, flags, replyp));
  1208. out:
  1209. return (ret);
  1210. }
  1211. int
  1212. __dbcl_db_realloc(dbp, func0)
  1213. DB * dbp;
  1214. void *(*func0) __P((void *, size_t));
  1215. {
  1216. DB_ENV *dbenv;
  1217. dbenv = dbp->dbenv;
  1218. COMPQUIET(func0, 0);
  1219. return (__dbcl_rpc_illegal(dbenv, "db_realloc"));
  1220. }
  1221. int
  1222. __dbcl_db_re_delim(dbp, delim)
  1223. DB * dbp;
  1224. int delim;
  1225. {
  1226. CLIENT *cl;
  1227. __db_re_delim_msg req;
  1228. static __db_re_delim_reply *replyp = NULL;
  1229. int ret;
  1230. DB_ENV *dbenv;
  1231. ret = 0;
  1232. dbenv = NULL;
  1233. dbenv = dbp->dbenv;
  1234. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1235. __db_err(dbenv, "No server environment.");
  1236. return (DB_NOSERVER);
  1237. }
  1238. if (replyp != NULL) {
  1239. xdr_free((xdrproc_t)xdr___db_re_delim_reply, (void *)replyp);
  1240. replyp = NULL;
  1241. }
  1242. cl = (CLIENT *)dbenv->cl_handle;
  1243. if (dbp == NULL)
  1244. req.dbpcl_id = 0;
  1245. else
  1246. req.dbpcl_id = dbp->cl_id;
  1247. req.delim = delim;
  1248. replyp = __db_db_re_delim_1(&req, cl);
  1249. if (replyp == NULL) {
  1250. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1251. ret = DB_NOSERVER;
  1252. goto out;
  1253. }
  1254. ret = replyp->status;
  1255. out:
  1256. return (ret);
  1257. }
  1258. int
  1259. __dbcl_db_re_len(dbp, len)
  1260. DB * dbp;
  1261. u_int32_t len;
  1262. {
  1263. CLIENT *cl;
  1264. __db_re_len_msg req;
  1265. static __db_re_len_reply *replyp = NULL;
  1266. int ret;
  1267. DB_ENV *dbenv;
  1268. ret = 0;
  1269. dbenv = NULL;
  1270. dbenv = dbp->dbenv;
  1271. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1272. __db_err(dbenv, "No server environment.");
  1273. return (DB_NOSERVER);
  1274. }
  1275. if (replyp != NULL) {
  1276. xdr_free((xdrproc_t)xdr___db_re_len_reply, (void *)replyp);
  1277. replyp = NULL;
  1278. }
  1279. cl = (CLIENT *)dbenv->cl_handle;
  1280. if (dbp == NULL)
  1281. req.dbpcl_id = 0;
  1282. else
  1283. req.dbpcl_id = dbp->cl_id;
  1284. req.len = len;
  1285. replyp = __db_db_re_len_1(&req, cl);
  1286. if (replyp == NULL) {
  1287. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1288. ret = DB_NOSERVER;
  1289. goto out;
  1290. }
  1291. ret = replyp->status;
  1292. out:
  1293. return (ret);
  1294. }
  1295. int
  1296. __dbcl_db_re_pad(dbp, pad)
  1297. DB * dbp;
  1298. int pad;
  1299. {
  1300. CLIENT *cl;
  1301. __db_re_pad_msg req;
  1302. static __db_re_pad_reply *replyp = NULL;
  1303. int ret;
  1304. DB_ENV *dbenv;
  1305. ret = 0;
  1306. dbenv = NULL;
  1307. dbenv = dbp->dbenv;
  1308. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1309. __db_err(dbenv, "No server environment.");
  1310. return (DB_NOSERVER);
  1311. }
  1312. if (replyp != NULL) {
  1313. xdr_free((xdrproc_t)xdr___db_re_pad_reply, (void *)replyp);
  1314. replyp = NULL;
  1315. }
  1316. cl = (CLIENT *)dbenv->cl_handle;
  1317. if (dbp == NULL)
  1318. req.dbpcl_id = 0;
  1319. else
  1320. req.dbpcl_id = dbp->cl_id;
  1321. req.pad = pad;
  1322. replyp = __db_db_re_pad_1(&req, cl);
  1323. if (replyp == NULL) {
  1324. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1325. ret = DB_NOSERVER;
  1326. goto out;
  1327. }
  1328. ret = replyp->status;
  1329. out:
  1330. return (ret);
  1331. }
  1332. int
  1333. __dbcl_db_re_source(dbp, re_source)
  1334. DB * dbp;
  1335. const char * re_source;
  1336. {
  1337. DB_ENV *dbenv;
  1338. dbenv = dbp->dbenv;
  1339. COMPQUIET(re_source, NULL);
  1340. return (__dbcl_rpc_illegal(dbenv, "db_re_source"));
  1341. }
  1342. int
  1343. __dbcl_db_remove(dbp, name, subdb, flags)
  1344. DB * dbp;
  1345. const char * name;
  1346. const char * subdb;
  1347. u_int32_t flags;
  1348. {
  1349. CLIENT *cl;
  1350. __db_remove_msg req;
  1351. static __db_remove_reply *replyp = NULL;
  1352. int ret;
  1353. DB_ENV *dbenv;
  1354. ret = 0;
  1355. dbenv = NULL;
  1356. dbenv = dbp->dbenv;
  1357. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1358. __db_err(dbenv, "No server environment.");
  1359. return (DB_NOSERVER);
  1360. }
  1361. if (replyp != NULL) {
  1362. xdr_free((xdrproc_t)xdr___db_remove_reply, (void *)replyp);
  1363. replyp = NULL;
  1364. }
  1365. cl = (CLIENT *)dbenv->cl_handle;
  1366. if (dbp == NULL)
  1367. req.dbpcl_id = 0;
  1368. else
  1369. req.dbpcl_id = dbp->cl_id;
  1370. if (name == NULL)
  1371. req.name = "";
  1372. else
  1373. req.name = (char *)name;
  1374. if (subdb == NULL)
  1375. req.subdb = "";
  1376. else
  1377. req.subdb = (char *)subdb;
  1378. req.flags = flags;
  1379. replyp = __db_db_remove_1(&req, cl);
  1380. if (replyp == NULL) {
  1381. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1382. ret = DB_NOSERVER;
  1383. goto out;
  1384. }
  1385. return (__dbcl_db_remove_ret(dbp, name, subdb, flags, replyp));
  1386. out:
  1387. return (ret);
  1388. }
  1389. int
  1390. __dbcl_db_rename(dbp, name, subdb, newname, flags)
  1391. DB * dbp;
  1392. const char * name;
  1393. const char * subdb;
  1394. const char * newname;
  1395. u_int32_t flags;
  1396. {
  1397. CLIENT *cl;
  1398. __db_rename_msg req;
  1399. static __db_rename_reply *replyp = NULL;
  1400. int ret;
  1401. DB_ENV *dbenv;
  1402. ret = 0;
  1403. dbenv = NULL;
  1404. dbenv = dbp->dbenv;
  1405. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1406. __db_err(dbenv, "No server environment.");
  1407. return (DB_NOSERVER);
  1408. }
  1409. if (replyp != NULL) {
  1410. xdr_free((xdrproc_t)xdr___db_rename_reply, (void *)replyp);
  1411. replyp = NULL;
  1412. }
  1413. cl = (CLIENT *)dbenv->cl_handle;
  1414. if (dbp == NULL)
  1415. req.dbpcl_id = 0;
  1416. else
  1417. req.dbpcl_id = dbp->cl_id;
  1418. if (name == NULL)
  1419. req.name = "";
  1420. else
  1421. req.name = (char *)name;
  1422. if (subdb == NULL)
  1423. req.subdb = "";
  1424. else
  1425. req.subdb = (char *)subdb;
  1426. if (newname == NULL)
  1427. req.newname = "";
  1428. else
  1429. req.newname = (char *)newname;
  1430. req.flags = flags;
  1431. replyp = __db_db_rename_1(&req, cl);
  1432. if (replyp == NULL) {
  1433. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1434. ret = DB_NOSERVER;
  1435. goto out;
  1436. }
  1437. return (__dbcl_db_rename_ret(dbp, name, subdb, newname, flags, replyp));
  1438. out:
  1439. return (ret);
  1440. }
  1441. int
  1442. __dbcl_db_stat(dbp, sp, func0, flags)
  1443. DB * dbp;
  1444. void * sp;
  1445. void *(*func0) __P((size_t));
  1446. u_int32_t flags;
  1447. {
  1448. CLIENT *cl;
  1449. __db_stat_msg req;
  1450. static __db_stat_reply *replyp = NULL;
  1451. int ret;
  1452. DB_ENV *dbenv;
  1453. ret = 0;
  1454. dbenv = NULL;
  1455. dbenv = dbp->dbenv;
  1456. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1457. __db_err(dbenv, "No server environment.");
  1458. return (DB_NOSERVER);
  1459. }
  1460. if (replyp != NULL) {
  1461. xdr_free((xdrproc_t)xdr___db_stat_reply, (void *)replyp);
  1462. replyp = NULL;
  1463. }
  1464. cl = (CLIENT *)dbenv->cl_handle;
  1465. if (func0 != NULL) {
  1466. __db_err(sp, "User functions not supported in RPC.");
  1467. return (EINVAL);
  1468. }
  1469. if (dbp == NULL)
  1470. req.dbpcl_id = 0;
  1471. else
  1472. req.dbpcl_id = dbp->cl_id;
  1473. req.flags = flags;
  1474. replyp = __db_db_stat_1(&req, cl);
  1475. if (replyp == NULL) {
  1476. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1477. ret = DB_NOSERVER;
  1478. goto out;
  1479. }
  1480. return (__dbcl_db_stat_ret(dbp, sp, func0, flags, replyp));
  1481. out:
  1482. return (ret);
  1483. }
  1484. int
  1485. __dbcl_db_swapped(dbp)
  1486. DB * dbp;
  1487. {
  1488. CLIENT *cl;
  1489. __db_swapped_msg req;
  1490. static __db_swapped_reply *replyp = NULL;
  1491. int ret;
  1492. DB_ENV *dbenv;
  1493. ret = 0;
  1494. dbenv = NULL;
  1495. dbenv = dbp->dbenv;
  1496. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1497. __db_err(dbenv, "No server environment.");
  1498. return (DB_NOSERVER);
  1499. }
  1500. if (replyp != NULL) {
  1501. xdr_free((xdrproc_t)xdr___db_swapped_reply, (void *)replyp);
  1502. replyp = NULL;
  1503. }
  1504. cl = (CLIENT *)dbenv->cl_handle;
  1505. if (dbp == NULL)
  1506. req.dbpcl_id = 0;
  1507. else
  1508. req.dbpcl_id = dbp->cl_id;
  1509. replyp = __db_db_swapped_1(&req, cl);
  1510. if (replyp == NULL) {
  1511. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1512. ret = DB_NOSERVER;
  1513. goto out;
  1514. }
  1515. ret = replyp->status;
  1516. out:
  1517. return (ret);
  1518. }
  1519. int
  1520. __dbcl_db_sync(dbp, flags)
  1521. DB * dbp;
  1522. u_int32_t flags;
  1523. {
  1524. CLIENT *cl;
  1525. __db_sync_msg req;
  1526. static __db_sync_reply *replyp = NULL;
  1527. int ret;
  1528. DB_ENV *dbenv;
  1529. ret = 0;
  1530. dbenv = NULL;
  1531. dbenv = dbp->dbenv;
  1532. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1533. __db_err(dbenv, "No server environment.");
  1534. return (DB_NOSERVER);
  1535. }
  1536. if (replyp != NULL) {
  1537. xdr_free((xdrproc_t)xdr___db_sync_reply, (void *)replyp);
  1538. replyp = NULL;
  1539. }
  1540. cl = (CLIENT *)dbenv->cl_handle;
  1541. if (dbp == NULL)
  1542. req.dbpcl_id = 0;
  1543. else
  1544. req.dbpcl_id = dbp->cl_id;
  1545. req.flags = flags;
  1546. replyp = __db_db_sync_1(&req, cl);
  1547. if (replyp == NULL) {
  1548. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1549. ret = DB_NOSERVER;
  1550. goto out;
  1551. }
  1552. ret = replyp->status;
  1553. out:
  1554. return (ret);
  1555. }
  1556. int
  1557. __dbcl_db_upgrade(dbp, fname, flags)
  1558. DB * dbp;
  1559. const char * fname;
  1560. u_int32_t flags;
  1561. {
  1562. DB_ENV *dbenv;
  1563. dbenv = dbp->dbenv;
  1564. COMPQUIET(fname, NULL);
  1565. COMPQUIET(flags, 0);
  1566. return (__dbcl_rpc_illegal(dbenv, "db_upgrade"));
  1567. }
  1568. int
  1569. __dbcl_db_cursor(dbp, txnp, dbcpp, flags)
  1570. DB * dbp;
  1571. DB_TXN * txnp;
  1572. DBC ** dbcpp;
  1573. u_int32_t flags;
  1574. {
  1575. CLIENT *cl;
  1576. __db_cursor_msg req;
  1577. static __db_cursor_reply *replyp = NULL;
  1578. int ret;
  1579. DB_ENV *dbenv;
  1580. ret = 0;
  1581. dbenv = NULL;
  1582. dbenv = dbp->dbenv;
  1583. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1584. __db_err(dbenv, "No server environment.");
  1585. return (DB_NOSERVER);
  1586. }
  1587. if (replyp != NULL) {
  1588. xdr_free((xdrproc_t)xdr___db_cursor_reply, (void *)replyp);
  1589. replyp = NULL;
  1590. }
  1591. cl = (CLIENT *)dbenv->cl_handle;
  1592. if (dbp == NULL)
  1593. req.dbpcl_id = 0;
  1594. else
  1595. req.dbpcl_id = dbp->cl_id;
  1596. if (txnp == NULL)
  1597. req.txnpcl_id = 0;
  1598. else
  1599. req.txnpcl_id = txnp->txnid;
  1600. req.flags = flags;
  1601. replyp = __db_db_cursor_1(&req, cl);
  1602. if (replyp == NULL) {
  1603. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1604. ret = DB_NOSERVER;
  1605. goto out;
  1606. }
  1607. return (__dbcl_db_cursor_ret(dbp, txnp, dbcpp, flags, replyp));
  1608. out:
  1609. return (ret);
  1610. }
  1611. static int __dbcl_db_join_curslist __P((__db_join_curslist **, DBC **));
  1612. static void __dbcl_db_join_cursfree __P((__db_join_curslist **));
  1613. int
  1614. __dbcl_db_join(dbp, curs, dbcp, flags)
  1615. DB * dbp;
  1616. DBC ** curs;
  1617. DBC ** dbcp;
  1618. u_int32_t flags;
  1619. {
  1620. CLIENT *cl;
  1621. __db_join_msg req;
  1622. static __db_join_reply *replyp = NULL;
  1623. int ret;
  1624. DB_ENV *dbenv;
  1625. ret = 0;
  1626. dbenv = NULL;
  1627. dbenv = dbp->dbenv;
  1628. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1629. __db_err(dbenv, "No server environment.");
  1630. return (DB_NOSERVER);
  1631. }
  1632. if (replyp != NULL) {
  1633. xdr_free((xdrproc_t)xdr___db_join_reply, (void *)replyp);
  1634. replyp = NULL;
  1635. }
  1636. cl = (CLIENT *)dbenv->cl_handle;
  1637. if (dbp == NULL)
  1638. req.dbpcl_id = 0;
  1639. else
  1640. req.dbpcl_id = dbp->cl_id;
  1641. if ((ret = __dbcl_db_join_curslist(&req.curslist, curs)) != 0)
  1642. goto out;
  1643. req.flags = flags;
  1644. replyp = __db_db_join_1(&req, cl);
  1645. if (replyp == NULL) {
  1646. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1647. ret = DB_NOSERVER;
  1648. goto out;
  1649. }
  1650. __dbcl_db_join_cursfree(&req.curslist);
  1651. return (__dbcl_db_join_ret(dbp, curs, dbcp, flags, replyp));
  1652. out:
  1653. __dbcl_db_join_cursfree(&req.curslist);
  1654. return (ret);
  1655. }
  1656. int
  1657. __dbcl_db_join_curslist(locp, pp)
  1658. __db_join_curslist **locp;
  1659. DBC ** pp;
  1660. {
  1661. DBC ** p;
  1662. u_int32_t *q;
  1663. int ret;
  1664. __db_join_curslist *nl, **nlp;
  1665. *locp = NULL;
  1666. if (pp == NULL)
  1667. return (0);
  1668. nlp = locp;
  1669. for (p = pp; *p != 0; p++) {
  1670. if ((ret = __os_malloc(NULL, sizeof(*nl), NULL, nlp)) != 0)
  1671. goto out;
  1672. nl = *nlp;
  1673. nl->next = NULL;
  1674. nl->ent.ent_val = NULL;
  1675. nl->ent.ent_len = 0;
  1676. if ((ret = __os_malloc(NULL, sizeof(u_int32_t), NULL, &nl->ent.ent_val)) != 0)
  1677. goto out;
  1678. q = (u_int32_t *)nl->ent.ent_val;
  1679. *q = (*p)->cl_id;
  1680. nl->ent.ent_len = sizeof(u_int32_t);
  1681. nlp = &nl->next;
  1682. }
  1683. return (0);
  1684. out:
  1685. __dbcl_db_join_cursfree(locp);
  1686. return (ret);
  1687. }
  1688. void
  1689. __dbcl_db_join_cursfree(locp)
  1690. __db_join_curslist **locp;
  1691. {
  1692. __db_join_curslist *nl, *nl1;
  1693. if (locp == NULL)
  1694. return;
  1695. for (nl = *locp; nl != NULL; nl = nl1) {
  1696. nl1 = nl->next;
  1697. if (nl->ent.ent_val)
  1698. __os_free(nl->ent.ent_val, nl->ent.ent_len);
  1699. __os_free(nl, sizeof(*nl));
  1700. }
  1701. }
  1702. int
  1703. __dbcl_dbc_close(dbc)
  1704. DBC * dbc;
  1705. {
  1706. CLIENT *cl;
  1707. __dbc_close_msg req;
  1708. static __dbc_close_reply *replyp = NULL;
  1709. int ret;
  1710. DB_ENV *dbenv;
  1711. ret = 0;
  1712. dbenv = NULL;
  1713. dbenv = dbc->dbp->dbenv;
  1714. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1715. __db_err(dbenv, "No server environment.");
  1716. return (DB_NOSERVER);
  1717. }
  1718. if (replyp != NULL) {
  1719. xdr_free((xdrproc_t)xdr___dbc_close_reply, (void *)replyp);
  1720. replyp = NULL;
  1721. }
  1722. cl = (CLIENT *)dbenv->cl_handle;
  1723. if (dbc == NULL)
  1724. req.dbccl_id = 0;
  1725. else
  1726. req.dbccl_id = dbc->cl_id;
  1727. replyp = __db_dbc_close_1(&req, cl);
  1728. if (replyp == NULL) {
  1729. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1730. ret = DB_NOSERVER;
  1731. goto out;
  1732. }
  1733. return (__dbcl_dbc_close_ret(dbc, replyp));
  1734. out:
  1735. return (ret);
  1736. }
  1737. int
  1738. __dbcl_dbc_count(dbc, countp, flags)
  1739. DBC * dbc;
  1740. db_recno_t * countp;
  1741. u_int32_t flags;
  1742. {
  1743. CLIENT *cl;
  1744. __dbc_count_msg req;
  1745. static __dbc_count_reply *replyp = NULL;
  1746. int ret;
  1747. DB_ENV *dbenv;
  1748. ret = 0;
  1749. dbenv = NULL;
  1750. dbenv = dbc->dbp->dbenv;
  1751. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1752. __db_err(dbenv, "No server environment.");
  1753. return (DB_NOSERVER);
  1754. }
  1755. if (replyp != NULL) {
  1756. xdr_free((xdrproc_t)xdr___dbc_count_reply, (void *)replyp);
  1757. replyp = NULL;
  1758. }
  1759. cl = (CLIENT *)dbenv->cl_handle;
  1760. if (dbc == NULL)
  1761. req.dbccl_id = 0;
  1762. else
  1763. req.dbccl_id = dbc->cl_id;
  1764. req.flags = flags;
  1765. replyp = __db_dbc_count_1(&req, cl);
  1766. if (replyp == NULL) {
  1767. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1768. ret = DB_NOSERVER;
  1769. goto out;
  1770. }
  1771. return (__dbcl_dbc_count_ret(dbc, countp, flags, replyp));
  1772. out:
  1773. return (ret);
  1774. }
  1775. int
  1776. __dbcl_dbc_del(dbc, flags)
  1777. DBC * dbc;
  1778. u_int32_t flags;
  1779. {
  1780. CLIENT *cl;
  1781. __dbc_del_msg req;
  1782. static __dbc_del_reply *replyp = NULL;
  1783. int ret;
  1784. DB_ENV *dbenv;
  1785. ret = 0;
  1786. dbenv = NULL;
  1787. dbenv = dbc->dbp->dbenv;
  1788. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1789. __db_err(dbenv, "No server environment.");
  1790. return (DB_NOSERVER);
  1791. }
  1792. if (replyp != NULL) {
  1793. xdr_free((xdrproc_t)xdr___dbc_del_reply, (void *)replyp);
  1794. replyp = NULL;
  1795. }
  1796. cl = (CLIENT *)dbenv->cl_handle;
  1797. if (dbc == NULL)
  1798. req.dbccl_id = 0;
  1799. else
  1800. req.dbccl_id = dbc->cl_id;
  1801. req.flags = flags;
  1802. replyp = __db_dbc_del_1(&req, cl);
  1803. if (replyp == NULL) {
  1804. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1805. ret = DB_NOSERVER;
  1806. goto out;
  1807. }
  1808. ret = replyp->status;
  1809. out:
  1810. return (ret);
  1811. }
  1812. int
  1813. __dbcl_dbc_dup(dbc, dbcp, flags)
  1814. DBC * dbc;
  1815. DBC ** dbcp;
  1816. u_int32_t flags;
  1817. {
  1818. CLIENT *cl;
  1819. __dbc_dup_msg req;
  1820. static __dbc_dup_reply *replyp = NULL;
  1821. int ret;
  1822. DB_ENV *dbenv;
  1823. ret = 0;
  1824. dbenv = NULL;
  1825. dbenv = dbc->dbp->dbenv;
  1826. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1827. __db_err(dbenv, "No server environment.");
  1828. return (DB_NOSERVER);
  1829. }
  1830. if (replyp != NULL) {
  1831. xdr_free((xdrproc_t)xdr___dbc_dup_reply, (void *)replyp);
  1832. replyp = NULL;
  1833. }
  1834. cl = (CLIENT *)dbenv->cl_handle;
  1835. if (dbc == NULL)
  1836. req.dbccl_id = 0;
  1837. else
  1838. req.dbccl_id = dbc->cl_id;
  1839. req.flags = flags;
  1840. replyp = __db_dbc_dup_1(&req, cl);
  1841. if (replyp == NULL) {
  1842. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1843. ret = DB_NOSERVER;
  1844. goto out;
  1845. }
  1846. return (__dbcl_dbc_dup_ret(dbc, dbcp, flags, replyp));
  1847. out:
  1848. return (ret);
  1849. }
  1850. int
  1851. __dbcl_dbc_get(dbc, key, data, flags)
  1852. DBC * dbc;
  1853. DBT * key;
  1854. DBT * data;
  1855. u_int32_t flags;
  1856. {
  1857. CLIENT *cl;
  1858. __dbc_get_msg req;
  1859. static __dbc_get_reply *replyp = NULL;
  1860. int ret;
  1861. DB_ENV *dbenv;
  1862. ret = 0;
  1863. dbenv = NULL;
  1864. dbenv = dbc->dbp->dbenv;
  1865. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1866. __db_err(dbenv, "No server environment.");
  1867. return (DB_NOSERVER);
  1868. }
  1869. if (replyp != NULL) {
  1870. xdr_free((xdrproc_t)xdr___dbc_get_reply, (void *)replyp);
  1871. replyp = NULL;
  1872. }
  1873. cl = (CLIENT *)dbenv->cl_handle;
  1874. if (dbc == NULL)
  1875. req.dbccl_id = 0;
  1876. else
  1877. req.dbccl_id = dbc->cl_id;
  1878. req.keydlen = key->dlen;
  1879. req.keydoff = key->doff;
  1880. req.keyflags = key->flags;
  1881. req.keydata.keydata_val = key->data;
  1882. req.keydata.keydata_len = key->size;
  1883. req.datadlen = data->dlen;
  1884. req.datadoff = data->doff;
  1885. req.dataflags = data->flags;
  1886. req.datadata.datadata_val = data->data;
  1887. req.datadata.datadata_len = data->size;
  1888. req.flags = flags;
  1889. replyp = __db_dbc_get_1(&req, cl);
  1890. if (replyp == NULL) {
  1891. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1892. ret = DB_NOSERVER;
  1893. goto out;
  1894. }
  1895. return (__dbcl_dbc_get_ret(dbc, key, data, flags, replyp));
  1896. out:
  1897. return (ret);
  1898. }
  1899. int
  1900. __dbcl_dbc_put(dbc, key, data, flags)
  1901. DBC * dbc;
  1902. DBT * key;
  1903. DBT * data;
  1904. u_int32_t flags;
  1905. {
  1906. CLIENT *cl;
  1907. __dbc_put_msg req;
  1908. static __dbc_put_reply *replyp = NULL;
  1909. int ret;
  1910. DB_ENV *dbenv;
  1911. ret = 0;
  1912. dbenv = NULL;
  1913. dbenv = dbc->dbp->dbenv;
  1914. if (dbenv == NULL || dbenv->cl_handle == NULL) {
  1915. __db_err(dbenv, "No server environment.");
  1916. return (DB_NOSERVER);
  1917. }
  1918. if (replyp != NULL) {
  1919. xdr_free((xdrproc_t)xdr___dbc_put_reply, (void *)replyp);
  1920. replyp = NULL;
  1921. }
  1922. cl = (CLIENT *)dbenv->cl_handle;
  1923. if (dbc == NULL)
  1924. req.dbccl_id = 0;
  1925. else
  1926. req.dbccl_id = dbc->cl_id;
  1927. req.keydlen = key->dlen;
  1928. req.keydoff = key->doff;
  1929. req.keyflags = key->flags;
  1930. req.keydata.keydata_val = key->data;
  1931. req.keydata.keydata_len = key->size;
  1932. req.datadlen = data->dlen;
  1933. req.datadoff = data->doff;
  1934. req.dataflags = data->flags;
  1935. req.datadata.datadata_val = data->data;
  1936. req.datadata.datadata_len = data->size;
  1937. req.flags = flags;
  1938. replyp = __db_dbc_put_1(&req, cl);
  1939. if (replyp == NULL) {
  1940. __db_err(dbenv, clnt_sperror(cl, "Berkeley DB"));
  1941. ret = DB_NOSERVER;
  1942. goto out;
  1943. }
  1944. return (__dbcl_dbc_put_ret(dbc, key, data, flags, replyp));
  1945. out:
  1946. return (ret);
  1947. }
  1948. int
  1949. __dbcl_lock_detect(dbenv, flags, atype, aborted)
  1950. DB_ENV * dbenv;
  1951. u_int32_t flags;
  1952. u_int32_t atype;
  1953. int * aborted;
  1954. {
  1955. COMPQUIET(flags, 0);
  1956. COMPQUIET(atype, 0);
  1957. COMPQUIET(aborted, 0);
  1958. return (__dbcl_rpc_illegal(dbenv, "lock_detect"));
  1959. }
  1960. int
  1961. __dbcl_lock_get(dbenv, locker, flags, obj, mode, lock)
  1962. DB_ENV * dbenv;
  1963. u_int32_t locker;
  1964. u_int32_t flags;
  1965. const DBT * obj;
  1966. db_lockmode_t mode;
  1967. DB_LOCK * lock;
  1968. {
  1969. COMPQUIET(locker, 0);
  1970. COMPQUIET(flags, 0);
  1971. COMPQUIET(obj, NULL);
  1972. COMPQUIET(mode, 0);
  1973. COMPQUIET(lock, 0);
  1974. return (__dbcl_rpc_illegal(dbenv, "lock_get"));
  1975. }
  1976. int
  1977. __dbcl_lock_id(dbenv, idp)
  1978. DB_ENV * dbenv;
  1979. u_int32_t * idp;
  1980. {
  1981. COMPQUIET(idp, 0);
  1982. return (__dbcl_rpc_illegal(dbenv, "lock_id"));
  1983. }
  1984. int
  1985. __dbcl_lock_put(dbenv, lock)
  1986. DB_ENV * dbenv;
  1987. DB_LOCK * lock;
  1988. {
  1989. COMPQUIET(lock, 0);
  1990. return (__dbcl_rpc_illegal(dbenv, "lock_put"));
  1991. }
  1992. int
  1993. __dbcl_lock_stat(dbenv, statp, func0)
  1994. DB_ENV * dbenv;
  1995. DB_LOCK_STAT ** statp;
  1996. void *(*func0) __P((size_t));
  1997. {
  1998. COMPQUIET(statp, 0);
  1999. COMPQUIET(func0, 0);
  2000. return (__dbcl_rpc_illegal(dbenv, "lock_stat"));
  2001. }
  2002. int
  2003. __dbcl_lock_vec(dbenv, locker, flags, list, nlist, elistp)
  2004. DB_ENV * dbenv;
  2005. u_int32_t locker;
  2006. u_int32_t flags;
  2007. DB_LOCKREQ * list;
  2008. int nlist;
  2009. DB_LOCKREQ ** elistp;
  2010. {
  2011. COMPQUIET(locker, 0);
  2012. COMPQUIET(flags, 0);
  2013. COMPQUIET(list, 0);
  2014. COMPQUIET(nlist, 0);
  2015. COMPQUIET(elistp, 0);
  2016. return (__dbcl_rpc_illegal(dbenv, "lock_vec"));
  2017. }
  2018. int
  2019. __dbcl_log_archive(dbenv, listp, flags, func0)
  2020. DB_ENV * dbenv;
  2021. char *** listp;
  2022. u_int32_t flags;
  2023. void *(*func0) __P((size_t));
  2024. {
  2025. COMPQUIET(listp, 0);
  2026. COMPQUIET(flags, 0);
  2027. COMPQUIET(func0, 0);
  2028. return (__dbcl_rpc_illegal(dbenv, "log_archive"));
  2029. }
  2030. int
  2031. __dbcl_log_file(dbenv, lsn, namep, len)
  2032. DB_ENV * dbenv;
  2033. const DB_LSN * lsn;
  2034. char * namep;
  2035. size_t len;
  2036. {
  2037. COMPQUIET(lsn, NULL);
  2038. COMPQUIET(namep, NULL);
  2039. COMPQUIET(len, 0);
  2040. return (__dbcl_rpc_illegal(dbenv, "log_file"));
  2041. }
  2042. int
  2043. __dbcl_log_flush(dbenv, lsn)
  2044. DB_ENV * dbenv;
  2045. const DB_LSN * lsn;
  2046. {
  2047. COMPQUIET(lsn, NULL);
  2048. return (__dbcl_rpc_illegal(dbenv, "log_flush"));
  2049. }
  2050. int
  2051. __dbcl_log_get(dbenv, lsn, data, flags)
  2052. DB_ENV * dbenv;
  2053. DB_LSN * lsn;
  2054. DBT * data;
  2055. u_int32_t flags;
  2056. {
  2057. COMPQUIET(lsn, 0);
  2058. COMPQUIET(data, NULL);
  2059. COMPQUIET(flags, 0);
  2060. return (__dbcl_rpc_illegal(dbenv, "log_get"));
  2061. }
  2062. int
  2063. __dbcl_log_put(dbenv, lsn, data, flags)
  2064. DB_ENV * dbenv;
  2065. DB_LSN * lsn;
  2066. const DBT * data;
  2067. u_int32_t flags;
  2068. {
  2069. COMPQUIET(lsn, 0);
  2070. COMPQUIET(data, NULL);
  2071. COMPQUIET(flags, 0);
  2072. return (__dbcl_rpc_illegal(dbenv, "log_put"));
  2073. }
  2074. int
  2075. __dbcl_log_register(dbenv, dbp, namep)
  2076. DB_ENV * dbenv;
  2077. DB * dbp;
  2078. const char * namep;
  2079. {
  2080. COMPQUIET(dbp, 0);
  2081. COMPQUIET(namep, NULL);
  2082. return (__dbcl_rpc_illegal(dbenv, "log_register"));
  2083. }
  2084. int
  2085. __dbcl_log_stat(dbenv, statp, func0)
  2086. DB_ENV * dbenv;
  2087. DB_LOG_STAT ** statp;
  2088. void *(*func0) __P((size_t));
  2089. {
  2090. COMPQUIET(statp, 0);
  2091. COMPQUIET(func0, 0);
  2092. return (__dbcl_rpc_illegal(dbenv, "log_stat"));
  2093. }
  2094. int
  2095. __dbcl_log_unregister(dbenv, dbp)
  2096. DB_ENV * dbenv;
  2097. DB * dbp;
  2098. {
  2099. COMPQUIET(dbp, 0);
  2100. return (__dbcl_rpc_illegal(dbenv, "log_unregister"));
  2101. }
  2102. int
  2103. __dbcl_memp_fclose(mpf)
  2104. DB_MPOOLFILE * mpf;
  2105. {
  2106. DB_ENV *dbenv;
  2107. dbenv = mpf->dbmp->dbenv;
  2108. return (__dbcl_rpc_illegal(dbenv, "memp_fclose"));
  2109. }
  2110. int
  2111. __dbcl_memp_fget(mpf, pgno, flags, pagep)
  2112. DB_MPOOLFILE * mpf;
  2113. db_pgno_t * pgno;
  2114. u_int32_t flags;
  2115. void ** pagep;
  2116. {
  2117. DB_ENV *dbenv;
  2118. dbenv = mpf->dbmp->dbenv;
  2119. COMPQUIET(pgno, 0);
  2120. COMPQUIET(flags, 0);
  2121. COMPQUIET(pagep, 0);
  2122. return (__dbcl_rpc_illegal(dbenv, "memp_fget"));
  2123. }
  2124. int
  2125. __dbcl_memp_fopen(dbenv, file, flags, mode, pagesize, finfop, mpf)
  2126. DB_ENV * dbenv;
  2127. const char * file;
  2128. u_int32_t flags;
  2129. int mode;
  2130. size_t pagesize;
  2131. DB_MPOOL_FINFO * finfop;
  2132. DB_MPOOLFILE ** mpf;
  2133. {
  2134. COMPQUIET(file, NULL);
  2135. COMPQUIET(flags, 0);
  2136. COMPQUIET(mode, 0);
  2137. COMPQUIET(pagesize, 0);
  2138. COMPQUIET(finfop, 0);
  2139. COMPQUIET(mpf, 0);
  2140. return (__dbcl_rpc_illegal(dbenv, "memp_fopen"));
  2141. }
  2142. int
  2143. __dbcl_memp_fput(mpf, pgaddr, flags)
  2144. DB_MPOOLFILE * mpf;
  2145. void * pgaddr;
  2146. u_int32_t flags;
  2147. {
  2148. DB_ENV *dbenv;
  2149. dbenv = mpf->dbmp->dbenv;
  2150. COMPQUIET(pgaddr, 0);
  2151. COMPQUIET(flags, 0);
  2152. return (__dbcl_rpc_illegal(dbenv, "memp_fput"));
  2153. }
  2154. int
  2155. __dbcl_memp_fset(mpf, pgaddr, flags)
  2156. DB_MPOOLFILE * mpf;
  2157. void * pgaddr;
  2158. u_int32_t flags;
  2159. {
  2160. DB_ENV *dbenv;
  2161. dbenv = mpf->dbmp->dbenv;
  2162. COMPQUIET(pgaddr, 0);
  2163. COMPQUIET(flags, 0);
  2164. return (__dbcl_rpc_illegal(dbenv, "memp_fset"));
  2165. }
  2166. int
  2167. __dbcl_memp_fsync(mpf)
  2168. DB_MPOOLFILE * mpf;
  2169. {
  2170. DB_ENV *dbenv;
  2171. dbenv = mpf->dbmp->dbenv;
  2172. return (__dbcl_rpc_illegal(dbenv, "memp_fsync"));
  2173. }
  2174. int
  2175. __dbcl_memp_register(dbenv, ftype, func0, func1)
  2176. DB_ENV * dbenv;
  2177. int ftype;
  2178. int (*func0) __P((DB_ENV *, db_pgno_t, void *, DBT *));
  2179. int (*func1) __P((DB_ENV *, db_pgno_t, void *, DBT *));
  2180. {
  2181. COMPQUIET(ftype, 0);
  2182. COMPQUIET(func0, 0);
  2183. COMPQUIET(func1, 0);
  2184. return (__dbcl_rpc_illegal(dbenv, "memp_register"));
  2185. }
  2186. int
  2187. __dbcl_memp_stat(dbenv, gstatp, fstatp, func0)
  2188. DB_ENV * dbenv;
  2189. DB_MPOOL_STAT ** gstatp;
  2190. DB_MPOOL_FSTAT *** fstatp;
  2191. void *(*func0) __P((size_t));
  2192. {
  2193. COMPQUIET(gstatp, 0);
  2194. COMPQUIET(fstatp, 0);
  2195. COMPQUIET(func0, 0);
  2196. return (__dbcl_rpc_illegal(dbenv, "memp_stat"));
  2197. }
  2198. int
  2199. __dbcl_memp_sync(dbenv, lsn)
  2200. DB_ENV * dbenv;
  2201. DB_LSN * lsn;
  2202. {
  2203. COMPQUIET(lsn, 0);
  2204. return (__dbcl_rpc_illegal(dbenv, "memp_sync"));
  2205. }
  2206. int
  2207. __dbcl_memp_trickle(dbenv, pct, nwrotep)
  2208. DB_ENV * dbenv;
  2209. int pct;
  2210. int * nwrotep;
  2211. {
  2212. COMPQUIET(pct, 0);
  2213. COMPQUIET(nwrotep, 0);
  2214. return (__dbcl_rpc_illegal(dbenv, "memp_trickle"));
  2215. }
  2216. #endif /* HAVE_RPC */