X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fplugin.h;h=eb9f81f8c4908ab793593f54585cdbc882f5302b;hb=3c11483706eebaac9650a4bf051dfd665ff8ed0f;hp=b35fcf189874b452aff00c03138ec068db54b36a;hpb=08597c4e80e8dd5d0a04c823b055ef230194a2b6;p=collectd.git diff --git a/src/plugin.h b/src/plugin.h index b35fcf18..eb9f81f8 100644 --- a/src/plugin.h +++ b/src/plugin.h @@ -25,6 +25,9 @@ #include "collectd.h" #include "configfile.h" #include "meta_data.h" +#include "utils_time.h" + +#define PLUGIN_FLAGS_GLOBAL 0x0001 #define DATA_MAX_NAME_LEN 64 @@ -83,7 +86,7 @@ struct value_list_s { value_t *values; int values_len; - time_t time; + cdtime_t time; int interval; char host[DATA_MAX_NAME_LEN]; char plugin[DATA_MAX_NAME_LEN]; @@ -141,7 +144,7 @@ typedef struct notification_meta_s typedef struct notification_s { int severity; - time_t time; + cdtime_t time; char message[NOTIF_MAX_MSG_LEN]; char host[DATA_MAX_NAME_LEN]; char plugin[DATA_MAX_NAME_LEN]; @@ -165,7 +168,7 @@ 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, +typedef int (*plugin_flush_cb) (cdtime_t timeout, const char *identifier, user_data_t *); typedef void (*plugin_log_cb) (int severity, const char *message, user_data_t *); @@ -200,7 +203,7 @@ void plugin_set_dir (const char *dir); * * ARGUMENTS * `name' Name of the plugin to load. - * `mr' Types of functions to request from the plugin. + * `flags' Hints on how to handle this plugin. * * RETURN VALUE * Returns zero upon success, a value greater than zero if no plugin was found @@ -209,7 +212,7 @@ void plugin_set_dir (const char *dir); * NOTES * No attempt is made to re-load an already loaded module. */ -int plugin_load (const char *name); +int plugin_load (const char *name, uint32_t flags); void plugin_init_all (void); void plugin_read_all (void); @@ -246,7 +249,7 @@ void plugin_shutdown_all (void); int plugin_write (const char *plugin, const data_set_t *ds, const value_list_t *vl); -int plugin_flush (const char *plugin, int timeout, const char *identifier); +int plugin_flush (const char *plugin, cdtime_t timeout, const char *identifier); /* * The `plugin_register_*' functions are used to make `config', `init', @@ -262,7 +265,7 @@ int plugin_register_init (const char *name, plugin_init_cb callback); int plugin_register_read (const char *name, int (*callback) (void)); -int plugin_register_complex_read (const char *name, +int plugin_register_complex_read (const char *group, const char *name, plugin_read_cb callback, const struct timespec *interval, user_data_t *user_data); @@ -282,7 +285,7 @@ int plugin_unregister_config (const char *name); int plugin_unregister_complex_config (const char *name); int plugin_unregister_init (const char *name); int plugin_unregister_read (const char *name); -int plugin_unregister_complex_read (const char *name, void **user_data); +int plugin_unregister_read_group (const char *group); int plugin_unregister_write (const char *name); int plugin_unregister_flush (const char *name); int plugin_unregister_shutdown (const char *name);