diff --git a/src/plugin.h b/src/plugin.h
index 4ca6c771f16c8d87f050c499b4f367cf85b6b970..96eb0cb5633cf1cbe5fe6153b176f46040b49c5e 100644 (file)
--- a/src/plugin.h
+++ b/src/plugin.h
# define LOG_DEBUG 7
#endif
+#define NOTIF_MAX_MSG_LEN 256
+
+#define NOTIF_FAILURE 1
+#define NOTIF_WARNING 2
+#define NOTIF_OKAY 4
+
/*
* Public data types
*/
unsigned int delay; /* how many more iterations we still need to wait */
} complain_t;
+typedef struct notification_s
+{
+ int severity;
+ char message[NOTIF_MAX_MSG_LEN];
+ time_t time;
+ char host[DATA_MAX_NAME_LEN];
+} notification_t;
+
/*
* NAME
* plugin_set_dir
int plugin_register_data_set (const data_set_t *ds);
int plugin_register_log (char *name,
void (*callback) (int, const char *));
+int plugin_register_notification (const char *name,
+ int (*callback) (const notification_t *notif));
int plugin_unregister_config (const char *name);
int plugin_unregister_complex_config (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);
+int plugin_unregister_notification (const char *name);
/*
*/
int plugin_dispatch_values (const char *name, value_list_t *vl);
+int plugin_dispatch_notification (const notification_t *notif);
+
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__)
+#if COLLECT_DEBUG
+# define DEBUG(...) plugin_log (LOG_DEBUG, __VA_ARGS__)
+#else /* COLLECT_DEBUG */
+# define DEBUG(...) /* noop */
+#endif /* ! COLLECT_DEBUG */
/* TODO: Move plugin_{complain,relief} into `utils_complain.[ch]'. -octo */
void plugin_complain (int level, complain_t *c, const char *format, ...);