diff options
author | fraggerfox <santhosh.raju@gmail.com> | 2021-03-15 13:14:39 +0530 |
---|---|---|
committer | BenBE <BenBE@geshi.org> | 2021-06-26 12:18:37 +0200 |
commit | 4b49de44a8659674c6e92ba70e0c1930b2b9315b (patch) | |
tree | d831fd16f5a13843766d9ae18a0060ff1b3d5b39 /netbsd/Platform.h | |
parent | 30dc4a28125e7199a51abde86af7b73027fa0bd2 (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.h | 73 |
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 |