]> Zhao Yanbai Git Server - minix.git/commitdiff
includes: statvfs support, contributed by Buccapatnam Tirumala, Gautam
authorBen Gras <ben@minix3.org>
Wed, 23 Jun 2010 23:46:10 +0000 (23:46 +0000)
committerBen Gras <ben@minix3.org>
Wed, 23 Jun 2010 23:46:10 +0000 (23:46 +0000)
include/minix/types.h
include/sys/Makefile
include/sys/statvfs.h [new file with mode: 0644]

index dd325d662d3eee77b7ef3b15bbd0080817ecb8a9..e130467eeba8f00928a166271317b072210ab05b 100644 (file)
@@ -100,6 +100,8 @@ typedef short        nlink_t;          /* number of links to a file */
 typedef long          off_t;      /* offset within a file */
 typedef int            pid_t;     /* process id (must be signed) */
 typedef short          uid_t;     /* user id */
+typedef unsigned long  fsblkcnt_t; /* File system block count */
+typedef unsigned long  fsfilcnt_t; /* File system file count */
 
 /* Signal handler type, e.g. SIG_IGN */
 typedef void _PROTOTYPE( (*sighandler_t), (int) );
index e6c948ca3ab92a1c72da45402b376465f866a4c2..d06942eaa1a49fa5f80ed811681e98d8ee1dee86 100644 (file)
@@ -7,8 +7,8 @@ INCS=   asynchio.h dir.h file.h ioc_cmos.h ioc_disk.h \
        ioctl.h ioc_tty.h ipc.h jmp_buf.h kbdio.h mman.h \
        mount.h mtio.h param.h ptrace.h queue.h resource.h \
        select.h sem.h shm.h sigcontext.h signal.h socket.h \
-       soundcard.h statfs.h stat.h svrctl.h timeb.h \
+       soundcard.h statfs.h statvfs.h stat.h svrctl.h timeb.h \
        time.h times.h types.h ucontext.h uio.h un.h utsname.h video.h vm.h \
-       wait.h cdefs.h
+       wait.h cdefs.h 
 
 .include <minix.kinc.mk>
diff --git a/include/sys/statvfs.h b/include/sys/statvfs.h
new file mode 100644 (file)
index 0000000..79eee29
--- /dev/null
@@ -0,0 +1,35 @@
+/* Statvfs implementation corresponding to:
+ * http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/statvfs.h.html
+ */
+
+#ifndef _STATVFS_H
+#define _STATVFS_H
+
+#include <minix/types.h>
+
+
+struct statvfs {
+       unsigned long f_bsize;  /* File system block size. */
+       unsigned long f_frsize; /* Fundamental file system block size. */
+       fsblkcnt_t    f_blocks; /* Total number of blocks on file system */
+                            /* in units of f_frsize. */
+       fsblkcnt_t    f_bfree;  /* Total number of free blocks. */
+       fsblkcnt_t    f_bavail; /* Number of free blocks available to */
+                               /* non-privileged process. */
+       fsfilcnt_t    f_files;  /* Total number of file serial numbers. */
+       fsfilcnt_t    f_ffree;  /* Total number of free file serial numbers. */
+       fsfilcnt_t    f_favail; /* Number of file serial numbers available */
+                                    /* to non-privileged process. */
+       unsigned long f_fsid;        /* File system ID. */
+       unsigned long f_flag;        /* Bit mask of f_flag values. */
+       unsigned long f_namemax;     /* Maximum filename length. */
+       unsigned char __padding[32]; /* Padding for future compatibility */
+};
+
+_PROTOTYPE( int fstatvfs, (int fd, struct statvfs *st)             );
+_PROTOTYPE( int statvfs,  (const char *path, struct statvfs *st));
+
+/* Possible values for statvfs->f_flag */
+#define ST_RDONLY 0x1
+#define ST_NOSUID 0x2
+#endif /* _STAVTFS_H */