pub unsafe extern fn smbc_thread_impl(create_mutex: Option< extern "C" fn(lockname: *const c_char, pplock: *mut *mut c_void, location: *const c_char) -> c_int>, destroy_mutex: Option< extern "C" fn(plock: *mut c_void, location: *const c_char)>, lock_mutex: Option< extern "C" fn(plock: *mut c_void, lock_type: c_int, location: *const c_char) -> c_int>, create_tls: Option< extern "C" fn(keyname: *const c_char, ppkey: *mut *mut c_void, location: *const c_char) -> c_int>, destroy_tls: Option< extern "C" fn(ppkey: *mut *mut c_void, location: *const c_char)>, set_tls: Option< extern "C" fn(pkey: *mut c_void, pval: *const c_void, location: *const c_char) -> c_int>, get_tls: Option< extern "C" fn(pkey: *mut c_void, location: *const c_char) -> *mut c_void>)