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