#include <qsysetid.h> int qsysetegid(gid_t gid);Service Program Name: QSYSETIDS
If gid is equal to either the real, effective, saved group ID, or one of the groups in the supplemental group list, qsysetegid() sets the effective group ID to gid.
If gid is not equal to any of the current groups, but the thread has *USE authority to the user profile associated with the gid, qsysetegid() sets the effective group ID to gid.
Job scoped locks with a lock state of *SHRRD are held on the user profiles associated with the real user ID, effective user ID, saved user ID, real group ID, effective group ID, saved group ID, and all of the supplemental groups.
This field must contain one of the following values:
If qsysetegid() is not successful, errno indicates one of the following errors.
Error condition | Additional information |
---|---|
[EAGAIN] |
User profile associated with the gid is locked. Try again. |
[EINVAL] |
The value of the gid argument is not valid. Following are possible reasons:
|
[EDAMAGE] |
The user profile associated with the gid or an internal system object is damaged. |
[ENOTSUP] |
Operation not supported. The current effective user profile specifies OWNER(*GRPPRF), but the group profile associated with this gid is not equal to the user profile's first group and the user's first group is not in the list of supplemental groups. |
[EPERM] |
Operation not permitted. Following are possible reasons:
|
[EUNKNOWN] |
An unknown error has occurred. Check the joblog for error messages. |
Top | UNIX-Type APIs | APIs by category |