$NetBSD: patch-fe,v 1.1 2003/08/14 20:10:19 jmc Exp $

--- ksysguard/ksysguardd/FreeBSD/ProcessList.c.orig	2003-08-14 14:27:23.000000000 +0000
+++ ksysguard/ksysguardd/FreeBSD/ProcessList.c	2003-08-14 14:47:10.000000000 +0000
@@ -37,6 +37,10 @@
 #include <sys/user.h>
 #include <unistd.h>
 
+#if defined __NetBSD__
+#include <sys/param.h>
+#endif
+
 #include "../../gui/SignalIDs.h"
 #include "Command.h"
 #include "ProcessList.h"
@@ -164,9 +168,12 @@
 	
 	ProcessInfo* ps;
 	struct passwd* pwent;
-	int mib[4];
+	int mib[6];
 	struct kinfo_proc p;
 	size_t len;
+#if defined(__NetBSD__) && (__NetBSD_Version__ > 106120000)
+	struct kinfo_proc2 p2;
+#endif
 
 	if ((ps = findProcessInList(pid)) == 0)
 	{
@@ -187,7 +194,14 @@
 	len = sizeof (p);
 	if (sysctl(mib, 4, &p, &len, NULL, 0) == -1 || !len)
 		return -1;
-
+#if defined(__NetBSD__) && (__NetBSD_Version__ > 106120000)
+	mib[1] = KERN_PROC2;
+	mib[5] = sizeof(struct kinfo_proc2);
+	mib[6] = 1;
+	len = sizeof(p2);
+	if (sysctl(mib, 6, &p2, &len, NULL, 0) == -1 || !len)
+		return -1;
+#endif
 #if __FreeBSD_version >= 500015
         ps->pid       = p.ki_pid;
         ps->ppid      = p.ki_ppid;
@@ -200,7 +214,11 @@
         ps->ppid      = p.kp_eproc.e_ppid;
         ps->uid       = p.kp_eproc.e_ucred.cr_uid;
         ps->gid       = p.kp_eproc.e_pgid;
+#if defined(__NetBSD__) && (__NetBSD_Version__ > 106120000)
+	ps->priority  = p2.p_priority;
+#else
         ps->priority  = p.kp_proc.p_priority;
+#endif
         ps->niceLevel = p.kp_proc.p_nice;
 #endif
 
