GETGROUPS(2)

NOMBRE
getgroups, setgroups - obtiene/asigna la lista de acceso de grupo

SINOPSIS
#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);

DESCRIPCIÓN

getgroups
    Se regresa como mucho size grupos suplementarios en list. Si size es cero, list no se modifica, pero se regresa el número total de grupos suplementarios para el proceso.

setgroups
    Asigna los grupos suplementarios para el proceso. Sólo el superusuario puede usar esta función.

VALOR REGRESADO

getgroups
    En caso de éxito, el número de grupos almacenado en list regresa (si size es cero, no obstante, el número de IDes de grupos suplementarios asociados con el proceso se regresa). En caso de error, -1 regresa, y errno se asigna apropiadamente.

setgroups
    En caso de éxito, se regresa 0. Si hay un error, -1, y errno se asigna apropiadamente.

ERRORES

EFAULT
    list tiene una dirección inválida.

EPERM
    Para setgroups, el usuario no es superusuario.

EINVAL
    Para setgroups, gidsetsize es más grande que NGROUPS (32 para Linux 0.99.11).

CONFORMA CON
getgroups conforma con POSIX.1 ( está presente en BSD 4.3). Puesto que setgroups requiere privilegios, no está cubierto por POSIX.1.

BUGS
La bandera __USE_BSD probablemente no debería ser requerida por setgroups.

VÉASE
initgroups(3),