#include "plugin.h"
#include "utils/common/common.h"
-#ifdef HAVE_SYS_SYSCTL_H
+#if (defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTLBYNAME)) || \
+ defined(__OpenBSD__)
+/* Implies BSD variant */
#include <sys/sysctl.h>
#endif
#ifdef HAVE_SYS_VMMETER_H
static kstat_t *ksz;
/* #endif HAVE_LIBKSTAT */
-#elif HAVE_SYSCTL
+#elif HAVE_SYSCTL && __OpenBSD__
+/* OpenBSD variant does not have sysctlbyname */
static int pagesize;
-/* #endif HAVE_SYSCTL */
+/* #endif HAVE_SYSCTL && __OpenBSD__ */
#elif HAVE_LIBSTATGRAB
/* no global variables */
/* #endif HAVE_LIBKSTAT */
-#elif HAVE_SYSCTL
+#elif HAVE_SYSCTL && __OpenBSD__
+ /* OpenBSD variant does not have sysctlbyname */
pagesize = getpagesize();
if (pagesize <= 0) {
ERROR("memory plugin: Invalid pagesize: %i", pagesize);
return -1;
}
- /* #endif HAVE_SYSCTL */
+ /* #endif HAVE_SYSCTL && __OpenBSD__ */
#elif HAVE_LIBSTATGRAB
/* no init stuff */
(gauge_t)arcsize, "unusable", (gauge_t)mem_unus);
/* #endif HAVE_LIBKSTAT */
-#elif HAVE_SYSCTL
+#elif HAVE_SYSCTL && __OpenBSD__
+ /* OpenBSD variant does not have HAVE_SYSCTLBYNAME */
int mib[] = {CTL_VM, VM_METER};
struct vmtotal vmtotal = {0};
gauge_t mem_active;
MEMORY_SUBMIT("active", mem_active, "inactive", mem_inactive, "free",
mem_free);
- /* #endif HAVE_SYSCTL */
+ /* #endif HAVE_SYSCTL && __OpenBSD__ */
#elif HAVE_LIBSTATGRAB
sg_mem_stats *ios;