GETGROUPS(2)

NOM
getgroups, setgroups - Lire/ecrire la liste des groupes d'un processus.

SYNOPSIS
#include <unistd.h>

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

#define __USE_BSD
#include <grp.h>

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

DESCRIPTION

getgroups
    retourne une liste list contenant jusqu'a size groupes aditionnels. Si size vaut zero, list n'est pas modifiee, mais le nombre total de groupes supplementaires pour le processus est renvoye.

setgroups
    fixe des groupes supplementaires pour le processus. Seul le Super-User peut utiliser cette fonction.

VALEUR RENVOYEE

getgroups
    renvoie le nombre de groupes stockes dans list (si size vaut zero, le nombre total de groupes supplementaires du processus est renvoye) s'il reussit, ou -1 s'il echoue, auquel cas errno contient le code d'erreur.

setgroups
    renvoie 0 s'il reussit, ou -1 s'il echoue, auquel cas errno contient le code d'erreur.

ERREURS

EFAULT
    list pointe en dehors de l'espace d'adressage accessible.

EPERM
    Pour setgroups, l'utilisateur n'est pas le Super-User.

EINVAL
    Pour setgroups, gidsetsize est plus grand que NGROUPS (32 avec Linux 2.0.23).

CONFORMITE
SVr4, SVID (version 4 uniquement), X/OPEN, 4.3BSD. getgroups est conforme a POSIX.1 (et present dans BSD 4.3). Comme setgroups necessite des privileges, il n'est pas couvert par POSIX.1.

BUGS
La constante symbolique __USE_BSD ne devrait probablement pas etre necessaire pour utiliser setgroups.

VOIR AUSSI
initgroups(3),