The D Programming Language



* CAPI3REF: Compile-Time Library Version Numbers


immutable(char)*  sqlite3_version;
immutable(char)*  sqlite3_libversion();
immutable(char)*  sqlite3_sourceid();
int  sqlite3_libversion_number();

* CAPI3REF: Run-Time Library Version Numbers


int  sqlite3_compileoption_used(const char* zOptName);
immutable(char)*  sqlite3_compileoption_get(int N);

* CAPI3REF: Run-Time Library Compilation Options Diagnostics


* CAPI3REF: Test To See If The Library Is Threadsafe


struct  sqlite3;

* CAPI3REF: Database Connection Handle


alias  sqlite3_int64 = long;




alias  sqlite3_uint64 = ulong;




int  sqlite3_close(sqlite3*);

* CAPI3REF: Closing A Database Connection *


alias  sqlite3_callback = extern (C) int function(void*, int, char**, char**);

* The type for a callback function. * This is legacy and deprecated. It is included for historical * compatibility and is not documented.


int  sqlite3_exec(sqlite3*, const(char)* sql, int function(void*, int, char**, char**) callback, void*, char** errmsg);

* CAPI3REF: One-Step Query Execution Interface


int  SQLITE_OK;

* CAPI3REF: Result Codes Successful result


int  SQLITE_ERROR;

Ditto SQL error or missing database


Ditto Internal logic error in SQLite


int  SQLITE_PERM;

Ditto Access permission denied


int  SQLITE_ABORT;

Ditto Callback routine requested an abort


int  SQLITE_BUSY;

Ditto The database file is locked


Ditto A table in the database is locked


int  SQLITE_NOMEM;

Ditto A malloc() failed


Ditto Attempt to write a readonly database


Ditto Operation terminated by sqlite3_interrupt()


int  SQLITE_IOERR;

Ditto Some kind of disk I/O error occurred


Ditto The database disk image is malformed


Ditto Unknown opcode in sqlite3_file_control()


int  SQLITE_FULL;

Ditto Insertion failed because database is full


Ditto Unable to open the database file


Ditto Database lock protocol error


int  SQLITE_EMPTY;

Ditto Database is empty


Ditto The database schema changed


Ditto String or BLOB exceeds size limit


Ditto Abort due to constraint violation


Ditto Data type mismatch


Ditto Library used incorrectly


int  SQLITE_NOLFS;

Ditto Uses OS features not supported on host


int  SQLITE_AUTH;

Ditto Authorization denied


Ditto Auxiliary database format error


int  SQLITE_RANGE;

Ditto 2nd parameter to sqlite3_bind out of range


Ditto File opened that is not a database file


int  SQLITE_ROW;

Ditto sqlite3_step() has another row ready


int  SQLITE_DONE;

Ditto sqlite3_step() has finished executing


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Extended Result Codes


* CAPI3REF: Flags For File Open Operations Ok for sqlite3_open_v2()


* CAPI3REF: Flags For File Open Operations Ok for sqlite3_open_v2()


* CAPI3REF: Flags For File Open Operations Ok for sqlite3_open_v2()


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Flags For File Open Operations Ok for sqlite3_open_v2()


* CAPI3REF: Flags For File Open Operations Ok for sqlite3_open_v2()


* CAPI3REF: Flags For File Open Operations Ok for sqlite3_open_v2()


* CAPI3REF: Flags For File Open Operations Ok for sqlite3_open_v2()


* CAPI3REF: Flags For File Open Operations VFS only


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: Device Characteristics


* CAPI3REF: File Locking Levels


* CAPI3REF: File Locking Levels


* CAPI3REF: File Locking Levels


* CAPI3REF: File Locking Levels


* CAPI3REF: File Locking Levels


* CAPI3REF: Synchronization Type Flags


* CAPI3REF: Synchronization Type Flags


* CAPI3REF: Synchronization Type Flags


struct  sqlite3_file;

* CAPI3REF: OS Interface Open File Handle


* CAPI3REF: OS Interface File Virtual Methods Object


* CAPI3REF: Standard File Control Opcodes


* CAPI3REF: Standard File Control Opcodes


* CAPI3REF: Standard File Control Opcodes


