packages feed

bindings-sqlite3 (empty) → 0.0.1

raw patch · 9 files changed

+2762/−0 lines, 9 filesdep +basedep +bindings-commonsetup-changed

Dependencies added: base, bindings-common

Files

+ LICENSE view
@@ -0,0 +1,29 @@+Copyright (c) <2009>, <Maurício C. Antunes>+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are+met:++    * Redistributions of source code must retain the above copyright+    notice, this list of conditions and the following disclaimer.++    * Redistributions in binary form must reproduce the above copyright+    notice, this list of conditions and the following disclaimer in the+    documentation and/or other materials provided with the distribution.++    * Neither the name of the author nor the names of contributors+    may be used to endorse or promote products derived from this+    software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,6 @@+#!/usr/bin/env runhaskell++module Main (main) where+import Distribution.Simple++main = defaultMain
+ bindings-sqlite3.cabal view
@@ -0,0 +1,28 @@+cabal-version: >= 1.2.3+name: bindings-sqlite3+homepage: http://bitbucket.org/mauricio/bindings+synopsis:+  Check bindings-common package for directions.+version: 0.0.1+license: BSD3+license-file: LICENSE+maintainer: Maurício C. Antunes+author: Maurício C. Antunes+build-type: Simple+category: FFI+library+  hs-source-dirs: src+  extensions:+    ForeignFunctionInterface+    TypeSynonymInstances+    ScopedTypeVariables+    EmptyDataDecls+  build-depends: base, bindings-common+  exposed-modules:+    Bindings.Sqlite3+  pkgconfig-depends:+    sqlite3 >= 3.6.10+  other-modules:+    Sqlite3Constants+    Sqlite3Functions+    Sqlite3Types
+ src/Bindings/Sqlite3.hs view
@@ -0,0 +1,696 @@+module Bindings.Sqlite3 (++    -- * Run-Time Library Version Numbers+    -- <http://sqlite.org/c3ref/libversion.html>++    sqlite3_version,+    sqlite3_libversion,+    sqlite3_libversion_number,++    -- * Test To See If The Library Is Threadsafe+    -- <http://sqlite.org/c3ref/threadsafe.html>++    sqlite3_threadsafe,++    -- * Database Connection Handle+    -- <http://sqlite.org/c3ref/sqlite3.html>++    Sqlite3,++    -- * Closing A Database Connection+    -- <http://sqlite.org/c3ref/close.html>++    sqlite3_close,++    -- * One-Step Query Execution Interface+    -- <http://sqlite.org/c3ref/exec.html>++    sqlite3_exec,++    -- * Result Codes+    -- <http://sqlite.org/c3ref/c_abort.html>++    _SQLITE_OK,+    _SQLITE_ERROR,+    _SQLITE_INTERNAL,+    _SQLITE_PERM,+    _SQLITE_ABORT,+    _SQLITE_BUSY,+    _SQLITE_LOCKED,+    _SQLITE_NOMEM,+    _SQLITE_READONLY,+    _SQLITE_INTERRUPT,+    _SQLITE_IOERR,+    _SQLITE_CORRUPT,+    _SQLITE_NOTFOUND,+    _SQLITE_FULL,+    _SQLITE_CANTOPEN,+    _SQLITE_PROTOCOL,+    _SQLITE_EMPTY,+    _SQLITE_SCHEMA,+    _SQLITE_TOOBIG,+    _SQLITE_CONSTRAINT,+    _SQLITE_MISMATCH,+    _SQLITE_MISUSE,+    _SQLITE_NOLFS,+    _SQLITE_AUTH,+    _SQLITE_FORMAT,+    _SQLITE_RANGE,+    _SQLITE_NOTADB,+    _SQLITE_ROW,+    _SQLITE_DONE,++    -- * Extended Result Codes+    -- <http://sqlite.org/c3ref/c_ioerr_access.html>++    _SQLITE_IOERR_READ,+    _SQLITE_IOERR_SHORT_READ,+    _SQLITE_IOERR_WRITE,+    _SQLITE_IOERR_FSYNC,+    _SQLITE_IOERR_DIR_FSYNC,+    _SQLITE_IOERR_TRUNCATE,+    _SQLITE_IOERR_FSTAT,+    _SQLITE_IOERR_UNLOCK,+    _SQLITE_IOERR_RDLOCK,+    _SQLITE_IOERR_DELETE,+    _SQLITE_IOERR_BLOCKED,+    _SQLITE_IOERR_NOMEM,+    _SQLITE_IOERR_ACCESS,+    _SQLITE_IOERR_CHECKRESERVEDLOCK,+    _SQLITE_IOERR_LOCK,+    _SQLITE_IOERR_CLOSE,+    _SQLITE_IOERR_DIR_CLOSE,++    -- * Flags For File Open Operations+    -- <http://sqlite.org/c3ref/c_open_create.html>++    _SQLITE_OPEN_READONLY,+    _SQLITE_OPEN_READWRITE,+    _SQLITE_OPEN_CREATE,+    _SQLITE_OPEN_DELETEONCLOSE,+    _SQLITE_OPEN_EXCLUSIVE,+    _SQLITE_OPEN_MAIN_DB,+    _SQLITE_OPEN_TEMP_DB,+    _SQLITE_OPEN_TRANSIENT_DB,+    _SQLITE_OPEN_MAIN_JOURNAL,+    _SQLITE_OPEN_TEMP_JOURNAL,+    _SQLITE_OPEN_SUBJOURNAL,+    _SQLITE_OPEN_MASTER_JOURNAL,+    _SQLITE_OPEN_NOMUTEX,+    _SQLITE_OPEN_FULLMUTEX,++    -- * Device Characteristics+    -- <http://sqlite.org/c3ref/c_iocap_atomic.html>++    _SQLITE_IOCAP_ATOMIC,+    _SQLITE_IOCAP_ATOMIC512,+    _SQLITE_IOCAP_ATOMIC1K,+    _SQLITE_IOCAP_ATOMIC2K,+    _SQLITE_IOCAP_ATOMIC4K,+    _SQLITE_IOCAP_ATOMIC8K,+    _SQLITE_IOCAP_ATOMIC16K,+    _SQLITE_IOCAP_ATOMIC32K,+    _SQLITE_IOCAP_ATOMIC64K,+    _SQLITE_IOCAP_SAFE_APPEND,+    _SQLITE_IOCAP_SEQUENTIAL,++    -- * File Locking Levels+    -- <http://sqlite.org/c3ref/c_lock_exclusive.html>++    _SQLITE_LOCK_NONE,+    _SQLITE_LOCK_SHARED,+    _SQLITE_LOCK_RESERVED,+    _SQLITE_LOCK_PENDING,+    _SQLITE_LOCK_EXCLUSIVE,++    -- * Synchronization Type Flags+    -- <http://sqlite.org/c3ref/c_sync_dataonly.html>++    _SQLITE_SYNC_NORMAL,+    _SQLITE_SYNC_FULL,+    _SQLITE_SYNC_DATAONLY,++    -- * OS Interface Open File Handle+    -- <http://sqlite.org/c3ref/file.html>++    Sqlite3_file,++    -- * OS Interface File Virtual Methods Object+    -- <http://sqlite.org/c3ref/io_methods.html>++    Sqlite3_io_methods,++    -- * Standard File Control Opcodes+    -- <http://sqlite.org/c3ref/c_fcntl_lockstate.html>++    _SQLITE_FCNTL_LOCKSTATE,+    _SQLITE_GET_LOCKPROXYFILE,+    _SQLITE_SET_LOCKPROXYFILE,+    _SQLITE_LAST_ERRNO,++    -- * Mutex Handle+    -- <http://sqlite.org/c3ref/mutex.html>++    Sqlite3_mutex,++    -- * OS Interface Object+    -- <http://sqlite.org/c3ref/vfs.html>++    Sqlite3_vfs,++    -- * Flags for the xAccess VFS method+    -- <http://sqlite.org/c3ref/c_access_exists.html>++    _SQLITE_ACCESS_EXISTS,+    _SQLITE_ACCESS_READWRITE,+    _SQLITE_ACCESS_READ,++    -- * Initialize The SQLite Library+    -- <http://sqlite.org/c3ref/initialize.html>++    sqlite3_initialize,+    sqlite3_shutdown,+    sqlite3_os_init,+    sqlite3_os_end,++    -- * Enable Or Disable Extended Result Codes+    -- <http://sqlite.org/c3ref/extended_result_codes.html>++    sqlite3_extended_result_codes,++    -- * Last Insert Rowid+    -- <http://sqlite.org/c3ref/last_insert_rowid.html>++    sqlite3_last_insert_rowid,++    -- * Count The Number Of Rows Modified+    -- <http://sqlite.org/c3ref/changes.html>++    sqlite3_changes,++    -- * Total Number Of Rows Modified+    -- <http://sqlite.org/c3ref/total_changes.html>++    sqlite3_total_changes,++    -- * Interrupt A Long-Running Query+    -- <http://sqlite.org/c3ref/interrupt.html>++    sqlite3_interrupt,++    -- * Determine If An SQL Statement Is Complete+    -- <http://sqlite.org/c3ref/complete.html>++    sqlite3_complete,+    sqlite3_complete16,++    -- * Register A Callback To Handle SQLITE_BUSY Errors+    -- <http://sqlite.org/c3ref/busy_handler.html>++    sqlite3_busy_handler,++    -- * Set A Busy Timeout+    -- <http://sqlite.org/c3ref/busy_timeout.html>++    sqlite3_busy_timeout,++    -- * Convenience Routines For Running Queries+    -- <http://sqlite.org/c3ref/free_table.html>++    sqlite3_get_table,+    sqlite3_free_table,++    -- * Memory Allocation Subsystem+    -- <http://sqlite.org/c3ref/free.html>++    sqlite3_malloc,+    sqlite3_realloc,+    sqlite3_free,++    -- * Memory Allocator Statistics+    -- <http://sqlite.org/c3ref/memory_highwater.html>++    sqlite3_memory_used,+    sqlite3_memory_highwater,++    -- * Pseudo-Random Number Generator+    -- <http://sqlite.org/c3ref/randomness.html>++    sqlite3_randomness,++    -- * Compile-Time Authorization Callbacks+    -- <http://sqlite.org/c3ref/set_authorizer.html>++    sqlite3_set_authorizer,++    -- * Authorizer Return Codes+    -- <http://sqlite.org/c3ref/c_deny.html>++    _SQLITE_DENY,+    _SQLITE_IGNORE,++    -- * Authorizer Action Codes+    -- <http://sqlite.org/c3ref/c_alter_table.html>++    _SQLITE_CREATE_INDEX,+    _SQLITE_CREATE_TABLE,+    _SQLITE_CREATE_TEMP_INDEX,+    _SQLITE_CREATE_TEMP_TABLE,+    _SQLITE_CREATE_TEMP_TRIGGER,+    _SQLITE_CREATE_TEMP_VIEW,+    _SQLITE_CREATE_TRIGGER,+    _SQLITE_CREATE_VIEW,+    _SQLITE_DELETE,+    _SQLITE_DROP_INDEX,+    _SQLITE_DROP_TABLE,+    _SQLITE_DROP_TEMP_INDEX,+    _SQLITE_DROP_TEMP_TABLE,+    _SQLITE_DROP_TEMP_TRIGGER,+    _SQLITE_DROP_TEMP_VIEW,+    _SQLITE_DROP_TRIGGER,+    _SQLITE_DROP_VIEW,+    _SQLITE_INSERT,+    _SQLITE_PRAGMA,+    _SQLITE_READ,+    _SQLITE_SELECT,+    _SQLITE_TRANSACTION,+    _SQLITE_UPDATE,+    _SQLITE_ATTACH,+    _SQLITE_DETACH,+    _SQLITE_ALTER_TABLE,+    _SQLITE_REINDEX,+    _SQLITE_ANALYZE,+    _SQLITE_CREATE_VTABLE,+    _SQLITE_DROP_VTABLE,+    _SQLITE_FUNCTION,+    _SQLITE_SAVEPOINT,+    _SQLITE_COPY,++    -- * Query Progress Callbacks+    -- <http://sqlite.org/c3ref/progress_handler.html>++    sqlite3_progress_handler,++    -- * Opening A New Database Connection+    -- <http://sqlite.org/c3ref/open.html>++    sqlite3_open,+    sqlite3_open16,+    sqlite3_open_v2,++    -- * Error Codes And Messages+    -- <http://sqlite.org/c3ref/errcode.html>++    sqlite3_errcode,+    sqlite3_extended_errcode,+    sqlite3_errmsg,+    sqlite3_errmsg16,++    -- * SQL Statement Object+    -- <http://sqlite.org/c3ref/stmt.html>++    Sqlite3_stmt,++    -- * Run-time Limits+    -- <http://sqlite.org/c3ref/limit.html>++    sqlite3_limit,++    -- * Run-Time Limit Categories+    -- <http://sqlite.org/c3ref/c_limit_attached.html>++    _SQLITE_LIMIT_LENGTH,+    _SQLITE_LIMIT_SQL_LENGTH,+    _SQLITE_LIMIT_COLUMN,+    _SQLITE_LIMIT_EXPR_DEPTH,+    _SQLITE_LIMIT_COMPOUND_SELECT,+    _SQLITE_LIMIT_VDBE_OP,+    _SQLITE_LIMIT_FUNCTION_ARG,+    _SQLITE_LIMIT_ATTACHED,+    _SQLITE_LIMIT_LIKE_PATTERN_LENGTH,+    _SQLITE_LIMIT_VARIABLE_NUMBER,++    -- * Compiling An SQL Statement+    -- <http://sqlite.org/c3ref/prepare.html>++    sqlite3_prepare,+    sqlite3_prepare_v2,+    sqlite3_prepare16,+    sqlite3_prepare16_v2,++    -- * Retrieving Statement SQL+    -- <http://sqlite.org/c3ref/sql.html>++    sqlite3_sql,++    -- * Dynamically Typed Value Object+    -- <http://sqlite.org/c3ref/value.html>++    Sqlite3_value,++    -- * SQL Function Context Object+    -- <http://sqlite.org/c3ref/context.html>++    Sqlite3_context,++    -- * Binding Values To Prepared Statements+    -- <http://sqlite.org/c3ref/bind_blob.html>++    sqlite3_bind_blob,+    sqlite3_bind_double,+    sqlite3_bind_int,+    sqlite3_bind_int64,+    sqlite3_bind_null,+    sqlite3_bind_text,+    sqlite3_bind_text16,+    sqlite3_bind_value,+    sqlite3_bind_zeroblob,++    -- * Number Of SQL Parameters+    -- <http://sqlite.org/c3ref/bind_parameter_count.html>++    sqlite3_bind_parameter_count,++    -- * Name Of A Host Parameter+    -- <http://sqlite.org/c3ref/bind_parameter_name.html>++    sqlite3_bind_parameter_name,++    -- * Index Of A Parameter With A Given Name+    -- <http://sqlite.org/c3ref/bind_parameter_index.html>++    sqlite3_bind_parameter_index,++    -- * Reset All Bindings On A Prepared Statement+    -- <http://sqlite.org/c3ref/clear_bindings.html>++    sqlite3_clear_bindings,++    -- * Number Of Columns In A Result Set+    -- <http://sqlite.org/c3ref/column_count.html>++    sqlite3_column_count,++    -- * Column Names In A Result Set+    -- <http://sqlite.org/c3ref/column_name.html>++    sqlite3_column_name,+    sqlite3_column_name16,++    -- * Source Of Data In A Query Result+    -- <http://sqlite.org/c3ref/column_database_name.html>++    sqlite3_column_database_name,+    sqlite3_column_database_name16,+    sqlite3_column_table_name,+    sqlite3_column_table_name16,+    sqlite3_column_origin_name,+    sqlite3_column_origin_name16,++    -- * Declared Datatype Of A Query Result+    -- <http://sqlite.org/c3ref/column_decltype.html>++    sqlite3_column_decltype,+    sqlite3_column_decltype16,++    -- * Evaluate An SQL Statement+    -- <http://sqlite.org/c3ref/step.html>++    sqlite3_step,++    -- * Number of columns in a result set+    -- <http://sqlite.org/c3ref/data_count.html>++    sqlite3_data_count,++    -- * Fundamental Datatypes+    -- <http://sqlite.org/c3ref/c_blob.html>++    _SQLITE_INTEGER,+    _SQLITE_FLOAT,+    _SQLITE_BLOB,+    _SQLITE_NULL,+    _SQLITE3_TEXT,++    -- * Result Values From A Query+    -- <http://sqlite.org/c3ref/column_blob.html>++    sqlite3_column_blob,+    sqlite3_column_bytes,+    sqlite3_column_bytes16,+    sqlite3_column_double,+    sqlite3_column_int,+    sqlite3_column_int64,+    sqlite3_column_text,+    sqlite3_column_text16,+    sqlite3_column_type,+    sqlite3_column_value,++    -- * Destroy A Prepared Statement Object+    -- <http://sqlite.org/c3ref/finalize.html>++    sqlite3_finalize,++    -- * Reset A Prepared Statement Object+    -- <http://sqlite.org/c3ref/create_function.html>++    sqlite3_create_function,+    sqlite3_create_function16,++    -- * Text Encodings+    -- <http://sqlite.org/c3ref/c_any.html>++    _SQLITE_UTF8,+    _SQLITE_UTF16LE,+    _SQLITE_UTF16BE,+    _SQLITE_UTF16,+    _SQLITE_ANY,+    _SQLITE_UTF16_ALIGNED,++    -- * Obtaining SQL Function Parameter Values+    -- <http://sqlite.org/c3ref/value_blob.html>++    sqlite3_value_blob,+    sqlite3_value_bytes,+    sqlite3_value_bytes16,+    sqlite3_value_double,+    sqlite3_value_int,+    sqlite3_value_int64,+    sqlite3_value_text,+    sqlite3_value_text16,+    sqlite3_value_text16le,+    sqlite3_value_text16be,+    sqlite3_value_type,+    sqlite3_value_numeric_type,++    -- * Obtain Aggregate Function Context+    -- <http://sqlite.org/c3ref/aggregate_context.html>++    sqlite3_aggregate_context,++    -- * User Data For Functions+    -- <http://sqlite.org/c3ref/user_data.html>++    sqlite3_user_data,++    -- * Database Connection For Functions+    -- <http://sqlite.org/c3ref/context_db_handle.html>++    sqlite3_context_db_handle,++    -- * Function Auxiliary Data+    -- <http://sqlite.org/c3ref/get_auxdata.html>++    sqlite3_get_auxdata,+    sqlite3_set_auxdata,++    -- * Constants Defining Special Destructor Behavior+    -- <http://sqlite.org/c3ref/c_static.html>++    Sqlite3_destructor_type,+    _SQLITE_STATIC,+    _SQLITE_TRANSIENT,++    -- * Setting The Result Of An SQL Function+    -- <http://sqlite.org/c3ref/result_blob.html>++    sqlite3_result_blob,+    sqlite3_result_double,+    sqlite3_result_error,+    sqlite3_result_error16,+    sqlite3_result_error_toobig,+    sqlite3_result_error_nomem,+    sqlite3_result_error_code,+    sqlite3_result_int,+    sqlite3_result_int64,+    sqlite3_result_null,+    sqlite3_result_text,+    sqlite3_result_text16,+    sqlite3_result_text16le,+    sqlite3_result_text16be,+    sqlite3_result_value,+    sqlite3_result_zeroblob,++    -- * Define New Collating Sequences+    -- <http://sqlite.org/c3ref/create_collation.html>++    sqlite3_create_collation,+    sqlite3_create_collation_v2,+    sqlite3_create_collation16,++    -- * Collation Needed Callbacks+    -- <http://sqlite.org/c3ref/collation_needed.html>++    sqlite3_collation_needed,+    sqlite3_collation_needed16,++    -- * Suspend Execution For A Short Time+    -- <http://sqlite.org/c3ref/sleep.html>++    sqlite3_sleep,++    -- * Name Of The Folder Holding Temporary Files+    -- <http://sqlite.org/c3ref/temp_directory.html>++    sqlite_temp_directory,++    -- * Test For Auto-Commit Mode+    -- <http://sqlite.org/c3ref/get_autocommit.html>++    sqlite3_get_autocommit,++    -- * Find The Database Handle Of A Prepared Statement+    -- <http://sqlite.org/c3ref/db_handle.html>++    sqlite3_db_handle,++    -- * Find the next prepared statement+    -- <http://sqlite.org/c3ref/next_stmt.html>++    sqlite3_next_stmt,++    -- * Commit And Rollback Notification Callbacks+    -- <http://sqlite.org/c3ref/commit_hook.html>++    sqlite3_commit_hook,+    sqlite3_rollback_hook,++    -- * Data Change Notification Callbacks+    -- <http://sqlite.org/c3ref/update_hook.html>++    sqlite3_update_hook,++    -- * Enable Or Disable Shared Pager Cache+    -- <http://sqlite.org/c3ref/enable_shared_cache.html>++    sqlite3_enable_shared_cache,++    -- * Attempt To Free Heap Memory+    -- <http://sqlite.org/c3ref/release_memory.html>++    sqlite3_release_memory,++    -- * Impose A Limit On Heap Size+    -- <http://sqlite.org/c3ref/soft_heap_limit.html>++    sqlite3_soft_heap_limit,++    -- * Load An Extension+    -- <http://sqlite.org/c3ref/load_extension.html>++    sqlite3_load_extension,++    -- * Enable Or Disable Extension Loading+    -- <http://sqlite.org/c3ref/enable_load_extension.html>++    sqlite3_enable_load_extension,++    -- * Automatically Load An Extensions+    -- <http://sqlite.org/c3ref/auto_extension.html>++    sqlite3_auto_extension,++    -- * Reset Automatic Extension Loading+    -- <http://sqlite.org/c3ref/reset_auto_extension.html>++    sqlite3_reset_auto_extension,++    -- * A Handle To An Open BLOB+    -- <http://sqlite.org/c3ref/blob.html>++    Sqlite3_blob,++    -- * Open A BLOB For Incremental I/O+    -- <http://sqlite.org/c3ref/blob_open.html>++    sqlite3_blob_open,++    -- * Close A BLOB Handle+    -- <http://sqlite.org/c3ref/blob_close.html>++    sqlite3_blob_close,++    -- * Return The Size Of An Open BLOB+    -- <http://sqlite.org/c3ref/blob_bytes.html>++    sqlite3_blob_bytes,++    -- * Read Data From A BLOB Incrementally+    -- <http://sqlite.org/c3ref/blob_read.html>++    sqlite3_blob_read,++    -- * Write Data Into A BLOB Incrementally+    -- <http://sqlite.org/c3ref/blob_write.html>++    sqlite3_blob_write,++    -- * Virtual File System Objects+    -- <http://sqlite.org/c3ref/vfs_find.html>++    sqlite3_vfs_find,+    sqlite3_vfs_register,+    sqlite3_vfs_unregister,++    -- * Mutexes+    -- <http://sqlite.org/c3ref/mutex_alloc.html>++    sqlite3_mutex_alloc,+    sqlite3_mutex_free,+    sqlite3_mutex_enter,+    sqlite3_mutex_try,+    sqlite3_mutex_leave,++    -- * Mutex Verification Routines+    -- <http://sqlite.org/c3ref/mutex_held.html>++    sqlite3_mutex_held,+    sqlite3_mutex_notheld,++    -- * Mutex Types+    -- <http://sqlite.org/c3ref/c_mutex_fast.html>++    _SQLITE_MUTEX_FAST,+    _SQLITE_MUTEX_RECURSIVE,+    _SQLITE_MUTEX_STATIC_MASTER,+    _SQLITE_MUTEX_STATIC_MEM,+    _SQLITE_MUTEX_STATIC_MEM2,+    _SQLITE_MUTEX_STATIC_PRNG,+    _SQLITE_MUTEX_STATIC_LRU,+    _SQLITE_MUTEX_STATIC_LRU2,++    -- * Retrieve the mutex for a database connection+    -- <http://sqlite.org/c3ref/db_mutex.html>++    sqlite3_db_mutex,++    -- * Low-Level Control Of Database Files+    -- <http://sqlite.org/c3ref/file_control.html>++    sqlite3_file_control++ ) where++import Sqlite3Constants+import Sqlite3Types+import Sqlite3Functions
+ src/Sqlite3Constants.hs view
@@ -0,0 +1,474 @@+module Sqlite3Constants where+import Foreign+import Foreign.C+import Sqlite3Types++foreign import ccall "_SQLITE_OK" _SQLITE_OK+    :: CInt++foreign import ccall "_SQLITE_ERROR" _SQLITE_ERROR+    :: CInt++foreign import ccall "_SQLITE_INTERNAL" _SQLITE_INTERNAL+    :: CInt++foreign import ccall "_SQLITE_PERM" _SQLITE_PERM+    :: CInt++foreign import ccall "_SQLITE_ABORT" _SQLITE_ABORT+    :: CInt++foreign import ccall "_SQLITE_BUSY" _SQLITE_BUSY+    :: CInt++foreign import ccall "_SQLITE_LOCKED" _SQLITE_LOCKED+    :: CInt++foreign import ccall "_SQLITE_NOMEM" _SQLITE_NOMEM+    :: CInt++foreign import ccall "_SQLITE_READONLY" _SQLITE_READONLY+    :: CInt++foreign import ccall "_SQLITE_INTERRUPT" _SQLITE_INTERRUPT+    :: CInt++foreign import ccall "_SQLITE_IOERR" _SQLITE_IOERR+    :: CInt++foreign import ccall "_SQLITE_CORRUPT" _SQLITE_CORRUPT+    :: CInt++foreign import ccall "_SQLITE_NOTFOUND" _SQLITE_NOTFOUND+    :: CInt++foreign import ccall "_SQLITE_FULL" _SQLITE_FULL+    :: CInt++foreign import ccall "_SQLITE_CANTOPEN" _SQLITE_CANTOPEN+    :: CInt++foreign import ccall "_SQLITE_PROTOCOL" _SQLITE_PROTOCOL+    :: CInt++foreign import ccall "_SQLITE_EMPTY" _SQLITE_EMPTY+    :: CInt++foreign import ccall "_SQLITE_SCHEMA" _SQLITE_SCHEMA+    :: CInt++foreign import ccall "_SQLITE_TOOBIG" _SQLITE_TOOBIG+    :: CInt++foreign import ccall "_SQLITE_CONSTRAINT" _SQLITE_CONSTRAINT+    :: CInt++foreign import ccall "_SQLITE_MISMATCH" _SQLITE_MISMATCH+    :: CInt++foreign import ccall "_SQLITE_MISUSE" _SQLITE_MISUSE+    :: CInt++foreign import ccall "_SQLITE_NOLFS" _SQLITE_NOLFS+    :: CInt++foreign import ccall "_SQLITE_AUTH" _SQLITE_AUTH+    :: CInt++foreign import ccall "_SQLITE_FORMAT" _SQLITE_FORMAT+    :: CInt++foreign import ccall "_SQLITE_RANGE" _SQLITE_RANGE+    :: CInt++foreign import ccall "_SQLITE_NOTADB" _SQLITE_NOTADB+    :: CInt++foreign import ccall "_SQLITE_ROW" _SQLITE_ROW+    :: CInt++foreign import ccall "_SQLITE_DONE" _SQLITE_DONE+    :: CInt++foreign import ccall "_SQLITE_IOERR_READ" _SQLITE_IOERR_READ+    :: CInt++foreign import ccall "_SQLITE_IOERR_SHORT_READ" _SQLITE_IOERR_SHORT_READ+    :: CInt++foreign import ccall "_SQLITE_IOERR_WRITE" _SQLITE_IOERR_WRITE+    :: CInt++foreign import ccall "_SQLITE_IOERR_FSYNC" _SQLITE_IOERR_FSYNC+    :: CInt++foreign import ccall "_SQLITE_IOERR_DIR_FSYNC" _SQLITE_IOERR_DIR_FSYNC+    :: CInt++foreign import ccall "_SQLITE_IOERR_TRUNCATE" _SQLITE_IOERR_TRUNCATE+    :: CInt++foreign import ccall "_SQLITE_IOERR_FSTAT" _SQLITE_IOERR_FSTAT+    :: CInt++foreign import ccall "_SQLITE_IOERR_UNLOCK" _SQLITE_IOERR_UNLOCK+    :: CInt++foreign import ccall "_SQLITE_IOERR_RDLOCK" _SQLITE_IOERR_RDLOCK+    :: CInt++foreign import ccall "_SQLITE_IOERR_DELETE" _SQLITE_IOERR_DELETE+    :: CInt++foreign import ccall "_SQLITE_IOERR_BLOCKED" _SQLITE_IOERR_BLOCKED+    :: CInt++foreign import ccall "_SQLITE_IOERR_NOMEM" _SQLITE_IOERR_NOMEM+    :: CInt++foreign import ccall "_SQLITE_IOERR_ACCESS" _SQLITE_IOERR_ACCESS+    :: CInt++foreign import ccall "_SQLITE_IOERR_CHECKRESERVEDLOCK"+ _SQLITE_IOERR_CHECKRESERVEDLOCK+    :: CInt++foreign import ccall "_SQLITE_IOERR_LOCK" _SQLITE_IOERR_LOCK+    :: CInt++foreign import ccall "_SQLITE_IOERR_CLOSE" _SQLITE_IOERR_CLOSE+    :: CInt++foreign import ccall "_SQLITE_IOERR_DIR_CLOSE" _SQLITE_IOERR_DIR_CLOSE+    :: CInt++foreign import ccall "_SQLITE_OPEN_READONLY" _SQLITE_OPEN_READONLY+    :: CInt++foreign import ccall "_SQLITE_OPEN_READWRITE" _SQLITE_OPEN_READWRITE+    :: CInt++foreign import ccall "_SQLITE_OPEN_CREATE" _SQLITE_OPEN_CREATE+    :: CInt++foreign import ccall "_SQLITE_OPEN_DELETEONCLOSE"+ _SQLITE_OPEN_DELETEONCLOSE+    :: CInt++foreign import ccall "_SQLITE_OPEN_EXCLUSIVE" _SQLITE_OPEN_EXCLUSIVE+    :: CInt++foreign import ccall "_SQLITE_OPEN_MAIN_DB" _SQLITE_OPEN_MAIN_DB+    :: CInt++foreign import ccall "_SQLITE_OPEN_TEMP_DB" _SQLITE_OPEN_TEMP_DB+    :: CInt++foreign import ccall "_SQLITE_OPEN_TRANSIENT_DB"+ _SQLITE_OPEN_TRANSIENT_DB+    :: CInt++foreign import ccall "_SQLITE_OPEN_MAIN_JOURNAL"+ _SQLITE_OPEN_MAIN_JOURNAL+    :: CInt++foreign import ccall "_SQLITE_OPEN_TEMP_JOURNAL" _SQLITE_OPEN_TEMP_JOURNAL+    :: CInt++foreign import ccall "_SQLITE_OPEN_SUBJOURNAL" _SQLITE_OPEN_SUBJOURNAL+    :: CInt++foreign import ccall "_SQLITE_OPEN_MASTER_JOURNAL"+ _SQLITE_OPEN_MASTER_JOURNAL+    :: CInt++foreign import ccall "_SQLITE_OPEN_NOMUTEX" _SQLITE_OPEN_NOMUTEX+    :: CInt++foreign import ccall "_SQLITE_OPEN_FULLMUTEX" _SQLITE_OPEN_FULLMUTEX+    :: CInt++foreign import ccall "_SQLITE_IOCAP_ATOMIC" _SQLITE_IOCAP_ATOMIC+    :: CInt++foreign import ccall "_SQLITE_IOCAP_ATOMIC512" _SQLITE_IOCAP_ATOMIC512+    :: CInt++foreign import ccall "_SQLITE_IOCAP_ATOMIC1K" _SQLITE_IOCAP_ATOMIC1K+    :: CInt++foreign import ccall "_SQLITE_IOCAP_ATOMIC2K" _SQLITE_IOCAP_ATOMIC2K+    :: CInt++foreign import ccall "_SQLITE_IOCAP_ATOMIC4K" _SQLITE_IOCAP_ATOMIC4K+    :: CInt++foreign import ccall "_SQLITE_IOCAP_ATOMIC8K" _SQLITE_IOCAP_ATOMIC8K+    :: CInt++foreign import ccall "_SQLITE_IOCAP_ATOMIC16K" _SQLITE_IOCAP_ATOMIC16K+    :: CInt++foreign import ccall "_SQLITE_IOCAP_ATOMIC32K" _SQLITE_IOCAP_ATOMIC32K+    :: CInt++foreign import ccall "_SQLITE_IOCAP_ATOMIC64K" _SQLITE_IOCAP_ATOMIC64K+    :: CInt++foreign import ccall "_SQLITE_IOCAP_SAFE_APPEND"+ _SQLITE_IOCAP_SAFE_APPEND+    :: CInt++foreign import ccall "_SQLITE_IOCAP_SEQUENTIAL" _SQLITE_IOCAP_SEQUENTIAL+    :: CInt++foreign import ccall "_SQLITE_LOCK_NONE" _SQLITE_LOCK_NONE+    :: CInt++foreign import ccall "_SQLITE_LOCK_SHARED" _SQLITE_LOCK_SHARED+    :: CInt++foreign import ccall "_SQLITE_LOCK_RESERVED" _SQLITE_LOCK_RESERVED+    :: CInt++foreign import ccall "_SQLITE_LOCK_PENDING" _SQLITE_LOCK_PENDING+    :: CInt++foreign import ccall "_SQLITE_LOCK_EXCLUSIVE" _SQLITE_LOCK_EXCLUSIVE+    :: CInt++foreign import ccall "_SQLITE_SYNC_NORMAL" _SQLITE_SYNC_NORMAL+    :: CInt++foreign import ccall "_SQLITE_SYNC_FULL" _SQLITE_SYNC_FULL+    :: CInt++foreign import ccall "_SQLITE_SYNC_DATAONLY" _SQLITE_SYNC_DATAONLY+    :: CInt++foreign import ccall "_SQLITE_FCNTL_LOCKSTATE" _SQLITE_FCNTL_LOCKSTATE+  +    :: CInt++foreign import ccall "_SQLITE_GET_LOCKPROXYFILE"+ _SQLITE_GET_LOCKPROXYFILE+    :: CInt++foreign import ccall "_SQLITE_SET_LOCKPROXYFILE"+ _SQLITE_SET_LOCKPROXYFILE+    :: CInt++foreign import ccall "_SQLITE_LAST_ERRNO" _SQLITE_LAST_ERRNO+    :: CInt++foreign import ccall "_SQLITE_ACCESS_EXISTS" _SQLITE_ACCESS_EXISTS+    :: CInt++foreign import ccall "_SQLITE_ACCESS_READWRITE" _SQLITE_ACCESS_READWRITE+    :: CInt++foreign import ccall "_SQLITE_ACCESS_READ" _SQLITE_ACCESS_READ+    :: CInt++foreign import ccall "_SQLITE_DENY" _SQLITE_DENY+    :: CInt++foreign import ccall "_SQLITE_IGNORE" _SQLITE_IGNORE+    :: CInt++foreign import ccall "_SQLITE_CREATE_INDEX" _SQLITE_CREATE_INDEX+    :: CInt++foreign import ccall "_SQLITE_CREATE_TABLE" _SQLITE_CREATE_TABLE+    :: CInt++foreign import ccall "_SQLITE_CREATE_TEMP_INDEX" _SQLITE_CREATE_TEMP_INDEX+    :: CInt++foreign import ccall "_SQLITE_CREATE_TEMP_TABLE" _SQLITE_CREATE_TEMP_TABLE+    :: CInt++foreign import ccall "_SQLITE_CREATE_TEMP_TRIGGER"+ _SQLITE_CREATE_TEMP_TRIGGER+    :: CInt++foreign import ccall "_SQLITE_CREATE_TEMP_VIEW" _SQLITE_CREATE_TEMP_VIEW+    :: CInt++foreign import ccall "_SQLITE_CREATE_TRIGGER" _SQLITE_CREATE_TRIGGER+    :: CInt++foreign import ccall "_SQLITE_CREATE_VIEW" _SQLITE_CREATE_VIEW+    :: CInt++foreign import ccall "_SQLITE_DELETE" _SQLITE_DELETE+    :: CInt++foreign import ccall "_SQLITE_DROP_INDEX" _SQLITE_DROP_INDEX+    :: CInt++foreign import ccall "_SQLITE_DROP_TABLE" _SQLITE_DROP_TABLE+    :: CInt++foreign import ccall "_SQLITE_DROP_TEMP_INDEX" _SQLITE_DROP_TEMP_INDEX+    :: CInt++foreign import ccall "_SQLITE_DROP_TEMP_TABLE" _SQLITE_DROP_TEMP_TABLE+    :: CInt++foreign import ccall "_SQLITE_DROP_TEMP_TRIGGER" _SQLITE_DROP_TEMP_TRIGGER+    :: CInt++foreign import ccall "_SQLITE_DROP_TEMP_VIEW" _SQLITE_DROP_TEMP_VIEW+    :: CInt++foreign import ccall "_SQLITE_DROP_TRIGGER" _SQLITE_DROP_TRIGGER+    :: CInt++foreign import ccall "_SQLITE_DROP_VIEW" _SQLITE_DROP_VIEW+    :: CInt++foreign import ccall "_SQLITE_INSERT" _SQLITE_INSERT+    :: CInt++foreign import ccall "_SQLITE_PRAGMA" _SQLITE_PRAGMA+    :: CInt++foreign import ccall "_SQLITE_READ" _SQLITE_READ+    :: CInt++foreign import ccall "_SQLITE_SELECT" _SQLITE_SELECT+    :: CInt++foreign import ccall "_SQLITE_TRANSACTION" _SQLITE_TRANSACTION+    :: CInt++foreign import ccall "_SQLITE_UPDATE" _SQLITE_UPDATE+    :: CInt++foreign import ccall "_SQLITE_ATTACH" _SQLITE_ATTACH+    :: CInt++foreign import ccall "_SQLITE_DETACH" _SQLITE_DETACH+    :: CInt++foreign import ccall "_SQLITE_ALTER_TABLE" _SQLITE_ALTER_TABLE+    :: CInt++foreign import ccall "_SQLITE_REINDEX" _SQLITE_REINDEX+    :: CInt++foreign import ccall "_SQLITE_ANALYZE" _SQLITE_ANALYZE+    :: CInt++foreign import ccall "_SQLITE_CREATE_VTABLE" _SQLITE_CREATE_VTABLE+    :: CInt++foreign import ccall "_SQLITE_DROP_VTABLE" _SQLITE_DROP_VTABLE+    :: CInt++foreign import ccall "_SQLITE_FUNCTION" _SQLITE_FUNCTION+    :: CInt++foreign import ccall "_SQLITE_SAVEPOINT" _SQLITE_SAVEPOINT+    :: CInt++foreign import ccall "_SQLITE_COPY" _SQLITE_COPY+    :: CInt++foreign import ccall "_SQLITE_LIMIT_LENGTH" _SQLITE_LIMIT_LENGTH+    :: CInt++foreign import ccall "_SQLITE_LIMIT_SQL_LENGTH" _SQLITE_LIMIT_SQL_LENGTH+    :: CInt++foreign import ccall "_SQLITE_LIMIT_COLUMN" _SQLITE_LIMIT_COLUMN+    :: CInt++foreign import ccall "_SQLITE_LIMIT_EXPR_DEPTH" _SQLITE_LIMIT_EXPR_DEPTH+    :: CInt++foreign import ccall "_SQLITE_LIMIT_COMPOUND_SELECT" _SQLITE_LIMIT_COMPOUND_SELECT+    :: CInt++foreign import ccall "_SQLITE_LIMIT_VDBE_OP" _SQLITE_LIMIT_VDBE_OP+    :: CInt++foreign import ccall "_SQLITE_LIMIT_FUNCTION_ARG" _SQLITE_LIMIT_FUNCTION_ARG+    :: CInt++foreign import ccall "_SQLITE_LIMIT_ATTACHED" _SQLITE_LIMIT_ATTACHED+    :: CInt++foreign import ccall "_SQLITE_LIMIT_LIKE_PATTERN_LENGTH"+ _SQLITE_LIMIT_LIKE_PATTERN_LENGTH+    :: CInt++foreign import ccall "_SQLITE_LIMIT_VARIABLE_NUMBER"+ _SQLITE_LIMIT_VARIABLE_NUMBER+    :: CInt++foreign import ccall "_SQLITE_INTEGER" _SQLITE_INTEGER+    :: CInt++foreign import ccall "_SQLITE_FLOAT" _SQLITE_FLOAT+    :: CInt++foreign import ccall "_SQLITE_BLOB" _SQLITE_BLOB+    :: CInt++foreign import ccall "_SQLITE_NULL" _SQLITE_NULL+    :: CInt++foreign import ccall "_SQLITE3_TEXT" _SQLITE3_TEXT+    :: CInt++foreign import ccall "_SQLITE_UTF8" _SQLITE_UTF8+    :: CInt++foreign import ccall "_SQLITE_UTF16LE" _SQLITE_UTF16LE+    :: CInt++foreign import ccall "_SQLITE_UTF16BE" _SQLITE_UTF16BE+    :: CInt++foreign import ccall "_SQLITE_UTF16" _SQLITE_UTF16+    :: CInt++foreign import ccall "_SQLITE_ANY" _SQLITE_ANY+    :: CInt++foreign import ccall "_SQLITE_UTF16_ALIGNED" _SQLITE_UTF16_ALIGNED+    :: CInt++foreign import ccall "_SQLITE_STATIC" _SQLITE_STATIC+    :: Sqlite3_destructor_type a++foreign import ccall "_SQLITE_TRANSIENT" _SQLITE_TRANSIENT+    :: Sqlite3_destructor_type a++foreign import ccall "_SQLITE_MUTEX_FAST" _SQLITE_MUTEX_FAST+    :: CInt++foreign import ccall "_SQLITE_MUTEX_RECURSIVE" _SQLITE_MUTEX_RECURSIVE+    :: CInt++foreign import ccall "_SQLITE_MUTEX_STATIC_MASTER"+ _SQLITE_MUTEX_STATIC_MASTER+    :: CInt++foreign import ccall "_SQLITE_MUTEX_STATIC_MEM" _SQLITE_MUTEX_STATIC_MEM+    :: CInt++foreign import ccall "_SQLITE_MUTEX_STATIC_MEM2" _SQLITE_MUTEX_STATIC_MEM2+    :: CInt++foreign import ccall "_SQLITE_MUTEX_STATIC_PRNG" _SQLITE_MUTEX_STATIC_PRNG+    :: CInt++foreign import ccall "_SQLITE_MUTEX_STATIC_LRU" _SQLITE_MUTEX_STATIC_LRU+    :: CInt++foreign import ccall "_SQLITE_MUTEX_STATIC_LRU2" _SQLITE_MUTEX_STATIC_LRU2+    :: CInt+
+ src/Sqlite3Functions.hs view
@@ -0,0 +1,521 @@+module Sqlite3Functions where+import Foreign+import Foreign.C+import Bindings.Utilities+import Sqlite3Types++foreign import ccall "_sqlite3_version" sqlite3_version+    :: CString++foreign import ccall "sqlite3_libversion" sqlite3_libversion+    :: IO CString++foreign import ccall "sqlite3_libversion_number" sqlite3_libversion_number+    :: CInt++foreign import ccall "sqlite3_threadsafe" sqlite3_threadsafe+    :: IO CInt++foreign import ccall "sqlite3_close" sqlite3_close+    :: Ptr Sqlite3 -> CInt++foreign import ccall "sqlite3_exec" sqlite3_exec+    :: Ptr Sqlite3 -> CString -> FunPtr (Ptr a -> CInt ->+       Ptr CString -> Ptr CString -> IO CInt) -> Ptr a ->+       Ptr CString -> IO CInt++foreign import ccall "sqlite3_initialize" sqlite3_initialize+    :: CInt++foreign import ccall "sqlite3_shutdown" sqlite3_shutdown+    :: CInt++foreign import ccall "sqlite3_os_init" sqlite3_os_init+    :: CInt++foreign import ccall "sqlite3_os_end" sqlite3_os_end+    :: CInt++foreign import ccall "sqlite3_extended_result_codes" + sqlite3_extended_result_codes+    :: Ptr Sqlite3 -> CInt -> IO CInt++foreign import ccall "sqlite3_last_insert_rowid" + sqlite3_last_insert_rowid+    :: Ptr Sqlite3 -> IO Int64++foreign import ccall "sqlite3_changes" sqlite3_changes+    :: Ptr Sqlite3 -> IO CInt++foreign import ccall "sqlite3_total_changes" sqlite3_total_changes+    :: Ptr Sqlite3 -> IO CInt++foreign import ccall "sqlite3_interrupt" sqlite3_interrupt+    :: Ptr Sqlite3 -> IO ()++foreign import ccall "sqlite3_complete" sqlite3_complete+    :: CString -> IO CInt++foreign import ccall "sqlite3_complete16" sqlite3_complete16+    :: Ptr () -> IO CInt++foreign import ccall "sqlite3_busy_handler" sqlite3_busy_handler+    :: Ptr Sqlite3 -> FunPtr (Ptr a -> CInt -> IO CInt) ->+       Ptr a -> IO CInt++foreign import ccall "sqlite3_busy_timeout" sqlite3_busy_timeout+    :: Ptr Sqlite3 -> CInt -> IO CInt++foreign import ccall "sqlite3_get_table" sqlite3_get_table+    :: Ptr Sqlite3 -> CString -> Ptr (Ptr CString) ->+       Ptr CInt -> Ptr CInt -> Ptr CString -> IO CInt++foreign import ccall "sqlite3_free_table" sqlite3_free_table+    :: Ptr CString -> IO ()++foreign import ccall "sqlite3_malloc" sqlite3_malloc+    :: CInt -> IO (Ptr ())++foreign import ccall "sqlite3_realloc" sqlite3_realloc+    :: Ptr () -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_free" sqlite3_free+    :: Ptr () -> IO ()++foreign import ccall "sqlite3_memory_used" sqlite3_memory_used+    :: IO Int64++foreign import ccall "sqlite3_memory_highwater" sqlite3_memory_highwater+    :: CInt -> IO Int64++foreign import ccall "sqlite3_randomness" sqlite3_randomness+    :: CInt -> Ptr () -> IO ()++foreign import ccall "sqlite3_set_authorizer" sqlite3_set_authorizer+    :: Ptr Sqlite3 -> FunPtr (Ptr a -> CInt -> CString ->+       CString -> CString -> CString -> IO CInt) -> Ptr a -> IO CInt++foreign import ccall "sqlite3_progress_handler" sqlite3_progress_handler+    :: Ptr Sqlite3 -> CInt -> FunPtr (Ptr a -> IO CInt) ->+       Ptr a -> IO ()++foreign import ccall "sqlite3_open" sqlite3_open+    :: CString -> Ptr (Ptr Sqlite3) -> IO CInt++foreign import ccall "sqlite3_open16" sqlite3_open16+    :: Ptr () -> Ptr (Ptr Sqlite3) -> IO CInt++foreign import ccall "sqlite3_open_v2" sqlite3_open_v2+    :: CString -> Ptr (Ptr Sqlite3) -> CInt -> CString -> IO CInt++foreign import ccall "sqlite3_errcode" sqlite3_errcode+    :: Ptr Sqlite3 -> IO CInt++foreign import ccall "sqlite3_extended_errcode" sqlite3_extended_errcode+    :: Ptr Sqlite3 -> IO CInt++foreign import ccall "sqlite3_errmsg" sqlite3_errmsg+    :: Ptr Sqlite3 -> IO CString++foreign import ccall "sqlite3_errmsg16" sqlite3_errmsg16+    :: Ptr Sqlite3 -> IO (Ptr ())++foreign import ccall "sqlite3_limit" sqlite3_limit+    :: Ptr Sqlite3 -> CInt -> CInt -> IO CInt++foreign import ccall "sqlite3_prepare" sqlite3_prepare+    :: Ptr Sqlite3 -> CString -> CInt -> Ptr (Ptr Sqlite3_stmt) ->+       Ptr CString -> IO CInt++foreign import ccall "sqlite3_prepare_v2" sqlite3_prepare_v2+    :: Ptr Sqlite3 -> CString -> CInt -> Ptr (Ptr Sqlite3) ->+       Ptr CString -> IO CInt++foreign import ccall "sqlite3_prepare16" sqlite3_prepare16+    :: Ptr Sqlite3 -> Ptr () -> CInt -> Ptr (Ptr Sqlite3_stmt) ->+       Ptr (Ptr ()) -> IO CInt++foreign import ccall "sqlite3_prepare16_v2" sqlite3_prepare16_v2+    :: Ptr Sqlite3 -> Ptr () -> CInt -> Ptr (Ptr Sqlite3_stmt) ->+       Ptr (Ptr ()) -> IO CInt++foreign import ccall "sqlite3_sql" sqlite3_sql+    :: Ptr Sqlite3_stmt -> IO CString++foreign import ccall "sqlite3_bind_blob" sqlite3_bind_blob+    :: Ptr Sqlite3_stmt -> CInt -> Ptr () ->+       CInt -> Sqlite3_destructor_type ()-> IO CInt++foreign import ccall "sqlite3_bind_double" sqlite3_bind_double+    :: Ptr Sqlite3_stmt -> CInt -> CDouble -> IO CInt++foreign import ccall "sqlite3_bind_int" sqlite3_bind_int+    :: Ptr Sqlite3_stmt -> CInt -> CInt -> IO CInt++foreign import ccall "sqlite3_bind_int64" sqlite3_bind_int64+    :: Ptr Sqlite3_stmt -> CInt -> Int64 -> IO CInt++foreign import ccall "sqlite3_bind_null" sqlite3_bind_null+    :: Ptr Sqlite3_stmt -> CInt -> IO CInt++foreign import ccall "sqlite3_bind_text" sqlite3_bind_text+    :: Ptr Sqlite3_stmt -> CInt -> CString -> CInt ->+       Sqlite3_destructor_type CString -> IO CInt++foreign import ccall "sqlite3_bind_text16" sqlite3_bind_text16+    :: Ptr Sqlite3_stmt -> CInt -> Ptr () -> CInt ->+       Sqlite3_destructor_type ()-> IO CInt++foreign import ccall "sqlite3_bind_value" sqlite3_bind_value+    :: Ptr Sqlite3_stmt -> CInt -> Ptr Sqlite3_value -> IO CInt++foreign import ccall "sqlite3_bind_zeroblob" sqlite3_bind_zeroblob+    :: Ptr Sqlite3_stmt -> CInt -> CInt -> IO CInt++foreign import ccall "sqlite3_bind_parameter_count"+ sqlite3_bind_parameter_count+    :: Ptr Sqlite3_stmt -> IO CInt++foreign import ccall "sqlite3_bind_parameter_name"+ sqlite3_bind_parameter_name+    :: Ptr Sqlite3_stmt -> CInt -> IO CString++foreign import ccall "sqlite3_bind_parameter_index"+ sqlite3_bind_parameter_index+    :: Ptr Sqlite3_stmt -> CString -> IO CInt++foreign import ccall "sqlite3_clear_bindings" sqlite3_clear_bindings+    :: Ptr Sqlite3_stmt -> IO CInt++foreign import ccall "sqlite3_column_count" sqlite3_column_count+    :: Ptr Sqlite3_stmt -> IO CInt++foreign import ccall "sqlite3_column_name" sqlite3_column_name+    :: Ptr Sqlite3_stmt -> CInt -> IO CString++foreign import ccall "sqlite3_column_name16" sqlite3_column_name16+    :: Ptr Sqlite3_stmt -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_column_database_name"+ sqlite3_column_database_name+    :: Ptr Sqlite3_stmt -> CInt -> IO CString++foreign import ccall "sqlite3_column_database_name16"+ sqlite3_column_database_name16+    :: Ptr Sqlite3_stmt -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_column_table_name"+ sqlite3_column_table_name+    :: Ptr Sqlite3_stmt -> CInt -> IO CString++foreign import ccall "sqlite3_column_table_name16"+ sqlite3_column_table_name16+    :: Ptr Sqlite3_stmt -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_column_origin_name"+ sqlite3_column_origin_name+    :: Ptr Sqlite3_stmt -> CInt -> IO CString++foreign import ccall "sqlite3_column_origin_name16"+ sqlite3_column_origin_name16+    :: Ptr Sqlite3_stmt -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_column_decltype"+ sqlite3_column_decltype+    :: Ptr Sqlite3_stmt -> CInt -> IO CString++foreign import ccall "sqlite3_column_decltype16"+ sqlite3_column_decltype16+    :: Ptr Sqlite3_stmt -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_step" sqlite3_step+    :: Ptr Sqlite3_stmt -> IO CInt++foreign import ccall "sqlite3_data_count" sqlite3_data_count+    :: Ptr Sqlite3_stmt -> IO CInt++foreign import ccall "sqlite3_column_blob" sqlite3_column_blob+    :: Ptr Sqlite3_stmt -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_column_bytes" sqlite3_column_bytes+    :: Ptr Sqlite3_stmt -> CInt -> IO CInt++foreign import ccall "sqlite3_column_bytes16" sqlite3_column_bytes16+    :: Ptr Sqlite3_stmt -> CInt -> IO CInt++foreign import ccall "sqlite3_column_double" sqlite3_column_double+    :: Ptr Sqlite3_stmt -> CInt -> IO CDouble++foreign import ccall "sqlite3_column_int" sqlite3_column_int+    :: Ptr Sqlite3_stmt -> CInt -> IO CInt++foreign import ccall "sqlite3_column_int64" sqlite3_column_int64+    :: Ptr Sqlite3_stmt -> CInt -> IO Int64++foreign import ccall "sqlite3_column_text" sqlite3_column_text+    :: Ptr Sqlite3_stmt -> CInt -> IO CString++foreign import ccall "sqlite3_column_text16" sqlite3_column_text16+    :: Ptr Sqlite3_stmt -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_column_type" sqlite3_column_type+    :: Ptr Sqlite3_stmt -> CInt -> IO CInt++foreign import ccall "sqlite3_column_value" sqlite3_column_value+    :: Ptr Sqlite3_stmt -> CInt -> IO (Ptr Sqlite3_value)++foreign import ccall "sqlite3_finalize" sqlite3_finalize+    :: Ptr Sqlite3_stmt -> IO CInt++foreign import ccall "sqlite3_create_function" sqlite3_create_function+    :: Ptr Sqlite3 -> CString -> CInt -> CInt -> Ptr () ->+       FunPtr (Ptr Sqlite3_context -> CInt -> Ptr (Ptr Sqlite3_value) ->+       IO ()) -> FunPtr (Ptr Sqlite3_context -> CInt -> Ptr+       (Ptr Sqlite3_value) -> IO ()) -> FunPtr (Ptr Sqlite3_context ->+       IO ()) -> IO CInt++foreign import ccall "sqlite3_create_function16" sqlite3_create_function16+    :: Ptr Sqlite3 -> Ptr () -> CInt -> CInt -> Ptr () ->+       FunPtr (Ptr Sqlite3_context -> CInt -> Ptr (Ptr Sqlite3_value) ->+       IO ()) -> FunPtr (Ptr Sqlite3_context -> CInt -> Ptr +       (Ptr Sqlite3_value) -> IO ()) -> FunPtr (Ptr Sqlite3_context ->+       IO ()) -> IO CInt++foreign import ccall "sqlite3_value_blob" sqlite3_value_blob+    :: Ptr Sqlite3_value -> IO (Ptr ())++foreign import ccall "sqlite3_value_bytes" sqlite3_value_bytes+    :: Ptr Sqlite3_value -> IO CInt++foreign import ccall "sqlite3_value_bytes16" sqlite3_value_bytes16+    :: Ptr Sqlite3_value -> IO CInt++foreign import ccall "sqlite3_value_double" sqlite3_value_double+    :: Ptr Sqlite3_value -> IO CDouble++foreign import ccall "sqlite3_value_int" sqlite3_value_int+    :: Ptr Sqlite3_value -> IO CInt++foreign import ccall "sqlite3_value_int64" sqlite3_value_int64+    :: Ptr Sqlite3_value -> IO Int64++foreign import ccall "sqlite3_value_text" sqlite3_value_text+    :: Ptr Sqlite3_value -> IO CString++foreign import ccall "sqlite3_value_text16" sqlite3_value_text16+    :: Ptr Sqlite3_value -> IO (Ptr ())++foreign import ccall "sqlite3_value_text16le" sqlite3_value_text16le+    :: Ptr Sqlite3_value -> IO (Ptr ())++foreign import ccall "sqlite3_value_text16be" sqlite3_value_text16be+    :: Ptr Sqlite3_value -> IO (Ptr ())++foreign import ccall "sqlite3_value_type" sqlite3_value_type+    :: Ptr Sqlite3_value -> IO CInt++foreign import ccall "sqlite3_value_numeric_type"+ sqlite3_value_numeric_type+    :: Ptr Sqlite3_value -> IO CInt++foreign import ccall "sqlite3_aggregate_context"+ sqlite3_aggregate_context+    :: Ptr Sqlite3_context -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_user_data" sqlite3_user_data+    :: Ptr Sqlite3_context -> IO (Ptr ())++foreign import ccall "sqlite3_context_db_handle"+ sqlite3_context_db_handle+    :: Ptr Sqlite3_context -> IO (Ptr Sqlite3)++foreign import ccall "sqlite3_get_auxdata" sqlite3_get_auxdata+    :: Ptr Sqlite3_context -> CInt -> IO (Ptr ())++foreign import ccall "sqlite3_set_auxdata" sqlite3_set_auxdata+    :: Ptr Sqlite3_context -> CInt -> Ptr () ->+       Sqlite3_destructor_type ()-> IO ()++foreign import ccall "sqlite3_result_blob" sqlite3_result_blob+    :: Ptr Sqlite3_context -> Ptr () -> CInt ->+       Sqlite3_destructor_type ()-> IO ()++foreign import ccall "sqlite3_result_double" sqlite3_result_double+    :: Ptr Sqlite3_context -> CDouble -> IO ()++foreign import ccall "sqlite3_result_error" sqlite3_result_error+    :: Ptr Sqlite3_context -> CString -> CInt -> IO ()++foreign import ccall "sqlite3_result_error16" sqlite3_result_error16+    :: Ptr Sqlite3_context -> Ptr () -> CInt -> IO ()++foreign import ccall "sqlite3_result_error_toobig"+ sqlite3_result_error_toobig+    :: Ptr Sqlite3_context -> IO ()++foreign import ccall "sqlite3_result_error_nomem"+ sqlite3_result_error_nomem+    :: Ptr Sqlite3_context -> IO ()++foreign import ccall "sqlite3_result_error_code" sqlite3_result_error_code+    :: Ptr Sqlite3_context -> CInt -> IO ()++foreign import ccall "sqlite3_result_int" sqlite3_result_int+    :: Ptr Sqlite3_context -> CInt -> IO ()++foreign import ccall "sqlite3_result_int64" sqlite3_result_int64+    :: Ptr Sqlite3_context -> Int64 -> IO ()++foreign import ccall "sqlite3_result_null" sqlite3_result_null+    :: Ptr Sqlite3_context -> IO ()++foreign import ccall "sqlite3_result_text" sqlite3_result_text+    :: Ptr Sqlite3_context -> CString -> CInt ->+       Sqlite3_destructor_type CString -> IO ()++foreign import ccall "sqlite3_result_text16" sqlite3_result_text16+    :: Ptr Sqlite3_context -> Ptr () -> CInt ->+       Sqlite3_destructor_type ()-> IO ()++foreign import ccall "sqlite3_result_text16le" sqlite3_result_text16le+    :: Ptr Sqlite3_context -> Ptr () -> CInt ->+       Sqlite3_destructor_type ()-> IO ()++foreign import ccall "sqlite3_result_text16be" sqlite3_result_text16be+    :: Ptr Sqlite3_context -> Ptr () -> CInt ->+       Sqlite3_destructor_type ()-> IO ()++foreign import ccall "sqlite3_result_value" sqlite3_result_value+    :: Ptr Sqlite3_context -> Ptr Sqlite3_value -> IO ()++foreign import ccall "sqlite3_result_zeroblob" sqlite3_result_zeroblob+    :: Ptr Sqlite3_context -> CInt -> IO ()++foreign import ccall "sqlite3_create_collation"+ sqlite3_create_collation+    :: Ptr Sqlite3 -> CString -> CInt -> Ptr a ->+       FunPtr (Ptr a -> CInt -> Ptr () -> CInt -> Ptr () -> IO CInt) ->+       IO CInt++foreign import ccall "sqlite3_create_collation_v2"+ sqlite3_create_collation_v2+    :: Ptr Sqlite3 -> CString -> CInt -> Ptr a ->+       FunPtr (Ptr a -> CInt -> Ptr () -> CInt -> Ptr () -> IO CInt) ->+       Sqlite3_destructor_type a -> IO CInt++foreign import ccall "sqlite3_create_collation16"+ sqlite3_create_collation16+    :: Ptr Sqlite3 -> Ptr () -> CInt -> Ptr a ->+       FunPtr (Ptr a -> CInt -> Ptr () -> CInt -> Ptr () -> IO CInt) ->+       IO CInt++foreign import ccall "sqlite3_collation_needed"+ sqlite3_collation_needed+    :: Ptr Sqlite3 -> Ptr a -> FunPtr (Ptr a -> Ptr Sqlite3 ->+       CInt -> CString -> IO ()) -> IO CInt++foreign import ccall "sqlite3_collation_needed16"+ sqlite3_collation_needed16+    :: Ptr Sqlite3 -> Ptr a -> FunPtr (Ptr a -> Ptr Sqlite3 ->+       CInt -> Ptr () -> IO ()) -> IO CInt++foreign import ccall "sqlite3_sleep" sqlite3_sleep+    :: CInt -> IO CInt++foreign import ccall "&sqlite_temp_directory" sqlite_temp_directory+    :: GlobalVariable CString++foreign import ccall "sqlite3_get_autocommit" sqlite3_get_autocommit+    :: Ptr Sqlite3 -> IO CInt++foreign import ccall "sqlite3_db_handle" sqlite3_db_handle+    :: Ptr Sqlite3_stmt -> IO (Ptr Sqlite3)++foreign import ccall "sqlite3_next_stmt" sqlite3_next_stmt+    :: Ptr Sqlite3 -> Ptr Sqlite3_stmt -> IO (Ptr Sqlite3_stmt)++foreign import ccall "sqlite3_commit_hook" sqlite3_commit_hook+    :: Ptr Sqlite3 -> FunPtr (Ptr a -> IO CInt) -> Ptr a -> IO (Ptr ())++foreign import ccall "sqlite3_rollback_hook" sqlite3_rollback_hook+    :: Ptr Sqlite3 -> FunPtr (Ptr a -> IO ()) -> Ptr a -> IO (Ptr ())++foreign import ccall "sqlite3_update_hook" sqlite3_update_hook+    :: Ptr Sqlite3 -> FunPtr (Ptr a -> CInt -> CString -> CString ->+       Int64 -> IO ()) -> Ptr a -> IO (Ptr ())++foreign import ccall "sqlite3_enable_shared_cache"+ sqlite3_enable_shared_cache+    :: CInt -> IO CInt++foreign import ccall "sqlite3_release_memory" sqlite3_release_memory+    :: CInt -> IO CInt++foreign import ccall "sqlite3_soft_heap_limit" sqlite3_soft_heap_limit+    :: CInt -> IO ()++foreign import ccall "sqlite3_load_extension" sqlite3_load_extension+    :: Ptr Sqlite3 -> CString -> CString -> Ptr CString -> IO CInt++foreign import ccall "sqlite3_enable_load_extension"+ sqlite3_enable_load_extension+    :: Ptr Sqlite3 -> CInt -> IO CInt++foreign import ccall "sqlite3_auto_extension" sqlite3_auto_extension+    :: FunPtr (IO ()) -> IO CInt++foreign import ccall "sqlite3_reset_auto_extension"+ sqlite3_reset_auto_extension+    :: IO ()++foreign import ccall "sqlite3_blob_open" sqlite3_blob_open+    :: Ptr Sqlite3 -> CString -> CString -> CString -> Int64 -> CInt ->+       Ptr (Ptr Sqlite3_blob) -> IO CInt++foreign import ccall "sqlite3_blob_close" sqlite3_blob_close+    :: Ptr Sqlite3_blob -> IO CInt++foreign import ccall "sqlite3_blob_bytes" sqlite3_blob_bytes+    :: Ptr Sqlite3_blob -> IO CInt++foreign import ccall "sqlite3_blob_read" sqlite3_blob_read+    :: Ptr Sqlite3_blob -> Ptr () -> CInt -> CInt -> IO CInt++foreign import ccall "sqlite3_blob_write" sqlite3_blob_write+    :: Ptr Sqlite3_blob -> Ptr () -> CInt -> CInt -> IO CInt++foreign import ccall "sqlite3_vfs_find" sqlite3_vfs_find+    :: CString -> Ptr Sqlite3_vfs++foreign import ccall "sqlite3_vfs_register" sqlite3_vfs_register+    :: Ptr Sqlite3_vfs -> CInt -> IO CInt++foreign import ccall "sqlite3_vfs_unregister" sqlite3_vfs_unregister+    :: Ptr Sqlite3_vfs -> IO CInt++foreign import ccall "sqlite3_mutex_alloc" sqlite3_mutex_alloc+    :: CInt -> IO (Ptr Sqlite3_mutex)++foreign import ccall "sqlite3_mutex_free" sqlite3_mutex_free+    :: Ptr Sqlite3_mutex -> IO ()++foreign import ccall "sqlite3_mutex_enter" sqlite3_mutex_enter+    :: Ptr Sqlite3_mutex -> IO ()++foreign import ccall "sqlite3_mutex_try" sqlite3_mutex_try+    :: Ptr Sqlite3_mutex -> IO CInt++foreign import ccall "sqlite3_mutex_leave" sqlite3_mutex_leave+    :: Ptr Sqlite3_mutex -> IO ()++foreign import ccall "sqlite3_mutex_held" sqlite3_mutex_held+    :: Ptr Sqlite3_mutex -> IO CInt++foreign import ccall "sqlite3_mutex_notheld" sqlite3_mutex_notheld+    :: Ptr Sqlite3_mutex -> IO CInt++foreign import ccall "sqlite3_db_mutex" sqlite3_db_mutex+    :: Ptr Sqlite3 -> IO (Ptr Sqlite3_mutex)++foreign import ccall "sqlite3_file_control" sqlite3_file_control+    :: Ptr Sqlite3 -> CString -> CInt -> Ptr () -> IO CInt
+ src/Sqlite3Types.hs view
@@ -0,0 +1,157 @@+module Sqlite3Types where+import Foreign+import Foreign.C+data Sqlite3++data Sqlite3_file = Sqlite3_file+    {sqlite3_file'pMethods    :: Ptr Sqlite3_io_methods}++instance Storable Sqlite3_file where+    sizeOf _ = fromIntegral size_of_sqlite3_file++    alignment = sizeOf++    peek p =+        with nullPtr $ \p1 ->+        c2hs_sqlite3_file p p1 >>+        peek p1 >>= \v1 ->+        return $ Sqlite3_file {sqlite3_file'pMethods = v1}++    poke p v = hs2c_sqlite3_file p (sqlite3_file'pMethods v)++data Sqlite3_io_methods = Sqlite3_io_methods {+    sqlite3_io_methods'iVersion+        :: CInt,+    sqlite3_io_methods'xClose+        :: FunPtr (Ptr Sqlite3_file -> IO CInt),+    sqlite3_io_methods'xRead+        :: FunPtr (Ptr Sqlite3_file -> Ptr () -> CInt -> Int64 -> IO CInt),+    sqlite3_io_methods'xWrite+        :: FunPtr (Ptr Sqlite3_file -> Ptr () -> CInt -> Int64 -> IO CInt),+    sqlite3_io_methods'xTruncate+        :: FunPtr (Ptr Sqlite3_file -> Int64 -> IO CInt),+    sqlite3_io_methods'xSync+        :: FunPtr (Ptr Sqlite3_file -> CInt -> IO CInt),+    sqlite3_io_methods'xFileSize+        :: FunPtr (Ptr Sqlite3_file -> Int64 -> IO CInt),+    sqlite3_io_methods'xLock+        :: FunPtr (Ptr Sqlite3_file -> CInt -> IO CInt),+    sqlite3_io_methods'xUnlock+        :: FunPtr (Ptr Sqlite3_file -> CInt -> IO CInt),+    sqlite3_io_methods'xCheckReservedLock+        :: FunPtr (Ptr Sqlite3_file -> CInt -> IO CInt),+    sqlite3_io_methods'xFileControl+        :: FunPtr (Ptr Sqlite3_file -> CInt -> Ptr () -> IO CInt),+    sqlite3_io_methods'xSectorSize+        :: FunPtr (Ptr Sqlite3_file -> IO CInt),+    sqlite3_io_methods'xDeviceCharacteristics+        :: FunPtr (Ptr Sqlite3_file -> IO CInt)}++instance Storable Sqlite3_io_methods where+    sizeOf _ = fromIntegral size_of_sqlite3_io_methods++    alignment = sizeOf++    peek p =+        with 0 $ \p1 ->+        with nullFunPtr $ \p2 ->+        with nullFunPtr $ \p3 ->+        with nullFunPtr $ \p4 ->+        with nullFunPtr $ \p5 ->+        with nullFunPtr $ \p6 ->+        with nullFunPtr $ \p7 ->+        with nullFunPtr $ \p8 ->+        with nullFunPtr $ \p9 ->+        with nullFunPtr $ \p10 ->+        with nullFunPtr $ \p11 ->+        with nullFunPtr $ \p12 ->+        with nullFunPtr $ \p13 ->++        c2hs_sqlite3_io_methods p p1 p2 p3 p4 p5 p6 p7 p8 p9+            p10 p11 p12 p13 >>++        peek p1 >>= \v1 ->+        peek p2 >>= \v2 ->+        peek p3 >>= \v3 ->+        peek p4 >>= \v4 ->+        peek p5 >>= \v5 ->+        peek p6 >>= \v6 ->+        peek p7 >>= \v7 ->+        peek p8 >>= \v8 ->+        peek p9 >>= \v9 ->+        peek p10 >>= \v10 ->+        peek p11 >>= \v11 ->+        peek p12 >>= \v12 ->+        peek p13 >>= \v13 ->++        return $ Sqlite3_io_methods {+            sqlite3_io_methods'iVersion = v1,+            sqlite3_io_methods'xClose = v2,+            sqlite3_io_methods'xRead = v3,+            sqlite3_io_methods'xWrite = v4,+            sqlite3_io_methods'xTruncate = v5,+            sqlite3_io_methods'xSync = v6,+            sqlite3_io_methods'xFileSize = v7,+            sqlite3_io_methods'xLock = v8,+            sqlite3_io_methods'xUnlock = v9,+            sqlite3_io_methods'xCheckReservedLock = v10,+            sqlite3_io_methods'xFileControl = v11,+            sqlite3_io_methods'xSectorSize = v12,+            sqlite3_io_methods'xDeviceCharacteristics = v13}++    poke p v = hs2c_sqlite3_io_methods p+        (sqlite3_io_methods'iVersion v)+        (sqlite3_io_methods'xClose v)+        (sqlite3_io_methods'xRead v)+        (sqlite3_io_methods'xWrite v)+        (sqlite3_io_methods'xTruncate v)+        (sqlite3_io_methods'xSync v)+        (sqlite3_io_methods'xFileSize v)+        (sqlite3_io_methods'xLock v)+        (sqlite3_io_methods'xUnlock v)+        (sqlite3_io_methods'xCheckReservedLock v)+        (sqlite3_io_methods'xFileControl v)+        (sqlite3_io_methods'xSectorSize v)+        (sqlite3_io_methods'xDeviceCharacteristics v)++data Sqlite3_mutex++data Sqlite3_vfs++data Sqlite3_stmt++data Sqlite3_value++data Sqlite3_context++newtype Sqlite3_destructor_type a =+    Sqlite3_destructor_type (FunPtr (Ptr a -> IO ()))++data Sqlite3_blob++foreign import ccall "size_of_sqlite3_file" size_of_sqlite3_file+    :: CInt++foreign import ccall "size_of_sqlite3_io_methods"+ size_of_sqlite3_io_methods+    :: CInt++foreign import ccall "hs2c_sqlite3_file" hs2c_sqlite3_file+    :: Ptr a -> Ptr b -> IO ()++foreign import ccall "c2hs_sqlite3_file" c2hs_sqlite3_file+    :: Ptr a -> Ptr b -> IO ()++foreign import ccall "hs2c_sqlite3_io_methods"+ hs2c_sqlite3_io_methods+    :: Ptr a -> CInt -> FunPtr b1 -> FunPtr b2 -> FunPtr b3 ->+       FunPtr b4 -> FunPtr b5 -> FunPtr b6 -> FunPtr b7 ->+       FunPtr b8 -> FunPtr b9 -> FunPtr b10 -> FunPtr b11 ->+       FunPtr b12 -> IO ()++foreign import ccall "c2hs_sqlite3_io_methods"+ c2hs_sqlite3_io_methods+    :: Ptr a -> Ptr CInt -> Ptr b1 -> Ptr b2 -> Ptr b3 ->+       Ptr b4 -> Ptr b5 -> Ptr b6 -> Ptr b7 ->+       Ptr b8 -> Ptr b9 -> Ptr b10 -> Ptr b11 ->+       Ptr b12 -> IO ()
+ src/constants.c view
@@ -0,0 +1,767 @@+#include <sqlite3.h>++char *_sqlite_version(void)+{+    return sqlite_version;+}++int _SQLITE_OK (void)+{+    return SQLITE_OK;+}++int _SQLITE_ERROR (void)+{+    return SQLITE_ERROR;+}++int _SQLITE_INTERNAL (void)+{+    return SQLITE_INTERNAL;+}++int _SQLITE_PERM (void)+{+    return SQLITE_PERM;+}++int _SQLITE_ABORT (void)+{+    return SQLITE_ABORT;+}++int _SQLITE_BUSY (void)+{+    return SQLITE_BUSY;+}++int _SQLITE_LOCKED (void)+{+    return SQLITE_LOCKED;+}++int _SQLITE_NOMEM (void)+{+    return SQLITE_NOMEM;+}++int _SQLITE_READONLY (void)+{+    return SQLITE_READONLY;+}++int _SQLITE_INTERRUPT (void)+{+    return SQLITE_INTERRUPT;+}++int _SQLITE_IOERR (void)+{+    return SQLITE_IOERR;+}++int _SQLITE_CORRUPT (void)+{+    return SQLITE_CORRUPT;+}++int _SQLITE_NOTFOUND (void)+{+    return SQLITE_NOTFOUND;+}++int _SQLITE_FULL (void)+{+    return SQLITE_FULL;+}++int _SQLITE_CANTOPEN (void)+{+    return SQLITE_CANTOPEN;+}++int _SQLITE_PROTOCOL (void)+{+    return SQLITE_PROTOCOL;+}++int _SQLITE_EMPTY (void)+{+    return SQLITE_EMPTY;+}++int _SQLITE_SCHEMA (void)+{+    return SQLITE_SCHEMA;+}++int _SQLITE_TOOBIG (void)+{+    return SQLITE_TOOBIG;+}++int _SQLITE_CONSTRAINT (void)+{+    return SQLITE_CONSTRAINT;+}++int _SQLITE_MISMATCH (void)+{+    return SQLITE_MISMATCH;+}++int _SQLITE_MISUSE (void)+{+    return SQLITE_MISUSE;+}++int _SQLITE_NOLFS (void)+{+    return SQLITE_NOLFS;+}++int _SQLITE_AUTH (void)+{+    return SQLITE_AUTH;+}++int _SQLITE_FORMAT (void)+{+    return SQLITE_FORMAT;+}++int _SQLITE_RANGE (void)+{+    return SQLITE_RANGE;+}++int _SQLITE_NOTADB (void)+{+    return SQLITE_NOTADB;+}++int _SQLITE_ROW (void)+{+    return SQLITE_ROW;+}++int _SQLITE_DONE (void)+{+    return SQLITE_DONE;+}++int _SQLITE_IOERR_READ (void)+{+    return SQLITE_IOERR_READ;+}++int _SQLITE_IOERR_SHORT_READ (void)+{+    return SQLITE_IOERR_SHORT_READ;+}++int _SQLITE_IOERR_WRITE (void)+{+    return SQLITE_IOERR_WRITE;+}++int _SQLITE_IOERR_FSYNC (void)+{+    return SQLITE_IOERR_FSYNC;+}++int _SQLITE_IOERR_DIR_FSYNC (void)+{+    return SQLITE_IOERR_DIR_FSYNC;+}++int _SQLITE_IOERR_TRUNCATE (void)+{+    return SQLITE_IOERR_TRUNCATE;+}++int _SQLITE_IOERR_FSTAT (void)+{+    return SQLITE_IOERR_FSTAT;+}++int _SQLITE_IOERR_UNLOCK (void)+{+    return SQLITE_IOERR_UNLOCK;+}++int _SQLITE_IOERR_RDLOCK (void)+{+    return SQLITE_IOERR_RDLOCK;+}++int _SQLITE_IOERR_DELETE (void)+{+    return SQLITE_IOERR_DELETE;+}++int _SQLITE_IOERR_BLOCKED (void)+{+    return SQLITE_IOERR_BLOCKED;+}++int _SQLITE_IOERR_NOMEM (void)+{+    return SQLITE_IOERR_NOMEM;+}++int _SQLITE_IOERR_ACCESS (void)+{+    return SQLITE_IOERR_ACCESS;+}++int _SQLITE_IOERR_CHECKRESERVEDLOCK (void)+{+    return SQLITE_IOERR_CHECKRESERVEDLOCK;+}++int _SQLITE_IOERR_LOCK (void)+{+    return SQLITE_IOERR_LOCK;+}++int _SQLITE_IOERR_CLOSE (void)+{+    return SQLITE_IOERR_CLOSE;+}++int _SQLITE_IOERR_DIR_CLOSE (void)+{+    return SQLITE_IOERR_DIR_CLOSE;+}++int _SQLITE_OPEN_READONLY (void)+{+    return SQLITE_OPEN_READONLY;+}++int _SQLITE_OPEN_READWRITE (void)+{+    return SQLITE_OPEN_READWRITE;+}++int _SQLITE_OPEN_CREATE (void)+{+    return SQLITE_OPEN_CREATE;+}++int _SQLITE_OPEN_DELETEONCLOSE (void)+{+    return SQLITE_OPEN_DELETEONCLOSE;+}++int _SQLITE_OPEN_EXCLUSIVE (void)+{+    return SQLITE_OPEN_EXCLUSIVE;+}++int _SQLITE_OPEN_MAIN_DB (void)+{+    return SQLITE_OPEN_MAIN_DB;+}++int _SQLITE_OPEN_TEMP_DB (void)+{+    return SQLITE_OPEN_TEMP_DB;+}++int _SQLITE_OPEN_TRANSIENT_DB (void)+{+    return SQLITE_OPEN_TRANSIENT_DB;+}++int _SQLITE_OPEN_MAIN_JOURNAL (void)+{+    return SQLITE_OPEN_MAIN_JOURNAL;+}++int _SQLITE_OPEN_TEMP_JOURNAL (void)+{+    return SQLITE_OPEN_TEMP_JOURNAL;+}++int _SQLITE_OPEN_SUBJOURNAL (void)+{+    return SQLITE_OPEN_SUBJOURNAL;+}++int _SQLITE_OPEN_MASTER_JOURNAL (void)+{+    return SQLITE_OPEN_MASTER_JOURNAL;+}++int _SQLITE_OPEN_NOMUTEX (void)+{+    return SQLITE_OPEN_NOMUTEX;+}++int _SQLITE_OPEN_FULLMUTEX (void)+{+    return SQLITE_OPEN_FULLMUTEX;+}++int _SQLITE_IOCAP_ATOMIC (void)+{+    return SQLITE_IOCAP_ATOMIC;+}++int _SQLITE_IOCAP_ATOMIC512 (void)+{+    return SQLITE_IOCAP_ATOMIC512;+}++int _SQLITE_IOCAP_ATOMIC1K (void)+{+    return SQLITE_IOCAP_ATOMIC1K;+}++int _SQLITE_IOCAP_ATOMIC2K (void)+{+    return SQLITE_IOCAP_ATOMIC2K;+}++int _SQLITE_IOCAP_ATOMIC4K (void)+{+    return SQLITE_IOCAP_ATOMIC4K;+}++int _SQLITE_IOCAP_ATOMIC8K (void)+{+    return SQLITE_IOCAP_ATOMIC8K;+}++int _SQLITE_IOCAP_ATOMIC16K (void)+{+    return SQLITE_IOCAP_ATOMIC16K;+}++int _SQLITE_IOCAP_ATOMIC32K (void)+{+    return SQLITE_IOCAP_ATOMIC32K;+}++int _SQLITE_IOCAP_ATOMIC64K (void)+{+    return SQLITE_IOCAP_ATOMIC64K;+}++int _SQLITE_IOCAP_SAFE_APPEND (void)+{+    return SQLITE_IOCAP_SAFE_APPEND;+}++int _SQLITE_IOCAP_SEQUENTIAL (void)+{+    return SQLITE_IOCAP_SEQUENTIAL;+}++int _SQLITE_LOCK_NONE (void)+{+    return SQLITE_LOCK_NONE;+}++int _SQLITE_LOCK_SHARED (void)+{+    return SQLITE_LOCK_SHARED;+}++int _SQLITE_LOCK_RESERVED (void)+{+    return SQLITE_LOCK_RESERVED;+}++int _SQLITE_LOCK_PENDING (void)+{+    return SQLITE_LOCK_PENDING;+}++int _SQLITE_LOCK_EXCLUSIVE (void)+{+    return SQLITE_LOCK_EXCLUSIVE;+}++int _SQLITE_SYNC_NORMAL (void)+{+    return SQLITE_SYNC_NORMAL;+}++int _SQLITE_SYNC_FULL (void)+{+    return SQLITE_SYNC_FULL;+}++int _SQLITE_SYNC_DATAONLY (void)+{+    return SQLITE_SYNC_DATAONLY;+}++int _SQLITE_FCNTL_LOCKSTATE (void)+{+    return SQLITE_FCNTL_LOCKSTATE;+}++int _SQLITE_GET_LOCKPROXYFILE (void)+{+    return SQLITE_GET_LOCKPROXYFILE;+}++int _SQLITE_SET_LOCKPROXYFILE (void)+{+    return SQLITE_SET_LOCKPROXYFILE;+}++int _SQLITE_LAST_ERRNO (void)+{+    return SQLITE_LAST_ERRNO;+}++int _SQLITE_ACCESS_EXISTS (void)+{+    return SQLITE_ACCESS_EXISTS;+}++int _SQLITE_ACCESS_READWRITE (void)+{+    return SQLITE_ACCESS_READWRITE;+}++int _SQLITE_ACCESS_READ (void)+{+    return SQLITE_ACCESS_READ;+}++int _SQLITE_DENY (void)+{+    return SQLITE_DENY;+}++int _SQLITE_IGNORE (void)+{+    return SQLITE_IGNORE;+}++int _SQLITE_CREATE_INDEX (void)+{+    return SQLITE_CREATE_INDEX;+}++int _SQLITE_CREATE_TABLE (void)+{+    return SQLITE_CREATE_TABLE;+}++int _SQLITE_CREATE_TEMP_INDEX (void)+{+    return SQLITE_CREATE_TEMP_INDEX;+}++int _SQLITE_CREATE_TEMP_TABLE (void)+{+    return SQLITE_CREATE_TEMP_TABLE;+}++int _SQLITE_CREATE_TEMP_TRIGGER (void)+{+    return SQLITE_CREATE_TEMP_TRIGGER;+}++int _SQLITE_CREATE_TEMP_VIEW (void)+{+    return SQLITE_CREATE_TEMP_VIEW;+}++int _SQLITE_CREATE_TRIGGER (void)+{+    return SQLITE_CREATE_TRIGGER;+}++int _SQLITE_CREATE_VIEW (void)+{+    return SQLITE_CREATE_VIEW;+}++int _SQLITE_DELETE (void)+{+    return SQLITE_DELETE;+}++int _SQLITE_DROP_INDEX (void)+{+    return SQLITE_DROP_INDEX;+}++int _SQLITE_DROP_TABLE (void)+{+    return SQLITE_DROP_TABLE;+}++int _SQLITE_DROP_TEMP_INDEX (void)+{+    return SQLITE_DROP_TEMP_INDEX;+}++int _SQLITE_DROP_TEMP_TABLE (void)+{+    return SQLITE_DROP_TEMP_TABLE;+}++int _SQLITE_DROP_TEMP_TRIGGER (void)+{+    return SQLITE_DROP_TEMP_TRIGGER;+}++int _SQLITE_DROP_TEMP_VIEW (void)+{+    return SQLITE_DROP_TEMP_VIEW;+}++int _SQLITE_DROP_TRIGGER (void)+{+    return SQLITE_DROP_TRIGGER;+}++int _SQLITE_DROP_VIEW (void)+{+    return SQLITE_DROP_VIEW;+}++int _SQLITE_INSERT (void)+{+    return SQLITE_INSERT;+}++int _SQLITE_PRAGMA (void)+{+    return SQLITE_PRAGMA;+}++int _SQLITE_READ (void)+{+    return SQLITE_READ;+}++int _SQLITE_SELECT (void)+{+    return SQLITE_SELECT;+}++int _SQLITE_TRANSACTION (void)+{+    return SQLITE_TRANSACTION;+}++int _SQLITE_UPDATE (void)+{+    return SQLITE_UPDATE;+}++int _SQLITE_ATTACH (void)+{+    return SQLITE_ATTACH;+}++int _SQLITE_DETACH (void)+{+    return SQLITE_DETACH;+}++int _SQLITE_ALTER_TABLE (void)+{+    return SQLITE_ALTER_TABLE;+}++int _SQLITE_REINDEX (void)+{+    return SQLITE_REINDEX;+}++int _SQLITE_ANALYZE (void)+{+    return SQLITE_ANALYZE;+}++int _SQLITE_CREATE_VTABLE (void)+{+    return SQLITE_CREATE_VTABLE;+}++int _SQLITE_DROP_VTABLE (void)+{+    return SQLITE_DROP_VTABLE;+}++int _SQLITE_FUNCTION (void)+{+    return SQLITE_FUNCTION;+}++int _SQLITE_SAVEPOINT (void)+{+    return SQLITE_SAVEPOINT;+}++int _SQLITE_COPY (void)+{+    return SQLITE_COPY;+}++int _SQLITE_LIMIT_LENGTH (void)+{+    return SQLITE_LIMIT_LENGTH;+}++int _SQLITE_LIMIT_SQL_LENGTH (void)+{+    return SQLITE_LIMIT_SQL_LENGTH;+}++int _SQLITE_LIMIT_COLUMN (void)+{+    return SQLITE_LIMIT_COLUMN;+}++int _SQLITE_LIMIT_EXPR_DEPTH (void)+{+    return SQLITE_LIMIT_EXPR_DEPTH;+}++int _SQLITE_LIMIT_COMPOUND_SELECT (void)+{+    return SQLITE_LIMIT_COMPOUND_SELECT;+}++int _SQLITE_LIMIT_VDBE_OP (void)+{+    return SQLITE_LIMIT_VDBE_OP;+}++int _SQLITE_LIMIT_FUNCTION_ARG (void)+{+    return SQLITE_LIMIT_FUNCTION_ARG;+}++int _SQLITE_LIMIT_ATTACHED (void)+{+    return SQLITE_LIMIT_ATTACHED;+}++int _SQLITE_LIMIT_LIKE_PATTERN_LENGTH (void)+{+    return SQLITE_LIMIT_LIKE_PATTERN_LENGTH;+}++int _SQLITE_LIMIT_VARIABLE_NUMBER (void)+{+    return SQLITE_LIMIT_VARIABLE_NUMBER;+}++int _SQLITE_INTEGER (void)+{+    return SQLITE_INTEGER;+}++int _SQLITE_FLOAT (void)+{+    return SQLITE_FLOAT;+}++int _SQLITE_BLOB (void)+{+    return SQLITE_BLOB;+}++int _SQLITE_NULL (void)+{+    return SQLITE_NULL;+}++int _SQLITE3_TEXT (void)+{+    return SQLITE3_TEXT;+}++int _SQLITE_UTF8 (void)+{+    return SQLITE_UTF8;+}++int _SQLITE_UTF16LE (void)+{+    return SQLITE_UTF16LE;+}++int _SQLITE_UTF16BE (void)+{+    return SQLITE_UTF16BE;+}++int _SQLITE_UTF16 (void)+{+    return SQLITE_UTF16;+}++int _SQLITE_ANY (void)+{+    return SQLITE_ANY;+}++int _SQLITE_UTF16_ALIGNED (void)+{+    return SQLITE_UTF16_ALIGNED;+}++sqlite3_destructor_type _SQLITE_STATIC (void)+{+    return SQLITE_STATIC;+}++sqlite3_destructor_type _SQLITE_TRANSIENT (void)+{+    return SQLITE_TRANSIENT;+}++int _SQLITE_MUTEX_FAST (void)+{+    return SQLITE_MUTEX_FAST;+}++int _SQLITE_MUTEX_RECURSIVE (void)+{+    return SQLITE_MUTEX_RECURSIVE;+}++int _SQLITE_MUTEX_STATIC_MASTER (void)+{+    return SQLITE_MUTEX_STATIC_MASTER;+}++int _SQLITE_MUTEX_STATIC_MEM (void)+{+    return SQLITE_MUTEX_STATIC_MEM;+}++int _SQLITE_MUTEX_STATIC_MEM2 (void)+{+    return SQLITE_MUTEX_STATIC_MEM2;+}++int _SQLITE_MUTEX_STATIC_PRNG (void)+{+    return SQLITE_MUTEX_STATIC_PRNG;+}++int _SQLITE_MUTEX_STATIC_LRU (void)+{+    return SQLITE_MUTEX_STATIC_LRU;+}++int _SQLITE_MUTEX_STATIC_LRU2 (void)+{+    return SQLITE_MUTEX_STATIC_LRU2;+}+
+ src/types.c view
@@ -0,0 +1,84 @@+#include <sqlite3.h>++int size_of_sqlite3_file (void)+{+    return sizeof sqlite3_file;+}++int size_of_sqlite3_io_methods (void)+{+    return sizeof sqlite3_io_methods;+}++void hs2c_sqlite3_file (sqlite3_file *p,+    const struct sqlite3_io_methods *p1)+{+    p->pMethods = p1;+}++void hs2c_sqlite_io_methods (sqlite_io_methods *p,+    int p1,+    int (*p2)(sqlite3_file*),+    int (*p3)(sqlite3_file*,void*,int,sqlite3_int64),+    int (*p4)(sqlite3_file*,const void*,int,sqlite3_int64),+    int (*p5)(sqlite3_file*,sqlite3_int64),+    int (*p6)(sqlite3_file*,int),+    int (*p7)(sqlite3_file*,sqlite3_int64*),+    int (*p8)(sqlite3_file*,int),+    int (*p9)(sqlite3_file*,int),+    int (*p10)(sqlite3_file*,int*),+    int (*p11)(sqlite3_file*,int,void*),+    int (*p12)(sqlite3_file*),+    int (*p13)(sqlite3_file*))+{+    p->iVersion = p1;+    p->xClose = p2;+    p->xRead = p3;+    p->xWrite = p4;+    p->xTruncate = p5;+    p->xSync = p6;+    p->xFileSize = p7;+    p->xLock = p8;+    p->xUnlock = p9;+    p->xCheckReservedLock = p10;+    p->xFileControl = p11;+    p->xSectorSize = p12;+    p->xDeviceCharacteristics = p13;+}++void c2hs_sqlite3_file (sqlite3_file *p,+    const struct sqlite3_io_methods **p1)+{+    p->pMethods = p1;+}++void c2hs_sqlite_io_methods (sqlite_io_methods *p,+    int *p1,+    int (**p2)(sqlite3_file*),+    int (**p3)(sqlite3_file*,void*,int,sqlite3_int64),+    int (**p4)(sqlite3_file*,const void*,int,sqlite3_int64),+    int (**p5)(sqlite3_file*,sqlite3_int64),+    int (**p6)(sqlite3_file*,int),+    int (**p7)(sqlite3_file*,sqlite3_int64*),+    int (**p8)(sqlite3_file*,int),+    int (**p9)(sqlite3_file*,int),+    int (**p10)(sqlite3_file*,int*),+    int (**p11)(sqlite3_file*,int,void*),+    int (**p12)(sqlite3_file*),+    int (**p13)(sqlite3_file*))+{+    *p1 = p->iVersion;+    *p2 = p->xClose;+    *p3 = p->xRead;+    *p4 = p->xWrite;+    *p5 = p->xTruncate;+    *p6 = p->xSync;+    *p7 = p->xFileSize;+    *p8 = p->xLock;+    *p9 = p->xUnlock;+    *p10 = p->xCheckReservedLock;+    *p11 = p->xFileControl;+    *p12 = p->xSectorSize;+    *p13 = p->xDeviceCharacteristics;+}+