xref: /sqlite-3.40.0/ext/async/sqlite3async.h (revision a3f06598)
1 
2 #ifndef __SQLITEASYNC_H_
3 #define __SQLITEASYNC_H_ 1
4 
5 #define SQLITEASYNC_VFSNAME "sqlite3async"
6 
7 /*
8 ** Install the asynchronous IO VFS.
9 */
10 int sqlite3async_initialize(const char *zParent, int isDefault);
11 
12 /*
13 ** Uninstall the asynchronous IO VFS.
14 */
15 void sqlite3async_shutdown();
16 
17 /*
18 ** Process events on the write-queue.
19 */
20 void sqlite3async_run();
21 
22 /*
23 ** Control/configure the asynchronous IO system.
24 */
25 int sqlite3async_control(int op, ...);
26 
27 /*
28 ** Values that can be used as the first argument to sqlite3async_control().
29 */
30 #define SQLITEASYNC_HALT       1
31 #define SQLITEASYNC_DELAY      2
32 #define SQLITEASYNC_GET_HALT   3
33 #define SQLITEASYNC_GET_DELAY  4
34 
35 /*
36 ** If the first argument to sqlite3async_control() is SQLITEASYNC_HALT,
37 ** the second argument should be one of the following.
38 */
39 #define SQLITEASYNC_HALT_NEVER 0       /* Never halt (default value) */
40 #define SQLITEASYNC_HALT_NOW   1       /* Halt as soon as possible */
41 #define SQLITEASYNC_HALT_IDLE  2       /* Halt when write-queue is empty */
42 
43 #endif        /* ifndef __SQLITEASYNC_H_ */
44 
45