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

MySQL数据库

开发平台:

Visual C++

  1. #
  2. # $Id: rpc.src,v 1.30 2000/12/20 21:53:05 ubell Exp $
  3. # Syntax:
  4. # BEGIN function_name  RPC # {CODE | NOCLNTCODE | RETCODE | NOFUNC}
  5. # CODE: generate XDR and client code, return status
  6. # Used for functions that just return a status and nothing else.
  7. # RETCODE:generate XDR and client code, call return function
  8. # (generate template return function)
  9. # Used for functions that returns data.
  10. # NOCLNTCODE: generate only XDR and server functions
  11. # Used for functions that are "different" on the client.
  12. # Primarily used for envcreate (which is called from
  13. # the dbenv->set_server method on the client side) and
  14. # dbcreate, which is called from non-generated code.
  15. # NOFUNC: generate a client "unsupported function" with right args
  16. # Used for unsupported functions.
  17. #
  18. # ARG {IGNORE | STRING | INT | DBT | LIST | ID | CONST}  C-type varname
  19. # IGNORE: not passed to server
  20. # STRING: string passed to server
  21. # DBT: DBT arg passed to server
  22. # LIST: opaque list passed to server (NULL-terminated opaque list)
  23. # INT: integer passed to server
  24. # ID: cl_id from arg passed to server
  25. # CONST:  do not generate COMPQUIET (for NOFUNC only)
  26. # FUNCPROT prototype
  27. # FUNCARG functiontype
  28. # These two *MUST* go together and FUNCPROT *MUST* be first.  These
  29. # are for the tricky user-supplied functions to some methods.  They
  30. # are not supported in RPC, so will be ignored, but the complicated
  31. # syntax of their argument requires we have a special flag for them
  32. # that contains the verbatim text to use in the prototype and the
  33. # c-type, respectively.  The FUNCARG must include the function, and
  34. # must call it 'funcN', where N is the count of functions.  Almost
  35. # always it must be func0.  A *very* few methods have more than one
  36. # user-supplied functions, in those cases, it must be func0, func1, etc.
  37. #
  38. # All messages automatically return "status" and return that from
  39. # the call to the function.  RET's are additional things the server
  40. # may return.  RET is like ARG but does not need the IGNORE option.
  41. # RET {STRING | INT | DBT | LIST | ID} varname [STRING | INT | ID]
  42. # STRING: string from server
  43. # DBT: DBT arg from server
  44. # LIST: opaque list from server (NULL-terminated opaque list)
  45. #   Must have list type of STRING, ID or INT specified
  46. # INT: integer from server
  47. # ID: id from server stored in cl_id
  48. # END function end.
  49. #
  50. # Environment functions
  51. #
  52. BEGIN env_cachesize 1 CODE
  53. ARG ID DB_ENV * dbenv
  54. ARG INT u_int32_t gbytes
  55. ARG INT u_int32_t bytes
  56. ARG INT int ncache
  57. END
  58. BEGIN env_close 1 RETCODE
  59. ARG ID DB_ENV * dbenv
  60. ARG INT u_int32_t flags
  61. END
  62. BEGIN env_create 1 NOCLNTCODE
  63. ARG INT long timeout
  64. RET ID long env
  65. END
  66. BEGIN set_data_dir 1 NOFUNC
  67. ARG ID DB_ENV * dbenv
  68. ARG STRING const char * dir
  69. END
  70. BEGIN env_set_feedback 1 NOFUNC
  71. ARG ID DB_ENV * dbenv
  72. FUNCPROT void (*)(DB_ENV *, int, int)
  73. FUNCARG void (*func0) __P((DB_ENV *, int, int))
  74. END
  75. BEGIN env_flags 1 CODE
  76. ARG ID DB_ENV * dbenv
  77. ARG INT u_int32_t flags
  78. ARG INT int onoff
  79. END
  80. BEGIN set_lg_bsize 1 NOFUNC
  81. ARG ID DB_ENV * dbenv
  82. ARG INT u_int32_t bsize
  83. END
  84. BEGIN set_lg_dir 1 NOFUNC
  85. ARG ID DB_ENV * dbenv
  86. ARG STRING const char * dir
  87. END
  88. BEGIN set_lg_max 1 NOFUNC
  89. ARG ID DB_ENV * dbenv
  90. ARG INT u_int32_t max
  91. END
  92. BEGIN set_lk_conflict 1 NOFUNC
  93. ARG ID DB_ENV * dbenv
  94. ARG INT u_int8_t * conflicts
  95. ARG INT int modes
  96. END
  97. BEGIN set_lk_detect 1 NOFUNC
  98. ARG ID DB_ENV * dbenv
  99. ARG INT u_int32_t detect
  100. END
  101. BEGIN set_lk_max 1 NOFUNC
  102. ARG ID DB_ENV * dbenv
  103. ARG INT u_int32_t max
  104. END
  105. BEGIN set_lk_max_locks 1 NOFUNC
  106. ARG ID DB_ENV * dbenv
  107. ARG INT u_int32_t max
  108. END
  109. BEGIN set_lk_max_lockers 1 NOFUNC
  110. ARG ID DB_ENV * dbenv
  111. ARG INT u_int32_t max
  112. END
  113. BEGIN set_lk_max_objects 1 NOFUNC
  114. ARG ID DB_ENV * dbenv
  115. ARG INT u_int32_t max
  116. END
  117. BEGIN set_mp_mmapsize 1 NOFUNC
  118. ARG ID DB_ENV * dbenv
  119. ARG INT size_t mmapsize
  120. END
  121. BEGIN set_mutex_locks 1 NOFUNC
  122. ARG ID DB_ENV * dbenv
  123. ARG INT int do_lock
  124. END
  125. BEGIN env_open 1 RETCODE
  126. ARG ID DB_ENV * dbenv
  127. ARG STRING const char * home
  128. ARG INT u_int32_t flags
  129. ARG INT int mode
  130. END
  131. BEGIN env_paniccall 1 NOFUNC
  132. ARG ID DB_ENV * dbenv
  133. FUNCPROT void (*)(DB_ENV *, int)
  134. FUNCARG void (*func0) __P((DB_ENV *, int))
  135. END
  136. BEGIN set_recovery_init 1 NOFUNC
  137. ARG ID DB_ENV * dbenv
  138. FUNCPROT int (*)(DB_ENV *)
  139. FUNCARG int (*func0) __P((DB_ENV *))
  140. END
  141. BEGIN env_remove 1 RETCODE
  142. ARG ID DB_ENV * dbenv
  143. ARG STRING const char * home
  144. ARG INT u_int32_t flags
  145. END
  146. BEGIN set_shm_key 1 NOFUNC
  147. ARG ID DB_ENV * dbenv
  148. ARG INT long shm_key
  149. END
  150. BEGIN set_tmp_dir 1 NOFUNC
  151. ARG ID DB_ENV * dbenv
  152. ARG STRING const char * dir
  153. END
  154. BEGIN set_tx_recover 1 NOFUNC
  155. ARG ID DB_ENV * dbenv
  156. FUNCPROT int (*)(DB_ENV *, DBT *, DB_LSN *, db_recops)
  157. FUNCARG int (*func0) __P((DB_ENV *, DBT *, DB_LSN *, db_recops))
  158. END
  159. BEGIN set_tx_max 1 NOFUNC
  160. ARG ID DB_ENV * dbenv
  161. ARG INT u_int32_t max
  162. END
  163. BEGIN set_tx_timestamp 1 NOFUNC
  164. ARG ID DB_ENV * dbenv
  165. ARG INT time_t * max
  166. END
  167. BEGIN set_verbose 1 NOFUNC
  168. ARG ID DB_ENV * dbenv
  169. ARG INT u_int32_t which
  170. ARG INT int onoff
  171. END
  172. #
  173. # Transaction functions
  174. #
  175. BEGIN txn_abort 1 RETCODE
  176. ARG ID DB_TXN * txnp
  177. END
  178. BEGIN txn_begin 1 RETCODE
  179. ARG ID DB_ENV * envp
  180. ARG ID DB_TXN * parent
  181. ARG IGNORE DB_TXN ** txnpp
  182. ARG INT u_int32_t flags
  183. RET ID long txnid
  184. END
  185. BEGIN txn_checkpoint 1 NOFUNC
  186. ARG ID DB_ENV * dbenv
  187. ARG INT u_int32_t kbyte
  188. ARG INT u_int32_t min
  189. END
  190. BEGIN txn_commit 1 RETCODE
  191. ARG ID DB_TXN * txnp
  192. ARG INT u_int32_t flags
  193. END
  194. BEGIN txn_prepare 1 NOFUNC
  195. ARG ID DB_TXN * txnp
  196. END
  197. BEGIN txn_stat 1 NOFUNC
  198. ARG ID DB_ENV * dbenv
  199. ARG IGNORE DB_TXN_STAT ** statp
  200. FUNCPROT void *(*)(size_t)
  201. FUNCARG void *(*func0) __P((size_t))
  202. END
  203. #
  204. # Database functions
  205. #
  206. BEGIN db_bt_compare 1 NOFUNC
  207. ARG ID DB * dbp
  208. FUNCPROT int (*)(DB *, const DBT *, const DBT *)
  209. FUNCARG int (*func0) __P((DB *, const DBT *, const DBT *))
  210. END
  211. BEGIN db_bt_maxkey 1 CODE
  212. ARG ID DB * dbp
  213. ARG INT u_int32_t maxkey
  214. END
  215. BEGIN db_bt_minkey 1 CODE
  216. ARG ID DB * dbp
  217. ARG INT u_int32_t minkey
  218. END
  219. BEGIN db_bt_prefix 1 NOFUNC
  220. ARG ID DB * dbp
  221. FUNCPROT size_t(*)(DB *, const DBT *, const DBT *)
  222. FUNCARG size_t (*func0) __P((DB *, const DBT *, const DBT *))
  223. END
  224. BEGIN db_set_append_recno 1 NOFUNC
  225. ARG ID DB * dbp
  226. FUNCPROT int (*)(DB *, DBT *, db_recno_t)
  227. FUNCARG int (*func0) __P((DB *, DBT *, db_recno_t))
  228. END
  229. BEGIN db_cachesize 1 NOFUNC
  230. ARG ID DB * dbp
  231. ARG INT u_int32_t gbytes
  232. ARG INT u_int32_t bytes
  233. ARG INT int ncache
  234. END
  235. BEGIN db_close 1 RETCODE
  236. ARG ID DB * dbp
  237. ARG INT u_int32_t flags
  238. END
  239. BEGIN db_create 1 NOCLNTCODE
  240. ARG INT u_int32_t flags
  241. ARG ID DB_ENV * envp
  242. RET ID long dbp
  243. END
  244. BEGIN db_del 1 CODE
  245. ARG ID DB * dbp
  246. ARG ID DB_TXN * txnp
  247. ARG DBT DBT * key
  248. ARG INT u_int32_t flags
  249. END
  250. BEGIN db_extentsize 1 CODE
  251. ARG ID DB * dbp
  252. ARG INT u_int32_t extentsize
  253. END
  254. BEGIN db_fd 1 NOFUNC
  255. ARG ID DB * dbp
  256. ARG IGNORE int * fdp
  257. END
  258. BEGIN db_feedback 1 NOFUNC
  259. ARG ID DB * dbp
  260. FUNCPROT void (*)(DB *, int, int)
  261. FUNCARG void (*func0) __P((DB *, int, int))
  262. END
  263. BEGIN db_flags 1 CODE
  264. ARG ID DB * dbp
  265. ARG INT u_int32_t flags
  266. END
  267. BEGIN db_get 1 RETCODE
  268. ARG ID DB * dbp
  269. ARG ID DB_TXN * txnp
  270. ARG DBT DBT * key
  271. ARG DBT DBT * data
  272. ARG INT u_int32_t flags
  273. RET DBT DBT * key
  274. RET DBT DBT * data
  275. END
  276. BEGIN db_h_ffactor 1 CODE
  277. ARG ID DB * dbp
  278. ARG INT u_int32_t ffactor
  279. END
  280. BEGIN db_h_hash 1 NOFUNC
  281. ARG ID DB * dbp
  282. FUNCPROT u_int32_t(*)(DB *, const void *, u_int32_t)
  283. FUNCARG u_int32_t (*func0) __P((DB *, const void *, u_int32_t))
  284. END
  285. BEGIN db_h_nelem 1 CODE
  286. ARG ID DB * dbp
  287. ARG INT u_int32_t nelem
  288. END
  289. BEGIN db_key_range 1 RETCODE
  290. ARG ID DB * dbp
  291. ARG ID DB_TXN * txnp
  292. ARG DBT DBT * key
  293. ARG IGNORE DB_KEY_RANGE * range
  294. ARG INT u_int32_t flags
  295. RET DBL double less
  296. RET DBL double equal
  297. RET DBL double greater
  298. END
  299. BEGIN db_lorder 1 CODE
  300. ARG ID DB * dbp
  301. ARG INT int lorder
  302. END
  303. BEGIN db_malloc 1 NOFUNC
  304. ARG ID DB * dbp
  305. FUNCPROT void *(*)(size_t)
  306. FUNCARG void *(*func0) __P((size_t))
  307. END
  308. # XXX
  309. # The line:
  310. # RET INT u_int32_t dbflags
  311. # should go away when a get_flags method exists.  It is
  312. # needed now because Tcl looks at dbp->flags.
  313. #
  314. BEGIN db_open 1 RETCODE
  315. ARG ID DB * dbp
  316. ARG STRING const char * name
  317. ARG STRING const char * subdb
  318. ARG INT DBTYPE type
  319. ARG INT u_int32_t flags
  320. ARG INT int mode
  321. RET INT DBTYPE type
  322. RET INT u_int32_t dbflags
  323. END
  324. BEGIN db_pagesize 1 CODE
  325. ARG ID DB * dbp
  326. ARG INT u_int32_t pagesize
  327. END
  328. BEGIN db_panic 1 NOFUNC
  329. ARG ID DB * dbp
  330. FUNCPROT void (*)(DB_ENV *, int)
  331. FUNCARG void (*func0) __P((DB_ENV *, int))
  332. END
  333. BEGIN db_put 1 RETCODE
  334. ARG ID DB * dbp
  335. ARG ID DB_TXN * txnp
  336. ARG DBT DBT * key
  337. ARG DBT DBT * data
  338. ARG INT u_int32_t flags
  339. RET DBT DBT * key
  340. END
  341. BEGIN db_realloc 1 NOFUNC
  342. ARG ID DB * dbp
  343. FUNCPROT void *(*)(void *, size_t)
  344. FUNCARG void *(*func0) __P((void *, size_t))
  345. END
  346. BEGIN db_re_delim 1 CODE
  347. ARG ID DB * dbp
  348. ARG INT int delim
  349. END
  350. BEGIN db_re_len 1 CODE
  351. ARG ID DB * dbp
  352. ARG INT u_int32_t len
  353. END
  354. BEGIN db_re_pad 1 CODE
  355. ARG ID DB * dbp
  356. ARG INT int pad
  357. END
  358. BEGIN db_re_source 1 NOFUNC
  359. ARG ID DB * dbp
  360. ARG STRING const char * re_source
  361. END
  362. BEGIN db_remove 1 RETCODE
  363. ARG ID DB * dbp
  364. ARG STRING const char * name
  365. ARG STRING const char * subdb
  366. ARG INT u_int32_t flags
  367. END
  368. BEGIN db_rename 1 RETCODE
  369. ARG ID DB * dbp
  370. ARG STRING const char * name
  371. ARG STRING const char * subdb
  372. ARG STRING const char * newname
  373. ARG INT u_int32_t flags
  374. END
  375. BEGIN db_stat 1 RETCODE
  376. ARG ID DB * dbp
  377. ARG IGNORE void * sp
  378. FUNCPROT void *(*)(size_t)
  379. FUNCARG void *(*func0) __P((size_t))
  380. ARG INT u_int32_t flags
  381. RET LIST u_int32_t * stats INT
  382. END
  383. BEGIN db_swapped 1 CODE
  384. ARG ID DB * dbp
  385. END
  386. BEGIN db_sync 1 CODE
  387. ARG ID DB * dbp
  388. ARG INT u_int32_t flags
  389. END
  390. BEGIN db_upgrade 1 NOFUNC
  391. ARG ID DB * dbp
  392. ARG STRING const char * fname
  393. ARG INT u_int32_t flags
  394. END
  395. #
  396. # Cursor functions
  397. #
  398. BEGIN db_cursor 1 RETCODE
  399. ARG ID DB * dbp
  400. ARG ID DB_TXN * txnp
  401. ARG IGNORE DBC ** dbcpp
  402. ARG INT u_int32_t flags
  403. RET ID long dbcid
  404. END
  405. BEGIN db_join 1 RETCODE
  406. ARG ID DB * dbp
  407. ARG LIST DBC ** curs ID
  408. ARG IGNORE DBC ** dbcp
  409. ARG INT u_int32_t flags
  410. RET ID long dbcid
  411. END
  412. BEGIN dbc_close 1 RETCODE
  413. ARG ID DBC * dbc
  414. END
  415. BEGIN dbc_count 1 RETCODE
  416. ARG ID DBC * dbc
  417. ARG IGNORE db_recno_t * countp
  418. ARG INT u_int32_t flags
  419. RET INT db_recno_t dupcount
  420. END
  421. BEGIN dbc_del 1 CODE
  422. ARG ID DBC * dbc
  423. ARG INT u_int32_t flags
  424. END
  425. BEGIN dbc_dup 1 RETCODE
  426. ARG ID DBC * dbc
  427. ARG IGNORE DBC ** dbcp
  428. ARG INT u_int32_t flags
  429. RET ID long dbcid
  430. END
  431. BEGIN dbc_get 1 RETCODE
  432. ARG ID DBC * dbc
  433. ARG DBT DBT * key
  434. ARG DBT DBT * data
  435. ARG INT u_int32_t flags
  436. RET DBT DBT * key
  437. RET DBT DBT * data
  438. END
  439. BEGIN dbc_put 1 RETCODE
  440. ARG ID DBC * dbc
  441. ARG DBT DBT * key
  442. ARG DBT DBT * data
  443. ARG INT u_int32_t flags
  444. RET DBT DBT * key
  445. END
  446. #
  447. # Unsupported environment subsystems
  448. #
  449. #
  450. # Locking subsystem
  451. #
  452. BEGIN lock_detect 1 NOFUNC
  453. ARG ID DB_ENV * dbenv
  454. ARG INT u_int32_t flags
  455. ARG INT u_int32_t atype
  456. ARG IGNORE int * aborted
  457. END
  458. BEGIN lock_get 1 NOFUNC
  459. ARG ID DB_ENV * dbenv
  460. ARG INT u_int32_t locker
  461. ARG INT u_int32_t flags
  462. ARG CONST const DBT * obj
  463. ARG INT db_lockmode_t mode
  464. ARG IGNORE DB_LOCK * lock
  465. END
  466. BEGIN lock_id 1 NOFUNC
  467. ARG ID DB_ENV * dbenv
  468. ARG INT u_int32_t * idp
  469. END
  470. BEGIN lock_put 1 NOFUNC
  471. ARG ID DB_ENV * dbenv
  472. ARG ID DB_LOCK * lock
  473. END
  474. BEGIN lock_stat 1 NOFUNC
  475. ARG ID DB_ENV * dbenv
  476. ARG IGNORE DB_LOCK_STAT ** statp
  477. FUNCPROT void *(*)(size_t)
  478. FUNCARG void *(*func0) __P((size_t))
  479. END
  480. BEGIN lock_vec 1 NOFUNC
  481. ARG ID DB_ENV * dbenv
  482. ARG INT u_int32_t locker
  483. ARG INT u_int32_t flags
  484. ARG IGNORE DB_LOCKREQ * list
  485. ARG INT int nlist
  486. ARG IGNORE DB_LOCKREQ ** elistp
  487. END
  488. #
  489. # Logging subsystem
  490. #
  491. BEGIN log_archive 1 NOFUNC
  492. ARG ID DB_ENV * dbenv
  493. ARG IGNORE char *** listp
  494. ARG INT u_int32_t flags
  495. FUNCPROT void *(*)(size_t)
  496. FUNCARG void *(*func0) __P((size_t))
  497. END
  498. #
  499. # Don't do log_compare.  It doesn't have an env we can get at,
  500. # and it doesn't manipulate DB internal information.
  501. #
  502. BEGIN log_file 1 NOFUNC
  503. ARG ID DB_ENV * dbenv
  504. ARG CONST const DB_LSN * lsn
  505. ARG STRING char * namep
  506. ARG INT size_t len
  507. END
  508. BEGIN log_flush 1 NOFUNC
  509. ARG ID DB_ENV * dbenv
  510. ARG CONST const DB_LSN * lsn
  511. END
  512. BEGIN log_get 1 NOFUNC
  513. ARG ID DB_ENV * dbenv
  514. ARG IGNORE DB_LSN * lsn
  515. ARG DBT DBT * data
  516. ARG INT u_int32_t flags
  517. END
  518. BEGIN log_put 1 NOFUNC
  519. ARG ID DB_ENV * dbenv
  520. ARG IGNORE DB_LSN * lsn
  521. ARG CONST const DBT * data
  522. ARG INT u_int32_t flags
  523. END
  524. BEGIN log_register 1 NOFUNC
  525. ARG ID DB_ENV * dbenv
  526. ARG ID DB * dbp
  527. ARG CONST const char * namep
  528. END
  529. BEGIN log_stat 1 NOFUNC
  530. ARG ID DB_ENV * dbenv
  531. ARG IGNORE DB_LOG_STAT ** statp
  532. FUNCPROT void *(*)(size_t)
  533. FUNCARG void *(*func0) __P((size_t))
  534. END
  535. BEGIN log_unregister 1 NOFUNC
  536. ARG ID DB_ENV * dbenv
  537. ARG ID DB * dbp
  538. END
  539. #
  540. # Mpool Subsystem
  541. #
  542. BEGIN memp_fclose 1 NOFUNC
  543. ARG ID DB_MPOOLFILE * mpf
  544. END
  545. BEGIN memp_fget 1 NOFUNC
  546. ARG ID DB_MPOOLFILE * mpf
  547. ARG IGNORE db_pgno_t * pgno
  548. ARG INT u_int32_t flags
  549. ARG IGNORE void ** pagep
  550. END
  551. BEGIN memp_fopen 1 NOFUNC
  552. ARG ID DB_ENV * dbenv
  553. ARG CONST const char * file
  554. ARG INT u_int32_t flags
  555. ARG INT int mode
  556. ARG INT size_t pagesize
  557. ARG IGNORE DB_MPOOL_FINFO * finfop
  558. ARG IGNORE DB_MPOOLFILE ** mpf
  559. END
  560. BEGIN memp_fput 1 NOFUNC
  561. ARG ID DB_MPOOLFILE * mpf
  562. ARG IGNORE void * pgaddr
  563. ARG INT u_int32_t flags
  564. END
  565. BEGIN memp_fset 1 NOFUNC
  566. ARG ID DB_MPOOLFILE * mpf
  567. ARG IGNORE void * pgaddr
  568. ARG INT u_int32_t flags
  569. END
  570. BEGIN memp_fsync 1 NOFUNC
  571. ARG ID DB_MPOOLFILE * mpf
  572. END
  573. BEGIN memp_register 1 NOFUNC
  574. ARG ID DB_ENV * dbenv
  575. ARG INT int ftype
  576. FUNCPROT int (*)(DB_ENV *, db_pgno_t, void *, DBT *)
  577. FUNCARG int (*func0) __P((DB_ENV *, db_pgno_t, void *, DBT *))
  578. FUNCPROT int (*)(DB_ENV *, db_pgno_t, void *, DBT *)
  579. FUNCARG int (*func1) __P((DB_ENV *, db_pgno_t, void *, DBT *))
  580. END
  581. BEGIN memp_stat 1 NOFUNC
  582. ARG ID DB_ENV * dbenv
  583. ARG IGNORE DB_MPOOL_STAT ** gstatp
  584. ARG IGNORE DB_MPOOL_FSTAT *** fstatp
  585. FUNCPROT void *(*)(size_t)
  586. FUNCARG void *(*func0) __P((size_t))
  587. END
  588. BEGIN memp_sync 1 NOFUNC
  589. ARG ID DB_ENV * dbenv
  590. ARG IGNORE DB_LSN * lsn
  591. END
  592. BEGIN memp_trickle 1 NOFUNC
  593. ARG ID DB_ENV * dbenv
  594. ARG INT int pct
  595. ARG IGNORE int * nwrotep
  596. END