$NetBSD: patch-af,v 1.1 2007/06/30 19:18:47 joerg Exp $ --- process_scan_bsd.cc.orig 2007-06-30 18:48:04.000000000 +0000 +++ process_scan_bsd.cc @@ -42,7 +42,13 @@ extern "C" { #include #include // KERN_PROC_ALL #include +#ifdef __DragonFly__ +#define template +#endif #include +#ifdef __DragonFly__ +#undef template +#endif #include #include #include @@ -78,7 +84,11 @@ public: virtual void life(process_model *pm); virtual int cur_pid() { return int(cur_kp_->kp_proc.p_pid); } +#ifdef __DragonFly__ + virtual int cur_uid() { return int(cur_kp_->kp_eproc.e_ucred.cr_ruid); } +#else virtual int cur_uid() { return int(cur_kp_->kp_eproc.e_pcred.p_ruid); } +#endif }; @@ -256,7 +266,11 @@ process_scan_bsd::birth() { process_model *pm = new process_model(int(cur_kp_->kp_proc.p_pid)); // fill in init-time only bits: +#ifdef __DragonFly__ + pm->set_uid(int(cur_kp_->kp_eproc.e_ucred.cr_ruid)); +#else pm->set_uid(int(cur_kp_->kp_eproc.e_pcred.p_ruid)); +#endif pm->set_nice(cur_kp_->kp_proc.p_nice); pm->set_start_time(0); // xxx: not in bsd? life(pm); @@ -267,8 +281,13 @@ void process_scan_bsd::life(process_model *pm) { // OS-specific bits: +#ifdef __DragonFly__ + pm->set_utime(ticks_to_msec(cur_kp_->kp_eproc.e_uticks)); + pm->set_stime(ticks_to_msec(cur_kp_->kp_eproc.e_sticks)); +#else pm->set_utime(ticks_to_msec(cur_kp_->kp_proc.p_uticks)); pm->set_stime(ticks_to_msec(cur_kp_->kp_proc.p_sticks)); +#endif // xxx: skip p_iticks int size, resident;