# See the file LICENSE for redistribution information.
#
# Copyright (c) 1999,2008 Oracle.  All rights reserved.
#
# $Id: rpc.src,v 12.38 2008/05/09 17:06:02 bschmeck Exp $
#
# Syntax:
# BEGIN	function_name  {CODE | LINKONLY | RETCODE}
#	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.
#	LINKONLY:
#		No code needs to be generated, the function is hand-coded.
#
# 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:	list passed to server (NULL-terminated list of something)
#	INT:	integer passed to server
#	ID:	cl_id from arg passed to server
#	GID:	global id 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.
# ARETs are RETs which are returned in arguments by the client.
# {RET | ARET}	{STRING | INT | DBT | LIST | ID} varname [GID | INT | ID]
#	STRING:	string from server
#	DBT:	DBT arg from server
#	LIST:	list from server (NULL-terminated list)
#	  Must have list type of GID, ID or INT specified
#	INT:	integer from server
#	ID:	id from server stored in cl_id
# END	function end.
#
# NOFUNC function_name prototype
#	Connect the method to an "unsupported function" error message.

######################################################
# DB_ENV handle create.
######################################################
BEGIN	env_create		RETCODE
ARG	IGNORE	DB_ENV *	dbenv
ARG	INT	long		timeout
RET	ID	long		env
END
######################################################
# DB_ENV handle methods.
######################################################
BEGIN	env_cdsgroup_begin	RETCODE
ARG	ID	DB_ENV *	dbenv
ARG	IGNORE	DB_TXN **	txnpp
RET	ID	long		txnid
END
BEGIN	env_close		CODE
ARG	ID	DB_ENV *	dbenv
ARG	INT	u_int32_t	flags
END
BEGIN	env_dbremove		CODE
ARG	ID	DB_ENV *	dbenv
ARG	ID	DB_TXN *	txnp
ARG	STRING	const char *	name
ARG	STRING	const char *	subdb
ARG	INT	u_int32_t	flags
END
BEGIN	env_dbrename		CODE
ARG	ID	DB_ENV *	dbenv
ARG	ID	DB_TXN *	txnp
ARG	STRING	const char *	name
ARG	STRING	const char *	subdb
ARG	STRING	const char *	newname
ARG	INT	u_int32_t	flags
END
LOCAL	env_err
LOCAL	env_errx
NOFUNC	env_failchk		DB_ENV *, u_int32_t
NOFUNC	env_fileid_reset	DB_ENV *, const char *, u_int32_t
NOFUNC	env_get_cache_max	DB_ENV *, u_int32_t *, u_int32_t *
BEGIN	env_get_cachesize	CODE
ARG	ID	DB_ENV *	dbenv
ARET	INT	u_int32_t	gbytes
ARET	INT	u_int32_t	bytes
ARET	INT	int		ncache
END
NOFUNC	env_get_data_dirs	DB_ENV *, const char ***
BEGIN	env_get_encrypt_flags	CODE
ARG	ID	DB_ENV *	dbenv
ARET	INT	u_int32_t	flags
END
LOCAL	env_get_errcall
LOCAL	env_get_errfile
LOCAL	env_get_errpfx
BEGIN	env_get_flags		CODE
ARG	ID	DB_ENV *	dbenv
ARET	INT	u_int32_t	flags
END
BEGIN	env_get_home		CODE
ARG	ID	DB_ENV *	dbenv
ARET	STRING	const char *	home
END
NOFUNC	env_get_intermediate_dir_mode	DB_ENV *, const char **
NOFUNC	env_get_lg_bsize	DB_ENV *, u_int32_t *
NOFUNC	env_get_lg_dir		DB_ENV *, const char **
NOFUNC	env_get_lg_filemode	DB_ENV *, int *
NOFUNC	env_get_lg_max		DB_ENV *, u_int32_t *
NOFUNC	env_get_lg_regionmax	DB_ENV *, u_int32_t *
NOFUNC	env_get_lk_conflicts	DB_ENV *, const u_int8_t **, int *
NOFUNC	env_get_lk_detect	DB_ENV *, u_int32_t *
NOFUNC	env_get_lk_max_lockers	DB_ENV *, u_int32_t *
NOFUNC	env_get_lk_max_locks	DB_ENV *, u_int32_t *
NOFUNC	env_get_lk_max_objects	DB_ENV *, u_int32_t *
NOFUNC	env_get_lk_partitions	DB_ENV *, u_int32_t *
NOFUNC	env_get_mp_max_openfd	DB_ENV *, int *
NOFUNC	env_get_mp_max_write	DB_ENV *, int *, db_timeout_t *
NOFUNC	env_get_mp_mmapsize	DB_ENV *, size_t *
LOCAL	env_get_msgfile
BEGIN	env_get_open_flags	CODE
ARG	ID	DB_ENV *	dbenv
ARET	INT	u_int32_t	flags
END
NOFUNC	env_get_shm_key		DB_ENV *, long *
NOFUNC	env_get_thread_count	DB_ENV *, u_int32_t *
NOFUNC	env_get_timeout		DB_ENV *, db_timeout_t *, u_int32_t
NOFUNC	env_get_tmp_dir		DB_ENV *, const char **
NOFUNC	env_get_tx_max		DB_ENV *, u_int32_t *
NOFUNC	env_get_tx_timestamp	DB_ENV *, time_t *
NOFUNC	env_get_verbose		DB_ENV *, u_int32_t, int *
LOCAL	env_is_bigendian
NOFUNC	env_lock_detect		DB_ENV *, u_int32_t, u_int32_t, int *
NOFUNC	env_lock_get		DB_ENV *, u_int32_t, u_int32_t, const DBT *, db_lockmode_t, DB_LOCK *
NOFUNC	env_lock_id		DB_ENV *, u_int32_t *
NOFUNC	env_lock_id_free	DB_ENV *, u_int32_t
NOFUNC	env_lock_put		DB_ENV *, DB_LOCK *
NOFUNC	env_lock_stat		DB_ENV *, DB_LOCK_STAT **, u_int32_t
NOFUNC	env_lock_stat_print	DB_ENV *, u_int32_t
NOFUNC	env_lock_vec		DB_ENV *, u_int32_t, u_int32_t, DB_LOCKREQ *, int, DB_LOCKREQ **
NOFUNC	env_log_archive		DB_ENV *, char ***, u_int32_t
NOFUNC	env_log_cursor		DB_ENV *, DB_LOGC **, u_int32_t
NOFUNC	env_log_file		DB_ENV *, const DB_LSN *, char *, size_t
NOFUNC	env_log_flush		DB_ENV *, const DB_LSN *
NOFUNC	env_log_get_config	DB_ENV *, u_int32_t, int *
NOFUNC	env_log_printf		DB_ENV *, DB_TXN *, const char *, ...
NOFUNC	env_log_put		DB_ENV *, DB_LSN *, const DBT *, u_int32_t
NOFUNC	env_log_set_config	DB_ENV *, u_int32_t, int
NOFUNC	env_log_stat		DB_ENV *, DB_LOG_STAT **, u_int32_t
NOFUNC	env_log_stat_print	DB_ENV *, u_int32_t
NOFUNC	env_lsn_reset		DB_ENV *, const char *, u_int32_t
NOFUNC	env_memp_fcreate	DB_ENV *, DB_MPOOLFILE **, u_int32_t
NOFUNC	env_memp_register	DB_ENV *, int, int (*)(DB_ENV *, db_pgno_t, void *, DBT *), int (*)(DB_ENV *, db_pgno_t, void *, DBT *)
NOFUNC	env_memp_stat		DB_ENV *, DB_MPOOL_STAT **, DB_MPOOL_FSTAT ***, u_int32_t
NOFUNC	env_memp_stat_print	DB_ENV *, u_int32_t
NOFUNC	env_memp_sync		DB_ENV *, DB_LSN *
NOFUNC	env_memp_trickle	DB_ENV *, int, int *
NOFUNC	env_mutex_alloc		DB_ENV *, u_int32_t, u_int32_t *
NOFUNC	env_mutex_free		DB_ENV *, u_int32_t
NOFUNC	env_mutex_get_align	DB_ENV *, u_int32_t *
NOFUNC	env_mutex_get_increment	DB_ENV *, u_int32_t *
NOFUNC	env_mutex_get_max	DB_ENV *, u_int32_t *
NOFUNC	env_mutex_get_tas_spins	DB_ENV *, u_int32_t *
NOFUNC	env_mutex_lock		DB_ENV *, u_int32_t
NOFUNC	env_mutex_set_align	DB_ENV *, u_int32_t
NOFUNC	env_mutex_set_increment	DB_ENV *, u_int32_t
NOFUNC	env_mutex_set_max	DB_ENV *, u_int32_t
NOFUNC	env_mutex_set_tas_spins	DB_ENV *, u_int32_t
NOFUNC	env_mutex_stat		DB_ENV *, DB_MUTEX_STAT **, u_int32_t
NOFUNC	env_mutex_stat_print	DB_ENV *, u_int32_t
NOFUNC	env_mutex_unlock	DB_ENV *, u_int32_t
BEGIN	env_open		RETCODE
ARG	ID	DB_ENV *	dbenv
ARG	STRING	const char *	home
ARG	INT	u_int32_t	flags
ARG	INT	int		mode
RET	ID	long		env
END
BEGIN	env_remove		RETCODE
ARG	ID	DB_ENV *	dbenv
ARG	STRING	const char *	home
ARG	INT	u_int32_t	flags
END
NOFUNC	env_rep_elect		DB_ENV *, u_int32_t, u_int32_t, u_int32_t
NOFUNC	env_rep_flush		DB_ENV *
NOFUNC	env_rep_get_clockskew	DB_ENV *, u_int32_t *, u_int32_t *
NOFUNC	env_rep_get_config	DB_ENV *, u_int32_t, int *
NOFUNC	env_rep_get_limit	DB_ENV *, u_int32_t *, u_int32_t *
NOFUNC	env_rep_get_nsites	DB_ENV *, u_int32_t *
NOFUNC	env_rep_get_priority	DB_ENV *, u_int32_t *
NOFUNC	env_rep_get_request	DB_ENV *, u_int32_t *, u_int32_t *
NOFUNC	env_rep_get_timeout	DB_ENV *, int, db_timeout_t *
NOFUNC	env_rep_process_message	DB_ENV *, DBT *, DBT *, int, DB_LSN *
NOFUNC	env_rep_set_clockskew	DB_ENV *, u_int32_t, u_int32_t
NOFUNC	env_rep_set_config	DB_ENV *, u_int32_t, int
NOFUNC	env_rep_set_limit	DB_ENV *, u_int32_t, u_int32_t
NOFUNC	env_rep_set_nsites	DB_ENV *, u_int32_t
NOFUNC	env_rep_set_priority	DB_ENV *, u_int32_t
NOFUNC	env_rep_set_request	DB_ENV *, u_int32_t, u_int32_t
NOFUNC	env_rep_set_timeout	DB_ENV *, int, db_timeout_t
NOFUNC	env_rep_set_transport	DB_ENV *, int, int (*)(DB_ENV *, const DBT *, const DBT *, const DB_LSN *, int, u_int32_t)
NOFUNC	env_rep_start		DB_ENV *, DBT *, u_int32_t
NOFUNC	env_rep_stat		DB_ENV *, DB_REP_STAT **, u_int32_t
NOFUNC	env_rep_stat_print	DB_ENV *, u_int32_t
NOFUNC	env_rep_sync		DB_ENV *, u_int32_t
NOFUNC	env_repmgr_add_remote_site	DB_ENV *, const char *, u_int, int *, u_int32_t
NOFUNC	env_repmgr_get_ack_policy	DB_ENV *, int *
NOFUNC	env_repmgr_set_ack_policy	DB_ENV *, int
NOFUNC	env_repmgr_set_local_site	DB_ENV *, const char *, u_int, u_int32_t
NOFUNC	env_repmgr_site_list	DB_ENV *, u_int *, DB_REPMGR_SITE **
NOFUNC	env_repmgr_start	DB_ENV *, int, u_int32_t
NOFUNC	env_repmgr_stat		DB_ENV *, DB_REPMGR_STAT **, u_int32_t
NOFUNC	env_repmgr_stat_print	DB_ENV *, u_int32_t
NOFUNC	env_set_alloc		DB_ENV *, void *(*)(size_t), void *(*)(void *, size_t), void (*)(void *)
NOFUNC	env_set_app_dispatch	DB_ENV *, int (*)(DB_ENV *, DBT *, DB_LSN *, db_recops)
NOFUNC	env_set_cache_max	DB_ENV *, u_int32_t, u_int32_t
BEGIN	env_set_cachesize	CODE
ARG	ID	DB_ENV *	dbenv
ARG	INT	u_int32_t	gbytes
ARG	INT	u_int32_t	bytes
ARG	INT	int		ncache
END
NOFUNC	env_set_data_dir	DB_ENV *, const char *
BEGIN	env_set_encrypt		CODE
ARG	ID	DB_ENV *	dbenv
ARG	STRING	const char *	passwd
ARG	INT	u_int32_t	flags
END
LOCAL	env_set_errcall
LOCAL	env_set_errfile
LOCAL	env_set_errpfx
NOFUNC	env_set_event_notify	DB_ENV *, void (*)(DB_ENV *, u_int32_t, void *)
NOFUNC	env_set_feedback	DB_ENV *, void (*)(DB_ENV *, int, int)
BEGIN	env_set_flags		CODE
ARG	ID	DB_ENV *	dbenv
ARG	INT	u_int32_t	flags
ARG	INT	int		onoff
END
NOFUNC	env_set_intermediate_dir_mode	DB_ENV *, const char *
NOFUNC	env_set_isalive		DB_ENV *, int (*)(DB_ENV *, pid_t, db_threadid_t, u_int32_t)
NOFUNC	env_set_lg_bsize	DB_ENV *, u_int32_t
NOFUNC	env_set_lg_dir		DB_ENV *, const char *
NOFUNC	env_set_lg_filemode	DB_ENV *, int
NOFUNC	env_set_lg_max		DB_ENV *, u_int32_t
NOFUNC	env_set_lg_regionmax	DB_ENV *, u_int32_t
NOFUNC	env_set_lk_conflicts	DB_ENV *, u_int8_t *, int
NOFUNC	env_set_lk_detect	DB_ENV *, u_int32_t
NOFUNC	env_set_lk_max_lockers	DB_ENV *, u_int32_t
NOFUNC	env_set_lk_max_locks	DB_ENV *, u_int32_t
NOFUNC	env_set_lk_max_objects	DB_ENV *, u_int32_t
NOFUNC	env_set_lk_partitions	DB_ENV *, u_int32_t
NOFUNC	env_set_mp_max_openfd	DB_ENV *, int
NOFUNC	env_set_mp_max_write	DB_ENV *, int, db_timeout_t
NOFUNC	env_set_mp_mmapsize	DB_ENV *, size_t
LOCAL	env_set_msgcall
LOCAL	env_set_msgfile
NOFUNC	env_set_paniccall	DB_ENV *, void (*)(DB_ENV *, int)
BEGIN	env_set_rpc_server	LINKONLY
ARG	ID	DB_ENV *	dbenv
END
NOFUNC	env_set_shm_key		DB_ENV *, long
NOFUNC	env_set_thread_count	DB_ENV *, u_int32_t
NOFUNC	env_set_thread_id	DB_ENV *, void (*)(DB_ENV *, pid_t *, db_threadid_t*)
NOFUNC	env_set_thread_id_string	DB_ENV *, char *(*)(DB_ENV *, pid_t, db_threadid_t, char *)
NOFUNC	env_set_timeout		DB_ENV *, u_int32_t, u_int32_t
NOFUNC	env_set_tmp_dir		DB_ENV *, const char *
NOFUNC	env_set_tx_max		DB_ENV *, u_int32_t
NOFUNC	env_set_tx_timestamp	DB_ENV *, time_t *
NOFUNC	env_set_verbose		DB_ENV *, u_int32_t, int
NOFUNC	env_stat_print		DB_ENV *, u_int32_t
BEGIN	env_txn_begin		RETCODE
ARG	ID	DB_ENV *	dbenv
ARG	ID	DB_TXN *	parent
ARG	IGNORE	DB_TXN **	txnpp
ARG	INT	u_int32_t	flags
RET	ID	long		txnid
END
NOFUNC	env_txn_checkpoint	DB_ENV *, u_int32_t, u_int32_t, u_int32_t
BEGIN	env_txn_recover		RETCODE
ARG	ID	DB_ENV *	dbenv
ARG	IGNORE	DB_PREPLIST *	preplist
ARG	INT	long		count
ARG	IGNORE	long *		retp
ARG	INT	u_int32_t	flags
RET	LIST	DB_TXN *	txn	ID
RET	LIST	u_int8_t *	gid	GID
RET	INT	long		retcount
END
NOFUNC	env_txn_stat		DB_ENV *, DB_TXN_STAT **, u_int32_t
NOFUNC	env_txn_stat_print	DB_ENV *, u_int32_t