* CAPI3REF: Standard File Control Opcodes


* CAPI3REF: Standard File Control Opcodes


* CAPI3REF: Standard File Control Opcodes


* CAPI3REF: Standard File Control Opcodes


* CAPI3REF: Standard File Control Opcodes


struct  sqlite3_mutex;

* CAPI3REF: Mutex Handle


alias  xDlSymReturn = extern (C) void* function();
alias  sqlite3_syscall_ptr = extern (C) void function();

* CAPI3REF: OS Interface Object


* CAPI3REF: Flags for the xAccess VFS method


* CAPI3REF: Flags for the xAccess VFS method Used by PRAGMA temp_store_directory


* CAPI3REF: Flags for the xAccess VFS method Unused


* CAPI3REF: Flags for the xShmLock VFS method


* CAPI3REF: Flags for the xShmLock VFS method


* CAPI3REF: Flags for the xShmLock VFS method


* CAPI3REF: Flags for the xShmLock VFS method


* CAPI3REF: Maximum xShmLock index


* CAPI3REF: Initialize The SQLite Library


int  sqlite3_config(int, ...);

* CAPI3REF: Configuring The SQLite Library


int  sqlite3_db_config(sqlite3*, int op, ...);

* CAPI3REF: Configure database connections


* CAPI3REF: Memory Allocation Routines


void* function(int)  xMalloc;

Memory allocation function


void function(void*)  xFree;

Free a prior allocation


void* function(void*, int)  xRealloc;

Resize an allocation


int function(void*)  xSize;

Return the size of an allocation


int function(int)  xRoundup;

Round up request size to allocation size


int function(void*)  xInit;

Initialize the memory allocator


void function(void*)  xShutdown;

Deinitialize the memory allocator


void*  pAppData;

Argument to xInit() and xShutdown()


* CAPI3REF: Configuration Options nil


* CAPI3REF: Configuration Options nil


* CAPI3REF: Configuration Options nil


* CAPI3REF: Configuration Options sqlite3_mem_methods*


* CAPI3REF: Configuration Options sqlite3_mem_methods*


* CAPI3REF: Configuration Options void*, int sz, int N


* CAPI3REF: Configuration Options void*, int sz, int N


* CAPI3REF: Configuration Options void*, int nByte, int min


* CAPI3REF: Configuration Options boolean


* CAPI3REF: Configuration Options sqlite3_mutex_methods*


* CAPI3REF: Configuration Options sqlite3_mutex_methods*


Ditto int int


Ditto sqlite3_pcache_methods*


Ditto sqlite3_pcache_methods*


Ditto xFunc, void*


* CAPI3REF: Database Connection Configuration Options void* int int


* CAPI3REF: Database Connection Configuration Options int int*


* CAPI3REF: Database Connection Configuration Options int int*


int  sqlite3_extended_result_codes(sqlite3*, int onoff);

* CAPI3REF: Enable Or Disable Extended Result Codes


sqlite3_int64  sqlite3_last_insert_rowid(sqlite3*);

* CAPI3REF: Last Insert Rowid


int  sqlite3_changes(sqlite3*);

* CAPI3REF: Count The Number Of Rows Modified


int  sqlite3_total_changes(sqlite3*);

* CAPI3REF: Total Number Of Rows Modified


void  sqlite3_interrupt(sqlite3*);

* CAPI3REF: Interrupt A Long-Running Query


int  sqlite3_complete(const char* sql);
int  sqlite3_complete16(const void* sql);

* CAPI3REF: Determine If An SQL Statement Is Complete


int  sqlite3_busy_handler(sqlite3*, int function(void*, int), void*);

* CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors


int  sqlite3_busy_timeout(sqlite3*, int ms);

* CAPI3REF: Set A Busy Timeout


int  sqlite3_get_table(sqlite3* db, const(char)* zSql, char*** pazResult, int* pnRow, int* pnColumn, char** pzErrmsg);

* CAPI3REF: Convenience Routines For Running Queries


void  sqlite3_free_table(char** result);




alias  va_list = char*;




char*  sqlite3_mprintf(const char*, ...);

* CAPI3REF: Formatted String Printing Functions


