sqlite_loadable/
entrypoints.rs1use crate::{errors::Result, ext::faux_sqlite_extension_init2};
4
5use sqlite3ext_sys::{sqlite3, sqlite3_api_routines, SQLITE_OK};
6
7use std::os::raw::{c_char, c_uint};
8
9pub fn register_entrypoint<F>(
13 db: *mut sqlite3,
14 _pz_err_msg: *mut *mut c_char,
15 p_api: *mut sqlite3_api_routines,
16 callback: F,
17) -> c_uint
18where
19 F: Fn(*mut sqlite3) -> Result<()>,
20{
21 unsafe {
22 faux_sqlite_extension_init2(p_api);
23 }
24 match callback(db) {
25 Ok(()) => SQLITE_OK,
26 Err(err) => err.code_extended(),
27 }
28}