db_server_svc.c
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:14k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /*
  2.  * Please do not edit this file.
  3.  * It was generated using rpcgen.
  4.  */
  5. #include "../rpc_server/db_server.h"
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <rpc/pmap_clnt.h>
  9. #include <string.h>
  10. #include <memory.h>
  11. #include <sys/socket.h>
  12. #include <netinet/in.h>
  13. #endif
  14. #include "db_int.h"
  15. #include "dbinc_auto/db_server.h"
  16. #include "dbinc/db_server_int.h"
  17. #include "dbinc_auto/rpc_server_ext.h"
  18. #ifndef SIG_PF
  19. #define SIG_PF void(*)(int)
  20. #endif
  21. static void
  22. db_rpc_serverprog_4001(struct svc_req *rqstp, register SVCXPRT *transp)
  23. {
  24. union {
  25. __env_cachesize_msg __db_env_cachesize_4001_arg;
  26. __env_close_msg __db_env_close_4001_arg;
  27. __env_create_msg __db_env_create_4001_arg;
  28. __env_dbremove_msg __db_env_dbremove_4001_arg;
  29. __env_dbrename_msg __db_env_dbrename_4001_arg;
  30. __env_encrypt_msg __db_env_encrypt_4001_arg;
  31. __env_flags_msg __db_env_flags_4001_arg;
  32. __env_open_msg __db_env_open_4001_arg;
  33. __env_remove_msg __db_env_remove_4001_arg;
  34. __txn_abort_msg __db_txn_abort_4001_arg;
  35. __txn_begin_msg __db_txn_begin_4001_arg;
  36. __txn_commit_msg __db_txn_commit_4001_arg;
  37. __txn_discard_msg __db_txn_discard_4001_arg;
  38. __txn_prepare_msg __db_txn_prepare_4001_arg;
  39. __txn_recover_msg __db_txn_recover_4001_arg;
  40. __db_associate_msg __db_db_associate_4001_arg;
  41. __db_bt_maxkey_msg __db_db_bt_maxkey_4001_arg;
  42. __db_bt_minkey_msg __db_db_bt_minkey_4001_arg;
  43. __db_close_msg __db_db_close_4001_arg;
  44. __db_create_msg __db_db_create_4001_arg;
  45. __db_del_msg __db_db_del_4001_arg;
  46. __db_encrypt_msg __db_db_encrypt_4001_arg;
  47. __db_extentsize_msg __db_db_extentsize_4001_arg;
  48. __db_flags_msg __db_db_flags_4001_arg;
  49. __db_get_msg __db_db_get_4001_arg;
  50. __db_h_ffactor_msg __db_db_h_ffactor_4001_arg;
  51. __db_h_nelem_msg __db_db_h_nelem_4001_arg;
  52. __db_key_range_msg __db_db_key_range_4001_arg;
  53. __db_lorder_msg __db_db_lorder_4001_arg;
  54. __db_open_msg __db_db_open_4001_arg;
  55. __db_pagesize_msg __db_db_pagesize_4001_arg;
  56. __db_pget_msg __db_db_pget_4001_arg;
  57. __db_put_msg __db_db_put_4001_arg;
  58. __db_re_delim_msg __db_db_re_delim_4001_arg;
  59. __db_re_len_msg __db_db_re_len_4001_arg;
  60. __db_re_pad_msg __db_db_re_pad_4001_arg;
  61. __db_remove_msg __db_db_remove_4001_arg;
  62. __db_rename_msg __db_db_rename_4001_arg;
  63. __db_stat_msg __db_db_stat_4001_arg;
  64. __db_sync_msg __db_db_sync_4001_arg;
  65. __db_truncate_msg __db_db_truncate_4001_arg;
  66. __db_cursor_msg __db_db_cursor_4001_arg;
  67. __db_join_msg __db_db_join_4001_arg;
  68. __dbc_close_msg __db_dbc_close_4001_arg;
  69. __dbc_count_msg __db_dbc_count_4001_arg;
  70. __dbc_del_msg __db_dbc_del_4001_arg;
  71. __dbc_dup_msg __db_dbc_dup_4001_arg;
  72. __dbc_get_msg __db_dbc_get_4001_arg;
  73. __dbc_pget_msg __db_dbc_pget_4001_arg;
  74. __dbc_put_msg __db_dbc_put_4001_arg;
  75. } argument;
  76. char *result;
  77. xdrproc_t _xdr_argument, _xdr_result;
  78. char *(*local)(char *, struct svc_req *);
  79. switch (rqstp->rq_proc) {
  80. case NULLPROC:
  81. (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL);
  82. return;
  83. case __DB_env_cachesize:
  84. _xdr_argument = (xdrproc_t) xdr___env_cachesize_msg;
  85. _xdr_result = (xdrproc_t) xdr___env_cachesize_reply;
  86. local = (char *(*)(char *, struct svc_req *)) __db_env_cachesize_4001_svc;
  87. break;
  88. case __DB_env_close:
  89. _xdr_argument = (xdrproc_t) xdr___env_close_msg;
  90. _xdr_result = (xdrproc_t) xdr___env_close_reply;
  91. local = (char *(*)(char *, struct svc_req *)) __db_env_close_4001_svc;
  92. break;
  93. case __DB_env_create:
  94. _xdr_argument = (xdrproc_t) xdr___env_create_msg;
  95. _xdr_result = (xdrproc_t) xdr___env_create_reply;
  96. local = (char *(*)(char *, struct svc_req *)) __db_env_create_4001_svc;
  97. break;
  98. case __DB_env_dbremove:
  99. _xdr_argument = (xdrproc_t) xdr___env_dbremove_msg;
  100. _xdr_result = (xdrproc_t) xdr___env_dbremove_reply;
  101. local = (char *(*)(char *, struct svc_req *)) __db_env_dbremove_4001_svc;
  102. break;
  103. case __DB_env_dbrename:
  104. _xdr_argument = (xdrproc_t) xdr___env_dbrename_msg;
  105. _xdr_result = (xdrproc_t) xdr___env_dbrename_reply;
  106. local = (char *(*)(char *, struct svc_req *)) __db_env_dbrename_4001_svc;
  107. break;
  108. case __DB_env_encrypt:
  109. _xdr_argument = (xdrproc_t) xdr___env_encrypt_msg;
  110. _xdr_result = (xdrproc_t) xdr___env_encrypt_reply;
  111. local = (char *(*)(char *, struct svc_req *)) __db_env_encrypt_4001_svc;
  112. break;
  113. case __DB_env_flags:
  114. _xdr_argument = (xdrproc_t) xdr___env_flags_msg;
  115. _xdr_result = (xdrproc_t) xdr___env_flags_reply;
  116. local = (char *(*)(char *, struct svc_req *)) __db_env_flags_4001_svc;
  117. break;
  118. case __DB_env_open:
  119. _xdr_argument = (xdrproc_t) xdr___env_open_msg;
  120. _xdr_result = (xdrproc_t) xdr___env_open_reply;
  121. local = (char *(*)(char *, struct svc_req *)) __db_env_open_4001_svc;
  122. break;
  123. case __DB_env_remove:
  124. _xdr_argument = (xdrproc_t) xdr___env_remove_msg;
  125. _xdr_result = (xdrproc_t) xdr___env_remove_reply;
  126. local = (char *(*)(char *, struct svc_req *)) __db_env_remove_4001_svc;
  127. break;
  128. case __DB_txn_abort:
  129. _xdr_argument = (xdrproc_t) xdr___txn_abort_msg;
  130. _xdr_result = (xdrproc_t) xdr___txn_abort_reply;
  131. local = (char *(*)(char *, struct svc_req *)) __db_txn_abort_4001_svc;
  132. break;
  133. case __DB_txn_begin:
  134. _xdr_argument = (xdrproc_t) xdr___txn_begin_msg;
  135. _xdr_result = (xdrproc_t) xdr___txn_begin_reply;
  136. local = (char *(*)(char *, struct svc_req *)) __db_txn_begin_4001_svc;
  137. break;
  138. case __DB_txn_commit:
  139. _xdr_argument = (xdrproc_t) xdr___txn_commit_msg;
  140. _xdr_result = (xdrproc_t) xdr___txn_commit_reply;
  141. local = (char *(*)(char *, struct svc_req *)) __db_txn_commit_4001_svc;
  142. break;
  143. case __DB_txn_discard:
  144. _xdr_argument = (xdrproc_t) xdr___txn_discard_msg;
  145. _xdr_result = (xdrproc_t) xdr___txn_discard_reply;
  146. local = (char *(*)(char *, struct svc_req *)) __db_txn_discard_4001_svc;
  147. break;
  148. case __DB_txn_prepare:
  149. _xdr_argument = (xdrproc_t) xdr___txn_prepare_msg;
  150. _xdr_result = (xdrproc_t) xdr___txn_prepare_reply;
  151. local = (char *(*)(char *, struct svc_req *)) __db_txn_prepare_4001_svc;
  152. break;
  153. case __DB_txn_recover:
  154. _xdr_argument = (xdrproc_t) xdr___txn_recover_msg;
  155. _xdr_result = (xdrproc_t) xdr___txn_recover_reply;
  156. local = (char *(*)(char *, struct svc_req *)) __db_txn_recover_4001_svc;
  157. break;
  158. case __DB_db_associate:
  159. _xdr_argument = (xdrproc_t) xdr___db_associate_msg;
  160. _xdr_result = (xdrproc_t) xdr___db_associate_reply;
  161. local = (char *(*)(char *, struct svc_req *)) __db_db_associate_4001_svc;
  162. break;
  163. case __DB_db_bt_maxkey:
  164. _xdr_argument = (xdrproc_t) xdr___db_bt_maxkey_msg;
  165. _xdr_result = (xdrproc_t) xdr___db_bt_maxkey_reply;
  166. local = (char *(*)(char *, struct svc_req *)) __db_db_bt_maxkey_4001_svc;
  167. break;
  168. case __DB_db_bt_minkey:
  169. _xdr_argument = (xdrproc_t) xdr___db_bt_minkey_msg;
  170. _xdr_result = (xdrproc_t) xdr___db_bt_minkey_reply;
  171. local = (char *(*)(char *, struct svc_req *)) __db_db_bt_minkey_4001_svc;
  172. break;
  173. case __DB_db_close:
  174. _xdr_argument = (xdrproc_t) xdr___db_close_msg;
  175. _xdr_result = (xdrproc_t) xdr___db_close_reply;
  176. local = (char *(*)(char *, struct svc_req *)) __db_db_close_4001_svc;
  177. break;
  178. case __DB_db_create:
  179. _xdr_argument = (xdrproc_t) xdr___db_create_msg;
  180. _xdr_result = (xdrproc_t) xdr___db_create_reply;
  181. local = (char *(*)(char *, struct svc_req *)) __db_db_create_4001_svc;
  182. break;
  183. case __DB_db_del:
  184. _xdr_argument = (xdrproc_t) xdr___db_del_msg;
  185. _xdr_result = (xdrproc_t) xdr___db_del_reply;
  186. local = (char *(*)(char *, struct svc_req *)) __db_db_del_4001_svc;
  187. break;
  188. case __DB_db_encrypt:
  189. _xdr_argument = (xdrproc_t) xdr___db_encrypt_msg;
  190. _xdr_result = (xdrproc_t) xdr___db_encrypt_reply;
  191. local = (char *(*)(char *, struct svc_req *)) __db_db_encrypt_4001_svc;
  192. break;
  193. case __DB_db_extentsize:
  194. _xdr_argument = (xdrproc_t) xdr___db_extentsize_msg;
  195. _xdr_result = (xdrproc_t) xdr___db_extentsize_reply;
  196. local = (char *(*)(char *, struct svc_req *)) __db_db_extentsize_4001_svc;
  197. break;
  198. case __DB_db_flags:
  199. _xdr_argument = (xdrproc_t) xdr___db_flags_msg;
  200. _xdr_result = (xdrproc_t) xdr___db_flags_reply;
  201. local = (char *(*)(char *, struct svc_req *)) __db_db_flags_4001_svc;
  202. break;
  203. case __DB_db_get:
  204. _xdr_argument = (xdrproc_t) xdr___db_get_msg;
  205. _xdr_result = (xdrproc_t) xdr___db_get_reply;
  206. local = (char *(*)(char *, struct svc_req *)) __db_db_get_4001_svc;
  207. break;
  208. case __DB_db_h_ffactor:
  209. _xdr_argument = (xdrproc_t) xdr___db_h_ffactor_msg;
  210. _xdr_result = (xdrproc_t) xdr___db_h_ffactor_reply;
  211. local = (char *(*)(char *, struct svc_req *)) __db_db_h_ffactor_4001_svc;
  212. break;
  213. case __DB_db_h_nelem:
  214. _xdr_argument = (xdrproc_t) xdr___db_h_nelem_msg;
  215. _xdr_result = (xdrproc_t) xdr___db_h_nelem_reply;
  216. local = (char *(*)(char *, struct svc_req *)) __db_db_h_nelem_4001_svc;
  217. break;
  218. case __DB_db_key_range:
  219. _xdr_argument = (xdrproc_t) xdr___db_key_range_msg;
  220. _xdr_result = (xdrproc_t) xdr___db_key_range_reply;
  221. local = (char *(*)(char *, struct svc_req *)) __db_db_key_range_4001_svc;
  222. break;
  223. case __DB_db_lorder:
  224. _xdr_argument = (xdrproc_t) xdr___db_lorder_msg;
  225. _xdr_result = (xdrproc_t) xdr___db_lorder_reply;
  226. local = (char *(*)(char *, struct svc_req *)) __db_db_lorder_4001_svc;
  227. break;
  228. case __DB_db_open:
  229. _xdr_argument = (xdrproc_t) xdr___db_open_msg;
  230. _xdr_result = (xdrproc_t) xdr___db_open_reply;
  231. local = (char *(*)(char *, struct svc_req *)) __db_db_open_4001_svc;
  232. break;
  233. case __DB_db_pagesize:
  234. _xdr_argument = (xdrproc_t) xdr___db_pagesize_msg;
  235. _xdr_result = (xdrproc_t) xdr___db_pagesize_reply;
  236. local = (char *(*)(char *, struct svc_req *)) __db_db_pagesize_4001_svc;
  237. break;
  238. case __DB_db_pget:
  239. _xdr_argument = (xdrproc_t) xdr___db_pget_msg;
  240. _xdr_result = (xdrproc_t) xdr___db_pget_reply;
  241. local = (char *(*)(char *, struct svc_req *)) __db_db_pget_4001_svc;
  242. break;
  243. case __DB_db_put:
  244. _xdr_argument = (xdrproc_t) xdr___db_put_msg;
  245. _xdr_result = (xdrproc_t) xdr___db_put_reply;
  246. local = (char *(*)(char *, struct svc_req *)) __db_db_put_4001_svc;
  247. break;
  248. case __DB_db_re_delim:
  249. _xdr_argument = (xdrproc_t) xdr___db_re_delim_msg;
  250. _xdr_result = (xdrproc_t) xdr___db_re_delim_reply;
  251. local = (char *(*)(char *, struct svc_req *)) __db_db_re_delim_4001_svc;
  252. break;
  253. case __DB_db_re_len:
  254. _xdr_argument = (xdrproc_t) xdr___db_re_len_msg;
  255. _xdr_result = (xdrproc_t) xdr___db_re_len_reply;
  256. local = (char *(*)(char *, struct svc_req *)) __db_db_re_len_4001_svc;
  257. break;
  258. case __DB_db_re_pad:
  259. _xdr_argument = (xdrproc_t) xdr___db_re_pad_msg;
  260. _xdr_result = (xdrproc_t) xdr___db_re_pad_reply;
  261. local = (char *(*)(char *, struct svc_req *)) __db_db_re_pad_4001_svc;
  262. break;
  263. case __DB_db_remove:
  264. _xdr_argument = (xdrproc_t) xdr___db_remove_msg;
  265. _xdr_result = (xdrproc_t) xdr___db_remove_reply;
  266. local = (char *(*)(char *, struct svc_req *)) __db_db_remove_4001_svc;
  267. break;
  268. case __DB_db_rename:
  269. _xdr_argument = (xdrproc_t) xdr___db_rename_msg;
  270. _xdr_result = (xdrproc_t) xdr___db_rename_reply;
  271. local = (char *(*)(char *, struct svc_req *)) __db_db_rename_4001_svc;
  272. break;
  273. case __DB_db_stat:
  274. _xdr_argument = (xdrproc_t) xdr___db_stat_msg;
  275. _xdr_result = (xdrproc_t) xdr___db_stat_reply;
  276. local = (char *(*)(char *, struct svc_req *)) __db_db_stat_4001_svc;
  277. break;
  278. case __DB_db_sync:
  279. _xdr_argument = (xdrproc_t) xdr___db_sync_msg;
  280. _xdr_result = (xdrproc_t) xdr___db_sync_reply;
  281. local = (char *(*)(char *, struct svc_req *)) __db_db_sync_4001_svc;
  282. break;
  283. case __DB_db_truncate:
  284. _xdr_argument = (xdrproc_t) xdr___db_truncate_msg;
  285. _xdr_result = (xdrproc_t) xdr___db_truncate_reply;
  286. local = (char *(*)(char *, struct svc_req *)) __db_db_truncate_4001_svc;
  287. break;
  288. case __DB_db_cursor:
  289. _xdr_argument = (xdrproc_t) xdr___db_cursor_msg;
  290. _xdr_result = (xdrproc_t) xdr___db_cursor_reply;
  291. local = (char *(*)(char *, struct svc_req *)) __db_db_cursor_4001_svc;
  292. break;
  293. case __DB_db_join:
  294. _xdr_argument = (xdrproc_t) xdr___db_join_msg;
  295. _xdr_result = (xdrproc_t) xdr___db_join_reply;
  296. local = (char *(*)(char *, struct svc_req *)) __db_db_join_4001_svc;
  297. break;
  298. case __DB_dbc_close:
  299. _xdr_argument = (xdrproc_t) xdr___dbc_close_msg;
  300. _xdr_result = (xdrproc_t) xdr___dbc_close_reply;
  301. local = (char *(*)(char *, struct svc_req *)) __db_dbc_close_4001_svc;
  302. break;
  303. case __DB_dbc_count:
  304. _xdr_argument = (xdrproc_t) xdr___dbc_count_msg;
  305. _xdr_result = (xdrproc_t) xdr___dbc_count_reply;
  306. local = (char *(*)(char *, struct svc_req *)) __db_dbc_count_4001_svc;
  307. break;
  308. case __DB_dbc_del:
  309. _xdr_argument = (xdrproc_t) xdr___dbc_del_msg;
  310. _xdr_result = (xdrproc_t) xdr___dbc_del_reply;
  311. local = (char *(*)(char *, struct svc_req *)) __db_dbc_del_4001_svc;
  312. break;
  313. case __DB_dbc_dup:
  314. _xdr_argument = (xdrproc_t) xdr___dbc_dup_msg;
  315. _xdr_result = (xdrproc_t) xdr___dbc_dup_reply;
  316. local = (char *(*)(char *, struct svc_req *)) __db_dbc_dup_4001_svc;
  317. break;
  318. case __DB_dbc_get:
  319. _xdr_argument = (xdrproc_t) xdr___dbc_get_msg;
  320. _xdr_result = (xdrproc_t) xdr___dbc_get_reply;
  321. local = (char *(*)(char *, struct svc_req *)) __db_dbc_get_4001_svc;
  322. break;
  323. case __DB_dbc_pget:
  324. _xdr_argument = (xdrproc_t) xdr___dbc_pget_msg;
  325. _xdr_result = (xdrproc_t) xdr___dbc_pget_reply;
  326. local = (char *(*)(char *, struct svc_req *)) __db_dbc_pget_4001_svc;
  327. break;
  328. case __DB_dbc_put:
  329. _xdr_argument = (xdrproc_t) xdr___dbc_put_msg;
  330. _xdr_result = (xdrproc_t) xdr___dbc_put_reply;
  331. local = (char *(*)(char *, struct svc_req *)) __db_dbc_put_4001_svc;
  332. break;
  333. default:
  334. svcerr_noproc (transp);
  335. return;
  336. }
  337. memset ((char *)&argument, 0, sizeof (argument));
  338. if (!svc_getargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) {
  339. svcerr_decode (transp);
  340. return;
  341. }
  342. result = (*local)((char *)&argument, rqstp);
  343. if (result != NULL && !svc_sendreply(transp, (xdrproc_t) _xdr_result, result)) {
  344. svcerr_systemerr (transp);
  345. }
  346. if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) {
  347. fprintf (stderr, "%s", "unable to free arguments");
  348. exit (1);
  349. }
  350. __dbsrv_timeout(0);
  351. return;
  352. }
  353. int
  354. void __dbsrv_main (int argc, char **argv)
  355. {
  356. register SVCXPRT *transp;
  357. pmap_unset (DB_RPC_SERVERPROG, DB_RPC_SERVERVERS);
  358. transp = svctcp_create(RPC_ANYSOCK, 0, 0);
  359. if (transp == NULL) {
  360. fprintf (stderr, "%s", "cannot create tcp service.");
  361. exit(1);
  362. }
  363. if (!svc_register(transp, DB_RPC_SERVERPROG, DB_RPC_SERVERVERS, db_rpc_serverprog_4001, IPPROTO_TCP)) {
  364. fprintf (stderr, "%s", "unable to register (DB_RPC_SERVERPROG, DB_RPC_SERVERVERS, tcp).");
  365. exit(1);
  366. }
  367. svc_run ();
  368. fprintf (stderr, "%s", "svc_run returned");
  369. exit (1);
  370. /* NOTREACHED */
  371. }