Files
fastfetch/src/detection/loadavg/loadavg_bsd.c
T
李通洲 4665fdd145 Global: make it compile on NetBSD
Doesn't work yet.
2024-10-27 11:43:36 +08:00

23 lines
595 B
C

#include "detection/loadavg/loadavg.h"
#include <sys/sysctl.h>
#if __FreeBSD__ || __OpenBSD__ || __NetBSD__
#include <sys/types.h>
#include <sys/resource.h>
#if __FreeBSD__
#include <vm/vm_param.h>
#endif
#endif
const char* ffDetectLoadavg(double result[3])
{
struct loadavg load;
size_t size = sizeof(load);
if (sysctl((int []) { CTL_VM, VM_LOADAVG }, 2, &load, &size, NULL, 0) < 0)
return "sysctl({CTL_VM, VM_LOADAVG}) failed";
for (int i = 0; i < 3; i++)
result[i] = (double) load.ldavg[i] / (double) load.fscale;
return NULL;
}