pkgsrc/net/net-snmp/patches/patch-fd
2010-12-26 09:23:49 +00:00

57 lines
1.8 KiB
Text

$NetBSD: patch-fd,v 1.1 2010/12/26 09:23:49 sekiya Exp $
--- agent/mibgroup/hardware/cpu/cpu_sysctl.c.orig 2010-12-26 16:45:27.000000000 +0900
+++ agent/mibgroup/hardware/cpu/cpu_sysctl.c 2010-12-26 17:14:36.000000000 +0900
@@ -49,7 +49,11 @@
if ( n <= 0 )
n = 1; /* Single CPU system */
i = sizeof(descr);
+#if defined(__NetBSD__) && ( defined(__i386__) || defined(__x86_64__) )
+ sysctlbyname("machdep.cpu_brand", descr, (void *)&i, NULL, 0);
+#else
sysctl(model_mib, 2, descr, (void *)&i, NULL, 0);
+#endif
for ( i = 0; i < n; i++ ) {
cpu = netsnmp_cpu_get_byIdx( i, 1 );
cpu->status = 2; /* running */
@@ -59,26 +63,22 @@
cpu_num = n;
}
-
+#if defined(__NetBSD__)
+#define NETSNMP_CPU_STATS uint64_t
+#define NETSNMP_KERN_CPU KERN_CP_TIME
+#else
#define NETSNMP_CPU_STATS long
#if defined(KERN_CPUSTATS) /* BSDi */
#define NETSNMP_KERN_CPU KERN_CPUSTATS
#elif defined(KERN_CPTIME) /* OpenBSD */
#define NETSNMP_KERN_CPU KERN_CPTIME
-#elif defined(KERN_CP_TIME) /* NetBSD */
-#define NETSNMP_KERN_CPU KERN_CP_TIME
-
-#if defined(netbsdelf3)
-#undef NETSNMP_CPU_STATS
-#define NETSNMP_CPU_STATS uint64_t
-#endif
-
#elif defined(__FreeBSD__)
#define NETSNMP_KERN_CPU 0 /* dummy value - sysctlnametomib(2) should be used */
#else
#error "No CPU statistics sysctl token"
#endif
+#endif
/*
Need to check details before enabling this!
@@ -159,7 +159,7 @@
size_t mem_size = sizeof(NETSNMP_VM_STATS_TYPE);
netsnmp_cpu_info *cpu = netsnmp_cpu_get_byIdx( -1, 0 );
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined (__NetBSD__)
sysctlbyname("kern.cp_time", cpu_stats, &cpu_size, NULL, 0);
#else
sysctl(cpu_mib, 2, cpu_stats, &cpu_size, NULL, 0);