Xinqi Bao's Git
1 /* See LICENSE file for copyright and license details. */
5 #include <sys/statvfs.h>
10 disk_free(const char *mnt
)
14 if (statvfs(mnt
, &fs
) < 0) {
15 warn("statvfs '%s':", mnt
);
19 return fmt_scaled(fs
.f_frsize
* fs
.f_bavail
);
23 disk_perc(const char *mnt
)
27 if (statvfs(mnt
, &fs
) < 0) {
28 warn("statvfs '%s':", mnt
);
32 return bprintf("%d", (int)(100 *
33 (1.0f
- ((float)fs
.f_bavail
/ (float)fs
.f_blocks
))));
37 disk_total(const char *mnt
)
41 if (statvfs(mnt
, &fs
) < 0) {
42 warn("statvfs '%s':", mnt
);
46 return fmt_scaled(fs
.f_frsize
* fs
.f_blocks
);
50 disk_used(const char *mnt
)
54 if (statvfs(mnt
, &fs
) < 0) {
55 warn("statvfs '%s':", mnt
);
59 return fmt_scaled(fs
.f_frsize
* (fs
.f_blocks
- fs
.f_bfree
));