]> jfr.im git - irc/rqf/shadowircd.git/blame - bandb/rsdb.h
Add bandb code.
[irc/rqf/shadowircd.git] / bandb / rsdb.h
CommitLineData
7641ecd8
WP
1/* $Id: rsdb.h 26164 2008-10-26 19:52:43Z androsyn $ */
2#ifndef INCLUDED_rsdb_h
3#define INCLUDED_rsdb_h
4
5/* error handler callback */
6typedef void rsdb_error_cb(const char *);
7
8typedef int (*rsdb_callback) (int, const char **);
9
10typedef enum rsdb_transtype
11{
12 RSDB_TRANS_START,
13 RSDB_TRANS_END
14}
15rsdb_transtype;
16
17struct rsdb_table
18{
19 char ***row;
20 int row_count;
21 int col_count;
22 void *arg;
23};
24
25int rsdb_init(rsdb_error_cb *);
26void rsdb_shutdown(void);
27
28const char *rsdb_quote(const char *src);
29
30void rsdb_exec(rsdb_callback cb, const char *format, ...);
31
32void rsdb_exec_fetch(struct rsdb_table *data, const char *format, ...);
33void rsdb_exec_fetch_end(struct rsdb_table *data);
34
35void rsdb_transaction(rsdb_transtype type);
36/* rsdb_snprintf.c */
37
38int rs_vsnprintf(char *dest, const size_t bytes, const char *format, va_list args);
39int rs_snprintf(char *dest, const size_t bytes, const char *format, ...);
40
41
42#endif