int qsysetreuid(uid_t ruid, uid_t euid);Service Program Name: QSYSETIDS
The qsysetreuid() function sets the real and effective user IDs to the values specified by ruid and euid.
A thread with *ALLOBJ special authority can set either ID to any value.
A thread without *ALLOBJ special authority can only set the effective user ID if the euid argument is equal to the real, effective, or saved user ID.
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:
This field must contain one of the following values:
If qsysetreuid() is not successful, errno indicates one of the following errors.
Error condition | Additional information |
---|---|
[EAGAIN] |
User profile associated with ruid or euid is locked. Try again. |
[EDAMAGE] |
The user profile associated with ruid or euid or an internal system object is damaged. |
[EINVAL] |
The value of the ruid or euid argument is not valid. Following are possible reasons:
|
[ENOTSUP] |
Operation not supported. The user profile associated with this uid specifies OWNER(*GRPPRF), but the user profile's first group is not the current effective group, nor is it in the list of supplemental groups. |
[EPERM] |
Operation not permitted. The current thread does not have *ALLOBJ special authority, and either an attempt was made to change the effective user ID to a value other than the real user ID or the saved set-user-ID or an an attempt was made to change the real user ID. |
[EUNKNOWN] |
An unknown error has occurred. Check the joblog for error messages. |
Top | UNIX-Type APIs | APIs by category |