SYNOPSIS
#include <sys/types.h>#include "rfio_api.h"
int rfio_statfs (const char *path, struct rfstatfs *statfsbuf);
Under Linux, for large files:
#define _LARGEFILE64_SOURCE
#include <sys/types.h>
#include "rfio_api.h"
int rfio_statfs64 (const char *path, struct rfstatfs64 *statfsbuf);
For large files, under other systems:
#include <sys/types.h>
#include "rfio_api.h"
int rfio_statfs64 (const char *path, struct rfstatfs64 *statfsbuf);
DESCRIPTION
rfio_statfs gets information about a mounted filesystem.- path
- specifies the logical pathname relative to the current directory or the full pathname of any file in this filesystem.
- statfsbuf
-
is a pointer to a rfstatfs structure:
struct rfstatfs { long totblks ; /* Total number of blocks */ long freeblks ; /* Number of free blocks */ long bsize ; /* Block size */ long totnods ; /* Total number of inodes */ long freenods ; /* Number of free inodes */ }; struct rfstatfs64 { signed64 totblks ; /* Total number of blocks */ signed64 freeblks ; /* Number of free blocks */ long bsize ; /* Block size */ signed64 totnods ; /* Total number of inodes */ signed64 freenods ; /* Number of free inodes */ };
The 64 bits function must be used for large filesystems. It has the same syntax as the normal statfs function except that it uses a rfstatfs64 structure.
RETURN VALUE
This routine returns 0 if the operation was successful or -1 if the operation failed. In the latter case, serrno is set appropriately.ERRORS
- ENOENT
- The named file/directory does not exist or is a null pathname.
- EACCES
- Search permission is denied on a component of the path prefix.
- EFAULT
- path or statfsbuf is a NULL pointer.
- ENOTDIR
- A component of path prefix is not a directory.
- ENAMETOOLONG
- The length of path exceeds CA_MAXPATHLEN or the length of a path component exceeds CA_MAXNAMELEN.
- SENOSHOST
- Host unknown.
- SENOSSERV
- Service unknown.
- SECOMERR
- Communication error.
AUTHOR
LCG Grid Deployment Team