X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fplugin.h;h=83c21094eee789112d9eca42fceb7b4dca2dbedc;hb=7e5df1a2c6611bd4ac9fb8ac4b78106f9139ae6e;hp=8381871892f56a198d35be014b41cc22f8ab3d06;hpb=a2728d7743e5ce61cf3ce31f75c9dba2f0a7ec00;p=collectd.git diff --git a/src/plugin.h b/src/plugin.h index 83818718..83c21094 100644 --- a/src/plugin.h +++ b/src/plugin.h @@ -27,6 +27,22 @@ #define DS_TYPE_COUNTER 0 #define DS_TYPE_GAUGE 1 +#ifndef LOG_ERR +# define LOG_ERR 3 +#endif +#ifndef LOG_WARNING +# define LOG_WARNING 4 +#endif +#ifndef LOG_NOTICE +# define LOG_NOTICE 5 +#endif +#ifndef LOG_INFO +# define LOG_INFO 6 +#endif +#ifndef LOG_DEBUG +# define LOG_DEBUG 7 +#endif + /* * Public data types */ @@ -52,6 +68,8 @@ struct value_list_s }; typedef struct value_list_s value_list_t; +#define VALUE_LIST_INIT { NULL, 0, 0, "localhost", "", "", "" } + struct data_source_s { char name[DATA_MAX_NAME_LEN]; @@ -101,7 +119,8 @@ void plugin_set_dir (const char *dir); * functions. * * ARGUMENTS - * `type' Name of the plugin to load. + * `name' Name of the plugin to load. + * `mr' Types of functions to request from the plugin. * * RETURN VALUE * Returns zero upon success, a value greater than zero if no plugin was found @@ -110,7 +129,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); void plugin_init_all (void); void plugin_read_all (const int *loop); @@ -133,6 +152,16 @@ int plugin_register_write (const char *name, int plugin_register_shutdown (char *name, int (*callback) (void)); int plugin_register_data_set (const data_set_t *ds); +int plugin_register_log (char *name, + void (*callback) (int, const char *)); + +int plugin_unregister_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_shutdown (const char *name); +int plugin_unregister_data_set (const char *name); +int plugin_unregister_log (const char *name); /* * NAME @@ -149,10 +178,19 @@ int plugin_register_data_set (const data_set_t *ds); * `vl' Value list of the values that have been read by a `read' * function. */ -int plugin_dispatch_values (const char *name, const value_list_t *vl); +int plugin_dispatch_values (const char *name, value_list_t *vl); + +void plugin_log (int level, const char *format, ...); +#define ERROR(...) plugin_log (LOG_ERR, __VA_ARGS__) +#define WARNING(...) plugin_log (LOG_WARNING, __VA_ARGS__) +#define NOTICE(...) plugin_log (LOG_NOTICE, __VA_ARGS__) +#define INFO(...) plugin_log (LOG_INFO, __VA_ARGS__) +#define DEBUG(...) plugin_log (LOG_DEBUG, __VA_ARGS__) /* TODO: Move plugin_{complain,relief} into `utils_complain.[ch]'. -octo */ void plugin_complain (int level, complain_t *c, const char *format, ...); void plugin_relief (int level, complain_t *c, const char *format, ...); +const data_set_t *plugin_get_ds (const char *name); + #endif /* PLUGIN_H */