blob: c057432af87e85832ac1f05c9ff3c98ba0b9b477 [file] [log] [blame]
danielk1977a3f06592009-04-23 14:58:39 +00001
2#ifndef __SQLITEASYNC_H_
3#define __SQLITEASYNC_H_ 1
4
5#define SQLITEASYNC_VFSNAME "sqlite3async"
6
7/*
8** Install the asynchronous IO VFS.
9*/
10int sqlite3async_initialize(const char *zParent, int isDefault);
11
12/*
13** Uninstall the asynchronous IO VFS.
14*/
15void sqlite3async_shutdown();
16
17/*
18** Process events on the write-queue.
19*/
20void sqlite3async_run();
21
22/*
23** Control/configure the asynchronous IO system.
24*/
25int 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