2015-09-18 04:46:48 +00:00
|
|
|
#ifndef HEADER_OpenBSDProcessList
|
|
|
|
#define HEADER_OpenBSDProcessList
|
|
|
|
/*
|
|
|
|
htop - OpenBSDProcessList.h
|
|
|
|
(C) 2014 Hisham H. Muhammad
|
|
|
|
(C) 2015 Michael McConville
|
2020-10-05 07:51:32 +00:00
|
|
|
Released under the GNU GPLv2, see the COPYING file
|
2015-09-18 04:46:48 +00:00
|
|
|
in the source distribution for its full text.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <kvm.h>
|
2020-12-05 21:57:07 +00:00
|
|
|
#include <stdbool.h>
|
|
|
|
#include <sys/types.h>
|
|
|
|
|
|
|
|
#include "Hashtable.h"
|
|
|
|
#include "ProcessList.h"
|
|
|
|
#include "UsersTable.h"
|
|
|
|
|
2015-09-18 04:46:48 +00:00
|
|
|
|
|
|
|
typedef struct CPUData_ {
|
|
|
|
unsigned long long int totalTime;
|
2018-12-16 08:25:54 +00:00
|
|
|
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;
|
|
|
|
|
2015-09-18 04:46:48 +00:00
|
|
|
unsigned long long int totalPeriod;
|
2018-12-16 08:25:54 +00:00
|
|
|
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;
|
2021-03-27 13:26:26 +00:00
|
|
|
|
2021-06-13 12:24:51 +00:00
|
|
|
bool online;
|
2015-09-18 04:46:48 +00:00
|
|
|
} CPUData;
|
|
|
|
|
|
|
|
typedef struct OpenBSDProcessList_ {
|
|
|
|
ProcessList super;
|
|
|
|
kvm_t* kd;
|
|
|
|
|
2021-06-13 12:24:51 +00:00
|
|
|
CPUData* cpuData;
|
2021-03-19 16:34:12 +00:00
|
|
|
int cpuSpeed;
|
2015-09-18 04:46:48 +00:00
|
|
|
|
|
|
|
} OpenBSDProcessList;
|
|
|
|
|
|
|
|
|
2021-06-23 07:44:56 +00:00
|
|
|
ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* dynamicMeters, Hashtable* pidMatchList, uid_t userId);
|
2015-09-18 04:46:48 +00:00
|
|
|
|
|
|
|
void ProcessList_delete(ProcessList* this);
|
|
|
|
|
2020-10-27 20:26:28 +00:00
|
|
|
void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate);
|
2015-09-18 04:46:48 +00:00
|
|
|
|
2021-06-12 20:04:37 +00:00
|
|
|
bool ProcessList_isCPUonline(const ProcessList* super, unsigned int id);
|
|
|
|
|
2015-09-18 04:46:48 +00:00
|
|
|
#endif
|