Annotation of 43BSDReno/lib/libc/sys/quotactl.2, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1983, 1990 Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" This code is derived from software contributed to Berkeley by
        !             5: .\" Robert Elz at The University of Melbourne.
        !             6: .\"
        !             7: .\" Redistribution and use in source and binary forms are permitted provided
        !             8: .\" that: (1) source distributions retain this entire copyright notice and
        !             9: .\" comment, and (2) distributions including binaries display the following
        !            10: .\" acknowledgement:  ``This product includes software developed by the
        !            11: .\" University of California, Berkeley and its contributors'' in the
        !            12: .\" documentation or other materials provided with the distribution and in
        !            13: .\" all advertising materials mentioning features or use of this software.
        !            14: .\" Neither the name of the University nor the names of its contributors may
        !            15: .\" be used to endorse or promote products derived from this software without
        !            16: .\" specific prior written permission.
        !            17: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            18: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            19: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            20: .\"
        !            21: .\"    @(#)quotactl.2  6.11 (Berkeley) 6/23/90
        !            22: .\"
        !            23: .TH QUOTACTL 2 "June 23, 1990"
        !            24: .UC 7
        !            25: .SH NAME
        !            26: quotactl \- manipulate disk quotas
        !            27: .SH SYNOPSIS
        !            28: .BI "#include <ufs/quota.h>" " /* for ``ufs'' quotas */"
        !            29: .PP
        !            30: .nf
        !            31: .B quotactl(path, cmd, id, addr)
        !            32: .B char *path;
        !            33: .B int cmd, id;
        !            34: .B char *addr;
        !            35: .fi
        !            36: .SH DESCRIPTION
        !            37: The
        !            38: .I quotactl
        !            39: call is used to enable and disable quotas and
        !            40: to manipulate disk quotas for filesystems on
        !            41: which quotas have been enabled.
        !            42: .I Path
        !            43: is the path name of any file within the mounted filesystem
        !            44: to which the quota control command is to be applied.
        !            45: The
        !            46: .I cmd
        !            47: parameter indicates a command to be applied to the
        !            48: .IR id .
        !            49: .I Addr
        !            50: is the address of an optional, command specific, data structure
        !            51: that is copied in or out of the system.  The interpretation of
        !            52: .I addr
        !            53: is given with each command.
        !            54: .PP
        !            55: Currently quotas are supported only for the ``ufs'' filesystem.
        !            56: For ``ufs'',
        !            57: a command is composed of a primary command (see below)
        !            58: and a command type that is used to interpret the
        !            59: .IR id .
        !            60: Types are supported for interpretation of user identifiers
        !            61: and group identifiers.
        !            62: The ``ufs'' specific commands are:
        !            63: .TP
        !            64: Q_QUOTAON
        !            65: Enable disk quotas for the filesystem specified by
        !            66: .IR path .
        !            67: The command type specifies the type of the quotas being enabled.
        !            68: The
        !            69: .I addr
        !            70: argument specifies a file from which to take the quotas.
        !            71: The quota file must exist;
        !            72: it is normally created with the 
        !            73: .IR quotacheck (8)
        !            74: program.
        !            75: The
        !            76: .I id
        !            77: argument is unused.
        !            78: Only the super-user may turn quotas on.
        !            79: .TP
        !            80: Q_QUOTAOFF
        !            81: Disable disk quotas for the filesystem specified by
        !            82: .I path .
        !            83: The command type specifies the type of the quotas being disabled.
        !            84: The
        !            85: .I addr
        !            86: and
        !            87: .I id
        !            88: arguments are unused.
        !            89: Only the super-user may turn quotas off.
        !            90: .TP
        !            91: Q_GETQUOTA
        !            92: Get disk quota limits and current usage for the user or group
        !            93: (as determined by the command type) with identifier
        !            94: .IR id .
        !            95: .I Addr
        !            96: is a pointer to a struct dqblk structure (defined in 
        !            97: .RI < ufs/quota.h >).
        !            98: .TP
        !            99: Q_SETQUOTA
        !           100: Set disk quota limits for the user or group
        !           101: (as determined by the command type) with identifier
        !           102: .IR id .
        !           103: .I Addr
        !           104: is a pointer to a struct dqblk structure (defined in 
        !           105: .RI < ufs/quota.h >).
        !           106: The usage fields of the dqblk structure are ignored.
        !           107: This call is restricted to the super-user.
        !           108: .TP
        !           109: Q_SETUSE
        !           110: Set disk usage limits for the user or group
        !           111: (as determined by the command type) with identifier
        !           112: .IR id .
        !           113: .I Addr
        !           114: is a pointer to a struct dqblk structure (defined in
        !           115: .RI < ufs/quota.h >).
        !           116: Only the usage fields are used.
        !           117: This call is restricted to the super-user.
        !           118: .TP
        !           119: Q_SYNC
        !           120: Update the on-disk copy of quota usages.
        !           121: The command type specifies which type of quotas are to be updated.
        !           122: The \fIid\fP and \fIaddr\fP parameters are ignored.
        !           123: .SH "RETURN VALUE"
        !           124: A successful call returns 0,
        !           125: otherwise the value \-1 is returned and the global variable
        !           126: .I errno
        !           127: indicates the reason for the failure.
        !           128: .SH ERRORS
        !           129: A \fIquotactl\fP call will fail when one of the following occurs:
        !           130: .TP 15
        !           131: [EOPNOTSUPP]
        !           132: The kernel has not been compiled with the QUOTA option.
        !           133: .TP 15
        !           134: [EUSERS]
        !           135: The quota table cannot be expanded.
        !           136: .TP 15
        !           137: [EINVAL]
        !           138: .I Cmd
        !           139: or the command type is invalid.
        !           140: .TP 15
        !           141: [EINVAL]
        !           142: A pathname contains a character with the high-order bit set.
        !           143: .TP 15
        !           144: [EACCES]
        !           145: In Q_QUOTAON, the quota file is not a plain file.
        !           146: .TP 15
        !           147: [EACCES]
        !           148: Search permission is denied for a component of a path prefix.
        !           149: .TP 15
        !           150: [ENOTDIR]
        !           151: A component of a path prefix is not a directory.
        !           152: .TP 15
        !           153: [ENAMETOOLONG]
        !           154: A component of either pathname exceeded 255 characters,
        !           155: or the entire length of either path name exceeded 1023 characters.
        !           156: .TP 15
        !           157: [ENOENT]
        !           158: A filename does not exist.
        !           159: .TP 15
        !           160: [ELOOP]
        !           161: Too many symbolic links were encountered in translating a pathname.
        !           162: .TP 15
        !           163: [EROFS]
        !           164: In Q_QUOTAON, the quota file resides on a read-only filesystem.
        !           165: .TP 15
        !           166: [EIO]
        !           167: An I/O error occurred while reading from or writing
        !           168: to a file containing quotas.
        !           169: .TP 15
        !           170: [EFAULT]
        !           171: An invalid
        !           172: .I addr
        !           173: is supplied; the associated structure could not be copied in or out
        !           174: of the kernel.
        !           175: .TP 15
        !           176: [EFAULT]
        !           177: .I Path
        !           178: points outside the process's allocated address space.
        !           179: .TP 15
        !           180: [EPERM]
        !           181: The call is privileged and the caller was not the super-user.
        !           182: .SH "SEE ALSO"
        !           183: quota(1),
        !           184: fstab(5),
        !           185: edquota(8), quotacheck(8), quotaon(8), repquota(8)
        !           186: .SH BUGS
        !           187: There should be some way to integrate this call with the resource
        !           188: limit interface provided by
        !           189: .IR setrlimit (2)
        !           190: and
        !           191: .IR getrlimit (2).

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.