setegid()
QNX SDP8.0C Library ReferenceAPIDeveloper
Set the effective group ID for a process
Synopsis:
#include <unistd.h>
int setegid( gid_t gid );
Arguments:
- gid
- The effective group ID that you want to use for the process.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The setegid() function lets the calling process set its effective group ID to its real or effective group ID, its saved set-group ID, or to one of the group IDs permitted by the PROCMGR_AID_SETGID ability (see procmgr_ability()).
The real and saved set-group IDs aren't changed.
Note:
QNX recommends that you do not use a
negative value for a group ID. If a set-group ID process sets its effective group ID to its real group ID, it can still set
its effective group ID back to the saved set-group ID.
Returns:
Zero for success, or -1 if an error occurs (errno is set).
Errors:
- EINVAL
- The value of gid is out of range.
- EPERM
- The process doesn't have the PROCMGR_AID_SETGID ability enabled, and gid doesn't match the real group ID or the saved set-group ID.
Examples:
/*
* This process sets its effective group ID to 2
*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main( void )
{
gid_t oegid;
oegid = getegid();
if( setegid( 2 ) == -1 ) {
perror( "setegid" );
return EXIT_FAILURE;
}
printf( "Was effective group %d, is 2\n", oegid );
return EXIT_SUCCESS;
}
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |
Page updated: