You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
188 lines
4.1 KiB
188 lines
4.1 KiB
/* 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. |
|
*/ |
|
|
|
#include "Vector.h" |
|
#include "Hashtable.h" |
|
#include "UsersTable.h" |
|
#include "Panel.h" |
|
#include "Process.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 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; |
|
Vector* processes; |
|
Vector* processes2; |
|
Hashtable* processTable; |
|
UsersTable* usersTable; |
|
|
|
Panel* panel; |
|
int following; |
|
uid_t userId; |
|
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; |
|
|
|
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; |
|
|
|
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; |
|
|
|
} ProcessList; |
|
|
|
|
|
extern const char *ProcessList_treeStrAscii[TREE_STR_COUNT]; |
|
|
|
extern const char *ProcessList_treeStrUtf8[TREE_STR_COUNT]; |
|
|
|
ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList); |
|
|
|
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 |
|
|
|
#ifdef HAVE_OOM |
|
|
|
#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, int following, bool userOnly, uid_t userId, const char* incFilter); |
|
|
|
#endif
|
|
|