summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 5db1547)
raw | patch | inline | side by side (parent: 5db1547)
author | Florian Forster <octo@huhu.verplant.org> | |
Tue, 19 Aug 2008 07:42:15 +0000 (09:42 +0200) | ||
committer | Florian Forster <octo@huhu.verplant.org> | |
Tue, 19 Aug 2008 07:42:15 +0000 (09:42 +0200) |
Build the tcpconns plugin if it exists.
configure.in | patch | blob | history | |
src/Makefile.am | patch | blob | history | |
src/tcpconns.c | patch | blob | history |
diff --git a/configure.in b/configure.in
index dc3e4edec108b82740358d3b08e7c365199c1635..e63ee213b81a2079f80467bb62a7d98dc2c84de6 100644 (file)
--- a/configure.in
+++ b/configure.in
fi
AM_CONDITIONAL(BUILD_WITH_LIBKVM_GETSWAPINFO, test "x$with_kvm_getswapinfo" = "xyes")
+AC_CHECK_LIB(kvm, kvm_nlist, [with_kvm_nlist="yes"], [with_kvm_nlist="no"])
+if test "x$with_kvm_nlist" = "xyes"
+then
+ AC_DEFINE(HAVE_LIBKVM_NLIST, 1,
+ [Define to 1 if you have the 'kvm' library with the 'kvm_nlist' symbol (-lkvm)])
+fi
+AM_CONDITIONAL(BUILD_WITH_LIBKVM_NLIST, test "x$with_kvm_nlist" = "xyes")
+
with_sensors_cflags=""
with_sensors_ldflags=""
AC_ARG_WITH(lm-sensors, [AS_HELP_STRING([--with-lm-sensors@<:@=PREFIX@:>@], [Path to lm_sensors.])],
plugin_swap="yes"
fi
+if test "x$with_kvm_nlist" = "xyes"
+then
+ plugin_tcpconns="yes"
+fi
+
if test "x$have_getutent" = "xyes"
then
plugin_users="yes"
diff --git a/src/Makefile.am b/src/Makefile.am
index 25d3047335367646a9e45668501245a0fa8e7234..55770f0f565d06041991188b6083a809d3c524c8 100644 (file)
--- a/src/Makefile.am
+++ b/src/Makefile.am
tcpconns_la_LIBADD =
collectd_LDADD += "-dlopen" tcpconns.la
collectd_DEPENDENCIES += tcpconns.la
-if BUILD_WITH_LIBKVM
+if BUILD_WITH_LIBKVM_NLIST
tcpconns_la_LIBADD += -lkvm
endif
endif
diff --git a/src/tcpconns.c b/src/tcpconns.c
index d53cb5aa51c452c1a92089b042718283f0075cd6..d39a6c32d4e1ce828e9f6de516f3999b7124b220 100644 (file)
--- a/src/tcpconns.c
+++ b/src/tcpconns.c
**/
/**
- * Code within `__OpenBSD__' blocks is provided under the following license:
+ * Code within `HAVE_LIBKVM_NLIST' blocks is provided under the following
+ * license:
*
* $collectd: parts of tcpconns.c, 2008/08/08 03:48:30 Michael Stapelberg $
* $OpenBSD: inet.c,v 1.100 2007/06/19 05:28:30 ray Exp $
#include "common.h"
#include "plugin.h"
-#if !KERNEL_LINUX && !HAVE_SYSCTLBYNAME && !__OpenBSD__
+#if !KERNEL_LINUX && !HAVE_SYSCTLBYNAME && !HAVE_LIBKVM_NLIST
# error "No applicable input method."
#endif
# include <netinet/tcp_var.h>
/* #endif HAVE_SYSCTLBYNAME */
-#elif __OpenBSD__
+/* This is for OpenBSD and possibly NetBSD. */
+#elif HAVE_LIBKVM_NLIST
# include <sys/queue.h>
# include <sys/socket.h>
# include <net/route.h>
# include <arpa/inet.h>
# include <nlist.h>
# include <kvm.h>
-#endif /* __OpenBSD__ */
+#endif /* HAVE_LIBKVM_NLIST */
#if KERNEL_LINUX
static const char *tcp_state[] =
# define TCP_STATE_MAX 10
/* #endif HAVE_SYSCTLBYNAME */
-#elif __OpenBSD__
+#elif HAVE_LIBKVM_NLIST
static const char *tcp_state[] =
{
"CLOSED",
# define TCP_STATE_LISTEN 1
# define TCP_STATE_MIN 1
# define TCP_STATE_MAX 10
-#endif /* __OpenBSD__ */
+#endif /* HAVE_LIBKVM_NLIST */
#define PORT_COLLECT_LOCAL 0x01
#define PORT_COLLECT_REMOTE 0x02
#elif HAVE_SYSCTLBYNAME
/* #endif HAVE_SYSCTLBYNAME */
-#elif __OpenBSD__
-#endif /* __OpenBSD__ */
+#elif HAVE_LIBKVM_NLIST
+#endif /* HAVE_LIBKVM_NLIST */
static int conn_config (const char *key, const char *value)
{
} /* int conn_read */
/* #endif HAVE_SYSCTLBYNAME */
-#elif __OpenBSD__
+#elif HAVE_LIBKVM_NLIST
static int kread (u_long addr, void *buf, int size)
{
int status;
return (0);
}
-#endif /* __OpenBSD__ */
+#endif /* HAVE_LIBKVM_NLIST */
void module_register (void)
{
plugin_register_init ("tcpconns", conn_init);
#elif HAVE_SYSCTLBYNAME
/* no initialization */
-#elif __OpenBSD__
+#elif HAVE_LIBKVM_NLIST
plugin_register_init ("tcpconns", conn_init);
#endif
plugin_register_read ("tcpconns", conn_read);