Get information about a mounted filesystem
#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);
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.
This routine returns 0 if the operation was successful or -1 if the operation failed. In the latter case, serrno is set appropriately.
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.
LCG Grid Deployment Team