diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 2000-01-08 02:39:47 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 2000-01-08 02:39:47 +0000 |
commit | f38332037f87c6466a374582e3e3e615c0636b6d (patch) | |
tree | 66ccf80f2b4873788cf46da981d1a943f401ab03 /ace/Process.i | |
parent | bccaae32809e235bf81f1e80b8307c92a67cadb4 (diff) | |
download | ATCD-f38332037f87c6466a374582e3e3e615c0636b6d.tar.gz |
ChangeLogTag:Fri Jan 7 20:01:48 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
Diffstat (limited to 'ace/Process.i')
-rw-r--r-- | ace/Process.i | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/ace/Process.i b/ace/Process.i index 5a84fefb2ca..63c43e66684 100644 --- a/ace/Process.i +++ b/ace/Process.i @@ -204,6 +204,71 @@ ACE_Process_Options::avoid_zombies (int avoid_zombies) { avoid_zombies_ = avoid_zombies; } + +ACE_INLINE int +ACE_Process_Options::setreugid (const char* user) +{ + struct passwd *ent = ACE_OS::getpwnam (user); + + if (ent != 0) + { + this->euid_ = ent->pw_uid; + this->ruid_ = ent->pw_uid; + this->egid_ = ent->pw_gid; + this->rgid_ = ent->pw_gid; + return 0; + } + else + return -1; +} + +ACE_INLINE void +ACE_Process_Options::setruid (uid_t id) +{ + this->ruid_ = id; +} + +ACE_INLINE void +ACE_Process_Options::seteuid (uid_t id) +{ + this->euid_ = id; +} + +ACE_INLINE void +ACE_Process_Options::setrgid (uid_t id) +{ + this->rgid_ = id; +} + +ACE_INLINE void +ACE_Process_Options::setegid (uid_t id) +{ + this->egid_ = id; +} + +ACE_INLINE uid_t +ACE_Process_Options::getruid (void) +{ + return this->ruid_; +} + +ACE_INLINE uid_t +ACE_Process_Options::geteuid (void) +{ + return this->euid_; +} + +ACE_INLINE uid_t +ACE_Process_Options::getrgid (void) +{ + return this->rgid_; +} + +ACE_INLINE uid_t +ACE_Process_Options::getegid (void) +{ + return this->egid_; +} #endif /* ACE_WIN32 */ ACE_INLINE LPTSTR |