| /* Do not edit this file. It was automatically generated. */ |
| |
| #ifndef HEADER_LinuxProcess |
| #define HEADER_LinuxProcess |
| /* |
| htop - LinuxProcess.h |
| (C) 2014 Hisham H. Muhammad |
| 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 |
| #define PROCESS_FLAG_LINUX_CGROUP 0x0800 |
| |
| typedef enum LinuxProcessFields { |
| PID = 1, COMM, STATE, PPID, PGRP, SESSION, TTY_NR, TPGID, FLAGS, MINFLT, CMINFLT, MAJFLT, CMAJFLT, UTIME, |
| STIME, CUTIME, CSTIME, PRIORITY, NICE, ITREALVALUE, STARTTIME, VSIZE, RSS, RLIM, STARTCODE, ENDCODE, |
| STARTSTACK, KSTKESP, KSTKEIP, SIGNAL, BLOCKED, SSIGIGNORE, SIGCATCH, WCHAN, NSWAP, CNSWAP, EXIT_SIGNAL, |
| PROCESSOR, M_SIZE, M_RESIDENT, M_SHARE, M_TRS, M_DRS, M_LRS, M_DT, ST_UID, PERCENT_CPU, PERCENT_MEM, |
| USER, TIME, NLWP, TGID, |
| #ifdef HAVE_OPENVZ |
| CTID, VPID, |
| #endif |
| #ifdef HAVE_VSERVER |
| VXID, |
| #endif |
| #ifdef HAVE_TASKSTATS |
| RCHAR, WCHAR, SYSCR, SYSCW, RBYTES, WBYTES, CNCLWB, IO_READ_RATE, IO_WRITE_RATE, IO_RATE, |
| #endif |
| #ifdef HAVE_CGROUP |
| CGROUP, |
| #endif |
| #ifdef HAVE_OOM |
| OOM, |
| #endif |
| IO_PRIORITY, |
| LAST_PROCESSFIELD |
| } LinuxProcessField; |
| |
| #include "IOPriority.h" |
| |
| typedef struct LinuxProcess_ { |
| Process super; |
| IOPriority ioPriority; |
| } LinuxProcess; |
| |
| #define Process_delete LinuxProcess_delete |
| |
| |
| extern ProcessFieldData Process_fields[]; |
| |
| extern char* Process_pidFormat; |
| extern char* Process_tpgidFormat; |
| |
| void Process_setupColumnWidths(); |
| |
| LinuxProcess* LinuxProcess_new(Settings* settings); |
| |
| void LinuxProcess_delete(Object* cast); |
| |
| /* |
| [1] Note that before kernel 2.6.26 a process that has not asked for |
| an io priority formally uses "none" as scheduling class, but the |
| io scheduler will treat such processes as if it were in the best |
| effort class. The priority within the best effort class will be |
| dynamically derived from the cpu nice level of the process: |
| 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) |
| |
| IOPriority LinuxProcess_updateIOPriority(LinuxProcess* this); |
| |
| bool LinuxProcess_setIOPriority(LinuxProcess* this, IOPriority ioprio); |
| |
| void Process_writeField(Process* this, RichString* str, ProcessField field); |
| |
| long Process_compare(const void* v1, const void* v2); |
| |
| #endif |