/* 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 #include #include #include #include #include #include #include #include #include #include "debug.h" #include #ifndef PROCDIR #define PROCDIR "/proc" #endif #ifndef PROCSTATFILE #define PROCSTATFILE "/proc/stat" #endif #ifndef PROCMEMINFOFILE #define PROCMEMINFOFILE "/proc/meminfo" #endif #ifndef MAX_NAME #define MAX_NAME 128 #endif #ifndef MAX_READ #define MAX_READ 2048 #endif #ifdef DEBUG typedef int(*vxscanf)(void*, const char*, va_list); #endif typedef struct ProcessList_ { Vector* processes; Vector* processes2; Hashtable* processTable; Process* prototype; UsersTable* usersTable; int processorCount; int totalTasks; int runningTasks; unsigned long long int* totalTime; unsigned long long int* userTime; unsigned long long int* systemTime; unsigned long long int* idleTime; unsigned long long int* niceTime; unsigned long long int* totalPeriod; unsigned long long int* userPeriod; unsigned long long int* systemPeriod; unsigned long long int* idlePeriod; unsigned long long int* nicePeriod; 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 hideKernelThreads; bool hideUserlandThreads; bool treeView; bool highlightBaseName; bool highlightMegabytes; #ifdef DEBUG FILE* traceFile; #endif } ProcessList; #ifdef DEBUG #define ProcessList_read(this, buffer, format, ...) ProcessList_xread(this, (vxscanf) vsscanf, buffer, format, ## __VA_ARGS__ ) #define ProcessList_fread(this, file, format, ...) ProcessList_xread(this, (vxscanf) vfscanf, file, format, ## __VA_ARGS__ ) #else #ifndef ProcessList_read #define ProcessList_fopen(this, path, mode) fopen(path, mode) #define ProcessList_read(this, buffer, format, ...) sscanf(buffer, format, ## __VA_ARGS__ ) #define ProcessList_fread(this, file, format, ...) fscanf(file, format, ## __VA_ARGS__ ) #endif #endif ProcessList* ProcessList_new(UsersTable* usersTable); void ProcessList_delete(ProcessList* this); void ProcessList_invertSortOrder(ProcessList* this); RichString ProcessList_printHeader(ProcessList* this); void ProcessList_prune(ProcessList* this); void ProcessList_add(ProcessList* this, Process* p); void ProcessList_remove(ProcessList* this, Process* p); Process* ProcessList_get(ProcessList* this, int index); int ProcessList_size(ProcessList* this); void ProcessList_sort(ProcessList* this); bool ProcessList_readStatusFile(ProcessList* this, Process* proc, char* dirname, char* name); void ProcessList_processEntries(ProcessList* this, char* dirname, int parent, float period); void ProcessList_scan(ProcessList* this); #endif