Sets the supplementary group ID of the current process.
#include <grp.h>
int setgroups (NumberGroups, GroupIDSet) int NumberGroups; gid_t *GroupIDSet;
The setgroups subroutine sets the supplementary group ID of the process. The setgroups subroutine cannot set more than NGROUPS_MAX groups in the group set. (NGROUPS_MAX is a constant defined in the limits.h file.)
Note: The routine may coredump instead of returning EFAULT when an invalid pointer is passed in case of 64-bit application calling 32-bit kernel interface.
GroupIDSet | Pointer to the array of group IDs to be established. |
NumberGroups | Indicates the number of entries in the GroupIDSet parameter. |
Upon successful completion, the setgroups subroutine returns a value of 0. Otherwise, a value of -1 is returned and the errno global variable is set to indicate the error.
The setgroups subroutine fails if any of the following are true:
Event | Information |
---|---|
PROC_SetGroups | NumberGroups, GroupIDSet |
This subroutine is part of Base Operating System (BOS) Runtime.
The getgid subroutine, getgroups subroutine, initgroups subroutine, setgid subroutine.
List of Security and Auditing Subroutines and Subroutines Overview in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs.