Files
fastfetch/src/detection/cpuUsage/cpuUsage_bsd.c
T
2022-10-27 10:17:29 +08:00

20 lines
570 B
C

#include "cpuUsage.h"
#include <sys/types.h>
#include <sys/user.h>
#include <sys/sysctl.h>
const char* ffGetCpuUsageInfo(uint64_t* inUseAll, uint64_t* totalAll)
{
// interrupt processing, user processes, system processing, lock spinning, and idling
uint64_t cpTime[5];
size_t neededLength = sizeof(cpTime);
if(sysctlbyname("kern.cp_time", cpTime, &neededLength, NULL, 0) != 0)
return "sysctlbyname(kern.cp_time) failed";
*inUseAll = cpTime[0] + cpTime[1] + cpTime[2] + cpTime[3];
*totalAll = *inUseAll + cpTime[4];
return NULL;
}