$NetBSD: patch-ab,v 1.1 2007/02/17 09:47:59 minskim Exp $

--- psinfo.c.orig	2006-06-23 04:28:38.000000000 +0200
+++ psinfo.c
@@ -48,7 +48,11 @@
 
 #if defined(USE_MACH) || defined(USE_KVM)
 #include <sys/fcntl.h>
+#if defined(__DragonFly__)
+#include <sys/user.h>
+#else
 #include <sys/proc.h>
+#endif
 #include <sys/sysctl.h>
 #endif
 
@@ -238,7 +242,7 @@ float getProcessCPUPercentByProcessID(in
     #elif defined(USE_KVM)
     {
         int found, fscale;
-        struct kinfo_proc2 *givenproc;
+        struct kinfo_proc *givenproc;
         struct nlist readnl[] = {{"_fscale"}, {NULL}};
         kvm_t *kd;
         
@@ -260,7 +264,7 @@ float getProcessCPUPercentByProcessID(in
         
         
         /* get proc */
-        givenproc = kvm_getproc2(kd, KERN_PROC_PID, pid, sizeof(struct kinfo_proc2), &found);
+        givenproc = kvm_getprocs(kd, KERN_PROC_PID, pid, &found);
         
         switch (found) {
             case 0:
@@ -270,7 +274,7 @@ float getProcessCPUPercentByProcessID(in
                 /* these maths gleaned from NetBSD top and ps */
                 #define fxtofl(fixpt) ((double)(fixpt) / fscale)
                 
-                cpuval = (100 * fxtofl(givenproc->p_pctcpu));
+                cpuval = (100 * fxtofl(givenproc->kp_proc.p_pctcpu));
 
                 Valid = true;
                 break;