######################################################
# DB handle create.
######################################################
BEGIN	db_create		RETCODE
ARG	IGNORE	DB *		dbp
ARG	ID	DB_ENV *	dbenv
ARG	INT	u_int32_t	flags
RET	ID	long		db
END
######################################################
# DB handle methods.
######################################################
BEGIN	db_associate		CODE
ARG	ID	DB *		dbp
ARG	ID	DB_TXN *	txnp
ARG	ID	DB *		sdbp
FUNCPROT	int (*)(DB *, const DBT *, const DBT *, DBT *)
FUNCARG	int (*func0) __P((DB *, const DBT *, const DBT *, DBT *))
ARG	INT	u_int32_t	flags
END
BEGIN	db_close		RETCODE
ARG	ID	DB *		dbp
ARG	INT	u_int32_t	flags
END
NOFUNC	db_compact		DB *, DB_TXN *, DBT *, DBT *, DB_COMPACT *, u_int32_t, DBT *
BEGIN	db_cursor		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_del			CODE
ARG	ID	DB *		dbp
ARG	ID	DB_TXN *	txnp
ARG	DBT	DBT *		key
ARG	INT	u_int32_t	flags
END
LOCAL	db_err
LOCAL	db_errx
LOCAL	db_exists
NOFUNC	db_fd			DB *, int *
BEGIN	db_get			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_get_bt_minkey	CODE
ARG	ID	DB *		dbp
ARET	INT	u_int32_t	minkey
END
LOCAL	db_get_byteswapped
NOFUNC	db_get_cachesize	DB *, u_int32_t *, u_int32_t *, int *
BEGIN	db_get_dbname		CODE
ARG	ID	DB *		dbp
ARET	STRING	const char *	filename
ARET	STRING	const char *	dbname
END
BEGIN	db_get_encrypt_flags	CODE
ARG	ID	DB *		dbp
ARET	INT	u_int32_t	flags
END
LOCAL	db_get_env
LOCAL	db_get_errcall
LOCAL	db_get_errfile
LOCAL	db_get_errpfx
BEGIN	db_get_flags		CODE
ARG	ID	DB *		dbp
ARET	INT	u_int32_t	flags
END
BEGIN	db_get_h_ffactor	CODE
ARG	ID	DB *		dbp
ARET	INT	u_int32_t	ffactor
END
BEGIN	db_get_h_nelem		CODE
ARG	ID	DB *		dbp
ARET	INT	u_int32_t	nelem
END
BEGIN	db_get_lorder		CODE
ARG	ID	DB *		dbp
ARET	INT	int		lorder
END
NOFUNC	db_get_mpf		DB *
LOCAL	db_get_msgfile
LOCAL	db_get_multiple
BEGIN	db_get_open_flags	CODE
ARG	ID	DB *		dbp
ARET	INT	u_int32_t	flags
END
BEGIN	db_get_pagesize		CODE
ARG	ID	DB *		dbp
ARET	INT	u_int32_t	pagesize
END
BEGIN	db_get_priority		CODE
ARG	ID	DB *		dbp
ARET	INT	DB_CACHE_PRIORITY	priority
END
BEGIN	db_get_q_extentsize	CODE
ARG	ID	DB *		dbp
ARET	INT	u_int32_t	extentsize
END
BEGIN	db_get_re_delim		CODE
ARG	ID	DB *		dbp
ARET	INT	int		delim
END
BEGIN	db_get_re_len		CODE
ARG	ID	DB *		dbp
ARET	INT	u_int32_t	len
END
BEGIN	db_get_re_pad		CODE
ARG	ID	DB *		dbp
ARET	INT	int		pad
END
NOFUNC	db_get_re_source	DB *, const char **
LOCAL	db_get_transactional
LOCAL	db_get_type
BEGIN	db_join			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	db_key_range		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_open			RETCODE
ARG	ID	DB *		dbp
ARG	ID	DB_TXN *	txnp
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	ID	long		db
RET	INT	DBTYPE		type
RET	INT	int		lorder
END
BEGIN	db_pget			RETCODE
ARG	ID	DB *		dbp
ARG	ID	DB_TXN *	txnp
ARG	DBT	DBT *		skey
ARG	DBT	DBT *		pkey
ARG	DBT	DBT *		data
ARG	INT	u_int32_t	flags
RET	DBT	DBT *		skey
RET	DBT	DBT *		pkey
RET	DBT	DBT *		data
END
BEGIN	db_put			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_remove		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		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
NOFUNC	db_set_alloc		DB *, void *(*)(size_t), void *(*)(void *, size_t), void (*)(void *)
NOFUNC	db_set_append_recno	DB *, int (*)(DB *, DBT *, db_recno_t)
NOFUNC	db_set_bt_compare	DB *, int (*)(DB *, const DBT *, const DBT *)
BEGIN	db_set_bt_minkey	CODE
ARG	ID	DB *		dbp
ARG	INT	u_int32_t	minkey
END
NOFUNC	db_set_bt_prefix	DB *, size_t(*)(DB *, const DBT *, const DBT *)
NOFUNC	db_set_cachesize	DB *, u_int32_t, u_int32_t, int
NOFUNC	db_set_dup_compare	DB *, int (*)(DB *, const DBT *, const DBT *)
BEGIN	db_set_encrypt		CODE
ARG	ID	DB *		dbp
ARG	STRING	const char *	passwd
ARG	INT	u_int32_t	flags
END
LOCAL	db_set_errcall
LOCAL	db_set_errfile
LOCAL	db_set_errpfx
NOFUNC	db_set_feedback		DB *, void (*)(DB *, int, int)
BEGIN	db_set_flags		CODE
ARG	ID	DB *		dbp
ARG	INT	u_int32_t	flags
END
NOFUNC	db_set_h_compare	DB *, int (*)(DB *, const DBT *, const DBT *)
BEGIN	db_set_h_ffactor	CODE
ARG	ID	DB *		dbp
ARG	INT	u_int32_t	ffactor
END
NOFUNC	db_set_h_hash		DB *, u_int32_t(*)(DB *, const void *, u_int32_t)
BEGIN	db_set_h_nelem		CODE
ARG	ID	DB *		dbp
ARG	INT	u_int32_t	nelem
END
BEGIN	db_set_lorder		CODE
ARG	ID	DB *		dbp
ARG	INT	int		lorder
END
LOCAL	db_set_msgcall
LOCAL	db_set_msgfile
BEGIN	db_set_pagesize		CODE
ARG	ID	DB *		dbp
ARG	INT	u_int32_t	pagesize
END
NOFUNC	db_set_paniccall	DB *, void (*)(DB_ENV *, int)
BEGIN	db_set_priority		CODE
ARG	ID	DB *		dbp
ARG	INT	DB_CACHE_PRIORITY	priority
END
BEGIN	db_set_q_extentsize	CODE
ARG	ID	DB *		dbp
ARG	INT	u_int32_t	extentsize
END
BEGIN	db_set_re_delim		CODE
ARG	ID	DB *		dbp
ARG	INT	int		delim
END
BEGIN	db_set_re_len		CODE
ARG	ID	DB *		dbp
ARG	INT	u_int32_t	len
END
BEGIN	db_set_re_pad		CODE
ARG	ID	DB *		dbp
ARG	INT	int		pad
END
NOFUNC	db_set_re_source	DB *, const char *
BEGIN	db_stat			RETCODE
ARG	ID	DB *		dbp
ARG	ID	DB_TXN *	txnp
ARG	IGNORE	void *		sp
ARG	INT	u_int32_t	flags
RET	LIST	u_int32_t *	stats	INT
END
NOFUNC	db_stat_print		DB *, u_int32_t
BEGIN	db_sync			CODE
ARG	ID	DB *		dbp
ARG	INT	u_int32_t	flags
END
BEGIN	db_truncate		RETCODE
ARG	ID	DB *		dbp
ARG	ID	DB_TXN *	txnp
ARG	IGNORE	u_int32_t  *	countp
ARG	INT	u_int32_t	flags
RET	INT	u_int32_t	count
END
NOFUNC	db_upgrade		DB *, const char *, u_int32_t
NOFUNC	db_verify		DB *, const char *, const char *, FILE *, u_int32_t

