39 #include "XrdOuc/XrdOucEnv.hh" 
   40 #include "XrdSys/XrdSysPthread.hh" 
   44 #define EnvGetLong(x) XrdClientEnv::Instance()->ShellGetInt(x) 
   45 #define EnvGetString(x) XrdClientEnv::Instance()->ShellGet(x) 
   46 #define EnvPutString(name, val) XrdClientEnv::Instance()->Put(name, val) 
   47 #define EnvPutInt(name, val) XrdClientEnv::Instance()->PutInt(name, val) 
   53    XrdSysRecMutex       fMutex;
 
   54    static XrdClientEnv *fgInstance;
 
   65    bool ImportStr( 
const char *varname );
 
   66    bool ImportInt( 
const char *varname );
 
   70    const char *          Get(
const char *varname) {
 
   72       XrdSysMutexHelper m(fMutex);
 
   74       res = fOucEnv->Get(varname);
 
   78    long                   GetInt(
const char *varname) {
 
   80       XrdSysMutexHelper m(fMutex);
 
   82       res = fOucEnv->GetInt(varname);
 
   90    const char *ShellGet( 
const char *varname );
 
   96    long        ShellGetInt( 
const char *varname );
 
   99    void                   Put(
const char *varname, 
const char *value) {
 
  100       XrdSysMutexHelper m(fMutex);
 
  102       fOucEnv->Put(varname, value);
 
  105    void  PutInt(
const char *varname, 
long value) {
 
  106       XrdSysMutexHelper m(fMutex);
 
  108       fOucEnv->PutInt(varname, value);
 
  122      return fMutex.ReInitRecMutex();
 
  125   static XrdClientEnv *Instance();