4.4BSD/usr/share/man/cat2/quotactl.0

Compare this file to the similar file:
Show the results in this format:

QUOTACTL(2)                 BSD Programmer's Manual                QUOTACTL(2)

NNAAMMEE
     qquuoottaaccttll - manipulate filesystem quotas

SSYYNNOOPPSSIISS
     _#_i_n_c_l_u_d_e _<_u_f_s_/_q_u_o_t_a_._h_>   _/_* _f_o_r _u_f_s _q_u_o_t_a_s _*_/ _i_n_t
     qquuoottaaccttll(_c_o_n_s_t _c_h_a_r _*_p_a_t_h, _i_n_t _c_m_d, _i_n_t _i_d, _c_h_a_r _*_a_d_d_r);

DDEESSCCRRIIPPTTIIOONN
     The qquuoottaaccttll() call enables, disables and manipulates filesystem quotas.
     A quota control command given by _c_m_d operates on the given filename _p_a_t_h
     for the given user _i_d. The address of an optional command specific data
     structure, _a_d_d_r, may be given; its interpretation is discussed below with
     each command.

     Currently quotas are supported only for the ``ufs'' filesystem.  For
     ``ufs'', a command is composed of a primary command (see below) and a
     command type used to interpret the _i_d. Types are supported for interpre-
     tation of user identifiers and group identifiers.  The ``ufs'' specific
     commands are:

     Q_QUOTAON  Enable disk quotas for the filesystem specified by _p_a_t_h. The
                command type specifies the type of the quotas being enabled.
                The _a_d_d_r argument specifies a file from which to take the quo-
                tas.  The quota file must exist; it is normally created with
                the quotacheck(8) program.  The _i_d argument is unused.  Only
                the super-user may turn quotas on.

     Q_QUOTAOFF
                Disable disk quotas for the filesystem specified by _p_a_t_h. The
                command type specifies the type of the quotas being disabled.
                The _a_d_d_r and _i_d arguments are unused.  Only the super-user may
                turn quotas off.

     Q_GETQUOTA
                Get disk quota limits and current usage for the user or group
                (as determined by the command type) with identifier _i_d. _A_d_d_r
                is a pointer to a _s_t_r_u_c_t _d_q_b_l_k structure (defined in
                <_u_f_s_/_q_u_o_t_a_._h>).

     Q_SETQUOTA
                Set disk quota limits for the user or group (as determined by
                the command type) with identifier _i_d. _A_d_d_r is a pointer to a
                _s_t_r_u_c_t _d_q_b_l_k structure (defined in <_u_f_s_/_q_u_o_t_a_._h>). The usage
                fields of the _d_q_b_l_k structure are ignored.  This call is re-
                stricted to the super-user.

     Q_SETUSE   Set disk usage limits for the user or group (as determined by
                the command type) with identifier _i_d. _A_d_d_r is a pointer to a
                _s_t_r_u_c_t _d_q_b_l_k structure (defined in <_u_f_s_/_q_u_o_t_a_._h>). Only the
                usage fields are used.  This 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 _i_d and
                _a_d_d_r parameters are ignored.

RREETTUURRNN VVAALLUUEESS
     A successful call returns 0, otherwise the value -1 is returned and the
     global variable _e_r_r_n_o indicates the reason for the failure.

EERRRROORRSS


     A qquuoottaaccttll() call will fail if:

     [EOPNOTSUPP]    The kernel has not been compiled with the QUOTA option.

     [EUSERS]        The quota table cannot be expanded.

     [EINVAL]        _C_m_d or the command type is invalid.

     [EINVAL]        A pathname contains a character with the high-order bit
                     set.

     [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, the quota file resides on a read-only
                     filesystem.

     [EIO]           An I/O error occurred while reading from or writing to a
                     file containing quotas.

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

     [EFAULT]        _P_a_t_h points outside the process's allocated address
                     space.

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

SSEEEE AALLSSOO
     quota(1),  fstab(5),  edquota(8),  quotacheck(8),  quotaon(8),  repquo-
     ta(8)

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

HHIISSTTOORRYY
     The qquuoottaaccttll function call appeared in 4.3BSD-Reno.

4.4BSD                           June 4, 1993                                2