explain_setuid_or_die - set user identity and report errors
#include <libexplain/setuid.h>
void explain_setuid_or_die(int uid);
int explain_setuid_on_error(int uid);
The
explain_setuid_or_die function is used to call the
setuid(2)
system call. On failure an explanation will be printed to
stderr,
obtained from the
explain_setuid(3) function, and then the process
terminates by calling exit(EXIT_FAILURE).
The
explain_setuid_on_error function is used to call the
setuid(2)
system call. On failure an explanation will be printed to
stderr,
obtained from the
explain_setuid(3) function, but still returns to the
caller.
- uid
- The uid, exactly as to be passed to the setuid(2) system call.
The
explain_setuid_or_die function only returns on success, see
setuid(2) for more information. On failure, prints an explanation and
exits, it does not return.
The
explain_setuid_on_error function always returns the value return by
the wrapped
setuid(2) system call.
The
explain_setuid_or_die function is intended to be used in a fashion
similar to the following example:
explain_setuid_or_die(uid);
- setuid(2)
- set user identity
- explain_setuid(3)
- explain setuid(2) errors
- exit(2)
- terminate the calling process
libexplain version 1.3
Copyright (C) 2012 Peter Miller