Set disk quotas

SYNTAX
#include

int quotactl(cmd, special, uid, addr)
int cmd;
char *special;
int uid;
caddr_t addr;

DESCRIPTION
The quotactl() call manipulates disk quotas. cmd indi­
cates a command to be applied to UID id or GID id. To set
the type of quota use the QCMD(cmd,type) macro. special
is a pointer to a null-terminated string containing the
path name of the block special device for the file system
being manipulated. addr is the address of an optional,
command specific, data structure which is copied in or out
of the system. The interpretation of addr is given with
each command below.

Q_QUOTAON Turn on quotas for a file system. addr
points to the path name of file containing
the quotas for the file system. The quota
file must exist; it is normally created
with the quotacheck program. This call
is restricted to the super-user.

Q_QUOTAOFF Turn off quotas for a file system. addr
and uid are ignored. This call is
restricted to the super-user.

Q_GETQUOTA Get disk quota limits and current usage for
user or group id. addr is a pointer to a
dqblk structure (defined in
). Only the super-user may
get the quotas of a user other than him­
self.

Q_SETQUOTA Set disk quota limits and current usage for
user or group id. addr is a pointer to a
dqblk structure (defined in
). This call is restricted
to the super-user.

Q_SETQLIM Set disk quota limits for user or group id.
addr is a pointer to a dqblk structure
(defined in ). This call is
restricted to the super-user.

Q_SYNC Update the on-disk copy of quota usages for
a file system. If special is null then all
file systems with active quotas are
sync&qt;&qt;ed. addr and uid are ignored.

RETURN VALUES

0 on success.

-1 on failure and sets errno to indicate the error.