author | Florian Forster <octo@collectd.org> | |
Sat, 17 Nov 2012 07:25:01 +0000 (08:25 +0100) | ||
committer | Florian Forster <octo@collectd.org> | |
Sat, 17 Nov 2012 07:25:01 +0000 (08:25 +0100) |
Conflicts:
src/collectdctl.c
src/libcollectdclient/client.c
src/libcollectdclient/collectd/client.h
src/collectdctl.c
src/libcollectdclient/client.c
src/libcollectdclient/collectd/client.h
1 | 2 | |||
---|---|---|---|---|
configure.in | patch | | diff1 | | diff2 | | blob | history |
src/Makefile.am | patch | | diff1 | | diff2 | | blob | history |
src/collectd-nagios.c | patch | | diff1 | | diff2 | | blob | history |
src/collectdctl.c | patch | | diff1 | | diff2 | | blob | history |
src/libcollectdclient/client.c | patch | | diff1 | | diff2 | | blob | history |
src/libcollectdclient/collectd/client.h | patch | | | | diff2 | | blob | history |
diff --cc configure.in
index 4a1597679498a3553d1f66b3316abfd8cf9437a8,af584425ae890d9c9087471de9b8c943e49703d1..7c4ec3a2da07f0ab5d091e32e99e2fced01d0cae
--- 1/configure.in
--- 2/configure.in
+++ b/configure.in
AC_SUBST(LCC_VERSION_EXTRA)
AC_SUBST(LCC_VERSION_STRING)
- AC_CONFIG_FILES(src/libcollectdclient/lcc_features.h)
+ AC_CONFIG_FILES(src/libcollectdclient/collectd/lcc_features.h)
-AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/owniptc/Makefile src/libcollectdclient/Makefile src/libcollectdclient/libcollectdclient.pc src/liboconfig/Makefile bindings/Makefile bindings/java/Makefile)
+AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/libcollectdclient/Makefile src/libcollectdclient/libcollectdclient.pc src/liboconfig/Makefile bindings/Makefile bindings/java/Makefile)
if test "x$with_librrd" = "xyes" \
&& test "x$librrd_threadsafe" != "xyes"
diff --cc src/Makefile.am
Simple merge
diff --cc src/collectd-nagios.c
index 88a53023fb788a7c1439d2e41bf00e71b1a0b377,2d59ea77c25f239a9e4c8ea2a97971ac7d83c7b1..e31d95ca31f3e52ebd2923e0482b3e7f7973f294
+++ b/src/collectd-nagios.c
#include <string.h>
#include <strings.h>
#include <assert.h>
-#include <math.h>
+
+#if NAN_STATIC_DEFAULT
+# include <math.h>
+/* #endif NAN_STATIC_DEFAULT*/
+#elif NAN_STATIC_ISOC
+# ifndef __USE_ISOC99
+# define DISABLE_ISOC99 1
+# define __USE_ISOC99 1
+# endif /* !defined(__USE_ISOC99) */
+# include <math.h>
+# if DISABLE_ISOC99
+# undef DISABLE_ISOC99
+# undef __USE_ISOC99
+# endif /* DISABLE_ISOC99 */
+/* #endif NAN_STATIC_ISOC */
+#elif NAN_ZERO_ZERO
+# include <math.h>
+# ifdef NAN
+# undef NAN
+# endif
+# define NAN (0.0 / 0.0)
+# ifndef isnan
+# define isnan(f) ((f) != (f))
+# endif /* !defined(isnan) */
+# ifndef isfinite
+# define isfinite(f) (((f) - (f)) == 0.0)
+# endif
+# ifndef isinf
+# define isinf(f) (!isfinite(f) && !isnan(f))
+# endif
+#endif /* NAN_ZERO_ZERO */
- #include "libcollectdclient/client.h"
+ #include "libcollectdclient/collectd/client.h"
#define RET_OKAY 0
#define RET_WARNING 1
diff --cc src/collectdctl.c
index 61b7fc55e2c24ff880730580abf2d48e0e0f571d,f16a70dd94285861bc5d8bac19debfc66a4f74f0..0b8d0c1e89ee1547f955c0795bf388d1568eb518
--- 1/src/collectdctl.c
--- 2/src/collectdctl.c
+++ b/src/collectdctl.c
#include <assert.h>
#include <errno.h>
-#include <math.h>
-#include "libcollectdclient/collectd/client.h"
+#if NAN_STATIC_DEFAULT
+# include <math.h>
+/* #endif NAN_STATIC_DEFAULT*/
+#elif NAN_STATIC_ISOC
+# ifndef __USE_ISOC99
+# define DISABLE_ISOC99 1
+# define __USE_ISOC99 1
+# endif /* !defined(__USE_ISOC99) */
+# include <math.h>
+# if DISABLE_ISOC99
+# undef DISABLE_ISOC99
+# undef __USE_ISOC99
+# endif /* DISABLE_ISOC99 */
+/* #endif NAN_STATIC_ISOC */
+#elif NAN_ZERO_ZERO
+# include <math.h>
+# ifdef NAN
+# undef NAN
+# endif
+# define NAN (0.0 / 0.0)
+# ifndef isnan
+# define isnan(f) ((f) != (f))
+# endif /* !defined(isnan) */
+# ifndef isfinite
+# define isfinite(f) (((f) - (f)) == 0.0)
+# endif
+# ifndef isinf
+# define isinf(f) (!isfinite(f) && !isnan(f))
+# endif
+#endif /* NAN_ZERO_ZERO */
- #include "libcollectdclient/client.h"
++#include "libcollectdclient/collectd/client.h"
#define DEFAULT_SOCK LOCALSTATEDIR"/run/"PACKAGE_NAME"-unixsock"
diff --cc src/libcollectdclient/client.c
index 2adf6d48821d49590bde1186dd8c047c78eaa17a,abe3ed83aa469b4cf148504cd9f73403da3bad50..39875903256f686aefbb953b11a9e7e3ab72eebe
return (0);
} /* }}} int lcc_string_to_identifier */
- qsort (idents, idents_num, sizeof (*idents), lcc_identifier_cmp);
+ int lcc_identifier_compare (const lcc_identifier_t *i0, /* {{{ */
+ const lcc_identifier_t *i1)
+ {
+ int status;
+
+ if ((i0 == NULL) && (i1 == NULL))
+ return (0);
+ else if (i0 == NULL)
+ return (-1);
+ else if (i1 == NULL)
+ return (1);
+
+ #define CMP_FIELD(f) do { \
+ status = strcmp (i0->f, i1->f); \
+ if (status != 0) \
+ return (status); \
+ } while (0);
+
+ CMP_FIELD (host);
+ CMP_FIELD (plugin);
+ CMP_FIELD (plugin_instance);
+ CMP_FIELD (type);
+ CMP_FIELD (type_instance);
+
+ #undef CMP_FIELD
+
+ return (0);
+ } /* }}} int lcc_identifier_compare */
+
+int lcc_sort_identifiers (lcc_connection_t *c, /* {{{ */
+ lcc_identifier_t *idents, size_t idents_num)
+{
+ if (idents == NULL)
+ {
+ lcc_set_errno (c, EINVAL);
+ return (-1);
+ }
+
++ qsort (idents, idents_num, sizeof (*idents),
++ (void *) lcc_identifier_compare);
+ return (0);
+} /* }}} int lcc_sort_identifiers */
+
/* vim: set sw=2 sts=2 et fdm=marker : */
diff --cc src/libcollectdclient/collectd/client.h
index 0000000000000000000000000000000000000000,1494c8d6cd66125885f725fe8d4d6bf98f7bade3..b2354ff4f153c20b4042e7b11e9455c2f452863a
mode 000000,100644..100644
mode 000000,100644..100644
--- /dev/null
+ /**
+ * libcollectdclient - src/libcollectdclient/client.h
+ * Copyright (C) 2008 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
+ * Free Software Foundation; only version 2 of the License is applicable.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Authors:
+ * Florian octo Forster <octo at verplant.org>
+ **/
+
+ #ifndef LIBCOLLECTD_COLLECTDCLIENT_H
+ #define LIBCOLLECTD_COLLECTDCLIENT_H 1
+
+ #include "lcc_features.h"
+
+ /*
+ * Includes (for data types)
+ */
+ #if HAVE_STDINT_H
+ # include <stdint.h>
+ #endif
+ #include <inttypes.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;
+ time_t time;
+ int 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_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_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);
+
+ /* TODO: putnotif */
+
+ 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);
+
+ /* 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 lcc_identifier_t *i0,
+ const lcc_identifier_t *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 */