summaryrefslogtreecommitdiff
path: root/ace/Process.i
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2000-01-08 02:39:47 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2000-01-08 02:39:47 +0000
commitf38332037f87c6466a374582e3e3e615c0636b6d (patch)
tree66ccf80f2b4873788cf46da981d1a943f401ab03 /ace/Process.i
parentbccaae32809e235bf81f1e80b8307c92a67cadb4 (diff)
downloadATCD-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.i65
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