NAME | SYNOPSIS | API RESTRICTIONS | FEATURES | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES
#include <sys/param.h> #include <sys/mount.h>int statfs(const char * path, struct statfs * buf);
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
MSDOSFS, NFS_CLIENT, UFS
The statfs function call returns information about a mounted file system. The path name of any file in the mounted filesystem is defined by path . The buf pointer indicates a statfs structure defined as follows:
typedef struct fsid { int32_t val[2]; } fsid_t; /* file system id type */ /* * file system statistics */ #define MFSNAMELEN 16 /* length of fs type name, including null */ #define MNAMELEN 256 /* length of buffer for returned name */ struct statfs { long f_spare2; /* placeholder */ long f_bsize; /* fundamental file system block size */ long f_iosize; /* optimal transfer block size */ long f_blocks; /* total data blocks in file system */ long f_bfree; /* free blocks in fs */ long f_bavail; /* free blocks avail to non-superuser */ long f_files; /* total file nodes in file system */ long f_ffree; /* free file nodes in fs */ fsid_t f_fsid; /* file system id */ uid_t f_owner; /* user that mounted the filesystem */ int f_type; /* type of filesystem (see below) */ int f_flags; /* copy of mount flags */ long f_syncwrites; /* count of sync writes since mount */ long f_asyncwrites; /* count of async writes since mount */ char f_fstypename[MFSNAMELEN]; /* fs type name */ char f_mntonname[MNAMELEN]; /* mount point */ long f_syncreads; /* count of sync reads since mount */ long f_asyncreads; /* count of async reads since mount */ short f_spares1; /* unused spare */ char f_mntfromname[MNAMELEN]; /* mounted filesystem */ short f_spares2; /* unused spare */ long f_spare[2]; /* unused spare */ }; |
The flags that may be returned include:
The filesystem is mounted read-only. Even the super-user may not write on it.
Files may not be executed from the filesystem.
Setuid and setgid bits on files are not honored when they are executed.
Special files in the filesystem may not be opened.
All I/O to the filesystem is done synchronously.
No filesystem I/O is done synchronously
The filesystem resides locally.
Quotas are enabled on the filesystem.
Identifies the root filesystem.
The filesystem is exported read-only.
The filesystem is exported for both reading and writing.
The filesystem is exported for both reading and writing to any Internet host.
The filesystem maps all remote accesses to the anonymous user.
Fields that are undefined for a particular file system are set to -1. fstatfs() returns the same information about an open file referenced by the fd descriptor.
Upon successful completion, a value of 0 is returned. Otherwise, -1 is returned and the global variable errno is set to indicate the error condition.
The error messages for statfs are the following:
A component of the path prefix of path is not a directory.
The length of a component of path exceeds 255 characters, or the length of path exceeds 1023 characters.
The file referred to by path does not exist.
Search permission is denied for a component of the path prefix of path .
Too many symbolic links were encountered in translating path .
In user mode, buf or path points to an invalid address. In supervisor mode, this is not detected and the state of the target is unknown.
An I/O error occurred while reading from or writing to the file system.
The error messages for fstatfs are the following:
fd is not a valid open file descriptor.
buf points to an invalid address.
An I/O error occurred while reading from or writing to the file system.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | API RESTRICTIONS | FEATURES | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES