The third value from load_avg (idle) gives us almost the same information as cpu_iowait. Plus OpenBSD does not offer an iowait value as Linux and thus the corresponding function would not be portable.master
@@ -9,7 +9,6 @@ Features | |||||
- Battery percentage/state | - Battery percentage/state | ||||
- CPU usage | - CPU usage | ||||
- CPU frequency | - CPU frequency | ||||
- CPU iowait | |||||
- Custom shell commands | - Custom shell commands | ||||
- Date and time | - Date and time | ||||
- Disk status (free storage, percentage, total storage and used storage) | - Disk status (free storage, percentage, total storage and used storage) | ||||
@@ -62,5 +61,4 @@ Porting to OpenBSD is the current goal before thinking about a release. | |||||
The following functions are not portable at the moment: | The following functions are not portable at the moment: | ||||
- wifi_{perc,essid} | - wifi_{perc,essid} | ||||
- cpu_iowait | |||||
- entropy | - entropy |
@@ -42,31 +42,6 @@ | |||||
return bprintf("%d", perc); | return bprintf("%d", perc); | ||||
} | } | ||||
const char * | |||||
cpu_iowait(void) | |||||
{ | |||||
int perc; | |||||
static int valid; | |||||
static long double a[7]; | |||||
long double b[7]; | |||||
memcpy(b, a, sizeof(b)); | |||||
if (pscanf("/proc/stat", "%*s %Lf %Lf %Lf %Lf %Lf %Lf %Lf", | |||||
&a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6]) != 7) { | |||||
return NULL; | |||||
} | |||||
if (!valid) { | |||||
valid = 1; | |||||
return NULL; | |||||
} | |||||
perc = 100 * ((b[4]) - (a[4])) / | |||||
((b[0]+b[1]+b[2]+b[3]+b[4]+b[5]+b[6]) - | |||||
(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6])); | |||||
return bprintf("%d", perc); | |||||
} | |||||
#elif defined(__OpenBSD__) | #elif defined(__OpenBSD__) | ||||
#include <sys/param.h> | #include <sys/param.h> | ||||
#include <sys/sched.h> | #include <sys/sched.h> | ||||
@@ -15,7 +15,6 @@ static const char unknown_str[] = "n/a"; | |||||
* battery_perc battery percentage battery name (BAT0) | * battery_perc battery percentage battery name (BAT0) | ||||
* battery_state battery charging state battery name (BAT0) | * battery_state battery charging state battery name (BAT0) | ||||
* cpu_perc cpu usage in percent NULL | * cpu_perc cpu usage in percent NULL | ||||
* cpu_iowait cpu iowait in percent NULL | |||||
* cpu_freq cpu frequency in MHz NULL | * cpu_freq cpu frequency in MHz NULL | ||||
* datetime date and time format string (%F %T) | * datetime date and time format string (%F %T) | ||||
* disk_free free disk space in GB mountpoint path (/) | * disk_free free disk space in GB mountpoint path (/) | ||||
@@ -7,7 +7,6 @@ const char *battery_state(const char *); | |||||
/* cpu */ | /* cpu */ | ||||
const char *cpu_freq(void); | const char *cpu_freq(void); | ||||
const char *cpu_perc(void); | const char *cpu_perc(void); | ||||
const char *cpu_iowait(void); | |||||
/* datetime */ | /* datetime */ | ||||
const char *datetime(const char *); | const char *datetime(const char *); | ||||