Merge remote-tracking branch 'github/pr/1749'
[collectd.git] / src / daemon / plugin.h
index 1e4b3d1..5a4e4c7 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * collectd - src/plugin.h
+ * collectd - src/daemon/plugin.h
  * Copyright (C) 2005-2014  Florian octo Forster
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
 #define PLUGIN_H
 
 #include "collectd.h"
+
 #include "configfile.h"
 #include "meta_data.h"
 #include "utils_time.h"
 
-#if HAVE_PTHREAD_H
-# include <pthread.h>
-#endif
+#include <pthread.h>
 
 #define PLUGIN_FLAGS_GLOBAL 0x0001
 
-#define DATA_MAX_NAME_LEN 64
+#ifndef DATA_MAX_NAME_LEN
+# define DATA_MAX_NAME_LEN 128
+#endif
 
 #define DS_TYPE_COUNTER  0
 #define DS_TYPE_GAUGE    1
 /*
  * Public data types
  */
+struct identifier_s
+{
+       char *host;
+       char *plugin;
+       char *plugin_instance;
+       char *type;
+       char *type_instance;
+};
+typedef struct identifier_s identifier_t;
+
 typedef unsigned long long counter_t;
 typedef double gauge_t;
 typedef int64_t derive_t;
@@ -109,9 +120,7 @@ struct value_list_s
 };
 typedef struct value_list_s value_list_t;
 
-#define VALUE_LIST_INIT { NULL, 0, 0, plugin_get_interval (), \
-       "localhost", "", "", "", "", NULL }
-#define VALUE_LIST_STATIC { NULL, 0, 0, 0, "localhost", "", "", "", "", NULL }
+#define VALUE_LIST_INIT { .values = NULL, .meta = NULL }
 
 struct data_source_s
 {
@@ -200,7 +209,6 @@ typedef void (*plugin_log_cb) (int severity, const char *message,
 typedef int (*plugin_shutdown_cb) (void);
 typedef int (*plugin_notification_cb) (const notification_t *,
                user_data_t *);
-
 /*
  * NAME
  *  plugin_set_dir
@@ -296,20 +304,20 @@ int plugin_register_read (const char *name,
 int plugin_register_complex_read (const char *group, const char *name,
                plugin_read_cb callback,
                cdtime_t interval,
-               user_data_t *user_data);
+               user_data_t const *user_data);
 int plugin_register_write (const char *name,
-               plugin_write_cb callback, user_data_t *user_data);
+               plugin_write_cb callback, user_data_t const *user_data);
 int plugin_register_flush (const char *name,
-               plugin_flush_cb callback, user_data_t *user_data);
+               plugin_flush_cb callback, user_data_t const *user_data);
 int plugin_register_missing (const char *name,
-               plugin_missing_cb callback, user_data_t *user_data);
+               plugin_missing_cb callback, user_data_t const *user_data);
 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,
-               plugin_log_cb callback, user_data_t *user_data);
+               plugin_log_cb callback, user_data_t const *user_data);
 int plugin_register_notification (const char *name,
-               plugin_notification_cb callback, user_data_t *user_data);
+               plugin_notification_cb callback, user_data_t const *user_data);
 
 int plugin_unregister_config (const char *name);
 int plugin_unregister_complex_config (const char *name);