NOME
quotactl − manipula as quotas de disco
SINOPSE
#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);
DESCRIÇÃO
O sistema de quotas define para cada usuário e/ou grupo um limite flexível e um limite inflexível restringindo a quantidade de espaço em disco que pode ser usado em um sistema de arquivos. O limite inflexível não pode ser cruzado. O limite flexível pode ser cruzado, mas avisos virão. Além disso, o usuário não pode ficar acima do limite flexível por mais que uma semana (padrão) em um determinado tempo: depois desta semana o limite flexível funciona com um limite inflexível.
A chamada de sistema quotactl manipula esta quota. Seu primeiro argumento é da forma QCMD(subcmd,type) onde type é um dos dois USRQUOTA ou GRPQUOTA (para quota de usuário e grupo, respectivamente), e subcmd é descrito abaixo.
O segundo argumento special é um dispositivo de bloco onde será aplicada a quota. Ele deve estar montado.
O terçeiro argumento id é a ID do usuário ou grupo que esta quota será aplicada (quando relevante).
o quarto argumento addr é o endereço da estrutura de dados, dependendo do comando.
O subcmd é um dos
Q_QUOTAON |
Habilita quotas. O addr argumento é o caminho de busca do arquivo contendo as quotas para o sistema de arquivos. | ||
Q_QUOTAOFF |
Desabilita quotas. | ||
Q_GETQUOTA |
Obtém limites e uso corrente do espaço de disco. o argumento addr é um ponteiro para uma estrutura dqblk (definida em <sys/quota.h>). | ||
Q_SETQUOTA |
Seleciona limites e uso atual; addr é como antes. | ||
Q_SETQLIM |
Seleciona limites; addr é como antes. | ||
Q_SETUSE |
Seleciona o uso. | ||
Q_SYNC |
Sincroniza uma cópia do disco para um sistema de arquivos quota. | ||
Q_GETSTATS |
Obtém estatísticas. |
VALORES RETORNADOS
Em caso de sucesso, quotactl retorna 0. Caso contrário, −1 é retornado, e errno é selecionado adequadamente.
ERROS
ENOPKG |
O kernel foi compilado sem suporte para quotas. | ||
EFAULT |
Valor addr ruim. | ||
EINVAL |
tipo não é um tipo de quota conhecido. Ou, special não pode ser achado. | ||
ENOTBLK |
special não é dispostivo de bloco. | ||
ENODEV |
special não pode ser achado na tabela de montagem. | ||
EACCES |
O arquivo quota não é um arquivo ordinário. | ||
EIO |
Não se pode ler ou escrever no arquivo quota. | ||
EMFILE |
Muitos arquivos abertos: não pode abrir o arquivo de quota. | ||
EBUSY |
Q_QUOTAON foi questionado, mas quota já está habilitado. | ||
ESRCH |
Q_GETQUOTA ou Q_SETQUOTA ou Q_SETUSE ou Q_SETQLIM foi questionado por um sistema de arquivos que não tem quota habilitada. | ||
EPERM |
O processo não é do super-usuário (para o sistema de arquivos), e Q_GETQUOTA foi questionado por outra id que aquele mesmo do processo, ou qualquer coisa a não ser Q_GETSTATS ou Q_SYNC foi questionada. |
DE ACORDO COM
BSD
VEJA TAMBÉM
quota(1), getrlimit(2), setrlimit(2), ulimit(2), quotacheck(8), quotaon(8)
TRADUZIDO POR LDP-BR em 21/08/2000
André L. Fassone Canova <lonelywolf [AT] blv.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx [AT] xxxxxx.xx> (revisão)