0 Successful completion. -1 Indicates an error. The function sets errno to one of the following values: o EINVAL - The value of the ruid or euid argument is invalid or out of range. o EPERM - The current process does not have the IMPERSONATE privilege, 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 attempt was made to change the real user ID to a value not permitted by the implementation.