]>
Commit | Line | Data |
---|---|---|
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 | |
8 | typedef struct SQLiteResult { | |
aa944539 CP |
9 | sqlite3_stmt *r; |
10 | char first, final; | |
14e5a2c6 | 11 | short flags; |
ee8cd7d0 CP |
12 | } SQLiteResult; |
13 | ||
aa944539 CP |
14 | typedef SQLiteResult SQLiteConn; |
15 | typedef int SQLiteModuleIdentifier; | |
16 | typedef void (*SQLiteQueryHandler)(SQLiteConn *, void *); | |
17 | ||
bb4b25ee | 18 | void sqliteasyncqueryf(SQLiteModuleIdentifier identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, ...) __attribute__ ((format (printf, 5, 6))); |
91ad51f6 | 19 | void sqliteasyncqueryfv(int identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, va_list ap); |
ee8cd7d0 CP |
20 | |
21 | int sqliteconnected(void); | |
22 | ||
008e57e5 CP |
23 | int sqlitegetid(void); |
24 | void sqlitefreeid(int); | |
ee8cd7d0 | 25 | |
404d307c | 26 | size_t sqliteescapestring(char *buf, char *src, unsigned int len); |
ee8cd7d0 CP |
27 | |
28 | SQLiteResult *sqlitegetresult(SQLiteConn *); | |
29 | int sqlitefetchrow(SQLiteResult *); | |
30 | void sqliteclear(SQLiteResult *); | |
31 | ||
32 | int sqlitequerysuccessful(SQLiteResult *); | |
33 | ||
df196dd2 | 34 | #define sqlitegetvalue(result, column) ((char *)sqlite3_column_text(result->r, column)) |
ee8cd7d0 | 35 | |
aa944539 CP |
36 | void sqliteattach(char *schema); |
37 | void sqlitedetach(char *schema); | |
91ad51f6 | 38 | void sqliteloadtable(char *tablename, SQLiteQueryHandler init, SQLiteQueryHandler data, SQLiteQueryHandler fini, void *tag); |
ee8cd7d0 CP |
39 | |
40 | #endif |