summaryrefslogtreecommitdiff
path: root/uisimulator
diff options
context:
space:
mode:
Diffstat (limited to 'uisimulator')
-rw-r--r--uisimulator/x11/io.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/uisimulator/x11/io.c b/uisimulator/x11/io.c
index 87ef6ba..2951b1f 100644
--- a/uisimulator/x11/io.c
+++ b/uisimulator/x11/io.c
@@ -21,6 +21,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
+#include <sys/vfs.h>
#include <dirent.h>
#include <fcntl.h>
@@ -107,3 +108,23 @@ int x11_open(char *name, int opts)
}
return open(name, opts);
}
+
+void fat_size(unsigned int* size, unsigned int* free)
+{
+ struct statfs fs;
+
+ if (!statfs(".", &fs)) {
+ DEBUGF("statfs: bsize=%d blocks=%d free=%d\n",
+ fs.f_bsize, fs.f_blocks, fs.f_bfree);
+ if (size)
+ *size = fs.f_blocks * (fs.f_bsize / 1024);
+ if (free)
+ *free = fs.f_bfree * (fs.f_bsize / 1024);
+ }
+ else {
+ if (size)
+ *size = 0;
+ if (free)
+ *free = 0;
+ }
+}