46 # include <sys/types.h>
48 # define uid_t unsigned int
49 # define gid_t unsigned int
52 #include "XrdSys/XrdSysPthread.hh"
56 friend class XrdSysPrivGuard;
60 static XrdSysRecMutex fgMutex;
66 static int ChangeTo(uid_t uid, gid_t gid);
67 static void DumpUGID(
const char *msg = 0);
68 static int Restore(
bool saved = 1);
71 virtual ~XrdSysPriv() { }
72 static int ChangePerm(uid_t uid, gid_t gid);
89 XrdSysPrivGuard(uid_t uid, gid_t gid);
90 XrdSysPrivGuard(
const char *user);
91 virtual ~XrdSysPrivGuard();
92 bool Valid()
const {
return valid; }
96 void Init(uid_t uid, gid_t gid);