2014-11-24 18:55:49 -02:00
|
|
|
/*
|
|
|
|
htop - unsupported/Platform.c
|
|
|
|
(C) 2014 Hisham H. Muhammad
|
2015-07-12 11:26:33 -05:00
|
|
|
(C) 2015 David C. Hunt
|
2021-09-22 11:33:00 +02:00
|
|
|
Released under the GNU GPLv2+, see the COPYING file
|
2014-11-24 18:55:49 -02:00
|
|
|
in the source distribution for its full text.
|
|
|
|
*/
|
|
|
|
|
2021-01-28 18:19:38 +01:00
|
|
|
#include "config.h" // IWYU pragma: keep
|
2020-09-07 12:24:32 +02:00
|
|
|
|
2021-04-29 23:43:36 +05:30
|
|
|
#include "unsupported/Platform.h"
|
2021-01-28 18:19:38 +01:00
|
|
|
|
|
|
|
#include <math.h>
|
|
|
|
|
2014-11-27 19:18:14 -02:00
|
|
|
#include "CPUMeter.h"
|
|
|
|
#include "ClockMeter.h"
|
2020-10-05 13:52:58 +02:00
|
|
|
#include "DateMeter.h"
|
|
|
|
#include "DateTimeMeter.h"
|
2014-11-27 19:18:14 -02:00
|
|
|
#include "HostnameMeter.h"
|
2021-01-28 18:19:38 +01:00
|
|
|
#include "LoadAverageMeter.h"
|
|
|
|
#include "Macros.h"
|
|
|
|
#include "MemoryMeter.h"
|
2021-08-10 21:32:05 +02:00
|
|
|
#include "MemorySwapMeter.h"
|
2021-01-28 18:19:38 +01:00
|
|
|
#include "SwapMeter.h"
|
2021-01-27 15:15:48 +05:30
|
|
|
#include "SysArchMeter.h"
|
2021-01-28 18:19:38 +01:00
|
|
|
#include "TasksMeter.h"
|
2014-11-27 19:41:14 -02:00
|
|
|
#include "UptimeMeter.h"
|
2014-11-24 18:55:49 -02:00
|
|
|
|
|
|
|
|
2021-08-31 15:38:52 +10:00
|
|
|
const ScreenDefaults Platform_defaultScreens[] = {
|
|
|
|
{
|
|
|
|
.name = "Main",
|
2021-12-16 15:43:35 +01:00
|
|
|
.columns = "PID USER PRIORITY NICE M_VIRT M_RESIDENT STATE PERCENT_CPU PERCENT_MEM TIME Command",
|
2021-08-31 15:38:52 +10:00
|
|
|
.sortKey = "PERCENT_CPU",
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
const unsigned int Platform_numberOfDefaultScreens = ARRAYSIZE(Platform_defaultScreens);
|
|
|
|
|
2016-08-30 20:41:17 +08:00
|
|
|
const SignalItem Platform_signals[] = {
|
2016-02-14 11:45:47 -02:00
|
|
|
{ .name = " 0 Cancel", .number = 0 },
|
|
|
|
};
|
|
|
|
|
2020-10-03 22:00:27 +02:00
|
|
|
const unsigned int Platform_numberOfSignals = ARRAYSIZE(Platform_signals);
|
2016-02-14 11:45:47 -02:00
|
|
|
|
2020-10-05 13:19:50 +02:00
|
|
|
const MeterClass* const Platform_meterTypes[] = {
|
2014-11-27 19:18:14 -02:00
|
|
|
&CPUMeter_class,
|
|
|
|
&ClockMeter_class,
|
2020-10-05 13:52:58 +02:00
|
|
|
&DateMeter_class,
|
|
|
|
&DateTimeMeter_class,
|
2014-11-27 19:18:14 -02:00
|
|
|
&LoadAverageMeter_class,
|
|
|
|
&LoadMeter_class,
|
|
|
|
&MemoryMeter_class,
|
|
|
|
&SwapMeter_class,
|
2021-08-10 21:32:05 +02:00
|
|
|
&MemorySwapMeter_class,
|
2014-11-27 19:18:14 -02:00
|
|
|
&TasksMeter_class,
|
|
|
|
&BatteryMeter_class,
|
|
|
|
&HostnameMeter_class,
|
2021-01-27 15:15:48 +05:30
|
|
|
&SysArchMeter_class,
|
2014-11-27 19:41:14 -02:00
|
|
|
&UptimeMeter_class,
|
2014-11-27 19:18:14 -02:00
|
|
|
&AllCPUsMeter_class,
|
|
|
|
&AllCPUs2Meter_class,
|
2020-09-24 20:50:29 +01:00
|
|
|
&AllCPUs4Meter_class,
|
2020-09-24 20:56:40 +01:00
|
|
|
&AllCPUs8Meter_class,
|
2014-11-27 19:18:14 -02:00
|
|
|
&LeftCPUsMeter_class,
|
|
|
|
&RightCPUsMeter_class,
|
|
|
|
&LeftCPUs2Meter_class,
|
|
|
|
&RightCPUs2Meter_class,
|
2020-09-24 20:50:29 +01:00
|
|
|
&LeftCPUs4Meter_class,
|
|
|
|
&RightCPUs4Meter_class,
|
2020-09-24 20:56:40 +01:00
|
|
|
&LeftCPUs8Meter_class,
|
|
|
|
&RightCPUs8Meter_class,
|
2014-11-27 19:18:14 -02:00
|
|
|
&BlankMeter_class,
|
|
|
|
NULL
|
|
|
|
};
|
|
|
|
|
2021-03-02 15:58:11 +11:00
|
|
|
static const char Platform_unsupported[] = "unsupported";
|
|
|
|
|
2021-10-06 10:45:07 +03:00
|
|
|
bool Platform_init(void) {
|
2020-11-19 12:32:07 +11:00
|
|
|
/* no platform-specific setup needed */
|
2021-10-06 10:45:07 +03:00
|
|
|
return true;
|
2020-11-19 12:32:07 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
void Platform_done(void) {
|
|
|
|
/* no platform-specific cleanup needed */
|
|
|
|
}
|
|
|
|
|
|
|
|
void Platform_setBindings(Htop_Action* keys) {
|
|
|
|
/* no platform-specific key bindings */
|
|
|
|
(void) keys;
|
|
|
|
}
|
|
|
|
|
2014-11-27 19:41:14 -02:00
|
|
|
int Platform_getUptime() {
|
2015-07-12 11:26:33 -05:00
|
|
|
return 0;
|
2014-11-27 19:41:14 -02:00
|
|
|
}
|
2014-11-27 19:57:24 -02:00
|
|
|
|
|
|
|
void Platform_getLoadAverage(double* one, double* five, double* fifteen) {
|
|
|
|
*one = 0;
|
|
|
|
*five = 0;
|
|
|
|
*fifteen = 0;
|
|
|
|
}
|
2014-11-27 20:10:23 -02:00
|
|
|
|
|
|
|
int Platform_getMaxPid() {
|
2015-07-12 11:26:33 -05:00
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2021-02-17 17:38:35 +01:00
|
|
|
double Platform_setCPUValues(Meter* this, unsigned int cpu) {
|
2016-02-14 11:45:47 -02:00
|
|
|
(void) cpu;
|
2019-08-10 17:17:45 -07:00
|
|
|
|
|
|
|
double* v = this->values;
|
2020-09-07 12:24:32 +02:00
|
|
|
v[CPU_METER_FREQUENCY] = NAN;
|
2020-09-10 19:56:33 +02:00
|
|
|
v[CPU_METER_TEMPERATURE] = NAN;
|
2019-08-10 17:17:45 -07:00
|
|
|
|
2021-01-28 18:19:38 +01:00
|
|
|
this->curItems = 1;
|
|
|
|
|
2016-02-14 11:45:47 -02:00
|
|
|
return 0.0;
|
2015-07-12 11:26:33 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
void Platform_setMemoryValues(Meter* this) {
|
2016-02-14 11:45:47 -02:00
|
|
|
(void) this;
|
2015-07-12 11:26:33 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
void Platform_setSwapValues(Meter* this) {
|
2016-02-14 11:45:47 -02:00
|
|
|
(void) this;
|
2015-07-12 11:26:33 -05:00
|
|
|
}
|
|
|
|
|
2015-12-03 22:16:10 +01:00
|
|
|
char* Platform_getProcessEnv(pid_t pid) {
|
2016-02-14 11:45:47 -02:00
|
|
|
(void) pid;
|
2015-12-03 22:16:10 +01:00
|
|
|
return NULL;
|
|
|
|
}
|
2020-09-13 19:46:34 +02:00
|
|
|
|
2020-11-11 22:15:35 +01:00
|
|
|
char* Platform_getInodeFilename(pid_t pid, ino_t inode) {
|
2021-07-14 19:15:09 +02:00
|
|
|
(void)pid;
|
|
|
|
(void)inode;
|
|
|
|
return NULL;
|
2020-11-11 22:15:35 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
FileLocks_ProcessData* Platform_getProcessLocks(pid_t pid) {
|
2021-07-14 19:15:09 +02:00
|
|
|
(void)pid;
|
|
|
|
return NULL;
|
2020-11-11 22:15:35 +01:00
|
|
|
}
|
|
|
|
|
2020-10-21 17:06:32 +02:00
|
|
|
bool Platform_getDiskIO(DiskIOData* data) {
|
|
|
|
(void)data;
|
2020-10-20 21:40:51 +02:00
|
|
|
return false;
|
2020-09-13 19:46:34 +02:00
|
|
|
}
|
2020-10-08 16:34:54 +02:00
|
|
|
|
2021-03-01 11:55:15 +11:00
|
|
|
bool Platform_getNetworkIO(NetworkIOData* data) {
|
|
|
|
(void)data;
|
2020-10-20 21:40:51 +02:00
|
|
|
return false;
|
2020-10-08 16:34:54 +02:00
|
|
|
}
|
2020-11-17 18:12:38 +11:00
|
|
|
|
2020-11-25 12:46:00 +01:00
|
|
|
void Platform_getBattery(double* percent, ACPresence* isOnAC) {
|
|
|
|
*percent = NAN;
|
2020-11-17 18:12:38 +11:00
|
|
|
*isOnAC = AC_ERROR;
|
|
|
|
}
|
2021-03-02 15:58:11 +11:00
|
|
|
|
|
|
|
void Platform_getHostname(char* buffer, size_t size) {
|
|
|
|
String_safeStrncpy(buffer, Platform_unsupported, size);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Platform_getRelease(char** string) {
|
2021-07-14 19:15:09 +02:00
|
|
|
*string = xStrdup(Platform_unsupported);
|
2021-03-02 15:58:11 +11:00
|
|
|
}
|