summaryrefslogtreecommitdiffstats
path: root/netbsd/Platform.h
diff options
context:
space:
mode:
authorfraggerfox <santhosh.raju@gmail.com>2021-03-15 13:14:39 +0530
committerBenBE <BenBE@geshi.org>2021-06-26 12:18:37 +0200
commit4b49de44a8659674c6e92ba70e0c1930b2b9315b (patch)
treed831fd16f5a13843766d9ae18a0060ff1b3d5b39 /netbsd/Platform.h
parent30dc4a28125e7199a51abde86af7b73027fa0bd2 (diff)
Add NetBSD platform support without procfs dependency
- TODO, clean up the code base and update comments in code.
Diffstat (limited to 'netbsd/Platform.h')
-rw-r--r--netbsd/Platform.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/netbsd/Platform.h b/netbsd/Platform.h
new file mode 100644
index 00000000..f034e816
--- /dev/null
+++ b/netbsd/Platform.h
@@ -0,0 +1,73 @@
+#ifndef HEADER_Platform
+#define HEADER_Platform
+/*
+htop - netbsd/Platform.h
+(C) 2014 Hisham H. Muhammad
+(C) 2021 Santhosh Raju
+Released under the GNU GPLv2, see the COPYING file
+in the source distribution for its full text.
+*/
+
+#include <stdbool.h>
+#include <sys/types.h>
+
+#include "Action.h"
+#include "BatteryMeter.h"
+#include "DiskIOMeter.h"
+#include "Meter.h"
+#include "NetworkIOMeter.h"
+#include "Process.h"
+#include "ProcessLocksScreen.h"
+#include "SignalsPanel.h"
+#include "generic/hostname.h"
+#include "generic/uname.h"
+
+
+extern const ProcessField Platform_defaultFields[];
+
+/* see /usr/include/sys/signal.h */
+extern const SignalItem Platform_signals[];
+
+extern const unsigned int Platform_numberOfSignals;
+
+extern const MeterClass* const Platform_meterTypes[];
+
+void Platform_init(void);
+
+void Platform_done(void);
+
+void Platform_setBindings(Htop_Action* keys);
+
+int Platform_getUptime(void);
+
+void Platform_getLoadAverage(double* one, double* five, double* fifteen);
+
+int Platform_getMaxPid(void);
+
+double Platform_setCPUValues(Meter* this, int cpu);
+
+void Platform_setMemoryValues(Meter* this);
+
+void Platform_setSwapValues(Meter* this);
+
+char* Platform_getProcessEnv(pid_t pid);
+
+char* Platform_getInodeFilename(pid_t pid, ino_t inode);
+
+FileLocks_ProcessData* Platform_getProcessLocks(pid_t pid);
+
+bool Platform_getDiskIO(DiskIOData* data);
+
+bool Platform_getNetworkIO(NetworkIOData* data);
+
+void Platform_getBattery(double* percent, ACPresence* isOnAC);
+
+static inline void Platform_getHostname(char* buffer, size_t size) {
+ Generic_hostname(buffer, size);
+}
+
+static inline void Platform_getRelease(char** string) {
+ *string = Generic_uname();
+}
+
+#endif

© 2014-2024 Faster IT GmbH | imprint | privacy policy