QUOTACTL(2)

NOM
quotactl - Manipuler les quotas de disque.

SYNOPSIS
#include <sys/types.h>
#include <sys/quota.h>

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

#include <linux/unistd.h>

_syscall4(int, quotactl, int, cmd, const char *, special , int, id, caddr_t, addr);

DESCRIPTION
Le systeme de quotas permet de definir pour chaque utilisateur et/ou groupe une limite logicielle et une limite materielle a la quantite d'espace disque utilisable sur un systeme de fichiers donne. La limite materielle ne peut pas etre depassee. La limite logicielle peut etre depassee, mais des avertissements s'ensuivront. De plus l'utilisateur ne peut pas depasser une limite logicielle pendant plus d'une semaine (par defaut) d'affilee. Une fois semaine ecoulee, la limite logicielle devient une limite materielle. L'appel systeme quotactl manipule ces quotas. Son premier argument est de la forme QCMD(subcmd,type) ou type vaut soit USRQUOTA soit GRPQUOTA (respectivement pour les quotas d'utilisateur et de groupe), et ou subcmd est decrit plus bas Le second arugment special est un peripherique par bloc auquel les quotas s'appliquent. Il doit etre monte. Le troisieme argument id est l'identifiant de l'utilisateur ou du groupe auquel s'appliquent les quotas. La quatrieme argument addr est l'adresse d'une structure de donnees dependant de la commande a utiliser. La commande subcmd est dans la liste suivante :

Q_QUOTAON
    Valider les quotas. L'argument addr est le chemin d'acces au fichier contenant les quotas pour le systeme de fichiers.

Q_QUOTAOFF
    Desactiver les quotas.

Q_GETQUOTA
    Obtenir les limites actuelles et l'utilisation courante de l'espace disque. L'argument addr est un pointeur sur une structure dqblk (definie dans <sys/quota.h>).

Q_SETQUOTA
    Fixe la limite et l'utilisation actuelle. addr est identique a Q_GETQUOTA

Q_SETQLIM
    Fixer les limites. addr est identique a Q_GETQUOTA

Q_SETUSE
    Fixer l'utilisation.

Q_SYNC
    Synchroniser les quotas d'un systeme de fichiers.

Q_GETSTATS
    Obtenir des statistiques

VALEUR RENVOYEE
quotactl renvoie 0 quand il reussit. En cas d'echec, -1 est renvoye et errno contient le code d'erreur.

ERREURS

ENOPKG
    Le noyau n'a pas ete compile avec le support de quotas.

EFAULT
    Mauvaise valeur pour addr.

EINVAL
    type n'est pas un type de quota supporte. Ou bien special n'a pas pu etre trouve.

ENOTBLK
    special n'est pas un peripherique bloc.

ENODEV
    special n'est pas dans la table de montage.

EACCES
    Le fichier de quotas n'est pas un fichier ordinaire.

EIO Impossible de lire ou d'ecrire le fichier de quotas.

EMFILE
    Trop de fichiers ouverts, impossible d'ouvrir le fichier des quotas

EBUSY
    Q_QUOTAON a ete requis mais les quotas sont deja actifs.

ESRCH
    Q_GETQUOTA ou Q_SETQUOTA ou Q_SETUSE ou Q_SETQLIM ont ete requis sur systeme de fichiers n'ayant pas de quotas actifs.

EPERM
    Le processus n'est pas root (pour le systeme de fichiers) et Q_GETQUOTA a ete requis pour un autre identifiant id que celui du processus, ou une commande autre que Q_GETSTATS ou Q_SYNC a ete reclamee.

CONFORMITE
BSD

VOIR AUSSI
getrlimit(2), setrlimit(2), ulimit(2)