######################################################
# DBC handle methods.
######################################################
BEGIN	dbc_close		RETCODE
ARG	ID	DBC *		dbc
END
BEGIN	dbc_count		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			CODE
ARG	ID	DBC *		dbc
ARG	INT	u_int32_t	flags
END
BEGIN	dbc_dup			RETCODE
ARG	ID	DBC *		dbc
ARG	IGNORE	DBC **		dbcp
ARG	INT	u_int32_t	flags
RET	ID	long		dbcid
END
BEGIN	dbc_get			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_get_priority	CODE
ARG	ID	DBC *		dbc
ARET	INT	DB_CACHE_PRIORITY	priority
END
BEGIN	dbc_pget		RETCODE
ARG	ID	DBC *		dbc
ARG	DBT	DBT *		skey
ARG	DBT	DBT *		pkey
ARG	DBT	DBT *		data
ARG	INT	u_int32_t	flags
RET	DBT	DBT *		skey
RET	DBT	DBT *		pkey
RET	DBT	DBT *		data
END
BEGIN	dbc_put			RETCODE
ARG	ID	DBC *		dbc
ARG	DBT	DBT *		key
ARG	DBT	DBT *		data
ARG	INT	u_int32_t	flags
RET	DBT	DBT *		key
END
BEGIN	dbc_set_priority	CODE
ARG	ID	DBC *		dbc
ARG	INT	DB_CACHE_PRIORITY	priority
END

######################################################
# DB_TXN handle methods.
######################################################
BEGIN	txn_abort		RETCODE
ARG	ID	DB_TXN *	txnp
END
BEGIN	txn_commit		RETCODE
ARG	ID	DB_TXN *	txnp
ARG	INT	u_int32_t	flags
END
BEGIN	txn_discard		RETCODE
ARG	ID	DB_TXN *	txnp
ARG	INT	u_int32_t	flags
END
NOFUNC	txn_get_name		DB_TXN *, const char **
LOCAL	txn_id
BEGIN	txn_prepare		CODE
ARG	ID	DB_TXN *	txnp
ARG	GID	u_int8_t *	gid
END
NOFUNC	txn_set_name		DB_TXN *, const char *
NOFUNC	txn_set_timeout		DB_TXN *, u_int32_t, u_int32_t
