initgroups

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

If the process has appropriate privilege, the initgroups() function shall initialize the Supplementary Group IDs for the current process by reading the group database and using all groups of which user is a member. The additional group group is also added to the list.

Return Value

On success, 0 is returned. On error, -1 is returned and the global variable errno is set appropriately.

Errors

EPERM

The calling process does not have sufficient privileges.

ENOMEM

Insufficient memory to allocate group information structure.

See Also

setgroups()