use std::ffi::{c_char, c_int};
use rusqlite::ffi;
unsafe extern "C" {
pub fn sqlite3_simple_init(
db: *mut ffi::sqlite3,
pz_err_msg: *mut *mut c_char,
p_api: *const ffi::sqlite3_api_routines,
) -> c_int;
pub fn sqlite3_simpletokenizer_init(
db: *mut ffi::sqlite3,
pz_err_msg: *mut *mut c_char,
p_api: *const ffi::sqlite3_api_routines,
) -> c_int;
pub fn simple_query(
ctx: *mut ffi::sqlite3_context,
argc: c_int,
argv: *mut *mut ffi::sqlite3_value,
);
pub fn pinyin_dict(
ctx: *mut ffi::sqlite3_context,
argc: c_int,
argv: *mut *mut ffi::sqlite3_value,
);
#[cfg(feature = "jieba")]
pub fn jieba_dict(
ctx: *mut ffi::sqlite3_context,
argc: c_int,
argv: *mut *mut ffi::sqlite3_value,
);
#[cfg(feature = "jieba")]
pub fn jieba_query(
ctx: *mut ffi::sqlite3_context,
argc: c_int,
argv: *mut *mut ffi::sqlite3_value,
);
pub fn simple_highlight(
api: *const ffi::Fts5ExtensionApi,
fts: *mut ffi::Fts5Context,
ctx: *mut ffi::sqlite3_context,
argc: c_int,
argv: *mut *mut ffi::sqlite3_value,
);
pub fn simple_highlight_pos(
api: *const ffi::Fts5ExtensionApi,
fts: *mut ffi::Fts5Context,
ctx: *mut ffi::sqlite3_context,
argc: c_int,
argv: *mut *mut ffi::sqlite3_value,
);
pub fn simple_snippet(
api: *const ffi::Fts5ExtensionApi,
fts: *mut ffi::Fts5Context,
ctx: *mut ffi::sqlite3_context,
argc: c_int,
argv: *mut *mut ffi::sqlite3_value,
);
pub fn fts5_simple_xCreate(
sqlite3: *mut std::ffi::c_void,
az_arg: *mut *const c_char,
n_arg: c_int,
pp_out: *mut *mut ffi::Fts5Tokenizer,
) -> c_int;
pub fn fts5_simple_xTokenize(
tokenizer_ptr: *mut ffi::Fts5Tokenizer,
p_ctx: *mut std::ffi::c_void,
flags: c_int,
p_text: *const c_char,
n_text: c_int,
x_token: Option<unsafe extern "C" fn (
p_ctx: *mut std::ffi::c_void,
t_flags: c_int,
p_token: *const c_char,
n_token: c_int,
i_start: c_int,
i_end: c_int,
) -> c_int>,
) -> c_int;
pub fn fts5_simple_xDelete(
tokenizer_ptr: *mut ffi::Fts5Tokenizer,
);
}