1 // Copyright (c) 1987-2017 by the citadel.org team
2 // This program is open source software. Use, duplication, or disclosure
3 // are subject to the terms of the GNU General Public License, version 3.
5 // We expect these functions to act as an internal API that remains identical
6 // across multiple database back ends.
11 void cdb_init_backends(void);
13 extern void (*cdb_open_databases)(void);
14 extern void (*cdb_close_databases)(void);
15 extern int (*cdb_store)(int, const void *, int, void *, int);
16 extern int (*cdb_delete)(int, void *, int);
17 extern void (*cdb_free)(struct cdbdata *);
18 extern struct cdbdata * (*cdb_next_item)(int);
19 extern void (*cdb_close_cursor)(int);
20 extern void (*cdb_begin_transaction)(void);
21 extern void (*cdb_end_transaction)(void);
22 extern void (*cdb_check_handles)(void);
23 extern void (*cdb_trunc)(int);
24 extern void (*cdb_chmod_data)(void);
25 extern void (*check_handles)(void *);
26 extern struct cdbdata * (*cdb_fetch)(int, const void *, int);
27 extern void (*cdb_checkpoint)(void);
28 extern void (*cdb_compact)(void);
29 extern void (*cdb_rewind)(int);