207 |
|
#endif |
208 |
|
|
209 |
|
#ifdef ALLBSD |
210 |
+ |
|
211 |
+ |
#if defined(NETBSD) || defined(OPENBSD) |
212 |
+ |
kvmd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, NULL); |
213 |
+ |
#else |
214 |
|
kvmd = kvm_openfiles(_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL); |
215 |
+ |
#endif |
216 |
|
|
217 |
|
if(kvmd == NULL) return NULL; |
218 |
|
|
234 |
|
#ifdef FREEBSD5 |
235 |
|
proc_state_ptr->process_name = |
236 |
|
strdup(kp_stats[i].ki_comm); |
237 |
+ |
#elif defined(DFBSD) |
238 |
+ |
proc_state_ptr->process_name = |
239 |
+ |
strdup(kp_stats[i].kp_thread.td_comm); |
240 |
|
#else |
241 |
|
proc_state_ptr->process_name = |
242 |
|
strdup(kp_stats[i].kp_proc.p_comm); |
290 |
|
proc_state_ptr->euid = kp_stats[i].ki_uid; |
291 |
|
proc_state_ptr->gid = kp_stats[i].ki_rgid; |
292 |
|
proc_state_ptr->egid = kp_stats[i].ki_svgid; |
293 |
+ |
#elif defined(DFBSD) |
294 |
+ |
proc_state_ptr->uid = kp_stats[i].kp_eproc.e_ucred.cr_ruid; |
295 |
+ |
proc_state_ptr->euid = kp_stats[i].kp_eproc.e_ucred.cr_svuid; |
296 |
+ |
proc_state_ptr->gid = kp_stats[i].kp_eproc.e_ucred.cr_rgid; |
297 |
+ |
proc_state_ptr->egid = kp_stats[i].kp_eproc.e_ucred.cr_svgid; |
298 |
|
#else |
299 |
|
proc_state_ptr->uid = kp_stats[i].kp_eproc.e_pcred.p_ruid; |
300 |
|
proc_state_ptr->euid = kp_stats[i].kp_eproc.e_pcred.p_svuid; |
319 |
|
proc_state_ptr->proc_resident = |
320 |
|
kp_stats[i].kp_eproc.e_vm.vm_rssize * getpagesize(); |
321 |
|
/* This is in microseconds */ |
322 |
+ |
#if defined(NETBSD) || defined(OPENBSD) |
323 |
|
proc_state_ptr->time_spent = |
324 |
+ |
kp_stats[i].kp_proc.p_rtime.tv_sec; |
325 |
+ |
#elif defined(DFBSD) |
326 |
+ |
proc_state_ptr->time_spent = |
327 |
+ |
( kp_stats[i].kp_thread.td_uticks + |
328 |
+ |
kp_stats[i].kp_thread.td_sticks + |
329 |
+ |
kp_stats[i].kp_thread.td_iticks ) / 1000000; |
330 |
+ |
#else |
331 |
+ |
proc_state_ptr->time_spent = |
332 |
|
kp_stats[i].kp_proc.p_runtime / 1000000; |
333 |
+ |
#endif |
334 |
|
proc_state_ptr->cpu_percent = |
335 |
|
((double)kp_stats[i].kp_proc.p_pctcpu / FSCALE) * 100.0; |
336 |
|
proc_state_ptr->nice = kp_stats[i].kp_proc.p_nice; |
392 |
|
process_stat.total = 0; |
393 |
|
|
394 |
|
ps_size = get_proc_snapshot(&ps); |
395 |
+ |
|
396 |
+ |
if(ps_size == NULL) { |
397 |
+ |
return NULL; |
398 |
+ |
} |
399 |
|
|
400 |
|
for(x = 0; x < ps_size; x++) { |
401 |
|
switch (ps->state) { |