| /* Do not edit this file. It was automatically generated. */ |
| |
| #ifndef HEADER_ProcessList |
| #define HEADER_ProcessList |
| /* |
| htop - ProcessList.h |
| (C) 2004,2005 Hisham H. Muhammad |
| Released under the GNU GPL, see the COPYING file |
| in the source distribution for its full text. |
| */ |
| |
| #ifndef CONFIG_H |
| #define CONFIG_H |
| #include "config.h" |
| #endif |
| |
| #include "Process.h" |
| #include "Vector.h" |
| #include "UsersTable.h" |
| #include "Hashtable.h" |
| #include "String.h" |
| #include "Panel.h" |
| |
| #include <sys/types.h> |
| #include <sys/stat.h> |
| #include <unistd.h> |
| #include <dirent.h> |
| #include <stdlib.h> |
| #include <stdio.h> |
| #include <signal.h> |
| #include <stdbool.h> |
| #include <sys/utsname.h> |
| #include <stdarg.h> |
| #include <math.h> |
| |
| #include "debug.h" |
| #include <assert.h> |
| |
| |
| #ifndef PROCDIR |
| #define PROCDIR "/proc" |
| #endif |
| |
| #ifndef PROCSTATFILE |
| #define PROCSTATFILE PROCDIR "/stat" |
| #endif |
| |
| #ifndef PROCMEMINFOFILE |
| #define PROCMEMINFOFILE PROCDIR "/meminfo" |
| #endif |
| |
| #ifndef MAX_NAME |
| #define MAX_NAME 128 |
| #endif |
| |
| #ifndef MAX_READ |
| #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 enum TreeType_ { |
| TREE_TYPE_AUTO, |
| TREE_TYPE_ASCII, |
| TREE_TYPE_UTF8, |
| } TreeType; |
| |
| 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_ { |
| Vector* processes; |
| Vector* processes2; |
| Hashtable* processTable; |
| UsersTable* usersTable; |
| |
| Panel* panel; |
| bool follow; |
| bool userOnly; |
| uid_t userId; |
| bool filtering; |
| const char* incFilter; |
| |
| int cpuCount; |
| int totalTasks; |
| int userlandThreads; |
| int kernelThreads; |
| int runningTasks; |
| |
| #ifdef HAVE_LIBHWLOC |
| hwloc_topology_t topology; |
| bool topologyOk; |
| #endif |
| CPUData* cpus; |
| |
| unsigned long long int totalMem; |
| unsigned long long int usedMem; |
| unsigned long long int freeMem; |
| unsigned long long int sharedMem; |
| unsigned long long int buffersMem; |
| unsigned long long int cachedMem; |
| unsigned long long int totalSwap; |
| unsigned long long int usedSwap; |
| unsigned long long int freeSwap; |
| |
| 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; |
| const char **treeStr; |
| |
| } ProcessList; |
| |
| |
| extern const char *ProcessList_treeStrAscii[TREE_STR_COUNT]; |
| |
| extern const char *ProcessList_treeStrUtf8[TREE_STR_COUNT]; |
| |
| ProcessList* ProcessList_new(UsersTable* usersTable); |
| |
| void ProcessList_delete(ProcessList* this); |
| |
| void ProcessList_setPanel(ProcessList* this, Panel* panel); |
| |
| void ProcessList_invertSortOrder(ProcessList* this); |
| |
| void ProcessList_printHeader(ProcessList* this, RichString* header); |
| |
| Process* ProcessList_get(ProcessList* this, int idx); |
| |
| int ProcessList_size(ProcessList* this); |
| |
| void ProcessList_sort(ProcessList* this); |
| |
| #ifdef HAVE_TASKSTATS |
| |
| #endif |
| |
| #ifdef HAVE_OPENVZ |
| |
| #endif |
| |
| #ifdef HAVE_CGROUP |
| |
| #endif |
| |
| #ifdef HAVE_VSERVER |
| |
| #endif |
| |
| |
| void ProcessList_scan(ProcessList* this); |
| |
| ProcessField ProcessList_keyAt(ProcessList* this, int at); |
| |
| void ProcessList_expandTree(ProcessList* this); |
| |
| void ProcessList_rebuildPanel(ProcessList* this, bool flags, bool follow, bool userOnly, uid_t userId, bool filtering, const char* incFilter); |
| |
| #endif |