]> jfr.im git - solanum.git/blob - bandb/rsdb.h
global masktrace doesn't need to be an operspy action
[solanum.git] / bandb / rsdb.h
1 #ifndef INCLUDED_rsdb_h
2 #define INCLUDED_rsdb_h
3
4 /* error handler callback */
5 typedef void rsdb_error_cb(const char *);
6
7 typedef int (*rsdb_callback) (int, const char **);
8
9 typedef enum rsdb_transtype
10 {
11 RSDB_TRANS_START,
12 RSDB_TRANS_END
13 }
14 rsdb_transtype;
15
16 struct rsdb_table
17 {
18 char ***row;
19 int row_count;
20 int col_count;
21 void *arg;
22 };
23
24 int rsdb_init(rsdb_error_cb *);
25 void rsdb_shutdown(void);
26
27 const char *rsdb_quote(const char *src);
28
29 void rsdb_exec(rsdb_callback cb, const char *format, ...);
30
31 void rsdb_exec_fetch(struct rsdb_table *data, const char *format, ...);
32 void rsdb_exec_fetch_end(struct rsdb_table *data);
33
34 void rsdb_transaction(rsdb_transtype type);
35 /* rsdb_snprintf.c */
36
37 int rs_vsnprintf(char *dest, const size_t bytes, const char *format, va_list args);
38 int rs_snprintf(char *dest, const size_t bytes, const char *format, ...);
39
40
41 #endif