Set the real and effective user IDs for the calling process
#include <unistd.h> int setreuid( uit_t ruid, uid_t euid );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The setreuid() function lets the calling process set its real and effective user IDs to its real or effective user ID, its saved set-user ID, or to any of the user IDs identified by the PROCMGR_AID_SETUID ability (see procmgr_ability()). If ruid or euid is -1, the corresponding real or effective user ID isn't changed.
In either case, if you're changing the real user ID (i.e., ruid isn't -1), or you're changing the effective user ID to a value that isn't equal to the real user ID, the saved set-user ID is set equal to the new effective user ID.
Zero on success, or -1 if an error occurs (errno is set).
Or:
The calling process doesn't have the PROCMGR_AID_SETUID ability enabled, and you tried to change the real user ID to a value other than the effective user ID.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |