Merged branch 'sh/collectd-4.6' into sh/collectd-4.7.
[collectd.git] / src / plugin.h
index e58444f..e54b27d 100644 (file)
@@ -146,9 +146,17 @@ typedef struct user_data_s user_data_t;
 /*
  * Callback types
  */
+typedef int (*plugin_init_cb) (void);
 typedef int (*plugin_read_cb) (user_data_t *);
 typedef int (*plugin_write_cb) (const data_set_t *, const value_list_t *,
                user_data_t *);
+typedef int (*plugin_flush_cb) (int timeout, const char *identifier,
+               user_data_t *);
+typedef void (*plugin_log_cb) (int severity, const char *message,
+               user_data_t *);
+typedef int (*plugin_shutdown_cb) (void);
+typedef int (*plugin_notification_cb) (const notification_t *,
+               user_data_t *);
 
 /*
  * NAME
@@ -236,22 +244,24 @@ int plugin_register_config (const char *name,
 int plugin_register_complex_config (const char *type,
                int (*callback) (oconfig_item_t *));
 int plugin_register_init (const char *name,
-               int (*callback) (void));
+               plugin_init_cb callback);
 int plugin_register_read (const char *name,
                int (*callback) (void));
 int plugin_register_complex_read (const char *name,
-               plugin_read_cb callback, user_data_t *user_data);
+               plugin_read_cb callback,
+               const struct timespec *interval,
+               user_data_t *user_data);
 int plugin_register_write (const char *name,
                plugin_write_cb callback, user_data_t *user_data);
 int plugin_register_flush (const char *name,
-               int (*callback) (const int timeout, const char *identifier));
+               plugin_flush_cb callback, user_data_t *user_data);
 int plugin_register_shutdown (char *name,
-               int (*callback) (void));
+               plugin_shutdown_cb callback);
 int plugin_register_data_set (const data_set_t *ds);
-int plugin_register_log (char *name,
-               void (*callback) (int, const char *));
+int plugin_register_log (const char *name,
+               plugin_log_cb callback, user_data_t *user_data);
 int plugin_register_notification (const char *name,
-               int (*callback) (const notification_t *notif));
+               plugin_notification_cb callback, user_data_t *user_data);
 
 int plugin_unregister_config (const char *name);
 int plugin_unregister_complex_config (const char *name);