static const char *battery_perc(const char *bat);
static const char *battery_power(const char *bat);
static const char *battery_state(const char *bat);
static const char *battery_perc(const char *bat);
static const char *battery_power(const char *bat);
static const char *battery_state(const char *bat);
static const char *vol_perc(const char *card);
static const char *wifi_perc(const char *iface);
static const char *wifi_essid(const char *iface);
static const char *vol_perc(const char *card);
static const char *wifi_perc(const char *iface);
static const char *wifi_essid(const char *iface);
fp = fopen("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
if (fp == NULL) {
warn("Failed to open file /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq");
fp = fopen("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
if (fp == NULL) {
warn("Failed to open file /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq");
fp = fopen("/proc/stat", "r");
if (fp == NULL) {
warn("Failed to open file /proc/stat");
fp = fopen("/proc/stat", "r");
if (fp == NULL) {
warn("Failed to open file /proc/stat");
}
n = fscanf(fp, "%*s %Lf %Lf %Lf %Lf", &a[0], &a[1], &a[2], &a[3]);
fclose(fp);
if (n != 4)
}
n = fscanf(fp, "%*s %Lf %Lf %Lf %Lf", &a[0], &a[1], &a[2], &a[3]);
fclose(fp);
if (n != 4)
fp = fopen("/proc/stat", "r");
if (fp == NULL) {
warn("Failed to open file /proc/stat");
fp = fopen("/proc/stat", "r");
if (fp == NULL) {
warn("Failed to open file /proc/stat");
}
n = fscanf(fp, "%*s %Lf %Lf %Lf %Lf", &b[0], &b[1], &b[2], &b[3]);
fclose(fp);
if (n != 4)
}
n = fscanf(fp, "%*s %Lf %Lf %Lf %Lf", &b[0], &b[1], &b[2], &b[3]);
fclose(fp);
if (n != 4)
perc = 100 * ((b[0]+b[1]+b[2]) - (a[0]+a[1]+a[2])) / ((b[0]+b[1]+b[2]+b[3]) - (a[0]+a[1]+a[2]+a[3]));
return bprintf("%d", perc);
perc = 100 * ((b[0]+b[1]+b[2]) - (a[0]+a[1]+a[2])) / ((b[0]+b[1]+b[2]+b[3]) - (a[0]+a[1]+a[2]+a[3]));
return bprintf("%d", perc);
t = time(NULL);
if (strftime(buf, sizeof(buf), fmt, localtime(&t)) == 0)
t = time(NULL);
if (strftime(buf, sizeof(buf), fmt, localtime(&t)) == 0)
if (statvfs(mnt, &fs) < 0) {
warn("Failed to get filesystem info");
if (statvfs(mnt, &fs) < 0) {
warn("Failed to get filesystem info");
if (statvfs(mnt, &fs) < 0) {
warn("Failed to get filesystem info");
if (statvfs(mnt, &fs) < 0) {
warn("Failed to get filesystem info");
if (statvfs(mnt, &fs) < 0) {
warn("Failed to get filesystem info");
if (statvfs(mnt, &fs) < 0) {
warn("Failed to get filesystem info");
if (statvfs(mnt, &fs) < 0) {
warn("Failed to get filesystem info");
if (statvfs(mnt, &fs) < 0) {
warn("Failed to get filesystem info");
fp= fopen("/proc/sys/kernel/random/entropy_avail", "r");
if (fp == NULL) {
warn("Failed to open file /proc/sys/kernel/random/entropy_avail");
fp= fopen("/proc/sys/kernel/random/entropy_avail", "r");
if (fp == NULL) {
warn("Failed to open file /proc/sys/kernel/random/entropy_avail");
if (getifaddrs(&ifaddr) == -1) {
warn("Failed to get IP address for interface %s", iface);
if (getifaddrs(&ifaddr) == -1) {
warn("Failed to get IP address for interface %s", iface);
if ((strcmp(ifa->ifa_name, iface) == 0) && (ifa->ifa_addr->sa_family == AF_INET)) {
if (s != 0) {
warnx("Failed to get IP address for interface %s", iface);
if ((strcmp(ifa->ifa_name, iface) == 0) && (ifa->ifa_addr->sa_family == AF_INET)) {
if (s != 0) {
warnx("Failed to get IP address for interface %s", iface);
if (getloadavg(avgs, 3) < 0) {
warnx("Failed to get the load avg");
if (getloadavg(avgs, 3) < 0) {
warnx("Failed to get the load avg");
}
return bprintf("%.2f %.2f %.2f", avgs[0], avgs[1], avgs[2]);
}
return bprintf("%.2f %.2f %.2f", avgs[0], avgs[1], avgs[2]);
if ((fd = opendir(dir)) == NULL) {
warn("Failed to get number of files in directory %s", dir);
if ((fd = opendir(dir)) == NULL) {
warn("Failed to get number of files in directory %s", dir);
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
}
if (fscanf(fp, "MemTotal: %ld kB\n", &total) != 1 ||
fscanf(fp, "MemFree: %ld kB\n", &free) != 1 ||
}
if (fscanf(fp, "MemTotal: %ld kB\n", &total) != 1 ||
fscanf(fp, "MemFree: %ld kB\n", &free) != 1 ||
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
}
if (fscanf(fp, "MemTotal: %ld kB\n", &total) != 1 ||
fscanf(fp, "MemFree: %ld kB\n", &free) != 1 ||
}
if (fscanf(fp, "MemTotal: %ld kB\n", &total) != 1 ||
fscanf(fp, "MemFree: %ld kB\n", &free) != 1 ||
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
warn("swap_free: read error");
fclose(fp);
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
warn("swap_free: read error");
fclose(fp);
sscanf(match, "SwapTotal: %ld kB\n", &total);
if ((match = strstr(buf, "SwapFree")) == NULL)
sscanf(match, "SwapTotal: %ld kB\n", &total);
if ((match = strstr(buf, "SwapFree")) == NULL)
sscanf(match, "SwapFree: %ld kB\n", &free);
return bprintf("%f", (float)free / 1024 / 1024);
sscanf(match, "SwapFree: %ld kB\n", &free);
return bprintf("%f", (float)free / 1024 / 1024);
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
warn("swap_perc: read error");
fclose(fp);
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
warn("swap_perc: read error");
fclose(fp);
sscanf(match, "SwapTotal: %ld kB\n", &total);
if ((match = strstr(buf, "SwapCached")) == NULL)
sscanf(match, "SwapTotal: %ld kB\n", &total);
if ((match = strstr(buf, "SwapCached")) == NULL)
sscanf(match, "SwapCached: %ld kB\n", &cached);
if ((match = strstr(buf, "SwapFree")) == NULL)
sscanf(match, "SwapCached: %ld kB\n", &cached);
if ((match = strstr(buf, "SwapFree")) == NULL)
sscanf(match, "SwapFree: %ld kB\n", &free);
return bprintf("%d", 100 * (total - free - cached) / total);
sscanf(match, "SwapFree: %ld kB\n", &free);
return bprintf("%d", 100 * (total - free - cached) / total);
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
warn("swap_total: read error");
fclose(fp);
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
warn("swap_total: read error");
fclose(fp);
sscanf(match, "SwapTotal: %ld kB\n", &total);
return bprintf("%f", (float)total / 1024 / 1024);
sscanf(match, "SwapTotal: %ld kB\n", &total);
return bprintf("%f", (float)total / 1024 / 1024);
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
warn("Failed to open file /proc/meminfo");
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
warn("swap_used: read error");
fclose(fp);
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
warn("swap_used: read error");
fclose(fp);
sscanf(match, "SwapTotal: %ld kB\n", &total);
if ((match = strstr(buf, "SwapCached")) == NULL)
sscanf(match, "SwapTotal: %ld kB\n", &total);
if ((match = strstr(buf, "SwapCached")) == NULL)
sscanf(match, "SwapCached: %ld kB\n", &cached);
if ((match = strstr(buf, "SwapFree")) == NULL)
sscanf(match, "SwapCached: %ld kB\n", &cached);
if ((match = strstr(buf, "SwapFree")) == NULL)
sscanf(match, "SwapFree: %ld kB\n", &free);
return bprintf("%f", (float)(total - free - cached) / 1024 / 1024);
sscanf(match, "SwapFree: %ld kB\n", &free);
return bprintf("%f", (float)(total - free - cached) / 1024 / 1024);
afd = open(card, O_RDONLY | O_NONBLOCK);
if (afd == -1) {
warn("Cannot open %s", card);
afd = open(card, O_RDONLY | O_NONBLOCK);
if (afd == -1) {
warn("Cannot open %s", card);
}
if (ioctl(afd, SOUND_MIXER_READ_DEVMASK, &devmask) == -1) {
warn("Cannot get volume for %s", card);
close(afd);
}
if (ioctl(afd, SOUND_MIXER_READ_DEVMASK, &devmask) == -1) {
warn("Cannot get volume for %s", card);
close(afd);
if (devmask & (1 << i) && !strcmp("vol", vnames[i])) {
if (ioctl(afd, MIXER_READ(i), &v) == -1) {
warn("vol_perc: ioctl");
close(afd);
if (devmask & (1 << i) && !strcmp("vol", vnames[i])) {
if (ioctl(afd, MIXER_READ(i), &v) == -1) {
warn("vol_perc: ioctl");
close(afd);
}
p = fgets(status, 5, fp);
fclose(fp);
if(!p || strcmp(status, "up\n") != 0) {
}
p = fgets(status, 5, fp);
fclose(fp);
if(!p || strcmp(status, "up\n") != 0) {
}
fp = fopen("/proc/net/wireless", "r");
if (fp == NULL) {
warn("Failed to open file /proc/net/wireless");
}
fp = fopen("/proc/net/wireless", "r");
if (fp == NULL) {
warn("Failed to open file /proc/net/wireless");
datastart = (datastart+(strlen(iface)+1));
sscanf(datastart + 1, " %*d %d %*d %*d %*d %*d %*d %*d %*d %*d", &perc);
datastart = (datastart+(strlen(iface)+1));
sscanf(datastart + 1, " %*d %d %*d %*d %*d %*d %*d %*d %*d %*d", &perc);
}
wreq.u.essid.pointer = id;
if (ioctl(sockfd,SIOCGIWESSID, &wreq) == -1) {
warn("Failed to get ESSID for interface %s", iface);
}
wreq.u.essid.pointer = id;
if (ioctl(sockfd,SIOCGIWESSID, &wreq) == -1) {
warn("Failed to get ESSID for interface %s", iface);