QUOTA(2)

NAME
quota - manipulate disk quotas

SYNOPSIS
#include <sys/quota.h>

quota(cmd, uid, arg, addr)
int cmd, uid, arg;
caddr_t addr;

DESCRIPTION
N.B.: This call is not implemented in the current version of the system.

The quota call manipulates disk quotas for file systems which have had quotas enabled with setquota(2). The cmd parameter indicates a command to be applied to the user ID uid. Arg is a command specific argument and addr is the address of an optional, command specific, data structure which is copied in or out of the system. The interpretation of arg and addr is given with each command below.

Q_SETDLIM
    Set disc quota limits and current usage for the user with ID uid. Arg is a major-minor device indicating a particular file system. Addr is a pointer to a struct dqblk structure (defined in <sys/quota.h>). This call is restricted to the super-user.

Q_GETDLIM
    Get disc quota limits and current usage for the user with ID uid. The remaining parameters are as for Q_SETDLIM.

Q_SETDUSE
    Set disc usage limits for the user with ID uid. Arg is a major-minor device indicating a particular file system. Addr is a pointer to a struct dqusage structure (defined in <sys/quota.h>). This call is restricted to the super-user.

Q_SYNC
    Update the on-disc copy of quota usages. The uid, arg, and addr parameters are ignored.

Q_SETUID
    Change the calling process's quota limits to those of the user with ID uid. The arg and addr parameters are ignored. This call is restricted to the super-user.

Q_SETWARN
    Alter the disc usage warning limits for the user with ID uid. Arg is a major-minor device indicating a particular file system. Addr is a pointer to a struct dqwarn structure (defined in <sys/quota.h>). This call is restricted to the super-user.

Q_DOWARN
    Warn the user with user ID uid about excessive disc usage. This call causes the system to check its current disc usage information and print a message on the terminal of the caller for each file system on which the user is over quota. If the arg parameter is specified as NODEV, all file systems which have disc quotas will be checked. Otherwise, arg indicates a specific major-minor device to be checked. This call is restricted to the super-user.

RETURN VALUE
A successful call returns 0 and, possibly, more information specific to the cmd performed; when an error occurs, the value -1 is returned and errno is set to indicate the reason.

ERRORS
A quota call will fail when one of the following occurs:

[EINVAL]
    Cmd is invalid.

[ESRCH]
    No disc quota is found for the indicated user.

[EPERM]
    The call is priviledged and the caller was not the super-user.

[EINVAL]
    The arg parameter is being interpreted as a major-minor device and it indicates an unmounted file system.

[EFAULT]
    An invalid addr is supplied; the associated structure could not be copied in or out of the kernel.

[EUSERS]
    The quota table is full.

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

BUGS
There should be someway to integrate this call with the resource limit interface provided by setrlimit(2) and getrlimit(2).

The Australian spelling of disk is used throughout the quota facilities in honor of the implementors.