package sqlite3_bindings import "core:c" ExecProc :: #type proc "c" ( user_arg: rawptr, n_cols: c.int, cols: [^]cstring, res_cols: [^]cstring, ) -> c.int foreign import sqlite3 "system:sqlite3" @(default_calling_convention = "c", link_prefix = "sqlite3_") foreign sqlite3 { open :: proc(filename: cstring, db: ^Connection) -> c.int --- close :: proc(db: Connection) -> c.int --- prepare :: proc(db: Connection, sql: cstring, n_byte: c.int, stmt: ^Statement, tail: ^cstring) -> c.int --- step :: proc(stmt: Statement) -> c.int --- finalize :: proc(stmt: Statement) -> c.int --- malloc :: proc(size: c.int) -> rawptr --- free :: proc(ptr: rawptr) --- exec :: proc(db: Connection, sql: cstring, cbfun: ExecProc, user_arg: rawptr, errmsg: ^cstring) -> c.int --- bind_blob :: proc(stmt: Statement, idx: c.int, val: rawptr, size: c.int, destruct: proc(_: rawptr) -> rawptr) -> c.int --- bind_blob64 :: proc(stmt: Statement, idx: c.int, val: rawptr, size: c.int64_t, destruct: proc(_: rawptr) -> rawptr) -> c.int --- bind_double :: proc(stmt: Statement, idx: c.int, val: c.double) -> c.int --- bind_int :: proc(stmt: Statement, idx: c.int, val: c.int) -> c.int --- bind_int64 :: proc(stmt: Statement, idx: c.int, val: c.int64_t) -> c.int --- bind_null :: proc(stmt: Statement, idx: c.int) -> c.int --- bind_text :: proc(stmt: Statement, idx: c.int, val: cstring, size: c.int, destruct: proc(_: rawptr) -> rawptr) -> c.int --- bind_text16 :: proc(stmt: Statement, idx: c.int, val: cstring, size: c.int, destruct: proc(_: rawptr) -> rawptr) -> c.int --- bind_text64 :: proc(stmt: Statement, idx: c.int, val: cstring, size: c.int64_t, destruct: proc(_: rawptr) -> rawptr) -> c.int --- bind_value :: proc(stmt: Statement, idx: c.int, val: Value) -> c.int --- bind_pointer :: proc(stmt: Statement, idx: c.int, val: rawptr, size: c.int, destruct: proc(_: rawptr) -> rawptr) -> c.int --- bind_zeroblob :: proc(stmt: Statement, idx: c.int, size: c.int) -> c.int --- bind_zeroblob64 :: proc(stmt: Statement, idx: c.int, size: c.int64_t) -> c.int --- column_blob :: proc(stmt: Statement, col: c.int) -> rawptr --- column_double :: proc(stmt: Statement, col: c.int) -> c.double --- column_int :: proc(stmt: Statement, col: c.int) -> c.int --- column_int64 :: proc(stmt: Statement, col: c.int) -> c.int64_t --- column_text :: proc(stmt: Statement, col: c.int) -> cstring --- column_text16 :: proc(stmt: Statement, col: c.int) -> cstring --- column_value :: proc(stmt: Statement, col: c.int) -> Value --- column_bytes :: proc(stmt: Statement, col: c.int) -> c.int --- column_bytes16 :: proc(stmt: Statement, col: c.int) -> c.int --- column_type :: proc(stmt: Statement, col: c.int) -> Datatype --- }