If the process has the IMPERSONATE privilege, the seteuid function sets the process's effective user ID. An unprivileged process can set the effective user ID only if the euid argument is equal to either the real, effective, or saved user ID of the process. This function requires that long (32-bit) UID/GID support be enabled. See 32-Bit UID and GID Macro (Integrity servers, Alpha) for more information. See also getuid to know how UIC is represented.