SETQUOTA(2)

NAME
setquota - enable/disable quotas on a file system

SYNOPSIS
setquota(special, file)
char *special, *file;

DESCRIPTION

Disc quotas are enabled or disabled with the setquota call. Special indicates a block special device on which a mounted file system exists. If file is nonzero, it specifies a file in that file system from which to take the quotas. If file is 0, then quotas are disabled on the file system. The quota file must exist; it is normally created with the quotacheck(8) program.

Only the super-user may turn quotas on or off.

SEE ALSO
quota(2), quotacheck(8), quotaon(8)

RETURN VALUE
A 0 return value indicates a successful call. A value of -1 is returned when an error occurs and errno is set to indicate the reason for failure.

ERRORS
Setquota will fail when one of the following occurs:

[EPERM]
    The caller is not the super-user.

[ENOENT]
    Special does not exist.

[ENOTBLK]
    Special is not a block device.

[ENXIO]
    The major device number of special is out of range (this indicates no device driver exists for the associated hardware).

[EPERM]
    The pathname contains a character with the high-order bit set.

[ENOTDIR]
    A component of the path prefix in file is not a directory.

[EACCES]
    File resides on a file system different from special.

[EACCES]
    File is not a plain file.

[ENAMETOOLONG]
    The pathname was too long.

[EFAULT]
    Special or file points outside the process's allocated address space.

[EIO]
    An I/O error occurred while reading from or writing to the file system.

BUGS
The error codes are in a state of disarray; too many errors appear to the caller as one value.