-int plugin_register_filter (const char *name,
- int (*callback) (const data_set_t *ds, value_list_t *vl))
+ memset (rf, 0, sizeof (read_func_t));
+ rf->wait_time = interval_g;
+ rf->wait_left = 0;
+ rf->type = RF_COMPLEX;
+ rf->callback.cb_complex = callback;
+ rf->needs_read = DONE;
+
+ /* Set user data */
+ if (user_data == NULL)
+ {
+ rf->udata.data = NULL;
+ rf->udata.free_func = NULL;
+ }
+ else
+ {
+ rf->udata = *user_data;
+ }
+
+ return (register_callback (&list_read, name, (void *) rf));
+} /* int plugin_register_complex_read */
+
+int plugin_register_write (const char *name,
+ plugin_write_cb callback, user_data_t *user_data)