pub unsafe extern "C" fn ditto_auth_client_make_login_provider(
    ctx: *mut c_void,
    retain: Option<unsafe extern "C" fn(_: *mut c_void)>,
    release: Option<unsafe extern "C" fn(_: *mut c_void)>,
    expiring_cb: Option<unsafe extern "C" fn(_: *mut c_void, _: c_uint)>
) -> BoxedLoginProvider