slstatus

My fork of https://tools.suckless.org/slstatus/
git clone https://git.inz.fi/slstatus
Log | Files | Refs | README | LICENSE

commit 72f5a0d69ad43e7329064f415b4f8df3c1c2ccec
parent 259e106b4fbdca3df8dd660f70edf0585f14b6f6
Author: Quentin Rameau <quinq@fifth.space>
Date:   Mon, 30 Apr 2018 15:14:36 +0200

swap: OS split

Diffstat:
MMakefile | 2+-
Acomponents/Linux/swap.c | 136+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acomponents/OpenBSD/swap.c | 0
Dcomponents/swap.c | 138-------------------------------------------------------------------------------
4 files changed, 137 insertions(+), 139 deletions(-)

diff --git a/Makefile b/Makefile @@ -20,7 +20,7 @@ COM =\ components/num_files\ components/$(OS)/ram \ components/run_command\ - components/swap\ + components/$(OS)/swap \ components/temperature\ components/uptime\ components/user\ diff --git a/components/Linux/swap.c b/components/Linux/swap.c @@ -0,0 +1,136 @@ +/* See LICENSE file for copyright and license details. */ +#include <errno.h> +#include <stdio.h> +#include <string.h> + +#include "../../util.h" + +const char * +swap_free(void) +{ + long total, free; + FILE *fp; + size_t bytes_read; + char *match; + + fp = fopen("/proc/meminfo", "r"); + if (fp == NULL) { + fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno)); + return NULL; + } + + if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) { + fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno)); + fclose(fp); + return NULL; + } + fclose(fp); + + if ((match = strstr(buf, "SwapTotal")) == NULL) + return NULL; + sscanf(match, "SwapTotal: %ld kB\n", &total); + + if ((match = strstr(buf, "SwapFree")) == NULL) + return NULL; + sscanf(match, "SwapFree: %ld kB\n", &free); + + return bprintf("%f", (float)free / 1024 / 1024); +} + +const char * +swap_perc(void) +{ + long total, free, cached; + FILE *fp; + size_t bytes_read; + char *match; + + fp = fopen("/proc/meminfo", "r"); + if (fp == NULL) { + fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno)); + return NULL; + } + + if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) { + fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno)); + fclose(fp); + return NULL; + } + fclose(fp); + + if ((match = strstr(buf, "SwapTotal")) == NULL) + return NULL; + sscanf(match, "SwapTotal: %ld kB\n", &total); + + if ((match = strstr(buf, "SwapCached")) == NULL) + return NULL; + sscanf(match, "SwapCached: %ld kB\n", &cached); + + if ((match = strstr(buf, "SwapFree")) == NULL) + return NULL; + sscanf(match, "SwapFree: %ld kB\n", &free); + + return bprintf("%d", 100 * (total - free - cached) / total); +} + +const char * +swap_total(void) +{ + long total; + FILE *fp; + size_t bytes_read; + char *match; + + fp = fopen("/proc/meminfo", "r"); + if (fp == NULL) { + fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno)); + return NULL; + } + if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) { + fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno)); + fclose(fp); + return NULL; + } + fclose(fp); + + if ((match = strstr(buf, "SwapTotal")) == NULL) + return NULL; + sscanf(match, "SwapTotal: %ld kB\n", &total); + + return bprintf("%f", (float)total / 1024 / 1024); +} + +const char * +swap_used(void) +{ + long total, free, cached; + FILE *fp; + size_t bytes_read; + char *match; + + fp = fopen("/proc/meminfo", "r"); + if (fp == NULL) { + fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno)); + return NULL; + } + if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) { + fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno)); + fclose(fp); + return NULL; + } + fclose(fp); + + if ((match = strstr(buf, "SwapTotal")) == NULL) + return NULL; + sscanf(match, "SwapTotal: %ld kB\n", &total); + + if ((match = strstr(buf, "SwapCached")) == NULL) + return NULL; + sscanf(match, "SwapCached: %ld kB\n", &cached); + + if ((match = strstr(buf, "SwapFree")) == NULL) + return NULL; + sscanf(match, "SwapFree: %ld kB\n", &free); + + return bprintf("%f", (float)(total - free - cached) / 1024 / 1024); +} diff --git a/components/OpenBSD/swap.c b/components/OpenBSD/swap.c diff --git a/components/swap.c b/components/swap.c @@ -1,138 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#if defined(__linux__) -#include <errno.h> -#include <stdio.h> -#include <string.h> - -#include "../util.h" - -const char * -swap_free(void) -{ - long total, free; - FILE *fp; - size_t bytes_read; - char *match; - - fp = fopen("/proc/meminfo", "r"); - if (fp == NULL) { - fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno)); - return NULL; - } - - if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) { - fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno)); - fclose(fp); - return NULL; - } - fclose(fp); - - if ((match = strstr(buf, "SwapTotal")) == NULL) - return NULL; - sscanf(match, "SwapTotal: %ld kB\n", &total); - - if ((match = strstr(buf, "SwapFree")) == NULL) - return NULL; - sscanf(match, "SwapFree: %ld kB\n", &free); - - return bprintf("%f", (float)free / 1024 / 1024); -} - -const char * -swap_perc(void) -{ - long total, free, cached; - FILE *fp; - size_t bytes_read; - char *match; - - fp = fopen("/proc/meminfo", "r"); - if (fp == NULL) { - fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno)); - return NULL; - } - - if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) { - fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno)); - fclose(fp); - return NULL; - } - fclose(fp); - - if ((match = strstr(buf, "SwapTotal")) == NULL) - return NULL; - sscanf(match, "SwapTotal: %ld kB\n", &total); - - if ((match = strstr(buf, "SwapCached")) == NULL) - return NULL; - sscanf(match, "SwapCached: %ld kB\n", &cached); - - if ((match = strstr(buf, "SwapFree")) == NULL) - return NULL; - sscanf(match, "SwapFree: %ld kB\n", &free); - - return bprintf("%d", 100 * (total - free - cached) / total); -} - -const char * -swap_total(void) -{ - long total; - FILE *fp; - size_t bytes_read; - char *match; - - fp = fopen("/proc/meminfo", "r"); - if (fp == NULL) { - fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno)); - return NULL; - } - if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) { - fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno)); - fclose(fp); - return NULL; - } - fclose(fp); - - if ((match = strstr(buf, "SwapTotal")) == NULL) - return NULL; - sscanf(match, "SwapTotal: %ld kB\n", &total); - - return bprintf("%f", (float)total / 1024 / 1024); -} - -const char * -swap_used(void) -{ - long total, free, cached; - FILE *fp; - size_t bytes_read; - char *match; - - fp = fopen("/proc/meminfo", "r"); - if (fp == NULL) { - fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno)); - return NULL; - } - if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) { - fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno)); - fclose(fp); - return NULL; - } - fclose(fp); - - if ((match = strstr(buf, "SwapTotal")) == NULL) - return NULL; - sscanf(match, "SwapTotal: %ld kB\n", &total); - - if ((match = strstr(buf, "SwapCached")) == NULL) - return NULL; - sscanf(match, "SwapCached: %ld kB\n", &cached); - - if ((match = strstr(buf, "SwapFree")) == NULL) - return NULL; - sscanf(match, "SwapFree: %ld kB\n", &free); - - return bprintf("%f", (float)(total - free - cached) / 1024 / 1024); -} -#endif