setregid()
Set real and effective group IDs
Synopsis:
#include <unistd.h>
int setregid( gid_t rgid,
gid_t egid );
Arguments:
- rgid
- The real group ID that you want to use for the process, or -1 if you don't want to change it.
- egid
- The effective group ID that you want to use for the process, or -1 if you don't want to change it.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The setregid() function lets the calling process set its real and effective group to its real or effective group ID, its saved set-group ID, or one of the group IDs identified by the PROCMGR_AID_SETGID ability (see procmgr_ability()). If rgid or egid is -1, the corresponding real or effective group ID is left unchanged.
In either case, if you're changing the real group ID (i.e., rgid isn't -1), or you're changing the effective group ID to a value that isn't equal to the real group ID, the saved set-group ID is set to the new effective group ID.
QNX recommends that you do not use a negative value for a group ID.Returns:
- 0
- Success.
- -1
- An error occurred (errno is set).
Errors:
- EINVAL
- The rgid or egid is out of range.
- EPERM
- The calling process doesn't have the PROCMGR_AID_SETGID
ability enabled, and you tried
to change the effective group ID to a value other than the real
or saved set-group ID.
Or:
The calling process doesn't have the PROCMGR_AID_SETGID ability enabled, and you tried to change the real group ID to a value other than the effective group ID.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |