X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fplugin.h;h=fd741501d8cc9724f7889a75ebda9c931486377b;hb=25ac639c505394e4ae9600ee62f5d5aeea97c6d4;hp=bc4b07c2258f01b0eb9f4fcef591d9eafe774a78;hpb=6a69db4d304118e11fd4bae9c761fc14674e4942;p=collectd.git diff --git a/src/plugin.h b/src/plugin.h index bc4b07c2..fd741501 100644 --- a/src/plugin.h +++ b/src/plugin.h @@ -24,11 +24,14 @@ #include "collectd.h" #include "configfile.h" +#include "meta_data.h" #define DATA_MAX_NAME_LEN 64 #define DS_TYPE_COUNTER 0 #define DS_TYPE_GAUGE 1 +#define DS_TYPE_DERIVE 2 +#define DS_TYPE_ABSOLUTE 3 #ifndef LOG_ERR # define LOG_ERR 3 @@ -57,11 +60,15 @@ */ typedef unsigned long long counter_t; typedef double gauge_t; +typedef unsigned long long derive_t; +typedef unsigned long long absolute_t; union value_u { counter_t counter; gauge_t gauge; + derive_t derive; + absolute_t absolute; }; typedef union value_u value_t; @@ -76,11 +83,12 @@ struct value_list_s char plugin_instance[DATA_MAX_NAME_LEN]; char type[DATA_MAX_NAME_LEN]; char type_instance[DATA_MAX_NAME_LEN]; + meta_data_t *meta; }; typedef struct value_list_s value_list_t; -#define VALUE_LIST_INIT { NULL, 0, 0, interval_g, "localhost", "", "", "", "" } -#define VALUE_LIST_STATIC { NULL, 0, 0, 0, "localhost", "", "", "", "" } +#define VALUE_LIST_INIT { NULL, 0, 0, interval_g, "localhost", "", "", "", "", NULL } +#define VALUE_LIST_STATIC { NULL, 0, 0, 0, "localhost", "", "", "", "", NULL } struct data_source_s { @@ -248,7 +256,9 @@ int plugin_register_init (const char *name, 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,