void*  sqlite3_malloc(int);
void*  sqlite3_realloc(void*, int);
void  sqlite3_free(void*);

* CAPI3REF: Memory Allocation Subsystem


sqlite3_int64  sqlite3_memory_used();

* CAPI3REF: Memory Allocator Statistics


void  sqlite3_randomness(int N, void* P);

* CAPI3REF: Pseudo-Random Number Generator


int  sqlite3_set_authorizer(sqlite3*, int function(void*, int, const char*, const char*, const char*, const char*) xAuth, void* pUserData);

* CAPI3REF: Compile-Time Authorization Callbacks


int  SQLITE_DENY;

* CAPI3REF: Authorizer Return Codes Abort the SQL statement with an error


* CAPI3REF: Authorizer Return Codes Don't allow access, but don't generate an error


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Index Name Table Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Index Name Table Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Trigger Name Table Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th View Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Trigger Name Table Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th View Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Index Name Table Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Index Name Table Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Trigger Name Table Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th View Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Trigger Name Table Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th View Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Pragma Name 1st arg or NULL


int  SQLITE_READ;

* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name Column Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th NULL NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Operation NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name Column Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Filename NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Database Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Database Name Table Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Index Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name NULL


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name Module Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Table Name Module Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th NULL Function Name


* CAPI3REF: Authorizer Action Codes 3rd ************ 4th Operation Savepoint Name


int  SQLITE_COPY;

* CAPI3REF: Authorizer Action Codes 3rd ************ 4th No longer used


void*  sqlite3_trace(sqlite3*, void function(void*, const char*) xTrace, void*);
void*  sqlite3_profile(sqlite3*, void function(void*, const char*, sqlite3_uint64) xProfile, void*);

* CAPI3REF: Tracing And Profiling Functions


void  sqlite3_progress_handler(sqlite3*, int, int function(void*), void*);

* CAPI3REF: Query Progress Callbacks


int  sqlite3_open(const(char)* filename, sqlite3** ppDb);
int  sqlite3_open16(const(void)* filename, sqlite3** ppDb);
int  sqlite3_open_v2(const(char)* filename, sqlite3** ppDb, int flags, const(char)* zVfs);

* CAPI3REF: Opening A New Database Connection


int  sqlite3_errcode(sqlite3* db);
int  sqlite3_extended_errcode(sqlite3* db);
immutable(char)*  sqlite3_errmsg(sqlite3*);
immutable(void)*  sqlite3_errmsg16(sqlite3*);

* CAPI3REF: Error Codes And Messages


struct  sqlite3_stmt;

* CAPI3REF: SQL Statement Object


int  sqlite3_limit(sqlite3*, int id, int newVal);

* CAPI3REF: Run-time Limits


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


* CAPI3REF: Run-Time Limit Categories


int  sqlite3_prepare(sqlite3* db, const(char)* zSql, int nByte, sqlite3_stmt** ppStmt, const(char*)* pzTail);
int  sqlite3_prepare_v2(sqlite3* db, const(char)* zSql, int nByte, sqlite3_stmt** ppStmt, const(char*)* pzTail);
int  sqlite3_prepare16(sqlite3* db, const(void)* zSql, int nByte, sqlite3_stmt** ppStmt, const(void*)* pzTail);
int  sqlite3_prepare16_v2(sqlite3* db, const(void)* zSql, int nByte, sqlite3_stmt** ppStmt, const(void*)* pzTail);

* CAPI3REF: Compiling An SQL Statement


const(char)*  sqlite3_sql(sqlite3_stmt* pStmt);

* CAPI3REF: Retrieving Statement SQL


int  sqlite3_stmt_readonly(sqlite3_stmt* pStmt);

* CAPI3REF: Determine If An SQL Statement Writes The Database


struct  sqlite3_value;

* CAPI3REF: Dynamically Typed Value Object


struct  sqlite3_context;

* CAPI3REF: SQL Function Context Object


int  sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void function(void*));
int  sqlite3_bind_double(sqlite3_stmt*, int, double);
int  sqlite3_bind_int(sqlite3_stmt*, int, int);
int  sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64);
int  sqlite3_bind_null(sqlite3_stmt*, int);
int  sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void function(void*));
int  sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void function(void*));
int  sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*);
int  sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n);

* CAPI3REF: Binding Values To Prepared Statements


