| INITGROUPS(3) | Library Functions Manual | INITGROUPS(3) | 
initgroups —
#include <unistd.h>
int
  
  initgroups(const
    char *name, gid_t
    basegid);
initgroups() function uses the
  getgrouplist(3) function
  to calculate the supplementary group IDs for the user specified in
  name. This group list is then set up for the current
  process using setgroups(2).
  The basegid is automatically included in the group list.
  Typically this value is given as the group number from the password file.
If the groups database lists more than
    NGROUPS groups for name
    (including one for basegid), the later groups are
    ignored.
initgroups() function returns -1 if it was not
  invoked by the super-user.
initgroups() function appeared in
  4.2BSD.
getgrouplist() function called by
  initgroups() uses the routines based on
  getgrent(3). If the invoking
  program uses any of these routines, the group structure will be overwritten in
  the call to initgroups().
| August 10, 2002 | NetBSD 9.4 |