summaryrefslogtreecommitdiffstats
path: root/ProcessList.h
diff options
context:
space:
mode:
Diffstat (limited to 'ProcessList.h')
-rw-r--r--ProcessList.h96
1 files changed, 16 insertions, 80 deletions
diff --git a/ProcessList.h b/ProcessList.h
index 916039c3..e00585fd 100644
--- a/ProcessList.h
+++ b/ProcessList.h
@@ -14,6 +14,7 @@ in the source distribution for its full text.
#include "UsersTable.h"
#include "Panel.h"
#include "Process.h"
+#include "Settings.h"
#ifndef MAX_NAME
#define MAX_NAME 128
@@ -23,51 +24,9 @@ in the source distribution for its full text.
#define MAX_READ 2048
#endif
-#ifndef ProcessList_cpuId
-#define ProcessList_cpuId(pl, cpu) ((pl)->countCPUsFromZero ? (cpu) : (cpu)+1)
-#endif
-
-typedef enum TreeStr_ {
- TREE_STR_HORZ,
- TREE_STR_VERT,
- TREE_STR_RTEE,
- TREE_STR_BEND,
- TREE_STR_TEND,
- TREE_STR_OPEN,
- TREE_STR_SHUT,
- TREE_STR_COUNT
-} TreeStr;
-
-typedef struct CPUData_ {
- unsigned long long int totalTime;
- unsigned long long int userTime;
- unsigned long long int systemTime;
- unsigned long long int systemAllTime;
- unsigned long long int idleAllTime;
- unsigned long long int idleTime;
- unsigned long long int niceTime;
- unsigned long long int ioWaitTime;
- unsigned long long int irqTime;
- unsigned long long int softIrqTime;
- unsigned long long int stealTime;
- unsigned long long int guestTime;
-
- unsigned long long int totalPeriod;
- unsigned long long int userPeriod;
- unsigned long long int systemPeriod;
- unsigned long long int systemAllPeriod;
- unsigned long long int idleAllPeriod;
- unsigned long long int idlePeriod;
- unsigned long long int nicePeriod;
- unsigned long long int ioWaitPeriod;
- unsigned long long int irqPeriod;
- unsigned long long int softIrqPeriod;
- unsigned long long int stealPeriod;
- unsigned long long int guestPeriod;
-} CPUData;
-
typedef struct ProcessList_ {
- const char **treeStr;
+ Settings* settings;
+
Vector* processes;
Vector* processes2;
Hashtable* processTable;
@@ -79,17 +38,15 @@ typedef struct ProcessList_ {
const char* incFilter;
Hashtable* pidWhiteList;
- int cpuCount;
- int totalTasks;
- int userlandThreads;
- int kernelThreads;
- int runningTasks;
-
#ifdef HAVE_LIBHWLOC
hwloc_topology_t topology;
bool topologyOk;
#endif
- CPUData* cpus;
+
+ int totalTasks;
+ int runningTasks;
+ int userlandThreads;
+ int kernelThreads;
unsigned long long int totalMem;
unsigned long long int usedMem;
@@ -101,45 +58,21 @@ typedef struct ProcessList_ {
unsigned long long int usedSwap;
unsigned long long int freeSwap;
- int flags;
- ProcessField* fields;
- ProcessField sortKey;
- int direction;
- bool hideThreads;
- bool shadowOtherUsers;
- bool showThreadNames;
- bool showingThreadNames;
- bool hideKernelThreads;
- bool hideUserlandThreads;
- bool treeView;
- bool highlightBaseName;
- bool highlightMegabytes;
- bool highlightThreads;
- bool detailedCPUTime;
- bool countCPUsFromZero;
- bool updateProcessNames;
- bool accountGuestInCPUMeter;
- bool userOnly;
+ int cpuCount;
} ProcessList;
-ProcessList* ProcessList_new(UsersTable* ut, Hashtable* pidWhiteList);
+ProcessList* ProcessList_new(UsersTable* ut, Hashtable* pidWhiteList, uid_t userId);
void ProcessList_delete(ProcessList* pl);
-void ProcessList_scan(ProcessList* pl);
-
-
-extern const char *ProcessList_treeStrAscii[TREE_STR_COUNT];
+void ProcessList_goThroughEntries(ProcessList* pl);
-extern const char *ProcessList_treeStrUtf8[TREE_STR_COUNT];
-ProcessList* ProcessList_init(ProcessList* this, UsersTable* usersTable, Hashtable* pidWhiteList);
+ProcessList* ProcessList_init(ProcessList* this, UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId);
void ProcessList_done(ProcessList* this);
void ProcessList_setPanel(ProcessList* this, Panel* panel);
-void ProcessList_invertSortOrder(ProcessList* this);
-
void ProcessList_printHeader(ProcessList* this, RichString* header);
void ProcessList_add(ProcessList* this, Process* p);
@@ -156,7 +89,10 @@ ProcessField ProcessList_keyAt(ProcessList* this, int at);
void ProcessList_expandTree(ProcessList* this);
-void ProcessList_rebuildPanel(ProcessList* this, bool flags, int following, const char* incFilter);
+void ProcessList_rebuildPanel(ProcessList* this);
+
+Process* ProcessList_getProcess(ProcessList* this, pid_t pid, bool* preExisting, Process_New constructor);
+void ProcessList_scan(ProcessList* this);
#endif