Manual Pages for UNIX Darwin command on man fstatfs
MyWebUniversity

Manual Pages for UNIX Darwin command on man fstatfs

STATFS(2) BSD System Calls Manual STATFS(2)

NAME

ssttaattffss,, ssttaattffss6644,, ffssttaattffss,, ffssttaattffss6644 - get file system statistics

SYNOPSIS

##iinncclluuddee <>

##iinncclluuddee <>

int ssttaattffss(const char *path, struct statfs *buf); int ssttaattffss6644(const char *path, struct statfs64 *buf); int ffssttaattffss(int fd, struct statfs *buf); int ffssttaattffss6644(int fd, struct statfs64 *buf);

DESCRIPTION

SSttaattffss() returns information about a mounted file system. Path is the path name of any file within the mounted file system. Buf is a pointer to a statfs or statfs64 structure defined as follows: typedef struct { int32t val[2]; } fsidt;

#define MFSNAMELEN 15 /* length of fs type name, not inc. nul */

#define MNAMELEN 90 /* length of buffer for returned name */

#define MFSTYPENAMELEN 16 /* length of fs type name including null */

#define MAXPATHLEN 1024

struct statfs { short fotype; /* type of file system (reserved: zero) */ short foflags; /* copy of mount flags (reserved: zero) */ long fbsize; /* fundamental file system block size */ long fiosize; /* optimal transfer block size */ long fblocks; /* total data blocks in file system */ long fbfree; /* free blocks in fs */

long fbavail; /* free blocks avail to non-superuser */

long ffiles; /* total file nodes in file system */ long fffree; /* free file nodes in fs */ fsidt ffsid; /* file system id */ uidt fowner; /* user that mounted the file system */ short freserved1; /* reserved for future use */ short ftype; /* type of file system (reserved) */ long fflags; /* copy of mount flags (reserved) */ long freserved2[2]; /* reserved for future use */

char ffstypename[MFSNAMELEN]; /* fs type name */

char fmntonname[MNAMELEN]; /* directory on which mounted */

char fmntfromname[MNAMELEN]; /* mounted file system */

char freserved3; /* reserved for future use */ long freserved4[4]; /* reserved for future use */ }; struct statfs64 { uint32t fbsize; /* fundamental file system block size */ int32t fiosize; /* optimal transfer block size */ uint64t fblocks; /* total data blocks in file system */ uint64t fbfree; /* free blocks in fs */

uint64t fbavail; /* free blocks avail to non-superuser */

uint64t ffiles; /* total file nodes in file system */ uint64t fffree; /* free file nodes in fs */ fsidt ffsid; /* file system id */ uidt fowner; /* user that mounted the filesystem */ uint32t ftype; /* type of filesystem */ uint32t fflags; /* copy of mount exported flags */

uint32t ffssubtype; /* fs sub-type (flavor) */

char ffstypename[MFSTYPENAMELEN]; /* fs type name */

char fmntonname[MAXPATHLEN]; /* directory on which mounted */ char fmntfromname[MAXPATHLEN]; /* mounted filesystem */ uint32t freserved[8]; /* For future use */ };

Fields that are undefined for a particular file system are set to -1.

FFssttaattffss() returns the same information about an open file referenced by descriptor fd. FFLLAAGGSS These are some of the flags that may be present in the fflags field.

MNTRDONLY A read-only filesystem

MNTSYNCHRONOUS File system is written to synchronously MNTNOEXEC Can't exec from filesystem MNTNOSUID Setuid bits are not honored on this filesystem MNTNODEV Don't interpret special files MNTUNION Union with underlying filesysten MNTASYNC File system written to asynchronously MNTEXPORTED File system is exported File system is stored locally MNTQUOTA Quotas are enabled on this file system MNTROOTFS This file system is the root of the file system MNTDOVOLFS File system supports volfs MNTDONTBROWSE File system is not appropriate path to user data MNTUNKNOWNPERMISSIONS

VFS will ignore ownership information on filesys-

tem objects MNTAUTOMOUNTED File system was mounted by automounter MNTJOURNALED File system is journaled MNTDEFWRITE File system should defer writes MNTMULTILABEL MAC support for individual labels CCAAVVEEAATTSS

In Mac OS X versions before 10.4, fiosize is 4096. On these older sys-

tems, use MAXBSIZE instead.

RETURN VALUES

Upon successful completion, a value of 0 is returned. Otherwise, -1 is

returned and the global variable errno is set to indicate the error. EERRRROORRSS SSttaattffss() fails if one or more of the following are true:

[ENOTDIR] A component of the path prefix of Path is not a direc-

tory.

[ENAMETOOLONG] The length of a component of path exceeds {NAMEMAX}

characters, or the length of path exceeds {PATHMAX} characters. [ENOENT] The file referred to by path does not exist. [EACCES] Search permission is denied for a component of the path prefix of path.

[ELOOP] Too many symbolic links were encountered in translat-

ing path. [EFAULT] Buf or path points to an invalid address. [EIO] An I/O error occurred while reading from or writing to the file system. FFssttaattffss() fails if one or more of the following are true: [EBADF] fd is not a valid open file descriptor. [EFAULT] Buf points to an invalid address. [EIO] An I/O error occurred while reading from or writing to the file system. HISTORY The ssttaattffss() function first appeared in 4.4BSD. The ssttaattffss6644() and ffssttaattffss6644() first appeared in Max OS X 10.5 (Leopard). BSD February 11, 1994 BSD




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™