int  sqlite3_bind_parameter_count(sqlite3_stmt*);

* CAPI3REF: Number Of SQL Parameters


const(char)*  sqlite3_bind_parameter_name(sqlite3_stmt*, int);

* CAPI3REF: Name Of A Host Parameter


int  sqlite3_bind_parameter_index(sqlite3_stmt*, const char* zName);

* CAPI3REF: Index Of A Parameter With A Given Name


int  sqlite3_clear_bindings(sqlite3_stmt*);

* CAPI3REF: Reset All Bindings On A Prepared Statement


int  sqlite3_column_count(sqlite3_stmt* pStmt);

* CAPI3REF: Number Of Columns In A Result Set


const(char)*  sqlite3_column_name(sqlite3_stmt*, int N);
const(void)*  sqlite3_column_name16(sqlite3_stmt*, int N);

* CAPI3REF: Column Names In A Result Set


const(char)*  sqlite3_column_database_name(sqlite3_stmt*, int);
const(void)*  sqlite3_column_database_name16(sqlite3_stmt*, int);
const(char)*  sqlite3_column_table_name(sqlite3_stmt*, int);
const(void)*  sqlite3_column_table_name16(sqlite3_stmt*, int);
const(char)*  sqlite3_column_origin_name(sqlite3_stmt*, int);
const(void)*  sqlite3_column_origin_name16(sqlite3_stmt*, int);

* CAPI3REF: Source Of Data In A Query Result


const(char)*  sqlite3_column_decltype(sqlite3_stmt*, int);
const(void)*  sqlite3_column_decltype16(sqlite3_stmt*, int);

* CAPI3REF: Declared Datatype Of A Query Result


int  sqlite3_step(sqlite3_stmt*);

* CAPI3REF: Evaluate An SQL Statement


int  sqlite3_data_count(sqlite3_stmt* pStmt);

* CAPI3REF: Number of columns in a result set


* CAPI3REF: Fundamental Datatypes


int  SQLITE_FLOAT;

* CAPI3REF: Fundamental Datatypes


int  SQLITE_BLOB;

* CAPI3REF: Fundamental Datatypes


int  SQLITE_NULL;

* CAPI3REF: Fundamental Datatypes


int  SQLITE3_TEXT;

* CAPI3REF: Fundamental Datatypes


const(void)*  sqlite3_column_blob(sqlite3_stmt*, int iCol);
int  sqlite3_column_bytes(sqlite3_stmt*, int iCol);
int  sqlite3_column_bytes16(sqlite3_stmt*, int iCol);
double  sqlite3_column_double(sqlite3_stmt*, int iCol);
int  sqlite3_column_int(sqlite3_stmt*, int iCol);
sqlite3_int64  sqlite3_column_int64(sqlite3_stmt*, int iCol);
const(char)*  sqlite3_column_text(sqlite3_stmt*, int iCol);
const(void)*  sqlite3_column_text16(sqlite3_stmt*, int iCol);
int  sqlite3_column_type(sqlite3_stmt*, int iCol);
sqlite3_value*  sqlite3_column_value(sqlite3_stmt*, int iCol);

* CAPI3REF: Result Values From A Query


int  sqlite3_finalize(sqlite3_stmt* pStmt);

* CAPI3REF: Destroy A Prepared Statement Object


int  sqlite3_reset(sqlite3_stmt* pStmt);

* CAPI3REF: Reset A Prepared Statement Object


int  sqlite3_create_function(sqlite3* db, const(char)* zFunctionName, int nArg, int eTextRep, void* pApp, void function(sqlite3_context*, int, sqlite3_value**) xFunc, void function(sqlite3_context*, int, sqlite3_value**) xStep, void function(sqlite3_context*) xFinal);
int  sqlite3_create_function16(sqlite3* db, const(void)* zFunctionName, int nArg, int eTextRep, void* pApp, void function(sqlite3_context*, int, sqlite3_value**) xFunc, void function(sqlite3_context*, int, sqlite3_value**) xStep, void function(sqlite3_context*) xFinal);
int  sqlite3_create_function_v2(sqlite3* db, const(char)* zFunctionName, int nArg, int eTextRep, void* pApp, void function(sqlite3_context*, int, sqlite3_value**) xFunc, void function(sqlite3_context*, int, sqlite3_value**) xStep, void function(sqlite3_context*) xFinal, void function(void*) xDestroy);

* CAPI3REF: Create Or Redefine SQL Functions


int  SQLITE_UTF8;

* CAPI3REF: Text Encodings * * These constant define integer codes that represent the various * text encodings supported by SQLite.


* CAPI3REF: Text Encodings * * These constant define integer codes that represent the various * text encodings supported by SQLite.


* CAPI3REF: Text Encodings * * These constant define integer codes that represent the various * text encodings supported by SQLite.


int  SQLITE_UTF16;

Ditto Use native byte order


int  SQLITE_ANY;

Ditto sqlite3_create_function only


Ditto sqlite3_create_collation only


const(void)*  sqlite3_value_blob(sqlite3_value*);
int  sqlite3_value_bytes(sqlite3_value*);
int  sqlite3_value_bytes16(sqlite3_value*);
double  sqlite3_value_double(sqlite3_value*);
int  sqlite3_value_int(sqlite3_value*);
sqlite3_int64  sqlite3_value_int64(sqlite3_value*);
const(char)*  sqlite3_value_text(sqlite3_value*);
const(void)*  sqlite3_value_text16(sqlite3_value*);
const(void)*  sqlite3_value_text16le(sqlite3_value*);
const(void)*  sqlite3_value_text16be(sqlite3_value*);
int  sqlite3_value_type(sqlite3_value*);
int  sqlite3_value_numeric_type(sqlite3_value*);

* CAPI3REF: Obtaining SQL Function Parameter Values


void*  sqlite3_aggregate_context(sqlite3_context*, int nBytes);

* CAPI3REF: Obtain Aggregate Function Context


void*  sqlite3_user_data(sqlite3_context*);

* CAPI3REF: User Data For Functions


sqlite3*  sqlite3_context_db_handle(sqlite3_context*);

* CAPI3REF: Database Connection For Functions


void*  sqlite3_get_auxdata(sqlite3_context*, int N);
void  sqlite3_set_auxdata(sqlite3_context*, int N, void*, void function(void*));

* CAPI3REF: Function Auxiliary Data


alias  sqlite3_destructor_type = extern (C) void function(void*);
void function(void*)  SQLITE_STATIC;
void function(void*)  SQLITE_TRANSIENT;

* CAPI3REF: Constants Defining Special Destructor Behavior


void  sqlite3_result_blob(sqlite3_context*, const void*, int, void function(void*));
void  sqlite3_result_double(sqlite3_context*, double);
void  sqlite3_result_error(sqlite3_context*, const char*, int);
void  sqlite3_result_error16(sqlite3_context*, const void*, int);
void  sqlite3_result_error_toobig(sqlite3_context*);
void  sqlite3_result_error_nomem(sqlite3_context*);
void  sqlite3_result_error_code(sqlite3_context*, int);
void  sqlite3_result_int(sqlite3_context*, int);
void  sqlite3_result_int64(sqlite3_context*, sqlite3_int64);
void  sqlite3_result_null(sqlite3_context*);
void  sqlite3_result_text(sqlite3_context*, const char*, int, void function(void*));
void  sqlite3_result_text16(sqlite3_context*, const void*, int, void function(void*));
void  sqlite3_result_text16le(sqlite3_context*, const void*, int, void function(void*));
void  sqlite3_result_text16be(sqlite3_context*, const void*, int, void function(void*));
void  sqlite3_result_value(sqlite3_context*, sqlite3_value*);
void  sqlite3_result_zeroblob(sqlite3_context*, int n);

* CAPI3REF: Setting The Result Of An SQL Function


int  sqlite3_create_collation(sqlite3*, const(char)* zName, int eTextRep, void* pArg, int function(void*, int, const void*, int, const void*) xCompare);
int  sqlite3_create_collation_v2(sqlite3*, const(char)* zName, int eTextRep, void* pArg, int function(void*, int, const void*, int, const void*) xCompare, void function(void*) xDestroy);
int  sqlite3_create_collation16(sqlite3*, const(void)* zName, int eTextRep, void* pArg, int function(void*, int, const void*, int, const void*) xCompare);

