diff options
author | Aaron Marcher <info@nulltime.net> | 2016-06-10 19:13:13 +0200 |
---|---|---|
committer | Aaron Marcher (drkhsh) <info@nulltime.net> | 2016-06-10 19:13:13 +0200 |
commit | fb524b60508dd8adee66ae30e834632fd6b4402c (patch) | |
tree | b649bdcd29fbc7ed233786bbfc0e76ec96791787 /slstatus.c | |
parent | 688c2d43e2f89544add30f864f855843369fb85f (diff) |
added disk functions for details
Diffstat (limited to 'slstatus.c')
-rw-r--r-- | slstatus.c | 50 |
1 files changed, 49 insertions, 1 deletions
@@ -166,6 +166,22 @@ datetime(const char *timeformat) return ret; } +/* disk free */ +char * +disk_free(const char *mountpoint) +{ + struct statvfs fs; + + /* try to open mountpoint */ + if (statvfs(mountpoint, &fs) < 0) { + fprintf(stderr, "Could not get filesystem info.\n"); + return smprintf("n/a"); + } + + /* return free */ + return smprintf("%f", (float)fs.f_bsize * (float)fs.f_bfree / 1024 / 1024 / 1024); +} + /* disk usage percentage */ char * disk_perc(const char *mountpoint) @@ -180,12 +196,44 @@ disk_perc(const char *mountpoint) } /* calculate percent */ - perc = 100 * (1.0f - ((float)fs.f_bavail / (float)fs.f_blocks)); + perc = 100 * (1.0f - ((float)fs.f_bfree / (float)fs.f_blocks)); /* return perc */ return smprintf("%d%%", perc); } +/* disk total */ +char * +disk_total(const char *mountpoint) +{ + struct statvfs fs; + + /* try to open mountpoint */ + if (statvfs(mountpoint, &fs) < 0) { + fprintf(stderr, "Could not get filesystem info.\n"); + return smprintf("n/a"); + } + + /* return total */ + return smprintf("%f", (float)fs.f_bsize * (float)fs.f_blocks / 1024 / 1024 / 1024); +} + +/* disk used */ +char * +disk_used(const char *mountpoint) +{ + struct statvfs fs; + + /* try to open mountpoint */ + if (statvfs(mountpoint, &fs) < 0) { + fprintf(stderr, "Could not get filesystem info.\n"); + return smprintf("n/a"); + } + + /* return used */ + return smprintf("%f", (float)fs.f_bsize * ((float)fs.f_blocks - (float)fs.f_bfree) / 1024 / 1024 / 1024); +} + /* entropy available */ char * entropy(const char *null) |