*
* Copyright (c) 2005 Adi Zaimi, Dan Piponi <dan@tanelorn.demon.co.uk>,
* Dave Clark <clarkd@skynet.ca>
- * Copyright (c) 2005-2007 Brenden Matthews, Philip Kovacs, et. al.
+ * Copyright (c) 2005-2008 Brenden Matthews, Philip Kovacs, et. al.
* (see AUTHORS)
* All rights reserved.
*
*
* $Id$ */
+#ifndef _top_h_
+#define _top_h_
+
/* Ensure there's an operating system defined.
* compile with gcc -DOS ...
* There is *no* default because every OS has it's own way of revealing
#include "conky.h"
#define CPU_THRESHHOLD 0 /* threshhold for the cpu diff to appear */
-#include <stdlib.h>
-#include <stdio.h>
#include <time.h>
#include <dirent.h>
#include <string.h>
#include <sys/wait.h>
#include <sys/stat.h>
-#include <sys/param.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/time.h>
#define PROCFS_CMDLINE_TEMPLATE "/proc/%d/cmdline"
#define MAX_SP 10 // number of elements to sort
+enum top_field {
+ TOP_CPU,
+ TOP_NAME,
+ TOP_PID,
+ TOP_MEM,
+ TOP_TIME,
+ TOP_MEM_RES,
+ TOP_MEM_VSIZE
+};
+
/******************************************
* Process class *
******************************************/
+struct process {
+ struct process *next;
+ struct process *previous;
+
+ pid_t pid;
+ char *name;
+ float amount;
+ // User and kernel times are in hundredths of seconds
+ unsigned long user_time;
+ unsigned long total;
+ unsigned long kernel_time;
+ unsigned long previous_user_time;
+ unsigned long previous_kernel_time;
+ unsigned long total_cpu_time;
+ unsigned int vsize;
+ unsigned int rss;
+ unsigned int time_stamp;
+ unsigned int counted;
+ unsigned int changed;
+ float totalmem;
+};
+
struct sorted_process {
struct sorted_process *greater;
struct sorted_process *less;
/* Pointer to head of process list */
void process_find_top(struct process **, struct process **);
+
+#endif /* _top_h_ */