$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);
