--- projects/libstatgrab/src/libstatgrab/statgrab.h 2004/02/13 14:39:34 1.26 +++ projects/libstatgrab/src/libstatgrab/statgrab.h 2004/04/03 22:59:30 1.32 @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA * 02111-1307 USA * - * $Id: statgrab.h,v 1.26 2004/02/13 14:39:34 pajs Exp $ + * $Id: statgrab.h,v 1.32 2004/04/03 22:59:30 tdb Exp $ */ #include @@ -108,6 +108,11 @@ typedef struct{ char *interface_name; long long tx; long long rx; + long long ipackets; + long long opackets; + long long ierrors; + long long oerrors; + long long collisions; time_t systime; }network_stat_t; @@ -121,6 +126,7 @@ typedef struct{ char *interface_name; int speed; /* In megabits/sec */ statgrab_duplex dup; + int up; }network_iface_stat_t; typedef struct{ @@ -128,6 +134,37 @@ typedef struct{ long long pages_pageout; time_t systime; }page_stat_t; + +typedef enum{ + RUNNING, + SLEEPING, + STOPPED, + ZOMBIE, + UNKNOWN +}process_status; + +typedef struct{ + char *process_name; + char *proctitle; + + pid_t pid; + pid_t parent; /* Parent pid */ + pid_t pgid; /* process id of process group leader */ + + uid_t uid; + uid_t euid; + gid_t gid; + gid_t egid; + + unsigned long long proc_size; /* in bytes */ + unsigned long long proc_resident; /* in bytes */ + time_t time_spent; /* time running in seconds */ + double cpu_percent; + int nice; + process_status state; +}proc_state_t; + +int get_proc_snapshot(proc_state_t **proc_state); cpu_states_t *get_cpu_totals(); cpu_states_t *get_cpu_diff();