pub unsafe extern "C" fn ditto_resolve_attachment(
    ditto: &Ditto,
    id: Ref<'_, u8>,
    ctx: *mut c_void,
    retain: Option<unsafe extern "C" fn(_: *mut c_void)>,
    release: Option<unsafe extern "C" fn(_: *mut c_void)>,
    on_complete_cb: unsafe extern "C" fn(ctx: *mut c_void, _: Box<AttachmentHandle>),
    on_progress_cb: unsafe extern "C" fn(ctx: *mut c_void, _: u64, _: u64),
    on_deleted_cb: unsafe extern "C" fn(ctx: *mut c_void)
) -> Result<u64>