X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fplugin.h;h=dd65b5982c6eb6ca80e5f8b63d947a00a05ca132;hb=77311aed583ac4566d76f1ce3a1dc9deae2e59dc;hp=bc873b08c939bc892982b944c62f9085f80f199a;hpb=853b3da5d4c6614d7db4093f57b1ca4f57b6c485;p=collectd.git diff --git a/src/plugin.h b/src/plugin.h index bc873b08..dd65b598 100644 --- a/src/plugin.h +++ b/src/plugin.h @@ -2,7 +2,7 @@ #define PLUGIN_H /** * collectd - src/plugin.h - * Copyright (C) 2005-2010 Florian octo Forster + * Copyright (C) 2005-2011 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 @@ -173,7 +173,7 @@ typedef int (*plugin_flush_cb) (cdtime_t timeout, const char *identifier, /* "missing" callback. Returns less than zero on failure, zero if other * callbacks should be called, greater than zero if no more callbacks should be * called. */ -typedef int (*plugin_missing_cb) (const value_list_t *); +typedef int (*plugin_missing_cb) (const value_list_t *, user_data_t *); typedef void (*plugin_log_cb) (int severity, const char *message, user_data_t *); typedef int (*plugin_shutdown_cb) (void); @@ -269,6 +269,8 @@ int plugin_register_init (const char *name, plugin_init_cb callback); int plugin_register_read (const char *name, int (*callback) (void)); +/* "user_data" will be freed automatically, unless + * "plugin_register_complex_read" returns an error (non-zero). */ int plugin_register_complex_read (const char *group, const char *name, plugin_read_cb callback, const struct timespec *interval, @@ -279,7 +281,7 @@ int plugin_register_flush (const char *name, plugin_flush_cb callback, user_data_t *user_data); int plugin_register_missing (const char *name, plugin_missing_cb callback, user_data_t *user_data); -int plugin_register_shutdown (char *name, +int plugin_register_shutdown (const char *name, plugin_shutdown_cb callback); int plugin_register_data_set (const data_set_t *ds); int plugin_register_log (const char *name, @@ -316,6 +318,7 @@ int plugin_unregister_notification (const char *name); * function. */ int plugin_dispatch_values (value_list_t *vl); +int plugin_dispatch_values_secure (const value_list_t *vl); int plugin_dispatch_missing (const value_list_t *vl); int plugin_dispatch_notification (const notification_t *notif); @@ -323,6 +326,10 @@ int plugin_dispatch_notification (const notification_t *notif); void plugin_log (int level, const char *format, ...) __attribute__ ((format(printf,2,3))); +/* These functions return the parsed severity or less than zero on failure. */ +int parse_log_severity (const char *severity); +int parse_notif_severity (const char *severity); + #define ERROR(...) plugin_log (LOG_ERR, __VA_ARGS__) #define WARNING(...) plugin_log (LOG_WARNING, __VA_ARGS__) #define NOTICE(...) plugin_log (LOG_NOTICE, __VA_ARGS__)