Merge branch 'collectd-5.7' into collectd-5.8
[collectd.git] / src / libcollectdclient / collectd / client.h
index 47462a6..ea812c1 100644 (file)
 #ifndef LIBCOLLECTD_COLLECTDCLIENT_H
 #define LIBCOLLECTD_COLLECTDCLIENT_H 1
 
-#include "lcc_features.h"
+#include "collectd/lcc_features.h"
+#include "collectd/types.h"
 
 /* COLLECTD_TRACE is the environment variable used to control trace output. When
  * set to something non-zero, all lines sent to / received from the daemon are
  * printed to STDOUT. */
 #ifndef LCC_TRACE_ENV
-# define LCC_TRACE_ENV "COLLECTD_TRACE"
+#define LCC_TRACE_ENV "COLLECTD_TRACE"
 #endif
 
 /*
  * Includes (for data types)
  */
-#if HAVE_STDINT_H
-# include <stdint.h>
-#endif
 #include <inttypes.h>
+#include <stdint.h>
 #include <time.h>
 
-/*
- * Defines
- */
-#define LCC_NAME_LEN 64
-#define LCC_DEFAULT_PORT "25826"
-
-/*
- * Types
- */
-#define LCC_TYPE_COUNTER 0
-#define LCC_TYPE_GAUGE   1
-#define LCC_TYPE_DERIVE   2
-#define LCC_TYPE_ABSOLUTE   3
-
 LCC_BEGIN_DECLS
 
-typedef uint64_t counter_t;
-typedef double gauge_t;
-typedef uint64_t derive_t;
-typedef uint64_t absolute_t;
-
-union value_u
-{
-  counter_t counter;
-  gauge_t   gauge;
-  derive_t  derive;
-  absolute_t absolute;
-};
-typedef union value_u value_t;
-
-struct lcc_identifier_s
-{
-  char host[LCC_NAME_LEN];
-  char plugin[LCC_NAME_LEN];
-  char plugin_instance[LCC_NAME_LEN];
-  char type[LCC_NAME_LEN];
-  char type_instance[LCC_NAME_LEN];
-};
-typedef struct lcc_identifier_s lcc_identifier_t;
-#define LCC_IDENTIFIER_INIT { "localhost", "", "", "", "" }
-
-struct lcc_value_list_s
-{
-  value_t *values;
-  int     *values_types;
-  size_t   values_len;
-  double   time;
-  double   interval;
-  lcc_identifier_t identifier;
-};
-typedef struct lcc_value_list_s lcc_value_list_t;
-#define LCC_VALUE_LIST_INIT { NULL, NULL, 0, 0, 0, LCC_IDENTIFIER_INIT }
-
 struct lcc_connection_s;
 typedef struct lcc_connection_s lcc_connection_t;
 
 /*
  * Functions
  */
-int lcc_connect (const char *address, lcc_connection_t **ret_con);
-int lcc_disconnect (lcc_connection_t *c);
-#define LCC_DESTROY(c) do { lcc_disconnect (c); (c) = NULL; } while (0)
+int lcc_connect(const char *address, lcc_connection_t **ret_con);
+int lcc_disconnect(lcc_connection_t *c);
+#define LCC_DESTROY(c)                                                         \
+  do {                                                                         \
+    lcc_disconnect(c);                                                         \
+    (c) = NULL;                                                                \
+  } while (0)
 
-int lcc_getval (lcc_connection_t *c, lcc_identifier_t *ident,
-    size_t *ret_values_num, gauge_t **ret_values, char ***ret_values_names);
+int lcc_getval(lcc_connection_t *c, lcc_identifier_t *ident,
+               size_t *ret_values_num, gauge_t **ret_values,
+               char ***ret_values_names);
 
-int lcc_putval (lcc_connection_t *c, const lcc_value_list_t *vl);
+int lcc_putval(lcc_connection_t *c, const lcc_value_list_t *vl);
 
-int lcc_flush (lcc_connection_t *c, const char *plugin,
-    lcc_identifier_t *ident, int timeout);
+int lcc_flush(lcc_connection_t *c, const char *plugin, lcc_identifier_t *ident,
+              int timeout);
 
-int lcc_listval (lcc_connection_t *c,
-    lcc_identifier_t **ret_ident, size_t *ret_ident_num);
+int lcc_listval(lcc_connection_t *c, lcc_identifier_t **ret_ident,
+                size_t *ret_ident_num);
 
 /* TODO: putnotif */
 
-const char *lcc_strerror (lcc_connection_t *c);
+const char *lcc_strerror(lcc_connection_t *c);
 
-int lcc_identifier_to_string (lcc_connection_t *c,
-    char *string, size_t string_size, const lcc_identifier_t *ident);
-int lcc_string_to_identifier (lcc_connection_t *c,
-    lcc_identifier_t *ident, const char *string);
+int lcc_identifier_to_string(lcc_connection_t *c, char *string,
+                             size_t string_size, const lcc_identifier_t *ident);
+int lcc_string_to_identifier(lcc_connection_t *c, lcc_identifier_t *ident,
+                             const char *string);
 
 /* Compares the identifiers "i0" and "i1" and returns less than zero or greater
  * than zero if "i0" is smaller than or greater than "i1", respectively. If
  * "i0" and "i1" are identical, zero is returned. */
-int lcc_identifier_compare (const void *i0,
-    const void *i1);
-int lcc_sort_identifiers (lcc_connection_t *c,
-    lcc_identifier_t *idents, size_t idents_num);
+int lcc_identifier_compare(const void *i0, const void *i1);
+int lcc_sort_identifiers(lcc_connection_t *c, lcc_identifier_t *idents,
+                         size_t idents_num);
 
 LCC_END_DECLS
 
-/* vim: set sw=2 sts=2 et : */
 #endif /* LIBCOLLECTD_COLLECTDCLIENT_H */