diff --git a/darwin/Platform.h b/darwin/Platform.h index 6b3e3d2d..af3a132a 100644 --- a/darwin/Platform.h +++ b/darwin/Platform.h @@ -16,6 +16,10 @@ in the source distribution for its full text. extern ProcessField Platform_defaultFields[]; +extern SignalItem Platform_signals[]; + +extern unsigned int Platform_numberOfSignals; + extern ProcessFieldData Process_fields[]; extern MeterClass* Platform_meterTypes[]; @@ -30,6 +34,8 @@ void Platform_getLoadAverage(double* one, double* five, double* fifteen); int Platform_getMaxPid(); +extern ProcessPidColumn Process_pidColumns[]; + double Platform_setCPUValues(Meter* mtr, int cpu); void Platform_setMemoryValues(Meter* mtr); diff --git a/freebsd/FreeBSDCRT.h b/freebsd/FreeBSDCRT.h index 3c808ca6..eb1091a9 100644 --- a/freebsd/FreeBSDCRT.h +++ b/freebsd/FreeBSDCRT.h @@ -1,7 +1,7 @@ /* Do not edit this file. It was automatically generated. */ -#ifndef HEADER_UnsupportedCRT -#define HEADER_UnsupportedCRT +#ifndef HEADER_FreeBSDCRT +#define HEADER_FreeBSDCRT /* htop - UnsupportedCRT.h (C) 2014 Hisham H. Muhammad diff --git a/freebsd/FreeBSDProcess.h b/freebsd/FreeBSDProcess.h index e11d40d0..23d298a3 100644 --- a/freebsd/FreeBSDProcess.h +++ b/freebsd/FreeBSDProcess.h @@ -12,15 +12,22 @@ in the source distribution for its full text. typedef enum FreeBSDProcessFields { // Add platform-specific fields here, with ids >= 100 - LAST_PROCESSFIELD = 100, + JID = 100, + JAIL = 101, + LAST_PROCESSFIELD = 102, } FreeBSDProcessField; + typedef struct FreeBSDProcess_ { Process super; + int kernel; + int jid; + char* jname; } FreeBSDProcess; + #ifndef Process_isKernelThread -#define Process_isKernelThread(_process) (_process->pgrp == 0) +#define Process_isKernelThread(_process) (_process->kernel == 1) #endif #ifndef Process_isUserlandThread @@ -32,7 +39,7 @@ extern ProcessClass FreeBSDProcess_class; extern ProcessFieldData Process_fields[]; -extern char* Process_pidFormat; +extern ProcessPidColumn Process_pidColumns[]; FreeBSDProcess* FreeBSDProcess_new(Settings* settings); diff --git a/freebsd/FreeBSDProcessList.h b/freebsd/FreeBSDProcessList.h index 9889f7c2..d3ccfc3a 100644 --- a/freebsd/FreeBSDProcessList.h +++ b/freebsd/FreeBSDProcessList.h @@ -11,6 +11,12 @@ in the source distribution for its full text. #include +#include +#include +#include + +#define JAIL_ERRMSGLEN 1024 +char jail_errmsg[JAIL_ERRMSGLEN]; typedef struct CPUData_ { unsigned long long int totalTime; @@ -32,6 +38,8 @@ void ProcessList_delete(ProcessList* this); char* FreeBSDProcessList_readProcessName(kvm_t* kd, struct kinfo_proc* kproc, int* basenameEnd); +char* FreeBSDProcessList_readJailName(struct kinfo_proc* kproc); + void ProcessList_goThroughEntries(ProcessList* this); #endif diff --git a/freebsd/Platform.h b/freebsd/Platform.h index 3758f57d..ef46442a 100644 --- a/freebsd/Platform.h +++ b/freebsd/Platform.h @@ -11,6 +11,7 @@ in the source distribution for its full text. #include "Action.h" #include "BatteryMeter.h" +#include "SignalsPanel.h" extern ProcessFieldData Process_fields[]; @@ -19,6 +20,10 @@ extern ProcessField Platform_defaultFields[]; extern int Platform_numberOfFields; +extern SignalItem Platform_signals[]; + +extern unsigned int Platform_numberOfSignals; + void Platform_setBindings(Htop_Action* keys); extern MeterClass* Platform_meterTypes[]; diff --git a/openbsd/OpenBSDCRT.h b/openbsd/OpenBSDCRT.h index 3af9787d..c48309a7 100644 --- a/openbsd/OpenBSDCRT.h +++ b/openbsd/OpenBSDCRT.h @@ -1,7 +1,7 @@ /* Do not edit this file. It was automatically generated. */ -#ifndef HEADER_UnsupportedCRT -#define HEADER_UnsupportedCRT +#ifndef HEADER_OpenBSDCRT +#define HEADER_OpenBSDCRT /* htop - UnsupportedCRT.h (C) 2014 Hisham H. Muhammad diff --git a/openbsd/Platform.h b/openbsd/Platform.h index 971c7bf5..a59d2ef5 100644 --- a/openbsd/Platform.h +++ b/openbsd/Platform.h @@ -12,7 +12,6 @@ in the source distribution for its full text. #include "Action.h" #include "BatteryMeter.h" -#include "SignalsPanel.h" extern ProcessFieldData Process_fields[]; @@ -36,6 +35,9 @@ extern ProcessField Platform_defaultFields[]; extern int Platform_numberOfFields; +/* + * See /usr/include/sys/signal.h + */ extern SignalItem Platform_signals[]; extern unsigned int Platform_numberOfSignals;