* CAPI3REF: Define New Collating Sequences


int  sqlite3_collation_needed(sqlite3*, void*, void function(void*, sqlite3*, int eTextRep, const char*));
int  sqlite3_collation_needed16(sqlite3*, void*, void function(void*, sqlite3*, int eTextRep, const void*));

* CAPI3REF: Collation Needed Callbacks


int  sqlite3_key(sqlite3* db, const(void)* pKey, int nKey);




int  sqlite3_rekey(sqlite3* db, const(void)* pKey, int nKey);

* Change the key on an open database. If the current database is not * encrypted, this routine will encrypt it. If pNew==0 or nNew==0, the * database is decrypted. * * The code to implement this API is not available in the public release * of SQLite.


void  sqlite3_activate_see(const(char)* zPassPhrase);

* Specify the activation key for a SEE database. Unless * activated, none of the SEE routines will work.


void  sqlite3_activate_cerod(const(char)* zPassPhrase);

* Specify the activation key for a CEROD database. Unless * activated, none of the CEROD routines will work.


int  sqlite3_sleep(int);

* CAPI3REF: Suspend Execution For A Short Time


* CAPI3REF: Name Of The Folder Holding Temporary Files


int  sqlite3_get_autocommit(sqlite3*);

* CAPI3REF: Test For Auto-Commit Mode


sqlite3*  sqlite3_db_handle(sqlite3_stmt*);

* CAPI3REF: Find The Database Handle Of A Prepared Statement


sqlite3_stmt*  sqlite3_next_stmt(sqlite3* pDb, sqlite3_stmt* pStmt);

* CAPI3REF: Find the next prepared statement


void*  sqlite3_commit_hook(sqlite3*, int function(void*), void*);
void*  sqlite3_rollback_hook(sqlite3*, void function(void*), void*);

* CAPI3REF: Commit And Rollback Notification Callbacks


void*  sqlite3_update_hook(sqlite3*, void function(void*, int, char*, char*, sqlite3_int64), void*);

* CAPI3REF: Data Change Notification Callbacks


* CAPI3REF: Enable Or Disable Shared Pager Cache


* CAPI3REF: Attempt To Free Heap Memory


sqlite3_int64  sqlite3_soft_heap_limit64(sqlite3_int64 N);

* CAPI3REF: Impose A Limit On Heap Size


int  sqlite3_table_column_metadata(sqlite3* db, const(char)* zDbName, const(char)* zTableName, const(char)* zColumnName, char** pzDataType, char** pzCollSeq, int* pNotNull, int* pPrimaryKey, int* pAutoinc);

* CAPI3REF: Extract Metadata About A Column Of A Table


int  sqlite3_load_extension(sqlite3* db, const(char)* zFile, const(char)* zProc, char** pzErrMsg);

* CAPI3REF: Load An Extension


int  sqlite3_enable_load_extension(sqlite3* db, int onoff);

* CAPI3REF: Enable Or Disable Extension Loading


int  sqlite3_auto_extension(void function() xEntryPoint);

* CAPI3REF: Automatically Load Statically Linked Extensions


* CAPI3REF: Reset Automatic Extension Loading


alias  mapFunction = extern (C) void function(sqlite3_context*, int, sqlite3_value**);
struct  sqlite3_module;

* The interface to the virtual-table mechanism is currently considered * to be experimental. The interface might change in incompatible ways. * If this is a problem for you, do not use the interface at this time. * * When the virtual-table mechanism stabilizes, we will declare the * interface fixed, support it indefinitely, and remove this comment.

* CAPI3REF: Virtual Table Object


* CAPI3REF: Virtual Table Indexing Information


int  nConstraint;

Number of entries in aConstraint


sqlite3_index_constraint*  aConstraint;

Table of WHERE clause constraints


int  nOrderBy;

Number of terms in the ORDER BY clause


sqlite3_index_orderby*  aOrderBy;

The ORDER BY clause


int  idxNum;

Number used to identify the index


char*  idxStr;

String, possibly obtained from sqlite3_malloc


Free idxStr using sqlite3_free() if true


True if output is already ordered


double  estimatedCost;

