rpc.src
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:13k
- #
- # $Id: rpc.src,v 1.30 2000/12/20 21:53:05 ubell Exp $
- # Syntax:
- # BEGIN function_name RPC # {CODE | NOCLNTCODE | RETCODE | NOFUNC}
- # CODE: generate XDR and client code, return status
- # Used for functions that just return a status and nothing else.
- # RETCODE:generate XDR and client code, call return function
- # (generate template return function)
- # Used for functions that returns data.
- # NOCLNTCODE: generate only XDR and server functions
- # Used for functions that are "different" on the client.
- # Primarily used for envcreate (which is called from
- # the dbenv->set_server method on the client side) and
- # dbcreate, which is called from non-generated code.
- # NOFUNC: generate a client "unsupported function" with right args
- # Used for unsupported functions.
- #
- # ARG {IGNORE | STRING | INT | DBT | LIST | ID | CONST} C-type varname
- # IGNORE: not passed to server
- # STRING: string passed to server
- # DBT: DBT arg passed to server
- # LIST: opaque list passed to server (NULL-terminated opaque list)
- # INT: integer passed to server
- # ID: cl_id from arg passed to server
- # CONST: do not generate COMPQUIET (for NOFUNC only)
- # FUNCPROT prototype
- # FUNCARG functiontype
- # These two *MUST* go together and FUNCPROT *MUST* be first. These
- # are for the tricky user-supplied functions to some methods. They
- # are not supported in RPC, so will be ignored, but the complicated
- # syntax of their argument requires we have a special flag for them
- # that contains the verbatim text to use in the prototype and the
- # c-type, respectively. The FUNCARG must include the function, and
- # must call it 'funcN', where N is the count of functions. Almost
- # always it must be func0. A *very* few methods have more than one
- # user-supplied functions, in those cases, it must be func0, func1, etc.
- #
- # All messages automatically return "status" and return that from
- # the call to the function. RET's are additional things the server
- # may return. RET is like ARG but does not need the IGNORE option.
- # RET {STRING | INT | DBT | LIST | ID} varname [STRING | INT | ID]
- # STRING: string from server
- # DBT: DBT arg from server
- # LIST: opaque list from server (NULL-terminated opaque list)
- # Must have list type of STRING, ID or INT specified
- # INT: integer from server
- # ID: id from server stored in cl_id
- # END function end.
- #
- # Environment functions
- #
- BEGIN env_cachesize 1 CODE
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t gbytes
- ARG INT u_int32_t bytes
- ARG INT int ncache
- END
- BEGIN env_close 1 RETCODE
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t flags
- END
- BEGIN env_create 1 NOCLNTCODE
- ARG INT long timeout
- RET ID long env
- END
- BEGIN set_data_dir 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG STRING const char * dir
- END
- BEGIN env_set_feedback 1 NOFUNC
- ARG ID DB_ENV * dbenv
- FUNCPROT void (*)(DB_ENV *, int, int)
- FUNCARG void (*func0) __P((DB_ENV *, int, int))
- END
- BEGIN env_flags 1 CODE
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t flags
- ARG INT int onoff
- END
- BEGIN set_lg_bsize 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t bsize
- END
- BEGIN set_lg_dir 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG STRING const char * dir
- END
- BEGIN set_lg_max 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t max
- END
- BEGIN set_lk_conflict 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int8_t * conflicts
- ARG INT int modes
- END
- BEGIN set_lk_detect 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t detect
- END
- BEGIN set_lk_max 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t max
- END
- BEGIN set_lk_max_locks 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t max
- END
- BEGIN set_lk_max_lockers 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t max
- END
- BEGIN set_lk_max_objects 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t max
- END
- BEGIN set_mp_mmapsize 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT size_t mmapsize
- END
- BEGIN set_mutex_locks 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT int do_lock
- END
- BEGIN env_open 1 RETCODE
- ARG ID DB_ENV * dbenv
- ARG STRING const char * home
- ARG INT u_int32_t flags
- ARG INT int mode
- END
- BEGIN env_paniccall 1 NOFUNC
- ARG ID DB_ENV * dbenv
- FUNCPROT void (*)(DB_ENV *, int)
- FUNCARG void (*func0) __P((DB_ENV *, int))
- END
- BEGIN set_recovery_init 1 NOFUNC
- ARG ID DB_ENV * dbenv
- FUNCPROT int (*)(DB_ENV *)
- FUNCARG int (*func0) __P((DB_ENV *))
- END
- BEGIN env_remove 1 RETCODE
- ARG ID DB_ENV * dbenv
- ARG STRING const char * home
- ARG INT u_int32_t flags
- END
- BEGIN set_shm_key 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT long shm_key
- END
- BEGIN set_tmp_dir 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG STRING const char * dir
- END
- BEGIN set_tx_recover 1 NOFUNC
- ARG ID DB_ENV * dbenv
- FUNCPROT int (*)(DB_ENV *, DBT *, DB_LSN *, db_recops)
- FUNCARG int (*func0) __P((DB_ENV *, DBT *, DB_LSN *, db_recops))
- END
- BEGIN set_tx_max 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t max
- END
- BEGIN set_tx_timestamp 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT time_t * max
- END
- BEGIN set_verbose 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t which
- ARG INT int onoff
- END
- #
- # Transaction functions
- #
- BEGIN txn_abort 1 RETCODE
- ARG ID DB_TXN * txnp
- END
- BEGIN txn_begin 1 RETCODE
- ARG ID DB_ENV * envp
- ARG ID DB_TXN * parent
- ARG IGNORE DB_TXN ** txnpp
- ARG INT u_int32_t flags
- RET ID long txnid
- END
- BEGIN txn_checkpoint 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t kbyte
- ARG INT u_int32_t min
- END
- BEGIN txn_commit 1 RETCODE
- ARG ID DB_TXN * txnp
- ARG INT u_int32_t flags
- END
- BEGIN txn_prepare 1 NOFUNC
- ARG ID DB_TXN * txnp
- END
- BEGIN txn_stat 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG IGNORE DB_TXN_STAT ** statp
- FUNCPROT void *(*)(size_t)
- FUNCARG void *(*func0) __P((size_t))
- END
- #
- # Database functions
- #
- BEGIN db_bt_compare 1 NOFUNC
- ARG ID DB * dbp
- FUNCPROT int (*)(DB *, const DBT *, const DBT *)
- FUNCARG int (*func0) __P((DB *, const DBT *, const DBT *))
- END
- BEGIN db_bt_maxkey 1 CODE
- ARG ID DB * dbp
- ARG INT u_int32_t maxkey
- END
- BEGIN db_bt_minkey 1 CODE
- ARG ID DB * dbp
- ARG INT u_int32_t minkey
- END
- BEGIN db_bt_prefix 1 NOFUNC
- ARG ID DB * dbp
- FUNCPROT size_t(*)(DB *, const DBT *, const DBT *)
- FUNCARG size_t (*func0) __P((DB *, const DBT *, const DBT *))
- END
- BEGIN db_set_append_recno 1 NOFUNC
- ARG ID DB * dbp
- FUNCPROT int (*)(DB *, DBT *, db_recno_t)
- FUNCARG int (*func0) __P((DB *, DBT *, db_recno_t))
- END
- BEGIN db_cachesize 1 NOFUNC
- ARG ID DB * dbp
- ARG INT u_int32_t gbytes
- ARG INT u_int32_t bytes
- ARG INT int ncache
- END
- BEGIN db_close 1 RETCODE
- ARG ID DB * dbp
- ARG INT u_int32_t flags
- END
- BEGIN db_create 1 NOCLNTCODE
- ARG INT u_int32_t flags
- ARG ID DB_ENV * envp
- RET ID long dbp
- END
- BEGIN db_del 1 CODE
- ARG ID DB * dbp
- ARG ID DB_TXN * txnp
- ARG DBT DBT * key
- ARG INT u_int32_t flags
- END
- BEGIN db_extentsize 1 CODE
- ARG ID DB * dbp
- ARG INT u_int32_t extentsize
- END
- BEGIN db_fd 1 NOFUNC
- ARG ID DB * dbp
- ARG IGNORE int * fdp
- END
- BEGIN db_feedback 1 NOFUNC
- ARG ID DB * dbp
- FUNCPROT void (*)(DB *, int, int)
- FUNCARG void (*func0) __P((DB *, int, int))
- END
- BEGIN db_flags 1 CODE
- ARG ID DB * dbp
- ARG INT u_int32_t flags
- END
- BEGIN db_get 1 RETCODE
- ARG ID DB * dbp
- ARG ID DB_TXN * txnp
- ARG DBT DBT * key
- ARG DBT DBT * data
- ARG INT u_int32_t flags
- RET DBT DBT * key
- RET DBT DBT * data
- END
- BEGIN db_h_ffactor 1 CODE
- ARG ID DB * dbp
- ARG INT u_int32_t ffactor
- END
- BEGIN db_h_hash 1 NOFUNC
- ARG ID DB * dbp
- FUNCPROT u_int32_t(*)(DB *, const void *, u_int32_t)
- FUNCARG u_int32_t (*func0) __P((DB *, const void *, u_int32_t))
- END
- BEGIN db_h_nelem 1 CODE
- ARG ID DB * dbp
- ARG INT u_int32_t nelem
- END
- BEGIN db_key_range 1 RETCODE
- ARG ID DB * dbp
- ARG ID DB_TXN * txnp
- ARG DBT DBT * key
- ARG IGNORE DB_KEY_RANGE * range
- ARG INT u_int32_t flags
- RET DBL double less
- RET DBL double equal
- RET DBL double greater
- END
- BEGIN db_lorder 1 CODE
- ARG ID DB * dbp
- ARG INT int lorder
- END
- BEGIN db_malloc 1 NOFUNC
- ARG ID DB * dbp
- FUNCPROT void *(*)(size_t)
- FUNCARG void *(*func0) __P((size_t))
- END
- # XXX
- # The line:
- # RET INT u_int32_t dbflags
- # should go away when a get_flags method exists. It is
- # needed now because Tcl looks at dbp->flags.
- #
- BEGIN db_open 1 RETCODE
- ARG ID DB * dbp
- ARG STRING const char * name
- ARG STRING const char * subdb
- ARG INT DBTYPE type
- ARG INT u_int32_t flags
- ARG INT int mode
- RET INT DBTYPE type
- RET INT u_int32_t dbflags
- END
- BEGIN db_pagesize 1 CODE
- ARG ID DB * dbp
- ARG INT u_int32_t pagesize
- END
- BEGIN db_panic 1 NOFUNC
- ARG ID DB * dbp
- FUNCPROT void (*)(DB_ENV *, int)
- FUNCARG void (*func0) __P((DB_ENV *, int))
- END
- BEGIN db_put 1 RETCODE
- ARG ID DB * dbp
- ARG ID DB_TXN * txnp
- ARG DBT DBT * key
- ARG DBT DBT * data
- ARG INT u_int32_t flags
- RET DBT DBT * key
- END
- BEGIN db_realloc 1 NOFUNC
- ARG ID DB * dbp
- FUNCPROT void *(*)(void *, size_t)
- FUNCARG void *(*func0) __P((void *, size_t))
- END
- BEGIN db_re_delim 1 CODE
- ARG ID DB * dbp
- ARG INT int delim
- END
- BEGIN db_re_len 1 CODE
- ARG ID DB * dbp
- ARG INT u_int32_t len
- END
- BEGIN db_re_pad 1 CODE
- ARG ID DB * dbp
- ARG INT int pad
- END
- BEGIN db_re_source 1 NOFUNC
- ARG ID DB * dbp
- ARG STRING const char * re_source
- END
- BEGIN db_remove 1 RETCODE
- ARG ID DB * dbp
- ARG STRING const char * name
- ARG STRING const char * subdb
- ARG INT u_int32_t flags
- END
- BEGIN db_rename 1 RETCODE
- ARG ID DB * dbp
- ARG STRING const char * name
- ARG STRING const char * subdb
- ARG STRING const char * newname
- ARG INT u_int32_t flags
- END
- BEGIN db_stat 1 RETCODE
- ARG ID DB * dbp
- ARG IGNORE void * sp
- FUNCPROT void *(*)(size_t)
- FUNCARG void *(*func0) __P((size_t))
- ARG INT u_int32_t flags
- RET LIST u_int32_t * stats INT
- END
- BEGIN db_swapped 1 CODE
- ARG ID DB * dbp
- END
- BEGIN db_sync 1 CODE
- ARG ID DB * dbp
- ARG INT u_int32_t flags
- END
- BEGIN db_upgrade 1 NOFUNC
- ARG ID DB * dbp
- ARG STRING const char * fname
- ARG INT u_int32_t flags
- END
- #
- # Cursor functions
- #
- BEGIN db_cursor 1 RETCODE
- ARG ID DB * dbp
- ARG ID DB_TXN * txnp
- ARG IGNORE DBC ** dbcpp
- ARG INT u_int32_t flags
- RET ID long dbcid
- END
- BEGIN db_join 1 RETCODE
- ARG ID DB * dbp
- ARG LIST DBC ** curs ID
- ARG IGNORE DBC ** dbcp
- ARG INT u_int32_t flags
- RET ID long dbcid
- END
- BEGIN dbc_close 1 RETCODE
- ARG ID DBC * dbc
- END
- BEGIN dbc_count 1 RETCODE
- ARG ID DBC * dbc
- ARG IGNORE db_recno_t * countp
- ARG INT u_int32_t flags
- RET INT db_recno_t dupcount
- END
- BEGIN dbc_del 1 CODE
- ARG ID DBC * dbc
- ARG INT u_int32_t flags
- END
- BEGIN dbc_dup 1 RETCODE
- ARG ID DBC * dbc
- ARG IGNORE DBC ** dbcp
- ARG INT u_int32_t flags
- RET ID long dbcid
- END
- BEGIN dbc_get 1 RETCODE
- ARG ID DBC * dbc
- ARG DBT DBT * key
- ARG DBT DBT * data
- ARG INT u_int32_t flags
- RET DBT DBT * key
- RET DBT DBT * data
- END
- BEGIN dbc_put 1 RETCODE
- ARG ID DBC * dbc
- ARG DBT DBT * key
- ARG DBT DBT * data
- ARG INT u_int32_t flags
- RET DBT DBT * key
- END
- #
- # Unsupported environment subsystems
- #
- #
- # Locking subsystem
- #
- BEGIN lock_detect 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t flags
- ARG INT u_int32_t atype
- ARG IGNORE int * aborted
- END
- BEGIN lock_get 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t locker
- ARG INT u_int32_t flags
- ARG CONST const DBT * obj
- ARG INT db_lockmode_t mode
- ARG IGNORE DB_LOCK * lock
- END
- BEGIN lock_id 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t * idp
- END
- BEGIN lock_put 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG ID DB_LOCK * lock
- END
- BEGIN lock_stat 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG IGNORE DB_LOCK_STAT ** statp
- FUNCPROT void *(*)(size_t)
- FUNCARG void *(*func0) __P((size_t))
- END
- BEGIN lock_vec 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT u_int32_t locker
- ARG INT u_int32_t flags
- ARG IGNORE DB_LOCKREQ * list
- ARG INT int nlist
- ARG IGNORE DB_LOCKREQ ** elistp
- END
- #
- # Logging subsystem
- #
- BEGIN log_archive 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG IGNORE char *** listp
- ARG INT u_int32_t flags
- FUNCPROT void *(*)(size_t)
- FUNCARG void *(*func0) __P((size_t))
- END
- #
- # Don't do log_compare. It doesn't have an env we can get at,
- # and it doesn't manipulate DB internal information.
- #
- BEGIN log_file 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG CONST const DB_LSN * lsn
- ARG STRING char * namep
- ARG INT size_t len
- END
- BEGIN log_flush 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG CONST const DB_LSN * lsn
- END
- BEGIN log_get 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG IGNORE DB_LSN * lsn
- ARG DBT DBT * data
- ARG INT u_int32_t flags
- END
- BEGIN log_put 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG IGNORE DB_LSN * lsn
- ARG CONST const DBT * data
- ARG INT u_int32_t flags
- END
- BEGIN log_register 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG ID DB * dbp
- ARG CONST const char * namep
- END
- BEGIN log_stat 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG IGNORE DB_LOG_STAT ** statp
- FUNCPROT void *(*)(size_t)
- FUNCARG void *(*func0) __P((size_t))
- END
- BEGIN log_unregister 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG ID DB * dbp
- END
- #
- # Mpool Subsystem
- #
- BEGIN memp_fclose 1 NOFUNC
- ARG ID DB_MPOOLFILE * mpf
- END
- BEGIN memp_fget 1 NOFUNC
- ARG ID DB_MPOOLFILE * mpf
- ARG IGNORE db_pgno_t * pgno
- ARG INT u_int32_t flags
- ARG IGNORE void ** pagep
- END
- BEGIN memp_fopen 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG CONST const char * file
- ARG INT u_int32_t flags
- ARG INT int mode
- ARG INT size_t pagesize
- ARG IGNORE DB_MPOOL_FINFO * finfop
- ARG IGNORE DB_MPOOLFILE ** mpf
- END
- BEGIN memp_fput 1 NOFUNC
- ARG ID DB_MPOOLFILE * mpf
- ARG IGNORE void * pgaddr
- ARG INT u_int32_t flags
- END
- BEGIN memp_fset 1 NOFUNC
- ARG ID DB_MPOOLFILE * mpf
- ARG IGNORE void * pgaddr
- ARG INT u_int32_t flags
- END
- BEGIN memp_fsync 1 NOFUNC
- ARG ID DB_MPOOLFILE * mpf
- END
- BEGIN memp_register 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT int ftype
- FUNCPROT int (*)(DB_ENV *, db_pgno_t, void *, DBT *)
- FUNCARG int (*func0) __P((DB_ENV *, db_pgno_t, void *, DBT *))
- FUNCPROT int (*)(DB_ENV *, db_pgno_t, void *, DBT *)
- FUNCARG int (*func1) __P((DB_ENV *, db_pgno_t, void *, DBT *))
- END
- BEGIN memp_stat 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG IGNORE DB_MPOOL_STAT ** gstatp
- ARG IGNORE DB_MPOOL_FSTAT *** fstatp
- FUNCPROT void *(*)(size_t)
- FUNCARG void *(*func0) __P((size_t))
- END
- BEGIN memp_sync 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG IGNORE DB_LSN * lsn
- END
- BEGIN memp_trickle 1 NOFUNC
- ARG ID DB_ENV * dbenv
- ARG INT int pct
- ARG IGNORE int * nwrotep
- END