Over a million developers have joined DZone.

C Functions For Getting Disk Space Information In Linux OS

· Java Zone

Learn more about the advantages of moving from a monolithic to microservices architecture.  Brought to you in partnership with IBM.

These are 2 C functions for getting disk capacity and disk free space in megabytes into char array


#include 
#include 

gchar *
g_get_capacity ( gchar * dev_path)
{
unsigned long long result = 0;
int n;
gchar s_cap[50];
gchar * ss_cap = "N/A";
struct statvfs sfs;
if ( statvfs ( dev_path, &sfs) != -1 )
{
result = (unsigned long long)sfs.f_bsize * sfs.f_blocks;
}
if (result > 0)
{
double f_cap = (double)result/(1024*1024);
n = sprintf(s_cap, "%.2f Mb", f_cap);
ss_cap = g_strdup(s_cap);
}
return ss_cap;
}

gchar * 
g_get_free_space ( gchar * dev_path)
{
unsigned long long result = 0;
int n;
gchar s_cap[50];
gchar * ss_cap = "N/A";
struct statvfs sfs;
if ( statvfs ( dev_path, &sfs) != -1 )
{
result = (unsigned long long)sfs.f_bsize * sfs.f_bfree;
}
if (result > 0)
{
double f_cap = (double)result/(1024*1024);
n = sprintf(s_cap, "%.2f Mb", f_cap);
ss_cap = g_strdup(s_cap);
}
return ss_cap;
}


From Idea to Application gives you the architecture to quickly build, manage and run a range of applications (web, mobile, big data, new smart devices, etc.) on an open-standard, cloud-based platform. See why developers are using IBM Bluemix. Brought to you in partnership with IBM.

Topics:
linux

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}