Estimated cost of using this index


* CAPI3REF: Virtual Table Constraint Operator Codes


* CAPI3REF: Virtual Table Constraint Operator Codes


* CAPI3REF: Virtual Table Constraint Operator Codes


* CAPI3REF: Virtual Table Constraint Operator Codes


* CAPI3REF: Virtual Table Constraint Operator Codes


* CAPI3REF: Virtual Table Constraint Operator Codes


int  sqlite3_create_module(sqlite3* db, const(char)* zName, const(sqlite3_module)* p, void* pClientData);
int  sqlite3_create_module_v2(sqlite3* db, const(char)* zName, const(sqlite3_module)* p, void* pClientData, void function(void*) xDestroy);

* CAPI3REF: Register A Virtual Table Implementation


struct  sqlite3_vtab;

* CAPI3REF: Virtual Table Instance Object


const(sqlite3_module)*  pModule;

The module for this virtual table


int  nRef;

NO LONGER USED


char*  zErrMsg;

Error message from sqlite3_mprintf()


* CAPI3REF: Virtual Table Cursor Object


sqlite3_vtab*  pVtab;

Virtual table of this cursor


int  sqlite3_declare_vtab(sqlite3*, const char* zSQL);

* CAPI3REF: Declare The Schema Of A Virtual Table


int  sqlite3_overload_function(sqlite3*, const char* zFuncName, int nArg);

* CAPI3REF: Overload A Function For A Virtual Table


struct  sqlite3_blob;

* The interface to the virtual-table mechanism defined above (back up * to a comment remarkably similar to this one) is currently considered * to be experimental. The interface might change in incompatible ways. * If this is a problem for you, do not use the interface at this time. * * When the virtual-table mechanism stabilizes, we will declare the * interface fixed, support it indefinitely, and remove this comment.


int  sqlite3_blob_open(sqlite3*, const(char)* zDb, const(char)* zTable, const(char)* zColumn, sqlite3_int64 iRow, int flags, sqlite3_blob** ppBlob);

* CAPI3REF: Open A BLOB For Incremental I/O


int  sqlite3_blob_reopen(sqlite3_blob*, sqlite3_int64);

* CAPI3REF: Move a BLOB Handle to a New Row


int  sqlite3_blob_close(sqlite3_blob*);

* CAPI3REF: Close A BLOB Handle


int  sqlite3_blob_bytes(sqlite3_blob*);

* CAPI3REF: Return The Size Of An Open BLOB


int  sqlite3_blob_read(sqlite3_blob*, void* Z, int N, int iOffset);

* CAPI3REF: Read Data From A BLOB Incrementally


int  sqlite3_blob_write(sqlite3_blob*, const void* z, int n, int iOffset);

* CAPI3REF: Write Data Into A BLOB Incrementally


sqlite3_vfs*  sqlite3_vfs_find(const char* zVfsName);
int  sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
int  sqlite3_vfs_unregister(sqlite3_vfs*);

* CAPI3REF: Virtual File System Objects


sqlite3_mutex*  sqlite3_mutex_alloc(int);
void  sqlite3_mutex_free(sqlite3_mutex*);
void  sqlite3_mutex_enter(sqlite3_mutex*);
int  sqlite3_mutex_try(sqlite3_mutex*);
void  sqlite3_mutex_leave(sqlite3_mutex*);

* CAPI3REF: Mutexes


* CAPI3REF: Mutex Methods Object


int  sqlite3_mutex_held(sqlite3_mutex*);
int  sqlite3_mutex_notheld(sqlite3_mutex*);

* CAPI3REF: Mutex Verification Routines


* CAPI3REF: Mutex Types


* CAPI3REF: Mutex Types


* CAPI3REF: Mutex Types


Ditto sqlite3_malloc()


Ditto NOT USED


Ditto sqlite3BtreeOpen()


Ditto sqlite3_random()


Ditto lru page list


Ditto NOT USED


sqlite3_mutex*  sqlite3_db_mutex(sqlite3*);

* CAPI3REF: Retrieve the mutex for a database connection


int  sqlite3_file_control(sqlite3*, const char* zDbName, int op, void*);

* CAPI3REF: Low-Level Control Of Database Files


