diff --git a/src/plugin.h b/src/plugin.h
index b90811cf93cc5c98e99fc090e588a28bce18dc63..3088e06e6cb70bc7b6a659ae0dfec680a8b99cb1 100644 (file)
--- a/src/plugin.h
+++ b/src/plugin.h
#define NOTIF_WARNING 2
#define NOTIF_OKAY 4
-#define FILTER_NOWRITE 1
-#define FILTER_NOTHRESHOLD_CHECK 2
-/* FILTER_IGNORE has to equal the bitwise or of all other filter flags */
-#define FILTER_IGNORE (FILTER_NOWRITE | FILTER_NOTHRESHOLD_CHECK)
-
/*
* Public data types
*/
enum notification_meta_type_e type;
union
{
- const char *value_string;
- int64_t value_signed_int;
- uint64_t value_unsigned_int;
- double value_double;
- bool value_boolean;
- };
+ const char *nm_string;
+ int64_t nm_signed_int;
+ uint64_t nm_unsigned_int;
+ double nm_double;
+ bool nm_boolean;
+ } nm_value;
struct notification_meta_s *next;
} notification_meta_t;
void plugin_init_all (void);
void plugin_read_all (void);
+int plugin_read_all_once (void);
void plugin_shutdown_all (void);
+/*
+ * NAME
+ * plugin_write
+ *
+ * DESCRIPTION
+ * Calls the write function of the given plugin with the provided data set and
+ * value list. It differs from `plugin_dispatch_value' in that it does not
+ * update the cache, does not do threshold checking, call the chain subsystem
+ * and so on. It looks up the requested plugin and invokes the function, end
+ * of story.
+ *
+ * ARGUMENTS
+ * plugin Name of the plugin. If NULL, the value is sent to all registered
+ * write functions.
+ * ds Pointer to the data_set_t structure. If NULL, the data set is
+ * looked up according to the `type' member in the `vl' argument.
+ * vl The actual value to be processed. Must not be NULL.
+ *
+ * RETURN VALUE
+ * Returns zero upon success or non-zero if an error occurred. If `plugin' is
+ * NULL and more than one plugin is called, an error is only returned if *all*
+ * plugins fail.
+ *
+ * NOTES
+ * This is the function used by the `write' built-in target. May be used by
+ * other target plugins.
+ */
+int plugin_write (const char *plugin,
+ const data_set_t *ds, const value_list_t *vl);
+
int plugin_flush (const char *plugin, int timeout, const char *identifier);
/*
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_filter (const char *name,
- int (*callback) (const data_set_t *ds, 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 plugin_unregister_init (const char *name);
int plugin_unregister_read (const char *name);
int plugin_unregister_write (const char *name);
-int plugin_unregister_filter (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_notification_meta_copy (notification_t *dst,
const notification_t *src);
-int plugin_notification_meta_free (notification_t *n);
+int plugin_notification_meta_free (notification_meta_t *n);
#endif /* PLUGIN_H */