unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Page:
Section:
Apropos / Subsearch:
optional field

QUOTACTL(2)                   System Calls Manual                  QUOTACTL(2)



NAME
       quotactl - manipulate disk quotas

SYNOPSIS
       #include <&lt;ufs/quota.h>&gt;

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

DESCRIPTION
       The  quotactl()  call manipulates disk quotas.  cmd indicates a command
       to be applied to the user ID uid.  special is a pointer to a  null-ter-
       minated string containing the path name of the block special device for
       the file system being manipulated.  The block special  device  must  be
       mounted  as  a UFS file system (see mount(2V)).  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  cre-
                      ated  with  the  quotacheck(8)  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 uid.
                      addr is a pointer  to  a  dqblk  structure  (defined  in
                      <&lt;ufs/quota.h>&gt;).   Only the super-user may get the quotas
                      of a user other than himself.

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

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

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

RETURN VALUES
       quotactl() returns:

       0      on success.

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

ERRORS
       EFAULT         addr or special are invalid.

       EINVAL         The kernel has not been compiled with the QUOTA option.

                      cmd is invalid.

       ENODEV         special is not a mounted UFS file system.

       ENOENT         The file specified by special or addr does not exist.

       ENOTBLK        special is not a block device.

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

       ESRCH          No disc quota is found for the indicated user.

                      Quotas have not been turned on for this file system.

       EUSERS         The quota table is full.

       If cmd is Q_QUOTAON quotactl( may set errno to:

       EACCES         The  quota  file  pointed to by addr exists but is not a
                      regular file.

                      The quota file pointed to by addr exists but is  not  on
                      the file system pointed to by special.

       EBUSY          Q_QUOTAON  attempted  while  another Q_QUOTAON or Q_QUO-
                      TAOFF is in progress.

SEE ALSO
       quota(1), getrlimit(2), mount(2V), quotacheck(8), quotaon(8)

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

       Incompatible with Melbourne quotas.



                                21 January 1990                    QUOTACTL(2)