pub unsafe extern "C" fn cairo_device_set_user_data(
    device: *mut cairo_device_t,
    key: *const cairo_user_data_key_t,
    user_data: *mut c_void,
    destroy: Option<unsafe extern "C" fn(_: *mut c_void)>
) -> i32