delorie.com/djgpp/doc/libc/libc_747.html | search |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
#include <sys/types.h> #include <sys/statvfs.h> int statvfs (const char *path, struct statvfs *sbuf); |
This function returns information about the "filesystem" (FS) containing path and stores it in sbuf, which has the structure below:
struct statvfs { unsigned long f_bsize; /* FS block size */ unsigned long f_frsize; /* fundamental block size */ fsblkcnt_t f_blocks; /* # of blocks on FS of size f_frsize */ fsblkcnt_t f_bfree; /* # of free blocks on FS of size f_frsize */ fsblkcnt_t f_bavail; /* # of free blocks on FS of size f_frsize * for unprivileged users */ fsfilcnt_t f_files; /* # of file serial numbers */ fsfilcnt_t f_ffree; /* # of free file serial numbers */ fsfilcnt_t f_favail; /* # of free file serial numbers * for unprivileged users */ unsigned long f_fsid; /* FS identifier */ unsigned long f_flag; /* FS flags: bitwise OR of ST_NOSUID, * ST_RDONLY */ unsigned long f_namemax; /* Maximum file name length on FS */ }; |
Note that if INT 21h is hooked by a TSR, the total size is limited to approximately 2GB. TSRs that hook INT 21h include:
These may be loaded by `autoexec.bat' or `config.sys'.
The fundamental block size is considered to be a cluster. Really the fundamental block is the sector of the physical media rather than the logical block of the filesystem, but the sector size cannot be determined in all cases. So for consistency we return the cluster size.
Zero on success, nonzero on failure (and errno
set).
ANSI/ISO C | No |
POSIX | 1003.2-1992; 1003.1-2001 (see note 1) |
Notes:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
webmaster | delorie software privacy |
Copyright © 2004 | Updated Apr 2004 |