#ifndef HEADER_Platform #define HEADER_Platform /* htop - dragonflybsd/Platform.h (C) 2014 Hisham H. Muhammad (C) 2017 Diederik de Groot Released under the GNU GPLv2+, see the COPYING file in the source distribution for its full text. */ #include #include #include #include #include "Action.h" #include "BatteryMeter.h" #include "DiskIOMeter.h" #include "Hashtable.h" #include "Macros.h" #include "Meter.h" #include "NetworkIOMeter.h" #include "Process.h" #include "ProcessLocksScreen.h" #include "SignalsPanel.h" #include "generic/gettime.h" #include "generic/hostname.h" #include "generic/uname.h" extern const ProcessField Platform_defaultFields[]; 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, unsigned 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(); } #define PLATFORM_LONG_OPTIONS static inline void Platform_longOptionsUsage(ATTR_UNUSED const char* name) { } static inline bool Platform_getLongOption(ATTR_UNUSED int opt, ATTR_UNUSED int argc, ATTR_UNUSED char** argv) { return false; } static inline void Platform_gettime_realtime(struct timeval* tv, uint64_t* msec) { Generic_gettime_realtime(tv, msec); } static inline void Platform_gettime_monotonic(uint64_t* msec) { Generic_gettime_monotonic(msec); } static inline Hashtable* Platform_dynamicMeters(void) { return NULL; } static inline void Platform_dynamicMetersDone(ATTR_UNUSED Hashtable* table) { } static inline void Platform_dynamicMeterInit(ATTR_UNUSED Meter* meter) { } static inline void Platform_dynamicMeterUpdateValues(ATTR_UNUSED Meter* meter) { } static inline void Platform_dynamicMeterDisplay(ATTR_UNUSED const Meter* meter, ATTR_UNUSED RichString* out) { } static inline Hashtable* Platform_dynamicColumns(void) { return NULL; } static inline void Platform_dynamicColumnsDone(ATTR_UNUSED Hashtable* table) { } static inline const char* Platform_dynamicColumnInit(ATTR_UNUSED unsigned int key) { return NULL; } static inline bool Platform_dynamicColumnWriteField(ATTR_UNUSED const Process* proc, ATTR_UNUSED RichString* str, ATTR_UNUSED unsigned int key) { return false; } #endif