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

MySQL数据库

开发平台:

Visual C++

  1. #include "db_config.h"
  2. #ifdef HAVE_RPC
  3. /*
  4.  * Please do not edit this file.
  5.  * It was generated using rpcgen.
  6.  */
  7. #include "../rpc_server/db_server.h"
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <rpc/pmap_clnt.h>
  11. #include <string.h>
  12. #include <memory.h>
  13. #include <sys/socket.h>
  14. #include <netinet/in.h>
  15. extern void __dbsrv_timeout();
  16. #ifndef SIG_PF
  17. #define SIG_PF void(*)(int)
  18. #endif
  19. static void
  20. db_serverprog_1(struct svc_req *rqstp, register SVCXPRT *transp)
  21. {
  22. union {
  23. __env_cachesize_msg __db_env_cachesize_1_arg;
  24. __env_close_msg __db_env_close_1_arg;
  25. __env_create_msg __db_env_create_1_arg;
  26. __env_flags_msg __db_env_flags_1_arg;
  27. __env_open_msg __db_env_open_1_arg;
  28. __env_remove_msg __db_env_remove_1_arg;
  29. __txn_abort_msg __db_txn_abort_1_arg;
  30. __txn_begin_msg __db_txn_begin_1_arg;
  31. __txn_commit_msg __db_txn_commit_1_arg;
  32. __db_bt_maxkey_msg __db_db_bt_maxkey_1_arg;
  33. __db_bt_minkey_msg __db_db_bt_minkey_1_arg;
  34. __db_close_msg __db_db_close_1_arg;
  35. __db_create_msg __db_db_create_1_arg;
  36. __db_del_msg __db_db_del_1_arg;
  37. __db_extentsize_msg __db_db_extentsize_1_arg;
  38. __db_flags_msg __db_db_flags_1_arg;
  39. __db_get_msg __db_db_get_1_arg;
  40. __db_h_ffactor_msg __db_db_h_ffactor_1_arg;
  41. __db_h_nelem_msg __db_db_h_nelem_1_arg;
  42. __db_key_range_msg __db_db_key_range_1_arg;
  43. __db_lorder_msg __db_db_lorder_1_arg;
  44. __db_open_msg __db_db_open_1_arg;
  45. __db_pagesize_msg __db_db_pagesize_1_arg;
  46. __db_put_msg __db_db_put_1_arg;
  47. __db_re_delim_msg __db_db_re_delim_1_arg;
  48. __db_re_len_msg __db_db_re_len_1_arg;
  49. __db_re_pad_msg __db_db_re_pad_1_arg;
  50. __db_remove_msg __db_db_remove_1_arg;
  51. __db_rename_msg __db_db_rename_1_arg;
  52. __db_stat_msg __db_db_stat_1_arg;
  53. __db_swapped_msg __db_db_swapped_1_arg;
  54. __db_sync_msg __db_db_sync_1_arg;
  55. __db_cursor_msg __db_db_cursor_1_arg;
  56. __db_join_msg __db_db_join_1_arg;
  57. __dbc_close_msg __db_dbc_close_1_arg;
  58. __dbc_count_msg __db_dbc_count_1_arg;
  59. __dbc_del_msg __db_dbc_del_1_arg;
  60. __dbc_dup_msg __db_dbc_dup_1_arg;
  61. __dbc_get_msg __db_dbc_get_1_arg;
  62. __dbc_put_msg __db_dbc_put_1_arg;
  63. } argument;
  64. char *result;
  65. xdrproc_t _xdr_argument, _xdr_result;
  66. char *(*local)(char *, struct svc_req *);
  67. switch (rqstp->rq_proc) {
  68. case NULLPROC:
  69. (void) svc_sendreply (transp, (xdrproc_t) xdr_void, (char *)NULL);
  70. return;
  71. case __DB_env_cachesize:
  72. _xdr_argument = (xdrproc_t) xdr___env_cachesize_msg;
  73. _xdr_result = (xdrproc_t) xdr___env_cachesize_reply;
  74. local = (char *(*)(char *, struct svc_req *)) __db_env_cachesize_1_svc;
  75. break;
  76. case __DB_env_close:
  77. _xdr_argument = (xdrproc_t) xdr___env_close_msg;
  78. _xdr_result = (xdrproc_t) xdr___env_close_reply;
  79. local = (char *(*)(char *, struct svc_req *)) __db_env_close_1_svc;
  80. break;
  81. case __DB_env_create:
  82. _xdr_argument = (xdrproc_t) xdr___env_create_msg;
  83. _xdr_result = (xdrproc_t) xdr___env_create_reply;
  84. local = (char *(*)(char *, struct svc_req *)) __db_env_create_1_svc;
  85. break;
  86. case __DB_env_flags:
  87. _xdr_argument = (xdrproc_t) xdr___env_flags_msg;
  88. _xdr_result = (xdrproc_t) xdr___env_flags_reply;
  89. local = (char *(*)(char *, struct svc_req *)) __db_env_flags_1_svc;
  90. break;
  91. case __DB_env_open:
  92. _xdr_argument = (xdrproc_t) xdr___env_open_msg;
  93. _xdr_result = (xdrproc_t) xdr___env_open_reply;
  94. local = (char *(*)(char *, struct svc_req *)) __db_env_open_1_svc;
  95. break;
  96. case __DB_env_remove:
  97. _xdr_argument = (xdrproc_t) xdr___env_remove_msg;
  98. _xdr_result = (xdrproc_t) xdr___env_remove_reply;
  99. local = (char *(*)(char *, struct svc_req *)) __db_env_remove_1_svc;
  100. break;
  101. case __DB_txn_abort:
  102. _xdr_argument = (xdrproc_t) xdr___txn_abort_msg;
  103. _xdr_result = (xdrproc_t) xdr___txn_abort_reply;
  104. local = (char *(*)(char *, struct svc_req *)) __db_txn_abort_1_svc;
  105. break;
  106. case __DB_txn_begin:
  107. _xdr_argument = (xdrproc_t) xdr___txn_begin_msg;
  108. _xdr_result = (xdrproc_t) xdr___txn_begin_reply;
  109. local = (char *(*)(char *, struct svc_req *)) __db_txn_begin_1_svc;
  110. break;
  111. case __DB_txn_commit:
  112. _xdr_argument = (xdrproc_t) xdr___txn_commit_msg;
  113. _xdr_result = (xdrproc_t) xdr___txn_commit_reply;
  114. local = (char *(*)(char *, struct svc_req *)) __db_txn_commit_1_svc;
  115. break;
  116. case __DB_db_bt_maxkey:
  117. _xdr_argument = (xdrproc_t) xdr___db_bt_maxkey_msg;
  118. _xdr_result = (xdrproc_t) xdr___db_bt_maxkey_reply;
  119. local = (char *(*)(char *, struct svc_req *)) __db_db_bt_maxkey_1_svc;
  120. break;
  121. case __DB_db_bt_minkey:
  122. _xdr_argument = (xdrproc_t) xdr___db_bt_minkey_msg;
  123. _xdr_result = (xdrproc_t) xdr___db_bt_minkey_reply;
  124. local = (char *(*)(char *, struct svc_req *)) __db_db_bt_minkey_1_svc;
  125. break;
  126. case __DB_db_close:
  127. _xdr_argument = (xdrproc_t) xdr___db_close_msg;
  128. _xdr_result = (xdrproc_t) xdr___db_close_reply;
  129. local = (char *(*)(char *, struct svc_req *)) __db_db_close_1_svc;
  130. break;
  131. case __DB_db_create:
  132. _xdr_argument = (xdrproc_t) xdr___db_create_msg;
  133. _xdr_result = (xdrproc_t) xdr___db_create_reply;
  134. local = (char *(*)(char *, struct svc_req *)) __db_db_create_1_svc;
  135. break;
  136. case __DB_db_del:
  137. _xdr_argument = (xdrproc_t) xdr___db_del_msg;
  138. _xdr_result = (xdrproc_t) xdr___db_del_reply;
  139. local = (char *(*)(char *, struct svc_req *)) __db_db_del_1_svc;
  140. break;
  141. case __DB_db_extentsize:
  142. _xdr_argument = (xdrproc_t) xdr___db_extentsize_msg;
  143. _xdr_result = (xdrproc_t) xdr___db_extentsize_reply;
  144. local = (char *(*)(char *, struct svc_req *)) __db_db_extentsize_1_svc;
  145. break;
  146. case __DB_db_flags:
  147. _xdr_argument = (xdrproc_t) xdr___db_flags_msg;
  148. _xdr_result = (xdrproc_t) xdr___db_flags_reply;
  149. local = (char *(*)(char *, struct svc_req *)) __db_db_flags_1_svc;
  150. break;
  151. case __DB_db_get:
  152. _xdr_argument = (xdrproc_t) xdr___db_get_msg;
  153. _xdr_result = (xdrproc_t) xdr___db_get_reply;
  154. local = (char *(*)(char *, struct svc_req *)) __db_db_get_1_svc;
  155. break;
  156. case __DB_db_h_ffactor:
  157. _xdr_argument = (xdrproc_t) xdr___db_h_ffactor_msg;
  158. _xdr_result = (xdrproc_t) xdr___db_h_ffactor_reply;
  159. local = (char *(*)(char *, struct svc_req *)) __db_db_h_ffactor_1_svc;
  160. break;
  161. case __DB_db_h_nelem:
  162. _xdr_argument = (xdrproc_t) xdr___db_h_nelem_msg;
  163. _xdr_result = (xdrproc_t) xdr___db_h_nelem_reply;
  164. local = (char *(*)(char *, struct svc_req *)) __db_db_h_nelem_1_svc;
  165. break;
  166. case __DB_db_key_range:
  167. _xdr_argument = (xdrproc_t) xdr___db_key_range_msg;
  168. _xdr_result = (xdrproc_t) xdr___db_key_range_reply;
  169. local = (char *(*)(char *, struct svc_req *)) __db_db_key_range_1_svc;
  170. break;
  171. case __DB_db_lorder:
  172. _xdr_argument = (xdrproc_t) xdr___db_lorder_msg;
  173. _xdr_result = (xdrproc_t) xdr___db_lorder_reply;
  174. local = (char *(*)(char *, struct svc_req *)) __db_db_lorder_1_svc;
  175. break;
  176. case __DB_db_open:
  177. _xdr_argument = (xdrproc_t) xdr___db_open_msg;
  178. _xdr_result = (xdrproc_t) xdr___db_open_reply;
  179. local = (char *(*)(char *, struct svc_req *)) __db_db_open_1_svc;
  180. break;
  181. case __DB_db_pagesize:
  182. _xdr_argument = (xdrproc_t) xdr___db_pagesize_msg;
  183. _xdr_result = (xdrproc_t) xdr___db_pagesize_reply;
  184. local = (char *(*)(char *, struct svc_req *)) __db_db_pagesize_1_svc;
  185. break;
  186. case __DB_db_put:
  187. _xdr_argument = (xdrproc_t) xdr___db_put_msg;
  188. _xdr_result = (xdrproc_t) xdr___db_put_reply;
  189. local = (char *(*)(char *, struct svc_req *)) __db_db_put_1_svc;
  190. break;
  191. case __DB_db_re_delim:
  192. _xdr_argument = (xdrproc_t) xdr___db_re_delim_msg;
  193. _xdr_result = (xdrproc_t) xdr___db_re_delim_reply;
  194. local = (char *(*)(char *, struct svc_req *)) __db_db_re_delim_1_svc;
  195. break;
  196. case __DB_db_re_len:
  197. _xdr_argument = (xdrproc_t) xdr___db_re_len_msg;
  198. _xdr_result = (xdrproc_t) xdr___db_re_len_reply;
  199. local = (char *(*)(char *, struct svc_req *)) __db_db_re_len_1_svc;
  200. break;
  201. case __DB_db_re_pad:
  202. _xdr_argument = (xdrproc_t) xdr___db_re_pad_msg;
  203. _xdr_result = (xdrproc_t) xdr___db_re_pad_reply;
  204. local = (char *(*)(char *, struct svc_req *)) __db_db_re_pad_1_svc;
  205. break;
  206. case __DB_db_remove:
  207. _xdr_argument = (xdrproc_t) xdr___db_remove_msg;
  208. _xdr_result = (xdrproc_t) xdr___db_remove_reply;
  209. local = (char *(*)(char *, struct svc_req *)) __db_db_remove_1_svc;
  210. break;
  211. case __DB_db_rename:
  212. _xdr_argument = (xdrproc_t) xdr___db_rename_msg;
  213. _xdr_result = (xdrproc_t) xdr___db_rename_reply;
  214. local = (char *(*)(char *, struct svc_req *)) __db_db_rename_1_svc;
  215. break;
  216. case __DB_db_stat:
  217. _xdr_argument = (xdrproc_t) xdr___db_stat_msg;
  218. _xdr_result = (xdrproc_t) xdr___db_stat_reply;
  219. local = (char *(*)(char *, struct svc_req *)) __db_db_stat_1_svc;
  220. break;
  221. case __DB_db_swapped:
  222. _xdr_argument = (xdrproc_t) xdr___db_swapped_msg;
  223. _xdr_result = (xdrproc_t) xdr___db_swapped_reply;
  224. local = (char *(*)(char *, struct svc_req *)) __db_db_swapped_1_svc;
  225. break;
  226. case __DB_db_sync:
  227. _xdr_argument = (xdrproc_t) xdr___db_sync_msg;
  228. _xdr_result = (xdrproc_t) xdr___db_sync_reply;
  229. local = (char *(*)(char *, struct svc_req *)) __db_db_sync_1_svc;
  230. break;
  231. case __DB_db_cursor:
  232. _xdr_argument = (xdrproc_t) xdr___db_cursor_msg;
  233. _xdr_result = (xdrproc_t) xdr___db_cursor_reply;
  234. local = (char *(*)(char *, struct svc_req *)) __db_db_cursor_1_svc;
  235. break;
  236. case __DB_db_join:
  237. _xdr_argument = (xdrproc_t) xdr___db_join_msg;
  238. _xdr_result = (xdrproc_t) xdr___db_join_reply;
  239. local = (char *(*)(char *, struct svc_req *)) __db_db_join_1_svc;
  240. break;
  241. case __DB_dbc_close:
  242. _xdr_argument = (xdrproc_t) xdr___dbc_close_msg;
  243. _xdr_result = (xdrproc_t) xdr___dbc_close_reply;
  244. local = (char *(*)(char *, struct svc_req *)) __db_dbc_close_1_svc;
  245. break;
  246. case __DB_dbc_count:
  247. _xdr_argument = (xdrproc_t) xdr___dbc_count_msg;
  248. _xdr_result = (xdrproc_t) xdr___dbc_count_reply;
  249. local = (char *(*)(char *, struct svc_req *)) __db_dbc_count_1_svc;
  250. break;
  251. case __DB_dbc_del:
  252. _xdr_argument = (xdrproc_t) xdr___dbc_del_msg;
  253. _xdr_result = (xdrproc_t) xdr___dbc_del_reply;
  254. local = (char *(*)(char *, struct svc_req *)) __db_dbc_del_1_svc;
  255. break;
  256. case __DB_dbc_dup:
  257. _xdr_argument = (xdrproc_t) xdr___dbc_dup_msg;
  258. _xdr_result = (xdrproc_t) xdr___dbc_dup_reply;
  259. local = (char *(*)(char *, struct svc_req *)) __db_dbc_dup_1_svc;
  260. break;
  261. case __DB_dbc_get:
  262. _xdr_argument = (xdrproc_t) xdr___dbc_get_msg;
  263. _xdr_result = (xdrproc_t) xdr___dbc_get_reply;
  264. local = (char *(*)(char *, struct svc_req *)) __db_dbc_get_1_svc;
  265. break;
  266. case __DB_dbc_put:
  267. _xdr_argument = (xdrproc_t) xdr___dbc_put_msg;
  268. _xdr_result = (xdrproc_t) xdr___dbc_put_reply;
  269. local = (char *(*)(char *, struct svc_req *)) __db_dbc_put_1_svc;
  270. break;
  271. default:
  272. svcerr_noproc (transp);
  273. return;
  274. }
  275. memset ((char *)&argument, 0, sizeof (argument));
  276. if (!svc_getargs (transp, _xdr_argument, (caddr_t) &argument)) {
  277. svcerr_decode (transp);
  278. return;
  279. }
  280. result = (*local)((char *)&argument, rqstp);
  281. if (result != NULL && !svc_sendreply(transp, _xdr_result, result)) {
  282. svcerr_systemerr (transp);
  283. }
  284. if (!svc_freeargs (transp, _xdr_argument, (caddr_t) &argument)) {
  285. fprintf (stderr, "unable to free arguments");
  286. exit (1);
  287. }
  288. __dbsrv_timeout(0);
  289. return;
  290. }
  291. int
  292. void __dbsrv_main (int argc, char **argv)
  293. {
  294. register SVCXPRT *transp;
  295. pmap_unset (DB_SERVERPROG, DB_SERVERVERS);
  296. transp = svctcp_create(RPC_ANYSOCK, 0, 0);
  297. if (transp == NULL) {
  298. fprintf (stderr, "cannot create tcp service.");
  299. exit(1);
  300. }
  301. if (!svc_register(transp, DB_SERVERPROG, DB_SERVERVERS, db_serverprog_1, IPPROTO_TCP)) {
  302. fprintf (stderr, "unable to register (DB_SERVERPROG, DB_SERVERVERS, tcp).");
  303. exit(1);
  304. }
  305. svc_run ();
  306. fprintf (stderr, "svc_run returned");
  307. exit (1);
  308. /* NOTREACHED */
  309. }
  310. #endif /* HAVE_RPC */