int  sqlite3_test_control(int op, ...);

* CAPI3REF: Testing Interface


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


* CAPI3REF: Testing Interface Operation Codes


int  sqlite3_status(int op, int* pCurrent, int* pHighwater, int resetFlag);

* CAPI3REF: SQLite Runtime Status


* CAPI3REF: Status Parameters


* CAPI3REF: Status Parameters


* CAPI3REF: Status Parameters


* CAPI3REF: Status Parameters


* CAPI3REF: Status Parameters


* CAPI3REF: Status Parameters


* CAPI3REF: Status Parameters


* CAPI3REF: Status Parameters


* CAPI3REF: Status Parameters


* CAPI3REF: Status Parameters


int  sqlite3_db_status(sqlite3*, int op, int* pCur, int* pHiwtr, int resetFlg);

* CAPI3REF: Database Connection Status


* CAPI3REF: Status Parameters for database connections


* CAPI3REF: Status Parameters for database connections


* CAPI3REF: Status Parameters for database connections


* CAPI3REF: Status Parameters for database connections


* CAPI3REF: Status Parameters for database connections


* CAPI3REF: Status Parameters for database connections


* CAPI3REF: Status Parameters for database connections


Largest defined DBSTATUS


int  sqlite3_stmt_status(sqlite3_stmt*, int op, int resetFlg);

* CAPI3REF: Prepared Statement Status


* CAPI3REF: Status Parameters for prepared statements


* CAPI3REF: Status Parameters for prepared statements


* CAPI3REF: Status Parameters for prepared statements


struct  sqlite3_pcache;

* CAPI3REF: Custom Page Cache Object


* CAPI3REF: Application Defined Page Cache.


struct  sqlite3_backup;

* CAPI3REF: Online Backup Object


sqlite3_backup*  sqlite3_backup_init(sqlite3* pDest, const(char)* zDestName, sqlite3* pSource, const(char)* zSourceName);
int  sqlite3_backup_step(sqlite3_backup* p, int nPage);
int  sqlite3_backup_finish(sqlite3_backup* p);
int  sqlite3_backup_remaining(sqlite3_backup* p);
int  sqlite3_backup_pagecount(sqlite3_backup* p);

* CAPI3REF: Online Backup API.


int  sqlite3_unlock_notify(sqlite3* pBlocked, void function(void** apArg, int nArg) xNotify, void* pNotifyArg);

* CAPI3REF: Unlock Notification


int  sqlite3_strnicmp(const char*, const char*, int);

* CAPI3REF: String Comparison


void  sqlite3_log(int iErrCode, const char* zFormat, ...);

* CAPI3REF: Error Logging Interface


void*  sqlite3_wal_hook(sqlite3*, int function(void*, sqlite3*, const char*, int), void*);

* CAPI3REF: Write-Ahead Log Commit Hook


int  sqlite3_wal_autocheckpoint(sqlite3* db, int N);

* CAPI3REF: Configure an auto-checkpoint


int  sqlite3_wal_checkpoint(sqlite3* db, const char* zDb);

* CAPI3REF: Checkpoint a database


int  sqlite3_wal_checkpoint_v2(sqlite3* db, const(char)* zDb, int eMode, int* pnLog, int* pnCkpt);

* CAPI3REF: Checkpoint a database


* CAPI3REF: Checkpoint operation parameters


* CAPI3REF: Checkpoint operation parameters


* CAPI3REF: Checkpoint operation parameters


int  sqlite3_rtree_geometry_callback(sqlite3* db, const(char)* zGeom, int function(sqlite3_rtree_geometry*, int nCoord, double* aCoord, int* pRes) xGeom, void* pContext);

* Register a geometry callback named zGeom that can be used as part of an * R-Tree geometry query as follows: * * SELECT ... FROM WHERE MATCH zGeom(... params ...)


* A pointer to a structure of the following type is passed as the first * argument to callbacks registered using rtree_geometry_callback().


void*  pContext;

Copy of  pContext passed to s_r_g_c()


int  nParam;

Size of array aParam[]


double*  aParam;

Parameters passed to SQL geom function


void*  pUser;

Callback implementation user data


void function(void*)  xDelUser;

Called by SQLite to clean up pUser