Manual Page Result
0
Command: quotactl | Section: 2 | Source: Digital UNIX | File: quotactl.2.gz
quotactl(2) System Calls Manual quotactl(2)
NAME
quotactl - Manipulates disk quotas
SYNOPSIS
#include <ufs/quota.h>
quotactl( char *path, int cmd, int id, char *addr
);
PARAMETERS
Specifies the pathname of any file within the mounted file system.
Specifies a command for interpreting the id parameter. Specifies the
user or group identifier. Specifies the address of an optional, com-
mand-specific data structure that is copied in or out of the system.
The interpretation of the addr parameter is given with each command.
DESCRIPTION
The quotactl() function is used to enable and disable quotas and to ma-
nipulate disk quotas for file systems on which quotas have been en-
abled.
Quotas are supported for the UNIX file system (UFS) and the Advanced
File System (AdvFS).
A command is composed of a primary command (see below) and a command
type that is used to interpret the id parameter. Types are supported
for interpretation of user identifiers (type USRQUOTA) and group iden-
tifiers (type GRPQUOTA). The cmd argument is composed from a type and
a specific command with the QCMD macro. For example, to get the quota
limits and usage for a group, the cmd argument would be formed by:
cmd=QCMD(Q_GETQUOTA, GRPQUOTA);
Note that block sizes are in DEV_BSIZE (that is, 512) byte blocks.
The specific commands are: Enable disk quotas for the file system spec-
ified by the path parameter. The command type specifies the type of
the quotas being enabled. The addr parameter specifies a file from
which to take the quotas. The quota file must exist; it is normally
created with the quotacheck program. The id parameter is unused. Only
users with superuser privilege can turn on quotas. Disable disk quotas
for the file system specified by the path parameter. The command type
specifies the type of the quotas being disabled. The addr and id para-
meters are unused. Only users with superuser privilege can turn off
quotas. Get disk quota limits and current usage for the user or group
(as determined by the command type) with identifier id. The addr para-
meter points to a struct dqblk structure, defined in the ufs/quota.h
header file. Quotas must be enabled on the file system for this com-
mand to work. Set disk quota limits for the user or group (as deter-
mined by the command type) with identifier id. The addr parameter
points to a struct dqblk structure, defined in the ufs/quota.h header
file. Quotas must be enabled on the file system for this command to
work. The usage fields of the dqblk structure are ignored. This func-
tion is restricted to processes with superuser privilege. Set disk us-
age limits for the user or group (as determined by the command type)
with identifier id. The addr parameter points to a struct dqblk struc-
ture, defined in the ufs/quota.h header file. Only the usage fields
are used. This function is restricted to processes with superuser
privilege. Update the on-disk copy of quota usages. The command type
specifies which type of quotas are to be updated. The id and addr pa-
rameters are ignored.
RETURN VALUES
Upon successful completion, 0 (zero) is returned. Otherwise, -1 is re-
turned and errno is set to indicate the error.
ERRORS
If the quotactl() function fails, errno may be set to one of the fol-
lowing values: The kernel has not been compiled with the QUOTA option.
The quota table cannot be expanded. The cmd parameter or the command
type is invalid. A pathname contains a character with the high-order
bit set. The Q_GETQUOTA or Q_SETQUOTA command was attempted on a file
system that did not have quotas enabled. In Q_QUOTAON, the quota file
is not a plain file. Search permission is denied for a component of a
path prefix. A component of a path prefix is not a directory. A com-
ponent of the pathname exceeded NAME_MAX, or the entire length of the
pathname exceeded PATH_MAX. A filename does not exist. Too many sym-
bolic links were encountered in translating a pathname. In Q_QUOTAON,
the quota file resides on a read-only file system. An I/O error oc-
curred while reading from or writing to a file containing quotas. An
invalid addr is supplied; the associated structure could not be copied
in or out of the kernel. The path parameter points outside the
process's allocated address space. The call is privileged and the
caller does not have appropriate privilege. An attempt has been made
to remove a file while a quotaoff operation is being performed.
RELATED INFORMATION
Commands: quota(1), edquota(8), quotacheck(8), quotaon(8), repquota(8)
delim off
quotactl(2)