pub unsafe extern "C" fn smbc_thread_impl(
create_mutex: Option<extern "C" fn(_: *const c_char, _: *mut *mut c_void, _: *const c_char) -> c_int>,
destroy_mutex: Option<extern "C" fn(_: *mut c_void, _: *const c_char)>,
lock_mutex: Option<extern "C" fn(_: *mut c_void, _: c_int, _: *const c_char) -> c_int>,
create_tls: Option<extern "C" fn(_: *const c_char, _: *mut *mut c_void, _: *const c_char) -> c_int>,
destroy_tls: Option<extern "C" fn(_: *mut *mut c_void, _: *const c_char)>,
set_tls: Option<extern "C" fn(_: *mut c_void, _: *const c_void, _: *const c_char) -> c_int>,
get_tls: Option<extern "C" fn(_: *mut c_void, _: *const c_char) -> *mut c_void>
)