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"
**/
/**
- * 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);