Query: quotactl
OS: freebsd
Section: 2
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
QUOTACTL(2) BSD System Calls Manual QUOTACTL(2)NAMEquotactl -- manipulate file system quotasLIBRARYStandard C Library (libc, -lc)SYNOPSIS#include <sys/types.h> #include <ufs/ufs/quota.h> int quotactl(const char *path, int cmd, int id, void *addr);DESCRIPTIONThe quotactl() system call enables, disables and manipulates file system quotas. A quota control command given by cmd operates on the given filename path for the given user or group id. (NOTE: One should use the QCMD macro defined in <ufs/ufs/quota.h> to formulate the value for cmd.) The address of an optional command specific data structure, addr, may be given; its interpretation is discussed below with each com- mand. For commands that use the id identifier, it must be either -1 or any positive value. The value of -1 indicates that the current UID or GID should be used. Any other negative value will return an error. Currently quotas are supported only for the ``ufs'' file system. For ``ufs'', a command is composed of a primary command (see below) and a command type used to interpret the id. Types are supported for interpretation of user identifiers (USRQUOTA) and group identifiers (GRPQUOTA). The ``ufs'' specific commands are: Q_QUOTAON Enable disk quotas for the file system specified by path. The command type specifies the type of the quotas being enabled. The addr argument specifies a file from which to take the quotas. The quota file must exist; it is normally created with the quotacheck(8) program. The id argument is unused. Only the super-user may turn quotas on. Q_QUOTAOFF Disable disk quotas for the file system specified by path. The command type specifies the type of the quotas being dis- abled. The addr and id arguments are unused. Only the super-user may turn quotas off. Q_GETQUOTASIZE Get the wordsize used to represent the quotas for the user or group (as determined by the command type). Possible values are 32 for the old-style quota file and 64 for the new-style quota file. The addr argument is a pointer to an integer into which the size is stored. The identifier id is not used. Q_GETQUOTA Get disk quota limits and current usage for the user or group (as determined by the command type) with identifier id. The addr argument is a pointer to a struct dqblk structure (defined in <ufs/ufs/quota.h>). Q_SETQUOTA Set disk quota limits for the user or group (as determined by the command type) with identifier id. The addr argument is a pointer to a struct dqblk structure (defined in <ufs/ufs/quota.h>). The usage fields of the dqblk structure are ignored. This system call is restricted to the super-user. Q_SETUSE Set disk usage limits for the user or group (as determined by the command type) with identifier id. The addr argument is a pointer to a struct dqblk structure (defined in <ufs/ufs/quota.h>). Only the usage fields are used. This system call is restricted to the super-user. Q_SYNC Update the on-disk copy of quota usages. The command type specifies which type of quotas are to be updated. The id and addr arguments are ignored.RETURN VALUESThe quotactl() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indi- cate the error.ERRORSThe quotactl() system call will fail if: [EOPNOTSUPP] The kernel has not been compiled with the QUOTA option. [EUSERS] The quota table cannot be expanded. [EINVAL] The cmd argument or the command type is invalid. In Q_GETQUOTASIZE, Q_GETQUOTA, Q_SETQUOTA, and Q_SETUSE, quotas are not currently enabled for this file system. The id argument to Q_GETQUOTA, Q_SETQUOTA or Q_SETUSE is a negative value. [EACCES] In Q_QUOTAON, the quota file is not a plain file. [EACCES] Search permission is denied for a component of a path prefix. [ENOTDIR] A component of a path prefix was not a directory. [ENAMETOOLONG] A component of either pathname exceeded 255 characters, or the entire length of either path name exceeded 1023 characters. [ENOENT] A filename does not exist. [ELOOP] Too many symbolic links were encountered in translating a pathname. [EROFS] In Q_QUOTAON, either the file system on which quotas are to be enabled is mounted read-only or the quota file resides on a read-only file system. [EIO] An I/O error occurred while reading from or writing to a file containing quotas. [EFAULT] An invalid addr was supplied; the associated structure could not be copied in or out of the kernel. [EFAULT] The path argument points outside the process's allocated address space. [EPERM] The call was privileged and the caller was not the super-user.SEE ALSOquota(1), fstab(5), edquota(8), quotacheck(8), quotaon(8), repquota(8)HISTORYThe quotactl() system call appeared in 4.3BSD-Reno.BUGSThere should be some way to integrate this call with the resource limit interface provided by setrlimit(2) and getrlimit(2).BSDMarch 5, 1999 BSD
Related Man Pages |
---|
quota(2) - bsd |
quotactl(7i) - sunos |
quotactl(2) - osf1 |
quotactl(2) - osx |
quota.user(5) - freebsd |
Similar Topics in the Unix Linux Community |
---|
J2EE 1.4 on Solaris 8 |
/dev not updated on usb device removal |
Missing Modules After Compiling Kernel |