VMS Help
CRTL, setuid
*Conan The Librarian
|
With POSIX IDs disabled, implemented for program portability and
serves no function. It returns 0 (to indicate success).
With POSIX IDs enabled, sets the user IDs.
Format
#include <types.h>
#include <unistd.h>
int setuid (__uid_t uid); (_DECC_V4_SOURCE)
uid_t setuid (uid_t uid); (not _DECC_V4_SOURCE)
uid
The value to which you want the user IDs set.
The setuid function can be used with POSIX style identifiers
enabled or disabled.
POSIX style IDs are supported on OpenVMS Version 7.3-2 and
higher.
With POSIX IDs disabled (the default), the setuid function is
implemented for program portability and serves no function. It
returns 0 (to indicate success).
With POSIX style IDs enabled:
o If the process has the IMPERSONATE privilege, the setuid
function sets the real user ID, effective user ID, and the
saved set-user-ID to uid.
o If the process does not have appropriate privileges but uid
is equal to the real user ID or to the saved set-user-ID, then
the setuid function sets the effective user ID to uid. The
real user ID and saved set-user-ID remain unchanged.
See also getuid to know how UIC is represented.
0 Successful completion.
-1 Indicates an error. The function sets errno to
one of the following values:
o EINVAL - The value of the uid argument
is invalid and not supported by the
implementation.
o EPERM - The process does not have
appropriate privileges and uid does not
match the real user ID or the saved set-
user-ID.