X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fplugin.h;h=e2de6fff05d7ee4ad76c48ea4a5b3aec5a62cf26;hb=430b0b4d0275f7fea64376fc166e81fc0bcc36bf;hp=25c745cbbccede74eb1398da38653d129566b248;hpb=b92c090faa534fd75ab184afe425331e06b74d0b;p=collectd.git diff --git a/src/plugin.h b/src/plugin.h index 25c745cb..e2de6fff 100644 --- a/src/plugin.h +++ b/src/plugin.h @@ -2,7 +2,7 @@ #define PLUGIN_H /** * collectd - src/plugin.h - * Copyright (C) 2005-2007 Florian octo Forster + * Copyright (C) 2005-2008 Florian octo Forster * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -19,6 +19,7 @@ * * Authors: * Florian octo Forster + * Sebastian Harl **/ #include "collectd.h" @@ -73,12 +74,13 @@ struct value_list_s char host[DATA_MAX_NAME_LEN]; char plugin[DATA_MAX_NAME_LEN]; char plugin_instance[DATA_MAX_NAME_LEN]; + char type[DATA_MAX_NAME_LEN]; char type_instance[DATA_MAX_NAME_LEN]; }; 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", "", "", "", "" } +#define VALUE_LIST_STATIC { NULL, 0, 0, 0, "localhost", "", "", "", "" } struct data_source_s { @@ -151,6 +153,10 @@ void plugin_init_all (void); void plugin_read_all (void); void plugin_shutdown_all (void); +void plugin_flush_all (int timeout); +int plugin_flush_one (int timeout, const char *name); +int plugin_flush (const char *plugin, int timeout, const char *identifier); + /* * The `plugin_register_*' functions are used to make `config', `init', * `read', `write' and `shutdown' functions known to the plugin @@ -167,6 +173,8 @@ int plugin_register_read (const char *name, int (*callback) (void)); int plugin_register_write (const char *name, int (*callback) (const data_set_t *ds, const value_list_t *vl)); +int plugin_register_flush (const char *name, + int (*callback) (const int timeout, const char *identifier)); int plugin_register_shutdown (char *name, int (*callback) (void)); int plugin_register_data_set (const data_set_t *ds); @@ -180,6 +188,7 @@ 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_write (const char *name); +int plugin_unregister_flush (const char *name); int plugin_unregister_shutdown (const char *name); int plugin_unregister_data_set (const char *name); int plugin_unregister_log (const char *name); @@ -197,15 +206,16 @@ int plugin_unregister_notification (const char *name); * write-functions. * * ARGUMENTS - * `name' Name/type of the data-set that describe the values in `vl'. * `vl' Value list of the values that have been read by a `read' * function. */ -int plugin_dispatch_values (const char *name, value_list_t *vl); +int plugin_dispatch_values (value_list_t *vl); int plugin_dispatch_notification (const notification_t *notif); -void plugin_log (int level, const char *format, ...); +void plugin_log (int level, const char *format, ...) + __attribute__ ((format(printf,2,3))); + #define ERROR(...) plugin_log (LOG_ERR, __VA_ARGS__) #define WARNING(...) plugin_log (LOG_WARNING, __VA_ARGS__) #define NOTICE(...) plugin_log (LOG_NOTICE, __VA_ARGS__)