GETGROUPS(2)

NOME
getgroups, setgroups - obtém/seleciona a lista sumplementar das IDs grupo

SINOPSE
#include <sys/types.h>
#include <unistd.h>

int getgroups(int size, gid_t list[]);

#define _BSD_SOURCE
#include <grp.h>

int setgroups(size_t size, const gid_t *list);

DESCRIÇÂO

getgroups
    Até size grupos sumplementares são retornados na list. Se size é zero, list não é modificado, mas o número total de grupos sumplementares para o processo é retornado.

setgroups
    Seleciona os grupos suplementares para o processo. Somente o superusuário pode usar esta função.

VALORES RETORNADOS

getgroups
    Em caso de sucesso, o número de IDs de grupos suplementares é retornado. Caso contrário, -1 é retornado, e errno selecionado apropriadamente.

setgroups
    Em caso de sucesso, zero é retornado. Caso contrário, -1 é retornado, e errno selecionado apropriadamente.

ERROS

EFAULT
    list tem um endereço inválido.

EPERM
    Para setgroups, o usuário não é o superusuário.

EINVAL
    Para setgroups, size é maior que NGROUPS (32 para o Linux 2.0.32). Para getgroups, size é menor que o número de IDs de grupos suplementares, mas não é zero.

DE ACORDO COM
SVr4, SVID (lançado somente na 4; estas chamadas não estavam presentes na SVr3), X/OPEN, 4.3BSD. A função getgroups está em POSIX.1. Desde setgroups requerer privilégios, ele não é coberto pela POSIX.1.

PROBLEMAS
O sinalizador _BSD_SOURCE provavelmente não deveria ser retornado por setgroups.

VEJA TAMBÉM
initgroups(3), getgid(2), setgid(2)

TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx@xxxxxx.xxx.xx> (revisão)