#include <windows.h>
#endif
-/* FIXME: bsds untested */
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
#include <sys/param.h>
#include <sys/types.h>
#include <sys/user.h>
#endif
#ifdef HAVE_STRUCT_KINFO_PROC_KP_PROC
-# ifdef KERN_PROC2
-# define kinfo_pid_member p_pid
-# define kinfo_name_member p_comm
-# else
# define kinfo_pid_member kp_proc.p_pid
# define kinfo_name_member kp_proc.p_comm
-# endif
+#elif defined(__OpenBSD__)
+# define kinfo_pid_member p_pid
+# define kinfo_name_member p_comm
#else
#define kinfo_pid_member ki_pid
#define kinfo_name_member ki_comm
s = get_pid_status_item_buf (pid, item, buf, sizeof (buf), error);
if (s)
- return atoi (s) * multiplier;
+ return ((gint64) atol (s)) * multiplier;
return 0;
#endif
}
continue;
}
sscanf (data, "%Lu %Lu %Lu %Lu %Lu %Lu %Lu", &user_ticks, &nice_ticks, &system_ticks, &idle_ticks, &iowait_ticks, &irq_ticks, &sirq_ticks);
+ break;
}
fclose (f);