diff options
author | Daniel Lange <DLange@git.local> | 2020-09-15 08:00:00 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2020-09-15 08:00:00 +0200 |
commit | f80394a20254938142011855f2954b3f63fe5909 (patch) | |
tree | b777de460977f21a6257540d6a687c86882850dc /linux | |
parent | 59eeadec918a955b40427a1b012992161050c939 (diff) | |
download | debian_htop-f80394a20254938142011855f2954b3f63fe5909.tar.gz debian_htop-f80394a20254938142011855f2954b3f63fe5909.tar.bz2 debian_htop-f80394a20254938142011855f2954b3f63fe5909.zip |
New upstream version 3.0.2upstream/3.0.2
Diffstat (limited to 'linux')
-rw-r--r-- | linux/Battery.h | 22 | ||||
-rw-r--r-- | linux/IOPriority.c | 40 | ||||
-rw-r--r-- | linux/IOPriority.h | 4 | ||||
-rw-r--r-- | linux/IOPriorityPanel.c | 5 | ||||
-rw-r--r-- | linux/IOPriorityPanel.h | 6 | ||||
-rw-r--r-- | linux/LinuxCRT.h | 7 | ||||
-rw-r--r-- | linux/LinuxProcess.c | 144 | ||||
-rw-r--r-- | linux/LinuxProcess.h | 25 | ||||
-rw-r--r-- | linux/LinuxProcessList.c | 99 | ||||
-rw-r--r-- | linux/LinuxProcessList.h | 46 | ||||
-rw-r--r-- | linux/Platform.c | 13 | ||||
-rw-r--r-- | linux/Platform.h | 28 |
12 files changed, 30 insertions, 409 deletions
diff --git a/linux/Battery.h b/linux/Battery.h index 261cff0..8ca0d7f 100644 --- a/linux/Battery.h +++ b/linux/Battery.h @@ -1,5 +1,3 @@ -/* Do not edit this file. It was automatically generated. */ - #ifndef HEADER_Battery #define HEADER_Battery /* @@ -11,24 +9,6 @@ in the source distribution for its full text. Linux battery readings written by Ian P. Hands (iphands@gmail.com, ihands@redhat.com). */ -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif - -#define SYS_POWERSUPPLY_DIR "/sys/class/power_supply" - -// ---------------------------------------- -// READ FROM /proc -// ---------------------------------------- - -// This implementation reading from from /proc/acpi is really inefficient, -// but I think this is on the way out so I did not rewrite it. -// The /sys implementation below does things the right way. - -// ---------------------------------------- -// READ FROM /sys -// ---------------------------------------- - -extern void Battery_getData(double* level, ACPresence* isOnAC); +void Battery_getData(double* level, ACPresence* isOnAC); #endif diff --git a/linux/IOPriority.c b/linux/IOPriority.c deleted file mode 100644 index 087f7f9..0000000 --- a/linux/IOPriority.c +++ /dev/null @@ -1,40 +0,0 @@ -/* -htop - IOPriority.c -(C) 2004-2012 Hisham H. Muhammad -Released under the GNU GPL, see the COPYING file -in the source distribution for its full text. - -Based on ionice, -Copyright (C) 2005 Jens Axboe <jens@axboe.dk> -Released under the terms of the GNU General Public License version 2 -*/ - -#include "IOPriority.h" - -/*{ - -enum { - IOPRIO_CLASS_NONE, - IOPRIO_CLASS_RT, - IOPRIO_CLASS_BE, - IOPRIO_CLASS_IDLE, -}; - -#define IOPRIO_WHO_PROCESS 1 - -#define IOPRIO_CLASS_SHIFT (13) -#define IOPRIO_PRIO_MASK ((1UL << IOPRIO_CLASS_SHIFT) - 1) - -#define IOPriority_class(ioprio_) ((int) ((ioprio_) >> IOPRIO_CLASS_SHIFT) ) -#define IOPriority_data(ioprio_) ((int) ((ioprio_) & IOPRIO_PRIO_MASK) ) - -typedef int IOPriority; - -#define IOPriority_tuple(class_, data_) (((class_) << IOPRIO_CLASS_SHIFT) | data_) - -#define IOPriority_error 0xffffffff - -#define IOPriority_None IOPriority_tuple(IOPRIO_CLASS_NONE, 0) -#define IOPriority_Idle IOPriority_tuple(IOPRIO_CLASS_IDLE, 7) - -}*/ diff --git a/linux/IOPriority.h b/linux/IOPriority.h index a4733e8..7c4f3b6 100644 --- a/linux/IOPriority.h +++ b/linux/IOPriority.h @@ -1,5 +1,3 @@ -/* Do not edit this file. It was automatically generated. */ - #ifndef HEADER_IOPriority #define HEADER_IOPriority /* @@ -13,7 +11,6 @@ Copyright (C) 2005 Jens Axboe <jens@axboe.dk> Released under the terms of the GNU General Public License version 2 */ - enum { IOPRIO_CLASS_NONE, IOPRIO_CLASS_RT, @@ -38,5 +35,4 @@ typedef int IOPriority; #define IOPriority_None IOPriority_tuple(IOPRIO_CLASS_NONE, 0) #define IOPriority_Idle IOPriority_tuple(IOPRIO_CLASS_IDLE, 7) - #endif diff --git a/linux/IOPriorityPanel.c b/linux/IOPriorityPanel.c index 22735bb..ebb77bf 100644 --- a/linux/IOPriorityPanel.c +++ b/linux/IOPriorityPanel.c @@ -7,11 +7,6 @@ in the source distribution for its full text. #include "IOPriorityPanel.h" -/*{ -#include "Panel.h" -#include "IOPriority.h" -#include "ListItem.h" -}*/ Panel* IOPriorityPanel_new(IOPriority currPrio) { Panel* this = Panel_new(1, 1, 1, 1, true, Class(ListItem), FunctionBar_newEnterEsc("Set ", "Cancel ")); diff --git a/linux/IOPriorityPanel.h b/linux/IOPriorityPanel.h index 906296e..04c1d43 100644 --- a/linux/IOPriorityPanel.h +++ b/linux/IOPriorityPanel.h @@ -1,5 +1,3 @@ -/* Do not edit this file. It was automatically generated. */ - #ifndef HEADER_IOPriorityPanel #define HEADER_IOPriorityPanel /* @@ -13,8 +11,8 @@ in the source distribution for its full text. #include "IOPriority.h" #include "ListItem.h" -extern Panel* IOPriorityPanel_new(IOPriority currPrio); +Panel* IOPriorityPanel_new(IOPriority currPrio); -extern IOPriority IOPriorityPanel_getIOPriority(Panel* this); +IOPriority IOPriorityPanel_getIOPriority(Panel* this); #endif diff --git a/linux/LinuxCRT.h b/linux/LinuxCRT.h index 966dfec..c379a8f 100644 --- a/linux/LinuxCRT.h +++ b/linux/LinuxCRT.h @@ -1,5 +1,3 @@ -/* Do not edit this file. It was automatically generated. */ - #ifndef HEADER_LinuxCRT #define HEADER_LinuxCRT /* @@ -9,9 +7,6 @@ Released under the GNU GPL, see the COPYING file in the source distribution for its full text. */ -#ifdef HAVE_EXECINFO_H -#endif - -extern void CRT_handleSIGSEGV(int sgn); +void CRT_handleSIGSEGV(int sgn); #endif diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c index 5970c93..377aa5b 100644 --- a/linux/LinuxProcess.c +++ b/linux/LinuxProcess.c @@ -18,150 +18,6 @@ in the source distribution for its full text. #include <sys/syscall.h> #include <time.h> -/*{ - -#define PROCESS_FLAG_LINUX_IOPRIO 0x0100 -#define PROCESS_FLAG_LINUX_OPENVZ 0x0200 -#define PROCESS_FLAG_LINUX_VSERVER 0x0400 -#define PROCESS_FLAG_LINUX_CGROUP 0x0800 -#define PROCESS_FLAG_LINUX_OOM 0x1000 -#define PROCESS_FLAG_LINUX_SMAPS 0x2000 - -typedef enum UnsupportedProcessFields { - FLAGS = 9, - ITREALVALUE = 20, - VSIZE = 22, - RSS = 23, - RLIM = 24, - STARTCODE = 25, - ENDCODE = 26, - STARTSTACK = 27, - KSTKESP = 28, - KSTKEIP = 29, - SIGNAL = 30, - BLOCKED = 31, - SSIGIGNORE = 32, - SIGCATCH = 33, - WCHAN = 34, - NSWAP = 35, - CNSWAP = 36, - EXIT_SIGNAL = 37, -} UnsupportedProcessField; - -typedef enum LinuxProcessFields { - CMINFLT = 11, - CMAJFLT = 13, - UTIME = 14, - STIME = 15, - CUTIME = 16, - CSTIME = 17, - M_SHARE = 41, - M_TRS = 42, - M_DRS = 43, - M_LRS = 44, - M_DT = 45, - #ifdef HAVE_OPENVZ - CTID = 100, - VPID = 101, - #endif - #ifdef HAVE_VSERVER - VXID = 102, - #endif - #ifdef HAVE_TASKSTATS - RCHAR = 103, - WCHAR = 104, - SYSCR = 105, - SYSCW = 106, - RBYTES = 107, - WBYTES = 108, - CNCLWB = 109, - IO_READ_RATE = 110, - IO_WRITE_RATE = 111, - IO_RATE = 112, - #endif - #ifdef HAVE_CGROUP - CGROUP = 113, - #endif - OOM = 114, - IO_PRIORITY = 115, - #ifdef HAVE_DELAYACCT - PERCENT_CPU_DELAY = 116, - PERCENT_IO_DELAY = 117, - PERCENT_SWAP_DELAY = 118, - #endif - M_PSS = 119, - M_SWAP = 120, - M_PSSWP = 121, - LAST_PROCESSFIELD = 122, -} LinuxProcessField; - -#include "IOPriority.h" - -typedef struct LinuxProcess_ { - Process super; - bool isKernelThread; - IOPriority ioPriority; - unsigned long int cminflt; - unsigned long int cmajflt; - unsigned long long int utime; - unsigned long long int stime; - unsigned long long int cutime; - unsigned long long int cstime; - long m_share; - long m_pss; - long m_swap; - long m_psswp; - long m_trs; - long m_drs; - long m_lrs; - long m_dt; - unsigned long long starttime; - #ifdef HAVE_TASKSTATS - unsigned long long io_rchar; - unsigned long long io_wchar; - unsigned long long io_syscr; - unsigned long long io_syscw; - unsigned long long io_read_bytes; - unsigned long long io_write_bytes; - unsigned long long io_cancelled_write_bytes; - unsigned long long io_rate_read_time; - unsigned long long io_rate_write_time; - double io_rate_read_bps; - double io_rate_write_bps; - #endif - #ifdef HAVE_OPENVZ - unsigned int ctid; - unsigned int vpid; - #endif - #ifdef HAVE_VSERVER - unsigned int vxid; - #endif - #ifdef HAVE_CGROUP - char* cgroup; - #endif - unsigned int oom; - char* ttyDevice; - #ifdef HAVE_DELAYACCT - unsigned long long int delay_read_time; - unsigned long long cpu_delay_total; - unsigned long long blkio_delay_total; - unsigned long long swapin_delay_total; - float cpu_delay_percent; - float blkio_delay_percent; - float swapin_delay_percent; - #endif -} LinuxProcess; - -#ifndef Process_isKernelThread -#define Process_isKernelThread(_process) (((LinuxProcess*)(_process))->isKernelThread) -#endif - -#ifndef Process_isUserlandThread -#define Process_isUserlandThread(_process) (_process->pid != _process->tgid) -#endif - -}*/ - /* semi-global */ long long btime; diff --git a/linux/LinuxProcess.h b/linux/LinuxProcess.h index 7c0a11f..021cae7 100644 --- a/linux/LinuxProcess.h +++ b/linux/LinuxProcess.h @@ -1,5 +1,3 @@ -/* Do not edit this file. It was automatically generated. */ - #ifndef HEADER_LinuxProcess #define HEADER_LinuxProcess /* @@ -10,7 +8,6 @@ Released under the GNU GPL, see the COPYING file in the source distribution for its full text. */ - #define PROCESS_FLAG_LINUX_IOPRIO 0x0100 #define PROCESS_FLAG_LINUX_OPENVZ 0x0200 #define PROCESS_FLAG_LINUX_VSERVER 0x0400 @@ -143,16 +140,10 @@ typedef struct LinuxProcess_ { #endif } LinuxProcess; -#ifndef Process_isKernelThread #define Process_isKernelThread(_process) (((LinuxProcess*)(_process))->isKernelThread) -#endif -#ifndef Process_isUserlandThread #define Process_isUserlandThread(_process) (_process->pid != _process->tgid) -#endif - -/* semi-global */ extern long long btime; extern ProcessFieldData Process_fields[]; @@ -161,9 +152,9 @@ extern ProcessPidColumn Process_pidColumns[]; extern ProcessClass LinuxProcess_class; -extern LinuxProcess* LinuxProcess_new(Settings* settings); +LinuxProcess* LinuxProcess_new(Settings* settings); -extern void Process_delete(Object* cast); +void Process_delete(Object* cast); /* [1] Note that before kernel 2.6.26 a process that has not asked for @@ -175,18 +166,18 @@ extern io_priority; */ #define LinuxProcess_effectiveIOPriority(p_) (IOPriority_class(p_->ioPriority) == IOPRIO_CLASS_NONE ? IOPriority_tuple(IOPRIO_CLASS_BE, (p_->super.nice + 20) / 5) : p_->ioPriority) -extern IOPriority LinuxProcess_updateIOPriority(LinuxProcess* this); +IOPriority LinuxProcess_updateIOPriority(LinuxProcess* this); -extern bool LinuxProcess_setIOPriority(LinuxProcess* this, Arg ioprio); +bool LinuxProcess_setIOPriority(LinuxProcess* this, Arg ioprio); #ifdef HAVE_DELAYACCT -extern void LinuxProcess_printDelay(float delay_percent, char* buffer, int n); +void LinuxProcess_printDelay(float delay_percent, char* buffer, int n); #endif -extern void LinuxProcess_writeField(Process* this, RichString* str, ProcessField field); +void LinuxProcess_writeField(Process* this, RichString* str, ProcessField field); -extern long LinuxProcess_compare(const void* v1, const void* v2); +long LinuxProcess_compare(const void* v1, const void* v2); -extern bool Process_isThread(Process* this); +bool Process_isThread(Process* this); #endif diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c index 732a86b..8dae13c 100644 --- a/linux/LinuxProcessList.c +++ b/linux/LinuxProcessList.c @@ -42,99 +42,6 @@ in the source distribution for its full text. #include <linux/taskstats.h> #endif -/*{ - -#include "ProcessList.h" -#include "zfs/ZfsArcStats.h" - -extern long long btime; - -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; - - double frequency; -} 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; - bool haveSmapsRollup; - - #ifdef HAVE_DELAYACCT - struct nl_sock *netlink_socket; - int netlink_family; - #endif - - ZfsArcStats zfs; -} LinuxProcessList; - -#ifndef PROCDIR -#define PROCDIR "/proc" -#endif - -#ifndef PROCCPUINFOFILE -#define PROCCPUINFOFILE PROCDIR "/cpuinfo" -#endif - -#ifndef PROCSTATFILE -#define PROCSTATFILE PROCDIR "/stat" -#endif - -#ifndef PROCMEMINFOFILE -#define PROCMEMINFOFILE PROCDIR "/meminfo" -#endif - -#ifndef PROCARCSTATSFILE -#define PROCARCSTATSFILE PROCDIR "/spl/kstat/zfs/arcstats" -#endif - -#ifndef PROCTTYDRIVERSFILE -#define PROCTTYDRIVERSFILE PROCDIR "/tty/drivers" -#endif - -#ifndef PROC_LINE_LENGTH -#define PROC_LINE_LENGTH 4096 -#endif - -}*/ - -#ifndef CLAMP -#define CLAMP(x,low,high) (((x)>(high))?(high):(((x)<(low))?(low):(x))) -#endif - static ssize_t xread(int fd, void *buf, size_t count) { // Read some bytes. Retry on EINTR and when we don't get as many bytes as we requested. size_t alreadyRead = 0; @@ -242,11 +149,11 @@ static void LinuxProcessList_initNetlinkSocket(LinuxProcessList* this) { #endif -ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId) { +ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidMatchList, uid_t userId) { LinuxProcessList* this = xCalloc(1, sizeof(LinuxProcessList)); ProcessList* pl = &(this->super); - ProcessList_init(pl, Class(LinuxProcess), usersTable, pidWhiteList, userId); + ProcessList_init(pl, Class(LinuxProcess), usersTable, pidMatchList, userId); LinuxProcessList_initTtyDrivers(this); #ifdef HAVE_DELAYACCT @@ -283,7 +190,7 @@ ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, ui fclose(file); - pl->cpuCount = MAX(cpus - 1, 1); + pl->cpuCount = MAXIMUM(cpus - 1, 1); this->cpus = xCalloc(cpus, sizeof(CPUData)); for (int i = 0; i < cpus; i++) { diff --git a/linux/LinuxProcessList.h b/linux/LinuxProcessList.h index 86e9d3f..c484e75 100644 --- a/linux/LinuxProcessList.h +++ b/linux/LinuxProcessList.h @@ -1,5 +1,3 @@ -/* Do not edit this file. It was automatically generated. */ - #ifndef HEADER_LinuxProcessList #define HEADER_LinuxProcessList /* @@ -9,14 +7,6 @@ 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) -#endif - -#ifdef HAVE_DELAYACCT -#endif - - #include "ProcessList.h" #include "zfs/ZfsArcStats.h" @@ -102,40 +92,10 @@ typedef struct LinuxProcessList_ { #define PROC_LINE_LENGTH 4096 #endif +ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidMatchList, uid_t userId); -#ifndef CLAMP -#define CLAMP(x,low,high) (((x)>(high))?(high):(((x)<(low))?(low):(x))) -#endif - -#ifdef HAVE_DELAYACCT - -#endif - -extern ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId); - -extern 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 +void ProcessList_delete(ProcessList* pl); -extern void ProcessList_goThroughEntries(ProcessList* super); +void ProcessList_goThroughEntries(ProcessList* super); #endif diff --git a/linux/Platform.c b/linux/Platform.c index 0f59fed..e82d8f8 100644 --- a/linux/Platform.c +++ b/linux/Platform.c @@ -32,17 +32,6 @@ in the source distribution for its full text. #include <stdio.h> #include <stdlib.h> -/*{ -#include "Action.h" -#include "MainPanel.h" -#include "BatteryMeter.h" -#include "LinuxProcess.h" -#include "SignalsPanel.h" -}*/ - -#ifndef CLAMP -#define CLAMP(x,low,high) (((x)>(high))?(high):(((x)<(low))?(low):(x))) -#endif ProcessField Platform_defaultFields[] = { PID, USER, PRIORITY, NICE, M_SIZE, M_RESIDENT, (int)M_SHARE, STATE, PERCENT_CPU, PERCENT_MEM, TIME, COMM, 0 }; @@ -248,7 +237,7 @@ char* Platform_getProcessEnv(pid_t pid) { if (fd) { size_t capacity = 4096, size = 0, bytes; env = xMalloc(capacity); - while (env && (bytes = fread(env+size, 1, capacity-size, fd)) > 0) { + while ((bytes = fread(env+size, 1, capacity-size, fd)) > 0) { size += bytes; capacity *= 2; env = xRealloc(env, capacity); diff --git a/linux/Platform.h b/linux/Platform.h index bf163a5..9f0ee7f 100644 --- a/linux/Platform.h +++ b/linux/Platform.h @@ -1,5 +1,3 @@ -/* Do not edit this file. It was automatically generated. */ - #ifndef HEADER_Platform #define HEADER_Platform /* @@ -15,10 +13,6 @@ in the source distribution for its full text. #include "LinuxProcess.h" #include "SignalsPanel.h" -#ifndef CLAMP -#define CLAMP(x,low,high) (((x)>(high))?(high):(((x)<(low))?(low):(x))) -#endif - extern ProcessField Platform_defaultFields[]; extern int Platform_numberOfFields; @@ -27,27 +21,27 @@ extern const SignalItem Platform_signals[]; extern const unsigned int Platform_numberOfSignals; -extern void Platform_setBindings(Htop_Action* keys); +void Platform_setBindings(Htop_Action* keys); extern MeterClass* Platform_meterTypes[]; -extern int Platform_getUptime(); +int Platform_getUptime(); -extern void Platform_getLoadAverage(double* one, double* five, double* fifteen); +void Platform_getLoadAverage(double* one, double* five, double* fifteen); -extern int Platform_getMaxPid(); +int Platform_getMaxPid(); -extern double Platform_setCPUValues(Meter* this, int cpu); +double Platform_setCPUValues(Meter* this, int cpu); -extern void Platform_setMemoryValues(Meter* this); +void Platform_setMemoryValues(Meter* this); -extern void Platform_setSwapValues(Meter* this); +void Platform_setSwapValues(Meter* this); -extern void Platform_setZfsArcValues(Meter* this); +void Platform_setZfsArcValues(Meter* this); -extern void Platform_setZfsCompressedArcValues(Meter* this); -extern char* Platform_getProcessEnv(pid_t pid); +void Platform_setZfsCompressedArcValues(Meter* this); +char* Platform_getProcessEnv(pid_t pid); -extern void Platform_getPressureStall(const char *file, bool some, double* ten, double* sixty, double* threehundred); +void Platform_getPressureStall(const char *file, bool some, double* ten, double* sixty, double* threehundred); #endif |