Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
setgroups(2)
Edit
PageHistory
Diff
Info
LikePages
GETGROUPS !!!GETGROUPS NAME SYNOPSIS DESCRIPTION RETURN VALUE ERRORS NOTES CONFORMING TO SEE ALSO ---- !!NAME getgroups, setgroups - get/set list of supplementary group IDs !!SYNOPSIS __#include __ #include __ __int getgroups(int__ ''size''__, gid_t__ ''list''__[[]);__ __#include __ __int setgroups(size_t__ ''size''__, const gid_t *__''list''__);__ !!DESCRIPTION __getgroups__ Up to ''size'' supplementary group IDs are returned in ''list''. It is unspecified whether the effective group ID of the calling process is included in the returned list. (Thus, an application should also call getegid(2) and add or remove the resulting value.) If ''size'' is zero, ''list'' is not modified, but the total number of supplementary group IDs for the process is returned. __setgroups__ Sets the supplementary group IDs for the process. Only the super-user may use this function. !!RETURN VALUE __getgroups__ On success, the number of supplementary group IDs is returned. On error, -1 is returned, and ''errno'' is set appropriately. __setgroups__ On success, zero is returned. On error, -1 is returned, and ''errno'' is set appropriately. !!ERRORS __EFAULT__ ''list'' has an invalid address. __EPERM__ For __setgroups__, the user is not the super-user. __EINVAL__ For __setgroups__, ''size'' is greater than __NGROUPS__ (32 for Linux 2.0.32). For __getgroups__, ''size'' is less than the number of supplementary group IDs, but is not zero. !!NOTES A process can have up to at least NGROUPS_MAX supplementary group IDs in addition to the effective group ID. The set of supplementary group IDs is inherited from the parent process and may be changed using __setgroups__. The maximum number of supplementary group IDs can be found using sysconf(3): long ngroups_max; ngroups_max = sysconf(_SC_NGROUPS_MAX); The maximal return value of __getgroups__ cannot be larger than one more than the value obtained this way. The prototype for __setgroups__ is only available if ___BSD_SOURCE__ is defined (either explicitly, or implicitly, by not defining _POSIX_SOURCE or compiling with the -ansi flag). !!CONFORMING TO SVr4, SVID (issue 4 only; these calls were not present in SVr3), X/OPEN, 4.3BSD. The __getgroups__ function is in POSIX.1. Since __setgroups__ requires privilege, it is not covered by POSIX.1. !!SEE ALSO initgroups(3), getgid(2), setgid(2) ----
3 pages link to
setgroups(2)
:
Man2s
initgroups(3)
syscalls(2)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.