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/NetBSDProcessList.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/NetBSDProcessList.h')
-rw-r--r-- | netbsd/NetBSDProcessList.h | 55 |
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 |