pub unsafe extern "C" fn cairo_surface_set_user_data(
    surface: *mut cairo_surface_t,
    key: *const cairo_user_data_key_t,
    user_data: *mut c_void,
    destroy: cairo_destroy_func_t
) -> cairo_status_t