/* Do not edit this file. It was automatically generated. */ #ifndef HEADER_LinuxProcessList #define HEADER_LinuxProcessList /* htop - LinuxProcessList.h (C) 2014 Hisham H. Muhammad Released under the GNU GPL, see the COPYING file in the source distribution for its full text. */ #ifdef MAJOR_IN_MKDEV #elif defined(MAJOR_IN_SYSMACROS) || \ (defined(HAVE_SYS_SYSMACROS_H) && HAVE_SYS_SYSMACROS_H) #endif #ifdef HAVE_DELAYACCT #endif #include "ProcessList.h" 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 TtyDriver_ { char* path; unsigned int major; unsigned int minorFrom; unsigned int minorTo; } TtyDriver; typedef struct LinuxProcessList_ { ProcessList super; CPUData* cpus; TtyDriver* ttyDrivers; #ifdef HAVE_DELAYACCT struct nl_sock *netlink_socket; int netlink_family; #endif } LinuxProcessList; #ifndef PROCDIR #define PROCDIR "/proc" #endif #ifndef PROCSTATFILE #define PROCSTATFILE PROCDIR "/stat" #endif #ifndef PROCMEMINFOFILE #define PROCMEMINFOFILE PROCDIR "/meminfo" #endif #ifndef PROCTTYDRIVERSFILE #define PROCTTYDRIVERSFILE PROCDIR "/tty/drivers" #endif #ifndef PROC_LINE_LENGTH #define PROC_LINE_LENGTH 512 #endif #ifndef CLAMP #define CLAMP(x,low,high) (((x)>(high))?(high):(((x)<(low))?(low):(x))) #endif #ifdef HAVE_DELAYACCT #endif ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId); void ProcessList_delete(ProcessList* pl); #ifdef HAVE_TASKSTATS #endif #ifdef HAVE_OPENVZ #endif #ifdef HAVE_CGROUP #endif #ifdef HAVE_VSERVER #endif #ifdef HAVE_DELAYACCT #endif #ifdef HAVE_PERFCOUNTERS #define READ_COUNTER(_b, _var, _flag, _type, _config) \ bool _b ## Ok = false; \ uint64_t _b ## Delta = 0; \ if (flags & _flag) { \ if (!_var) { \ _var = PerfCounter_new(lp->super.pid, _type, _config); \ _b ## Ok = PerfCounter_read(_var); \ _b ## Delta = 0; \ } else { \ _b ## Ok = PerfCounter_read(_var); \ _b ## Delta = PerfCounter_delta(_var); \ } \ if (_b ## Ok) { \ } \ } else { \ if (_var) { \ PerfCounter_delete(_var); \ _var = NULL; \ } \ } #define SET_IF(_ok, _var, _exp) \ if (_ok) { \ _var = _exp; \ } else { \ _var = -1; \ } #define SET_IFNZ(_ok, _z, _var, _exp) \ if (_ok) { \ if (_z > 0) { \ _var = _exp; \ } else { \ _var = 0; \ } \ } else { \ _var = -1; \ } #define L1DR (PERF_COUNT_HW_CACHE_L1D | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)) #define L1DRM (PERF_COUNT_HW_CACHE_L1D | (PERF_COUNT_HW_CACHE_OP_READ << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)) #define L1DW (PERF_COUNT_HW_CACHE_L1D | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)) #define L1DWM (PERF_COUNT_HW_CACHE_L1D | (PERF_COUNT_HW_CACHE_OP_WRITE << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)) #endif void ProcessList_goThroughEntries(ProcessList* super); #endif