]> jfr.im git - irc/quakenet/newserv.git/blame - sqlite/sqlite.h
merge
[irc/quakenet/newserv.git] / sqlite / sqlite.h
CommitLineData
ee8cd7d0
CP
1#ifndef __SQLITE_DB_H
2#define __SQLITE_DB_H
3
adf9e9ea
CP
4#include <stdlib.h>
5
05a1e63f 6#include "../sqlite/libsqlite3/sqlite3.h"
ee8cd7d0
CP
7
8typedef struct SQLiteResult {
aa944539
CP
9 sqlite3_stmt *r;
10 char first, final;
14e5a2c6 11 short flags;
ee8cd7d0
CP
12} SQLiteResult;
13
aa944539
CP
14typedef SQLiteResult SQLiteConn;
15typedef int SQLiteModuleIdentifier;
16typedef void (*SQLiteQueryHandler)(SQLiteConn *, void *);
17
bb4b25ee 18void sqliteasyncqueryf(SQLiteModuleIdentifier identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, ...) __attribute__ ((format (printf, 5, 6)));
91ad51f6 19void sqliteasyncqueryfv(int identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, va_list ap);
ee8cd7d0
CP
20
21int sqliteconnected(void);
22
008e57e5
CP
23int sqlitegetid(void);
24void sqlitefreeid(int);
ee8cd7d0 25
404d307c 26size_t sqliteescapestring(char *buf, char *src, unsigned int len);
ee8cd7d0
CP
27
28SQLiteResult *sqlitegetresult(SQLiteConn *);
29int sqlitefetchrow(SQLiteResult *);
30void sqliteclear(SQLiteResult *);
31
32int sqlitequerysuccessful(SQLiteResult *);
33
df196dd2 34#define sqlitegetvalue(result, column) ((char *)sqlite3_column_text(result->r, column))
ee8cd7d0 35
aa944539
CP
36void sqliteattach(char *schema);
37void sqlitedetach(char *schema);
91ad51f6 38void sqliteloadtable(char *tablename, SQLiteQueryHandler init, SQLiteQueryHandler data, SQLiteQueryHandler fini, void *tag);
ee8cd7d0
CP
39
40#endif