summaryrefslogtreecommitdiff
path: root/examples/df.c
diff options
context:
space:
mode:
authorBenoit Dejean <bdejean@gmail.com>2015-06-21 16:01:26 +0200
committerRobert Roth <robert.roth.off@gmail.com>2015-06-26 02:57:42 +0300
commita870dfc8f2ddf6b3bb13c13f7a7af9488cb9fac7 (patch)
tree22109054c8dc463aad44d619c71b7ca0a965e4ea /examples/df.c
parente0244ad3fc81098cb339acaa98cbe9c1b23a6bf5 (diff)
downloadlibgtop-a870dfc8f2ddf6b3bb13c13f7a7af9488cb9fac7.tar.gz
Print more fields about each filesystem.
Diffstat (limited to 'examples/df.c')
-rw-r--r--examples/df.c41
1 files changed, 29 insertions, 12 deletions
diff --git a/examples/df.c b/examples/df.c
index 6fcbae00..afab4e6b 100644
--- a/examples/df.c
+++ b/examples/df.c
@@ -13,19 +13,36 @@ static void print_fsusage(const char *mountpoint)
{
glibtop_fsusage buf;
+ enum { SIZE, USED, FREE, AVAIL, READ, WRITE, MAX };
+ char **a = g_new0(char*, MAX);
+
glibtop_get_fsusage(&buf, mountpoint);
- printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
- mountpoint,
- buf.blocks * buf.block_size >> 20,
- (buf.blocks - buf.bavail) * buf.block_size >> 20,
- buf.bavail * buf.block_size >> 20,
- (buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
- buf.read,
- buf.write
- );
-}
+#define I(X) a[(X)]
+ I(SIZE) = g_format_size_full(buf.blocks * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
+ I(USED) = g_format_size_full((buf.blocks - buf.bavail) * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
+ I(FREE) = g_format_size_full(buf.bfree * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
+ I(AVAIL) = g_format_size_full(buf.bavail * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
+ I(READ) = g_format_size_full(buf.read, G_FORMAT_SIZE_IEC_UNITS);
+ I(WRITE) = g_format_size_full(buf.write, G_FORMAT_SIZE_IEC_UNITS);
+
+ printf("%#7x %10s %10s %10s %10s %5.1f%% %10s %10s %8lu %8lu %s\n",
+ (unsigned)buf.flags,
+ I(SIZE),
+ I(USED),
+ I(FREE),
+ I(AVAIL),
+ (buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
+ I(READ),
+ I(WRITE),
+ (unsigned long)buf.files,
+ (unsigned long)buf.ffree,
+ mountpoint
+ );
+
+ g_strfreev(a);
+}
int main(int argc, char **argv)
{
@@ -33,8 +50,8 @@ int main(int argc, char **argv)
glibtop_init();
- printf("%-30s %10s %10s %10s %5s %10s %10s\n",
- "Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
+ printf("%-6s %10s %10s %10s %10s %5s %10s %10s %10s %10s %s\n",
+ "(flags)", "Size", "Used", "Free", "Avail", "Use%", "Read", "Write", "Files", "Files Free", "Mountpoint");
if (argc > 1) {
while (*++argv)