]> code.citadel.org Git - citadel.git/blob - citadel/server/database.h
a276731eb95208040ba6dd513fff128b2ad443b4
[citadel.git] / citadel / server / database.h
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.
4
5 // We expect these functions to act as an internal API that remains identical
6 // across multiple database back ends.
7
8 #ifndef DATABASE_H
9 #define DATABASE_H
10
11 void            cdb_open_databases(void);
12 void            cdb_close_databases(void);
13 int             cdb_store(int cdb, const void *key, int keylen, void *data, int datalen);
14 int             cdb_delete(int cdb, void *key, int keylen);
15 struct cdbdata  *cdb_fetch(int cdb, const void *key, int keylen);
16 void            cdb_free(struct cdbdata *cdb);
17 void            cdb_rewind(int cdb);
18 struct cdbdata  *cdb_next_item(int cdb);
19 void            cdb_close_cursor(int cdb);
20 void            cdb_begin_transaction(void);
21 void            cdb_end_transaction(void);
22 void            cdb_check_handles(void);
23 void            cdb_trunc(int cdb);
24 void            cdb_chmod_data(void);
25 void            cdb_checkpoint(void);
26 void            check_handles(void *arg);
27 void            cdb_compact(void);
28
29 #endif