cpu: OS split

This commit is contained in:
Quentin Rameau 2018-04-30 15:14:33 +02:00 committed by Aaron Marcher
parent 720569bd56
commit f088dbfea0
3 changed files with 28 additions and 26 deletions

View File

@ -8,7 +8,7 @@ include config.mk
REQ = util
COM =\
components/$(OS)/battery \
components/cpu\
components/$(OS)/cpu \
components/datetime\
components/disk\
components/entropy\

View File

@ -2,13 +2,9 @@
#include <errno.h>
#include <stdio.h>
#include <string.h>
#if defined(__OpenBSD__)
#include <sys/sysctl.h>
#endif
#include "../util.h"
#include "../../util.h"
#if defined(__linux__)
const char *
cpu_freq(void)
{
@ -66,23 +62,3 @@ cpu_iowait(void)
return bprintf("%d", perc);
}
#elif defined(__OpenBSD__)
const char *
cpu_freq(void)
{
int freq, mib[2];
size_t size;
mib[0] = CTL_HW;
mib[1] = HW_CPUSPEED;
size = sizeof(freq);
if (sysctl(mib, 2, &freq, &size, NULL, 0) == -1) {
fprintf(stderr, "sysctl 'HW_CPUSPEED': %s\n", strerror(errno));
return NULL;
}
return bprintf("%d", freq);
}
#endif

26
components/OpenBSD/cpu.c Normal file
View File

@ -0,0 +1,26 @@
/* See LICENSE file for copyright and license details. */
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <sys/sysctl.h>
#include "../../util.h"
const char *
cpu_freq(void)
{
int freq, mib[2];
size_t size;
mib[0] = CTL_HW;
mib[1] = HW_CPUSPEED;
size = sizeof(freq);
if (sysctl(mib, 2, &freq, &size, NULL, 0) == -1) {
fprintf(stderr, "sysctl 'HW_CPUSPEED': %s\n", strerror(errno));
return NULL;
}
return bprintf("%d", freq);
}