NAME

     initgroups - initialize the supplementary group access list


SYNOPSIS

     #include <grp.h>
     #include <sys/types.h>

     int initgroups(const char *user, gid_t group));


DESCRIPTION

     The initgroups() function initializes the group access  list
     by  reading  the  group  database  /etc/group  and using all
     groups of which user is  a  member.   The  additional  group
     group is also added to the list.


RETURN VALUE

     The initgroups() function returns 0 on success, or -1 if  an
     error occurs.


ERRORS

     EPERM
          The  calling   process   does   not   have   sufficient
          privileges.

     ENOMEM
          Insufficient  memory  to  allocate  group   information
          structure.


FILES

     /etc/group          group database file


CONFORMING TO

     SVID 3, BSD 4.3


SEE ALSO

     getgroups(2), setgroups(2)