$NetBSD$

--- sysdeps/freebsd/proclist.c.orig	2009-07-10 23:21:10 +0300
+++ sysdeps/freebsd/proclist.c	2009-07-10 23:30:28 +0300
@@ -95,7 +95,11 @@ glibtop_get_proclist_p (glibtop *server,
 	for (i = 0; i < len; i++) {
 		pid_t pid;
 
+#ifdef __DragonFly__
+		pid = (pid_t) pinfo[i].kp_pid;
+#else
 		pid = (pid_t) pinfo[i].ki_pid;
+#endif
 
 		switch (which & GLIBTOP_KERN_PROC_MASK) {
 			case GLIBTOP_KERN_PROC_ALL:
@@ -105,29 +109,53 @@ glibtop_get_proclist_p (glibtop *server,
 					continue;
 				break;
 			case GLIBTOP_KERN_PROC_UID:
+#ifdef __DragonFly__
+				if ((uid_t) arg != pinfo[i].kp_ruid)
+#else
 				if ((uid_t) arg != pinfo[i].ki_ruid)
+#endif
 					continue;
 				break;
 			case GLIBTOP_KERN_PROC_PGRP:
+#ifdef __DragonFly__
+				if ((pid_t) arg != pinfo[i].kp_pgid)
+#else
 				if ((pid_t) arg != pinfo[i].ki_pgid)
+#endif
 					continue;
 				break;
 			case GLIBTOP_KERN_PROC_SESSION:
+#ifdef __DragonFly__
+				if ((pid_t) arg != pinfo[i].kp_sid)
+#else
 				if ((pid_t) arg != pinfo[i].ki_sid)
+#endif
 					continue;
 				break;
 			case GLIBTOP_KERN_PROC_TTY:
+#ifdef __DragonFly__
+				if ((dev_t) arg != pinfo[i].kp_tdev)
+#else
 				if ((dev_t) arg != pinfo[i].ki_tdev)
+#endif
 					continue;
 				break;
 			case GLIBTOP_KERN_PROC_RUID:
+#ifdef __DragonFly__
+				if ((uid_t) arg != pinfo[i].kp_ruid)
+#else
 				if ((uid_t) arg != pinfo[i].ki_ruid)
+#endif
 					continue;
 				break;
 			}
 
 		if (which & GLIBTOP_EXCLUDE_NOTTY)
+#ifdef __DragonFly__
+			if (pinfo[i].kp_tdev == (dev_t) -1) continue;
+#else
 			if (pinfo[i].ki_tdev == (dev_t) -1) continue;
+#endif
 
 		if (which & GLIBTOP_EXCLUDE_IDLE) {
 			glibtop_get_proc_state_p (server, &procstate, pid);
@@ -136,7 +164,11 @@ glibtop_get_proclist_p (glibtop *server,
 		}
 
 		if (which & GLIBTOP_EXCLUDE_SYSTEM)
+#ifdef __DragonFly__
+			if (pinfo[i].kp_ruid == (uid_t) 0) continue;
+#else
 			if (pinfo[i].ki_ruid == (uid_t) 0) continue;
+#endif
 
 		g_array_append_val (pids, pid);
 	}
