1 #ifndef HEADER_NetBSDProcessList
2 #define HEADER_NetBSDProcessList
3 /*
4 htop - NetBSDProcessList.h
5 (C) 2014 Hisham H. Muhammad
6 (C) 2015 Michael McConville
7 (C) 2021 Santhosh Raju
8 (C) 2021 htop dev team
9 Released under the GNU GPLv2+, see the COPYING file
10 in the source distribution for its full text.
11 */
12 
13 #include <kvm.h>
14 #include <stdbool.h>
15 #include <sys/types.h>
16 
17 #include "Hashtable.h"
18 #include "ProcessList.h"
19 #include "UsersTable.h"
20 
21 
22 typedef struct CPUData_ {
23    unsigned long long int totalTime;
24    unsigned long long int userTime;
25    unsigned long long int niceTime;
26    unsigned long long int sysTime;
27    unsigned long long int sysAllTime;
28    unsigned long long int spinTime;
29    unsigned long long int intrTime;
30    unsigned long long int idleTime;
31 
32    unsigned long long int totalPeriod;
33    unsigned long long int userPeriod;
34    unsigned long long int nicePeriod;
35    unsigned long long int sysPeriod;
36    unsigned long long int sysAllPeriod;
37    unsigned long long int spinPeriod;
38    unsigned long long int intrPeriod;
39    unsigned long long int idlePeriod;
40 
41    double frequency;
42 } CPUData;
43 
44 typedef struct NetBSDProcessList_ {
45    ProcessList super;
46    kvm_t* kd;
47 
48    CPUData* cpuData;
49 } NetBSDProcessList;
50 
51 
52 ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* dynamicMeters, Hashtable* dynamicColumns, Hashtable* pidMatchList, uid_t userId);
53 
54 void ProcessList_delete(ProcessList* this);
55 
56 void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate);
57 
58 #endif
59