1# See the file LICENSE for redistribution information.
2#
3# Copyright (c) 1999,2008 Oracle.  All rights reserved.
4#
5# $Id: rpc.src,v 12.38 2008/05/09 17:06:02 bschmeck Exp $
6#
7# Syntax:
8# BEGIN	function_name  {CODE | LINKONLY | RETCODE}
9#	CODE:	generate XDR and client code, return status
10#		Used for functions that just return a status and nothing else.
11#	RETCODE:generate XDR and client code, call return function
12#		(generate template return function)
13#		Used for functions that returns data.
14#	LINKONLY:
15#		No code needs to be generated, the function is hand-coded.
16#
17# ARG	{IGNORE | STRING | INT | DBT | LIST | ID | CONST}  C-type varname
18#	IGNORE:	not passed to server
19#	STRING:	string passed to server
20#	DBT:	DBT arg passed to server
21#	LIST:	list passed to server (NULL-terminated list of something)
22#	INT:	integer passed to server
23#	ID:	cl_id from arg passed to server
24#	GID:	global id 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# ARETs are RETs which are returned in arguments by the client.
42# {RET | ARET}	{STRING | INT | DBT | LIST | ID} varname [GID | INT | ID]
43#	STRING:	string from server
44#	DBT:	DBT arg from server
45#	LIST:	list from server (NULL-terminated list)
46#	  Must have list type of GID, ID or INT specified
47#	INT:	integer from server
48#	ID:	id from server stored in cl_id
49# END	function end.
50#
51# NOFUNC function_name prototype
52#	Connect the method to an "unsupported function" error message.
53
54######################################################
55# DB_ENV handle create.
56######################################################
57BEGIN	env_create		RETCODE
58ARG	IGNORE	DB_ENV *	dbenv
59ARG	INT	long		timeout
60RET	ID	long		env
61END
62######################################################
63# DB_ENV handle methods.
64######################################################
65BEGIN	env_cdsgroup_begin	RETCODE
66ARG	ID	DB_ENV *	dbenv
67ARG	IGNORE	DB_TXN **	txnpp
68RET	ID	long		txnid
69END
70BEGIN	env_close		CODE
71ARG	ID	DB_ENV *	dbenv
72ARG	INT	u_int32_t	flags
73END
74BEGIN	env_dbremove		CODE
75ARG	ID	DB_ENV *	dbenv
76ARG	ID	DB_TXN *	txnp
77ARG	STRING	const char *	name
78ARG	STRING	const char *	subdb
79ARG	INT	u_int32_t	flags
80END
81BEGIN	env_dbrename		CODE
82ARG	ID	DB_ENV *	dbenv
83ARG	ID	DB_TXN *	txnp
84ARG	STRING	const char *	name
85ARG	STRING	const char *	subdb
86ARG	STRING	const char *	newname
87ARG	INT	u_int32_t	flags
88END
89LOCAL	env_err
90LOCAL	env_errx
91NOFUNC	env_failchk		DB_ENV *, u_int32_t
92NOFUNC	env_fileid_reset	DB_ENV *, const char *, u_int32_t
93NOFUNC	env_get_cache_max	DB_ENV *, u_int32_t *, u_int32_t *
94BEGIN	env_get_cachesize	CODE
95ARG	ID	DB_ENV *	dbenv
96ARET	INT	u_int32_t	gbytes
97ARET	INT	u_int32_t	bytes
98ARET	INT	int		ncache
99END
100NOFUNC	env_get_data_dirs	DB_ENV *, const char ***
101BEGIN	env_get_encrypt_flags	CODE
102ARG	ID	DB_ENV *	dbenv
103ARET	INT	u_int32_t	flags
104END
105LOCAL	env_get_errcall
106LOCAL	env_get_errfile
107LOCAL	env_get_errpfx
108BEGIN	env_get_flags		CODE
109ARG	ID	DB_ENV *	dbenv
110ARET	INT	u_int32_t	flags
111END
112BEGIN	env_get_home		CODE
113ARG	ID	DB_ENV *	dbenv
114ARET	STRING	const char *	home
115END
116NOFUNC	env_get_intermediate_dir_mode	DB_ENV *, const char **
117NOFUNC	env_get_lg_bsize	DB_ENV *, u_int32_t *
118NOFUNC	env_get_lg_dir		DB_ENV *, const char **
119NOFUNC	env_get_lg_filemode	DB_ENV *, int *
120NOFUNC	env_get_lg_max		DB_ENV *, u_int32_t *
121NOFUNC	env_get_lg_regionmax	DB_ENV *, u_int32_t *
122NOFUNC	env_get_lk_conflicts	DB_ENV *, const u_int8_t **, int *
123NOFUNC	env_get_lk_detect	DB_ENV *, u_int32_t *
124NOFUNC	env_get_lk_max_lockers	DB_ENV *, u_int32_t *
125NOFUNC	env_get_lk_max_locks	DB_ENV *, u_int32_t *
126NOFUNC	env_get_lk_max_objects	DB_ENV *, u_int32_t *
127NOFUNC	env_get_lk_partitions	DB_ENV *, u_int32_t *
128NOFUNC	env_get_mp_max_openfd	DB_ENV *, int *
129NOFUNC	env_get_mp_max_write	DB_ENV *, int *, db_timeout_t *
130NOFUNC	env_get_mp_mmapsize	DB_ENV *, size_t *
131LOCAL	env_get_msgfile
132BEGIN	env_get_open_flags	CODE
133ARG	ID	DB_ENV *	dbenv
134ARET	INT	u_int32_t	flags
135END
136NOFUNC	env_get_shm_key		DB_ENV *, long *
137NOFUNC	env_get_thread_count	DB_ENV *, u_int32_t *
138NOFUNC	env_get_timeout		DB_ENV *, db_timeout_t *, u_int32_t
139NOFUNC	env_get_tmp_dir		DB_ENV *, const char **
140NOFUNC	env_get_tx_max		DB_ENV *, u_int32_t *
141NOFUNC	env_get_tx_timestamp	DB_ENV *, time_t *
142NOFUNC	env_get_verbose		DB_ENV *, u_int32_t, int *
143LOCAL	env_is_bigendian
144NOFUNC	env_lock_detect		DB_ENV *, u_int32_t, u_int32_t, int *
145NOFUNC	env_lock_get		DB_ENV *, u_int32_t, u_int32_t, const DBT *, db_lockmode_t, DB_LOCK *
146NOFUNC	env_lock_id		DB_ENV *, u_int32_t *
147NOFUNC	env_lock_id_free	DB_ENV *, u_int32_t
148NOFUNC	env_lock_put		DB_ENV *, DB_LOCK *
149NOFUNC	env_lock_stat		DB_ENV *, DB_LOCK_STAT **, u_int32_t
150NOFUNC	env_lock_stat_print	DB_ENV *, u_int32_t
151NOFUNC	env_lock_vec		DB_ENV *, u_int32_t, u_int32_t, DB_LOCKREQ *, int, DB_LOCKREQ **
152NOFUNC	env_log_archive		DB_ENV *, char ***, u_int32_t
153NOFUNC	env_log_cursor		DB_ENV *, DB_LOGC **, u_int32_t
154NOFUNC	env_log_file		DB_ENV *, const DB_LSN *, char *, size_t
155NOFUNC	env_log_flush		DB_ENV *, const DB_LSN *
156NOFUNC	env_log_get_config	DB_ENV *, u_int32_t, int *
157NOFUNC	env_log_printf		DB_ENV *, DB_TXN *, const char *, ...
158NOFUNC	env_log_put		DB_ENV *, DB_LSN *, const DBT *, u_int32_t
159NOFUNC	env_log_set_config	DB_ENV *, u_int32_t, int
160NOFUNC	env_log_stat		DB_ENV *, DB_LOG_STAT **, u_int32_t
161NOFUNC	env_log_stat_print	DB_ENV *, u_int32_t
162NOFUNC	env_lsn_reset		DB_ENV *, const char *, u_int32_t
163NOFUNC	env_memp_fcreate	DB_ENV *, DB_MPOOLFILE **, u_int32_t
164NOFUNC	env_memp_register	DB_ENV *, int, int (*)(DB_ENV *, db_pgno_t, void *, DBT *), int (*)(DB_ENV *, db_pgno_t, void *, DBT *)
165NOFUNC	env_memp_stat		DB_ENV *, DB_MPOOL_STAT **, DB_MPOOL_FSTAT ***, u_int32_t
166NOFUNC	env_memp_stat_print	DB_ENV *, u_int32_t
167NOFUNC	env_memp_sync		DB_ENV *, DB_LSN *
168NOFUNC	env_memp_trickle	DB_ENV *, int, int *
169NOFUNC	env_mutex_alloc		DB_ENV *, u_int32_t, u_int32_t *
170NOFUNC	env_mutex_free		DB_ENV *, u_int32_t
171NOFUNC	env_mutex_get_align	DB_ENV *, u_int32_t *
172NOFUNC	env_mutex_get_increment	DB_ENV *, u_int32_t *
173NOFUNC	env_mutex_get_max	DB_ENV *, u_int32_t *
174NOFUNC	env_mutex_get_tas_spins	DB_ENV *, u_int32_t *
175NOFUNC	env_mutex_lock		DB_ENV *, u_int32_t
176NOFUNC	env_mutex_set_align	DB_ENV *, u_int32_t
177NOFUNC	env_mutex_set_increment	DB_ENV *, u_int32_t
178NOFUNC	env_mutex_set_max	DB_ENV *, u_int32_t
179NOFUNC	env_mutex_set_tas_spins	DB_ENV *, u_int32_t
180NOFUNC	env_mutex_stat		DB_ENV *, DB_MUTEX_STAT **, u_int32_t
181NOFUNC	env_mutex_stat_print	DB_ENV *, u_int32_t
182NOFUNC	env_mutex_unlock	DB_ENV *, u_int32_t
183BEGIN	env_open		RETCODE
184ARG	ID	DB_ENV *	dbenv
185ARG	STRING	const char *	home
186ARG	INT	u_int32_t	flags
187ARG	INT	int		mode
188RET	ID	long		env
189END
190BEGIN	env_remove		RETCODE
191ARG	ID	DB_ENV *	dbenv
192ARG	STRING	const char *	home
193ARG	INT	u_int32_t	flags
194END
195NOFUNC	env_rep_elect		DB_ENV *, u_int32_t, u_int32_t, u_int32_t
196NOFUNC	env_rep_flush		DB_ENV *
197NOFUNC	env_rep_get_clockskew	DB_ENV *, u_int32_t *, u_int32_t *
198NOFUNC	env_rep_get_config	DB_ENV *, u_int32_t, int *
199NOFUNC	env_rep_get_limit	DB_ENV *, u_int32_t *, u_int32_t *
200NOFUNC	env_rep_get_nsites	DB_ENV *, u_int32_t *
201NOFUNC	env_rep_get_priority	DB_ENV *, u_int32_t *
202NOFUNC	env_rep_get_request	DB_ENV *, u_int32_t *, u_int32_t *
203NOFUNC	env_rep_get_timeout	DB_ENV *, int, db_timeout_t *
204NOFUNC	env_rep_process_message	DB_ENV *, DBT *, DBT *, int, DB_LSN *
205NOFUNC	env_rep_set_clockskew	DB_ENV *, u_int32_t, u_int32_t
206NOFUNC	env_rep_set_config	DB_ENV *, u_int32_t, int
207NOFUNC	env_rep_set_limit	DB_ENV *, u_int32_t, u_int32_t
208NOFUNC	env_rep_set_nsites	DB_ENV *, u_int32_t
209NOFUNC	env_rep_set_priority	DB_ENV *, u_int32_t
210NOFUNC	env_rep_set_request	DB_ENV *, u_int32_t, u_int32_t
211NOFUNC	env_rep_set_timeout	DB_ENV *, int, db_timeout_t
212NOFUNC	env_rep_set_transport	DB_ENV *, int, int (*)(DB_ENV *, const DBT *, const DBT *, const DB_LSN *, int, u_int32_t)
213NOFUNC	env_rep_start		DB_ENV *, DBT *, u_int32_t
214NOFUNC	env_rep_stat		DB_ENV *, DB_REP_STAT **, u_int32_t
215NOFUNC	env_rep_stat_print	DB_ENV *, u_int32_t
216NOFUNC	env_rep_sync		DB_ENV *, u_int32_t
217NOFUNC	env_repmgr_add_remote_site	DB_ENV *, const char *, u_int, int *, u_int32_t
218NOFUNC	env_repmgr_get_ack_policy	DB_ENV *, int *
219NOFUNC	env_repmgr_set_ack_policy	DB_ENV *, int
220NOFUNC	env_repmgr_set_local_site	DB_ENV *, const char *, u_int, u_int32_t
221NOFUNC	env_repmgr_site_list	DB_ENV *, u_int *, DB_REPMGR_SITE **
222NOFUNC	env_repmgr_start	DB_ENV *, int, u_int32_t
223NOFUNC	env_repmgr_stat		DB_ENV *, DB_REPMGR_STAT **, u_int32_t
224NOFUNC	env_repmgr_stat_print	DB_ENV *, u_int32_t
225NOFUNC	env_set_alloc		DB_ENV *, void *(*)(size_t), void *(*)(void *, size_t), void (*)(void *)
226NOFUNC	env_set_app_dispatch	DB_ENV *, int (*)(DB_ENV *, DBT *, DB_LSN *, db_recops)
227NOFUNC	env_set_cache_max	DB_ENV *, u_int32_t, u_int32_t
228BEGIN	env_set_cachesize	CODE
229ARG	ID	DB_ENV *	dbenv
230ARG	INT	u_int32_t	gbytes
231ARG	INT	u_int32_t	bytes
232ARG	INT	int		ncache
233END
234NOFUNC	env_set_data_dir	DB_ENV *, const char *
235BEGIN	env_set_encrypt		CODE
236ARG	ID	DB_ENV *	dbenv
237ARG	STRING	const char *	passwd
238ARG	INT	u_int32_t	flags
239END
240LOCAL	env_set_errcall
241LOCAL	env_set_errfile
242LOCAL	env_set_errpfx
243NOFUNC	env_set_event_notify	DB_ENV *, void (*)(DB_ENV *, u_int32_t, void *)
244NOFUNC	env_set_feedback	DB_ENV *, void (*)(DB_ENV *, int, int)
245BEGIN	env_set_flags		CODE
246ARG	ID	DB_ENV *	dbenv
247ARG	INT	u_int32_t	flags
248ARG	INT	int		onoff
249END
250NOFUNC	env_set_intermediate_dir_mode	DB_ENV *, const char *
251NOFUNC	env_set_isalive		DB_ENV *, int (*)(DB_ENV *, pid_t, db_threadid_t, u_int32_t)
252NOFUNC	env_set_lg_bsize	DB_ENV *, u_int32_t
253NOFUNC	env_set_lg_dir		DB_ENV *, const char *
254NOFUNC	env_set_lg_filemode	DB_ENV *, int
255NOFUNC	env_set_lg_max		DB_ENV *, u_int32_t
256NOFUNC	env_set_lg_regionmax	DB_ENV *, u_int32_t
257NOFUNC	env_set_lk_conflicts	DB_ENV *, u_int8_t *, int
258NOFUNC	env_set_lk_detect	DB_ENV *, u_int32_t
259NOFUNC	env_set_lk_max_lockers	DB_ENV *, u_int32_t
260NOFUNC	env_set_lk_max_locks	DB_ENV *, u_int32_t
261NOFUNC	env_set_lk_max_objects	DB_ENV *, u_int32_t
262NOFUNC	env_set_lk_partitions	DB_ENV *, u_int32_t
263NOFUNC	env_set_mp_max_openfd	DB_ENV *, int
264NOFUNC	env_set_mp_max_write	DB_ENV *, int, db_timeout_t
265NOFUNC	env_set_mp_mmapsize	DB_ENV *, size_t
266LOCAL	env_set_msgcall
267LOCAL	env_set_msgfile
268NOFUNC	env_set_paniccall	DB_ENV *, void (*)(DB_ENV *, int)
269BEGIN	env_set_rpc_server	LINKONLY
270ARG	ID	DB_ENV *	dbenv
271END
272NOFUNC	env_set_shm_key		DB_ENV *, long
273NOFUNC	env_set_thread_count	DB_ENV *, u_int32_t
274NOFUNC	env_set_thread_id	DB_ENV *, void (*)(DB_ENV *, pid_t *, db_threadid_t*)
275NOFUNC	env_set_thread_id_string	DB_ENV *, char *(*)(DB_ENV *, pid_t, db_threadid_t, char *)
276NOFUNC	env_set_timeout		DB_ENV *, u_int32_t, u_int32_t
277NOFUNC	env_set_tmp_dir		DB_ENV *, const char *
278NOFUNC	env_set_tx_max		DB_ENV *, u_int32_t
279NOFUNC	env_set_tx_timestamp	DB_ENV *, time_t *
280NOFUNC	env_set_verbose		DB_ENV *, u_int32_t, int
281NOFUNC	env_stat_print		DB_ENV *, u_int32_t
282BEGIN	env_txn_begin		RETCODE
283ARG	ID	DB_ENV *	dbenv
284ARG	ID	DB_TXN *	parent
285ARG	IGNORE	DB_TXN **	txnpp
286ARG	INT	u_int32_t	flags
287RET	ID	long		txnid
288END
289NOFUNC	env_txn_checkpoint	DB_ENV *, u_int32_t, u_int32_t, u_int32_t
290BEGIN	env_txn_recover		RETCODE
291ARG	ID	DB_ENV *	dbenv
292ARG	IGNORE	DB_PREPLIST *	preplist
293ARG	INT	long		count
294ARG	IGNORE	long *		retp
295ARG	INT	u_int32_t	flags
296RET	LIST	DB_TXN *	txn	ID
297RET	LIST	u_int8_t *	gid	GID
298RET	INT	long		retcount
299END
300NOFUNC	env_txn_stat		DB_ENV *, DB_TXN_STAT **, u_int32_t
301NOFUNC	env_txn_stat_print	DB_ENV *, u_int32_t
302
303######################################################
304# DB handle create.
305######################################################
306BEGIN	db_create		RETCODE
307ARG	IGNORE	DB *		dbp
308ARG	ID	DB_ENV *	dbenv
309ARG	INT	u_int32_t	flags
310RET	ID	long		db
311END
312######################################################
313# DB handle methods.
314######################################################
315BEGIN	db_associate		CODE
316ARG	ID	DB *		dbp
317ARG	ID	DB_TXN *	txnp
318ARG	ID	DB *		sdbp
319FUNCPROT	int (*)(DB *, const DBT *, const DBT *, DBT *)
320FUNCARG	int (*func0) __P((DB *, const DBT *, const DBT *, DBT *))
321ARG	INT	u_int32_t	flags
322END
323BEGIN	db_close		RETCODE
324ARG	ID	DB *		dbp
325ARG	INT	u_int32_t	flags
326END
327NOFUNC	db_compact		DB *, DB_TXN *, DBT *, DBT *, DB_COMPACT *, u_int32_t, DBT *
328BEGIN	db_cursor		RETCODE
329ARG	ID	DB *		dbp
330ARG	ID	DB_TXN *	txnp
331ARG	IGNORE	DBC **		dbcpp
332ARG	INT	u_int32_t	flags
333RET	ID	long		dbcid
334END
335BEGIN	db_del			CODE
336ARG	ID	DB *		dbp
337ARG	ID	DB_TXN *	txnp
338ARG	DBT	DBT *		key
339ARG	INT	u_int32_t	flags
340END
341LOCAL	db_err
342LOCAL	db_errx
343LOCAL	db_exists
344NOFUNC	db_fd			DB *, int *
345BEGIN	db_get			RETCODE
346ARG	ID	DB *		dbp
347ARG	ID	DB_TXN *	txnp
348ARG	DBT	DBT *		key
349ARG	DBT	DBT *		data
350ARG	INT	u_int32_t	flags
351RET	DBT	DBT *		key
352RET	DBT	DBT *		data
353END
354BEGIN	db_get_bt_minkey	CODE
355ARG	ID	DB *		dbp
356ARET	INT	u_int32_t	minkey
357END
358LOCAL	db_get_byteswapped
359NOFUNC	db_get_cachesize	DB *, u_int32_t *, u_int32_t *, int *
360BEGIN	db_get_dbname		CODE
361ARG	ID	DB *		dbp
362ARET	STRING	const char *	filename
363ARET	STRING	const char *	dbname
364END
365BEGIN	db_get_encrypt_flags	CODE
366ARG	ID	DB *		dbp
367ARET	INT	u_int32_t	flags
368END
369LOCAL	db_get_env
370LOCAL	db_get_errcall
371LOCAL	db_get_errfile
372LOCAL	db_get_errpfx
373BEGIN	db_get_flags		CODE
374ARG	ID	DB *		dbp
375ARET	INT	u_int32_t	flags
376END
377BEGIN	db_get_h_ffactor	CODE
378ARG	ID	DB *		dbp
379ARET	INT	u_int32_t	ffactor
380END
381BEGIN	db_get_h_nelem		CODE
382ARG	ID	DB *		dbp
383ARET	INT	u_int32_t	nelem
384END
385BEGIN	db_get_lorder		CODE
386ARG	ID	DB *		dbp
387ARET	INT	int		lorder
388END
389NOFUNC	db_get_mpf		DB *
390LOCAL	db_get_msgfile
391LOCAL	db_get_multiple
392BEGIN	db_get_open_flags	CODE
393ARG	ID	DB *		dbp
394ARET	INT	u_int32_t	flags
395END
396BEGIN	db_get_pagesize		CODE
397ARG	ID	DB *		dbp
398ARET	INT	u_int32_t	pagesize
399END
400BEGIN	db_get_priority		CODE
401ARG	ID	DB *		dbp
402ARET	INT	DB_CACHE_PRIORITY	priority
403END
404BEGIN	db_get_q_extentsize	CODE
405ARG	ID	DB *		dbp
406ARET	INT	u_int32_t	extentsize
407END
408BEGIN	db_get_re_delim		CODE
409ARG	ID	DB *		dbp
410ARET	INT	int		delim
411END
412BEGIN	db_get_re_len		CODE
413ARG	ID	DB *		dbp
414ARET	INT	u_int32_t	len
415END
416BEGIN	db_get_re_pad		CODE
417ARG	ID	DB *		dbp
418ARET	INT	int		pad
419END
420NOFUNC	db_get_re_source	DB *, const char **
421LOCAL	db_get_transactional
422LOCAL	db_get_type
423BEGIN	db_join			RETCODE
424ARG	ID	DB *		dbp
425ARG	LIST	DBC **		curs	ID
426ARG	IGNORE	DBC **		dbcp
427ARG	INT	u_int32_t	flags
428RET	ID	long		dbcid
429END
430BEGIN	db_key_range		RETCODE
431ARG	ID	DB *		dbp
432ARG	ID	DB_TXN *	txnp
433ARG	DBT	DBT *		key
434ARG	IGNORE	DB_KEY_RANGE *	range
435ARG	INT	u_int32_t	flags
436RET	DBL	double		less
437RET	DBL	double		equal
438RET	DBL	double		greater
439END
440BEGIN	db_open			RETCODE
441ARG	ID	DB *		dbp
442ARG	ID	DB_TXN *	txnp
443ARG	STRING	const char *	name
444ARG	STRING	const char *	subdb
445ARG	INT	DBTYPE		type
446ARG	INT	u_int32_t	flags
447ARG	INT	int		mode
448RET	ID	long		db
449RET	INT	DBTYPE		type
450RET	INT	int		lorder
451END
452BEGIN	db_pget			RETCODE
453ARG	ID	DB *		dbp
454ARG	ID	DB_TXN *	txnp
455ARG	DBT	DBT *		skey
456ARG	DBT	DBT *		pkey
457ARG	DBT	DBT *		data
458ARG	INT	u_int32_t	flags
459RET	DBT	DBT *		skey
460RET	DBT	DBT *		pkey
461RET	DBT	DBT *		data
462END
463BEGIN	db_put			RETCODE
464ARG	ID	DB *		dbp
465ARG	ID	DB_TXN *	txnp
466ARG	DBT	DBT *		key
467ARG	DBT	DBT *		data
468ARG	INT	u_int32_t	flags
469RET	DBT	DBT *		key
470END
471BEGIN	db_remove		RETCODE
472ARG	ID	DB *		dbp
473ARG	STRING	const char *	name
474ARG	STRING	const char *	subdb
475ARG	INT	u_int32_t	flags
476END
477BEGIN	db_rename		RETCODE
478ARG	ID	DB *		dbp
479ARG	STRING	const char *	name
480ARG	STRING	const char *	subdb
481ARG	STRING	const char *	newname
482ARG	INT	u_int32_t	flags
483END
484NOFUNC	db_set_alloc		DB *, void *(*)(size_t), void *(*)(void *, size_t), void (*)(void *)
485NOFUNC	db_set_append_recno	DB *, int (*)(DB *, DBT *, db_recno_t)
486NOFUNC	db_set_bt_compare	DB *, int (*)(DB *, const DBT *, const DBT *)
487BEGIN	db_set_bt_minkey	CODE
488ARG	ID	DB *		dbp
489ARG	INT	u_int32_t	minkey
490END
491NOFUNC	db_set_bt_prefix	DB *, size_t(*)(DB *, const DBT *, const DBT *)
492NOFUNC	db_set_cachesize	DB *, u_int32_t, u_int32_t, int
493NOFUNC	db_set_dup_compare	DB *, int (*)(DB *, const DBT *, const DBT *)
494BEGIN	db_set_encrypt		CODE
495ARG	ID	DB *		dbp
496ARG	STRING	const char *	passwd
497ARG	INT	u_int32_t	flags
498END
499LOCAL	db_set_errcall
500LOCAL	db_set_errfile
501LOCAL	db_set_errpfx
502NOFUNC	db_set_feedback		DB *, void (*)(DB *, int, int)
503BEGIN	db_set_flags		CODE
504ARG	ID	DB *		dbp
505ARG	INT	u_int32_t	flags
506END
507NOFUNC	db_set_h_compare	DB *, int (*)(DB *, const DBT *, const DBT *)
508BEGIN	db_set_h_ffactor	CODE
509ARG	ID	DB *		dbp
510ARG	INT	u_int32_t	ffactor
511END
512NOFUNC	db_set_h_hash		DB *, u_int32_t(*)(DB *, const void *, u_int32_t)
513BEGIN	db_set_h_nelem		CODE
514ARG	ID	DB *		dbp
515ARG	INT	u_int32_t	nelem
516END
517BEGIN	db_set_lorder		CODE
518ARG	ID	DB *		dbp
519ARG	INT	int		lorder
520END
521LOCAL	db_set_msgcall
522LOCAL	db_set_msgfile
523BEGIN	db_set_pagesize		CODE
524ARG	ID	DB *		dbp
525ARG	INT	u_int32_t	pagesize
526END
527NOFUNC	db_set_paniccall	DB *, void (*)(DB_ENV *, int)
528BEGIN	db_set_priority		CODE
529ARG	ID	DB *		dbp
530ARG	INT	DB_CACHE_PRIORITY	priority
531END
532BEGIN	db_set_q_extentsize	CODE
533ARG	ID	DB *		dbp
534ARG	INT	u_int32_t	extentsize
535END
536BEGIN	db_set_re_delim		CODE
537ARG	ID	DB *		dbp
538ARG	INT	int		delim
539END
540BEGIN	db_set_re_len		CODE
541ARG	ID	DB *		dbp
542ARG	INT	u_int32_t	len
543END
544BEGIN	db_set_re_pad		CODE
545ARG	ID	DB *		dbp
546ARG	INT	int		pad
547END
548NOFUNC	db_set_re_source	DB *, const char *
549BEGIN	db_stat			RETCODE
550ARG	ID	DB *		dbp
551ARG	ID	DB_TXN *	txnp
552ARG	IGNORE	void *		sp
553ARG	INT	u_int32_t	flags
554RET	LIST	u_int32_t *	stats	INT
555END
556NOFUNC	db_stat_print		DB *, u_int32_t
557BEGIN	db_sync			CODE
558ARG	ID	DB *		dbp
559ARG	INT	u_int32_t	flags
560END
561BEGIN	db_truncate		RETCODE
562ARG	ID	DB *		dbp
563ARG	ID	DB_TXN *	txnp
564ARG	IGNORE	u_int32_t  *	countp
565ARG	INT	u_int32_t	flags
566RET	INT	u_int32_t	count
567END
568NOFUNC	db_upgrade		DB *, const char *, u_int32_t
569NOFUNC	db_verify		DB *, const char *, const char *, FILE *, u_int32_t
570
571######################################################
572# DBC handle methods.
573######################################################
574BEGIN	dbc_close		RETCODE
575ARG	ID	DBC *		dbc
576END
577BEGIN	dbc_count		RETCODE
578ARG	ID	DBC *		dbc
579ARG	IGNORE	db_recno_t *	countp
580ARG	INT	u_int32_t	flags
581RET	INT	db_recno_t	dupcount
582END
583BEGIN	dbc_del			CODE
584ARG	ID	DBC *		dbc
585ARG	INT	u_int32_t	flags
586END
587BEGIN	dbc_dup			RETCODE
588ARG	ID	DBC *		dbc
589ARG	IGNORE	DBC **		dbcp
590ARG	INT	u_int32_t	flags
591RET	ID	long		dbcid
592END
593BEGIN	dbc_get			RETCODE
594ARG	ID	DBC *		dbc
595ARG	DBT	DBT *		key
596ARG	DBT	DBT *		data
597ARG	INT	u_int32_t	flags
598RET	DBT	DBT *		key
599RET	DBT	DBT *		data
600END
601BEGIN	dbc_get_priority	CODE
602ARG	ID	DBC *		dbc
603ARET	INT	DB_CACHE_PRIORITY	priority
604END
605BEGIN	dbc_pget		RETCODE
606ARG	ID	DBC *		dbc
607ARG	DBT	DBT *		skey
608ARG	DBT	DBT *		pkey
609ARG	DBT	DBT *		data
610ARG	INT	u_int32_t	flags
611RET	DBT	DBT *		skey
612RET	DBT	DBT *		pkey
613RET	DBT	DBT *		data
614END
615BEGIN	dbc_put			RETCODE
616ARG	ID	DBC *		dbc
617ARG	DBT	DBT *		key
618ARG	DBT	DBT *		data
619ARG	INT	u_int32_t	flags
620RET	DBT	DBT *		key
621END
622BEGIN	dbc_set_priority	CODE
623ARG	ID	DBC *		dbc
624ARG	INT	DB_CACHE_PRIORITY	priority
625END
626
627######################################################
628# DB_TXN handle methods.
629######################################################
630BEGIN	txn_abort		RETCODE
631ARG	ID	DB_TXN *	txnp
632END
633BEGIN	txn_commit		RETCODE
634ARG	ID	DB_TXN *	txnp
635ARG	INT	u_int32_t	flags
636END
637BEGIN	txn_discard		RETCODE
638ARG	ID	DB_TXN *	txnp
639ARG	INT	u_int32_t	flags
640END
641NOFUNC	txn_get_name		DB_TXN *, const char **
642LOCAL	txn_id
643BEGIN	txn_prepare		CODE
644ARG	ID	DB_TXN *	txnp
645ARG	GID	u_int8_t *	gid
646END
647NOFUNC	txn_set_name		DB_TXN *, const char *
648NOFUNC	txn_set_timeout		DB_TXN *, u_int32_t, u_int32_t
649