summaryrefslogtreecommitdiffstats
path: root/netbsd/NetBSDProcessList.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/NetBSDProcessList.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/NetBSDProcessList.h')
-rw-r--r--netbsd/NetBSDProcessList.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/netbsd/NetBSDProcessList.h b/netbsd/NetBSDProcessList.h
new file mode 100644
index 00000000..2e9520ba
--- /dev/null
+++ b/netbsd/NetBSDProcessList.h
@@ -0,0 +1,55 @@
+#ifndef HEADER_NetBSDProcessList
+#define HEADER_NetBSDProcessList
+/*
+htop - NetBSDProcessList.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 <kvm.h>
+#include <stdbool.h>
+#include <sys/types.h>
+
+#include "Hashtable.h"
+#include "ProcessList.h"
+#include "UsersTable.h"
+
+
+typedef struct CPUData_ {
+ unsigned long long int totalTime;
+ unsigned long long int userTime;
+ unsigned long long int niceTime;
+ unsigned long long int sysTime;
+ unsigned long long int sysAllTime;
+ unsigned long long int spinTime;
+ unsigned long long int intrTime;
+ unsigned long long int idleTime;
+
+ unsigned long long int totalPeriod;
+ unsigned long long int userPeriod;
+ unsigned long long int nicePeriod;
+ unsigned long long int sysPeriod;
+ unsigned long long int sysAllPeriod;
+ unsigned long long int spinPeriod;
+ unsigned long long int intrPeriod;
+ unsigned long long int idlePeriod;
+} CPUData;
+
+typedef struct NetBSDProcessList_ {
+ ProcessList super;
+ kvm_t* kd;
+
+ CPUData* cpus;
+
+} NetBSDProcessList;
+
+
+ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidMatchList, uid_t userId);
+
+void ProcessList_delete(ProcessList* this);
+
+void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate);
+
+#endif

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