]> jfr.im git - irc/quakenet/newserv.git/blob - sqlite/sqlite.h
b6f0c16fcdf00c5b14bc70ffcb17b111444ed332
[irc/quakenet/newserv.git] / sqlite / sqlite.h
1 #ifndef __SQLITE_DB_H
2 #define __SQLITE_DB_H
3
4 #include <sqlite3.h>
5
6 #ifdef SQLITE_THREADSAFE
7 #error cannot use thread safe sqlite, recompile with --enable-threadsafe=no
8 #endif
9
10 typedef struct SQLiteResult {
11 sqlite3_stmt *r;
12 char first, final;
13 } SQLiteResult;
14
15 typedef SQLiteResult SQLiteConn;
16 typedef int SQLiteModuleIdentifier;
17 typedef void (*SQLiteQueryHandler)(SQLiteConn *, void *);
18
19 void sqliteasyncqueryf(SQLiteModuleIdentifier identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, ...);
20
21 int sqliteconnected(void);
22
23 int sqlitegetid(void);
24 void sqlitefreeid(int);
25
26 void sqliteescapestring(char *, char *, unsigned int);
27
28 SQLiteResult *sqlitegetresult(SQLiteConn *);
29 int sqlitefetchrow(SQLiteResult *);
30 void sqliteclear(SQLiteResult *);
31
32 int sqlitequerysuccessful(SQLiteResult *);
33
34 #define sqlitegetvalue(result, column) (char *)sqlite3_column_text(result->r, column)
35
36 void sqliteattach(char *schema);
37 void sqlitedetach(char *schema);
38 void sqliteloadtable(char *tablename, SQLiteQueryHandler init, SQLiteQueryHandler data, SQLiteQueryHandler fini);
39
40 #endif