int setgid (
gid_t group_id );
Application developers may want to specify an #include statement for <sys/types.h> before the one for <unistd.h> if programs are being developed for multiple platforms. The additional #include statement is not required on Tru64 UNIX systems or by ISO or X/Open standards, but may be required on other vendors' systems that conform to these standards.
Interfaces documented on this reference page conform to industry standards as follows:
setgid(): POSIX.1, XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about industry standards and associated tags.
Specifies the new group ID.
The setgid() function sets the real group ID, effective group ID, and the saved set group ID to the value specified by the group_id parameter.
If the process does not have superuser privilege, but the group_id parameter is equal to the real group ID or the saved set group ID, the setgid() function sets the effective group ID to group_id. The real group ID and saved set group ID remain unchanged.
Any supplementary group IDs of the calling process remain unchanged.
Upon successful completion, the setgid() function returns 0 (zero). Otherwise, the function returns -1 and sets errno to indicate the error.
The setgid() function sets errno to the specified values for the following conditions: The value of the group_id parameter is invalid. The process does not have superuser privilege and the group_id parameter does not match the real group ID or the saved set group ID.
Functions: exec(2), getgid(2), setuid(2)
Standards: standards(5) delim off