XRootD
XrdXrootdConfig.cc File Reference
#include <unistd.h>
#include <cctype>
#include <fcntl.h>
#include <string>
#include <cstring>
#include <cstdio>
#include <sys/param.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <vector>
#include "XrdVersion.hh"
#include "XProtocol/XProtocol.hh"
#include "XrdSfs/XrdSfsFlags.hh"
#include "XrdSfs/XrdSfsInterface.hh"
#include "XrdNet/XrdNetOpts.hh"
#include "XrdNet/XrdNetPMarkCfg.hh"
#include "XrdNet/XrdNetSocket.hh"
#include "XrdOuc/XrdOuca2x.hh"
#include "XrdOuc/XrdOucEnv.hh"
#include "XrdOuc/XrdOucProg.hh"
#include "XrdOuc/XrdOucReqID.hh"
#include "XrdOuc/XrdOucString.hh"
#include "XrdOuc/XrdOucStream.hh"
#include "XrdOuc/XrdOucUtils.hh"
#include "XrdSec/XrdSecLoadSecurity.hh"
#include "XrdSys/XrdSysError.hh"
#include "XrdSys/XrdSysHeaders.hh"
#include "XrdSys/XrdSysLogger.hh"
#include "XrdTls/XrdTlsContext.hh"
#include "XrdXrootd/XrdXrootdAdmin.hh"
#include "XrdXrootd/XrdXrootdCallBack.hh"
#include "XrdXrootd/XrdXrootdFile.hh"
#include "XrdXrootd/XrdXrootdFileLock.hh"
#include "XrdXrootd/XrdXrootdFileLock1.hh"
#include "XrdXrootd/XrdXrootdJob.hh"
#include "XrdXrootd/XrdXrootdPrepare.hh"
#include "XrdXrootd/XrdXrootdProtocol.hh"
#include "XrdXrootd/XrdXrootdRedirPI.hh"
#include "XrdXrootd/XrdXrootdStats.hh"
#include "XrdXrootd/XrdXrootdTrace.hh"
#include "XrdXrootd/XrdXrootdTransit.hh"
#include "XrdXrootd/XrdXrootdXPath.hh"
#include "Xrd/XrdBuffer.hh"
#include "Xrd/XrdInet.hh"
#include "Xrd/XrdLink.hh"
+ Include dependency graph for XrdXrootdConfig.cc:

Go to the source code of this file.

Namespaces

 XrdXrootd
 

Macros

#define TS_Xeq(x, m)   (!strcmp(x,var)) GoNo = m(Config)
 
#define TS_Zeq(x, m)   (!strcmp(x,var)) GoNo = m(&eDest, Config)
 

Functions

XrdSfsFileSystemXrdSfsGetDefaultFileSystem (XrdSfsFileSystem *nativeFS, XrdSysLogger *Logger, const char *configFn, XrdOucEnv *EnvInfo)
 
XrdSfsFileSystemXrdXrootdloadFileSystem (XrdSysError *, XrdSfsFileSystem *, const char *, const char *, XrdOucEnv *)
 
XrdXrootdRedirPIXrdXrootdloadRedirLib (XrdSysError *, XrdXrootdRedirPI *, const char *, const char *, const char *, XrdOucEnv *)
 

Variables

char * XrdXrootd::bifResp [2] = {0,0}
 
int XrdXrootd::bifRLen [2] = {0,0}
 
XrdXrootdStatsXrdXrootd::SI
 
XrdOucStringXrdXrootdCF
 
const char * XrdXrootdInstance
 
int XrdXrootdPort
 
XrdXrootdPrepareXrdXrootdPrepQ
 
XrdSysTrace XrdXrootdTrace
 

Macro Definition Documentation

◆ TS_Xeq

#define TS_Xeq (   x,
 
)    (!strcmp(x,var)) GoNo = m(Config)

Definition at line 559 of file XrdXrootdConfig.cc.

◆ TS_Zeq

#define TS_Zeq (   x,
 
)    (!strcmp(x,var)) GoNo = m(&eDest, Config)

Definition at line 560 of file XrdXrootdConfig.cc.

Function Documentation

◆ XrdSfsGetDefaultFileSystem()

XrdSfsFileSystem* XrdSfsGetDefaultFileSystem ( XrdSfsFileSystem nativeFS,
XrdSysLogger Logger,
const char *  configFn,
XrdOucEnv EnvInfo 
)

Definition at line 49 of file XrdOfsFS.cc.

53 {
54  extern XrdSysError OfsEroute;
55  extern XrdSysTrace OfsTrace;
56  static XrdSysMutex XrdDefaultOfsMutex;
57  static XrdOfs XrdDefaultOfsFS;
58 
59 // No need to herald this as it's now the default filesystem
60 //
61  OfsEroute.SetPrefix("ofs_");
62  OfsEroute.logger(lp);
63  OfsTrace.SetLogger(lp);
64 
65 // Initialize the subsystems
66 //
67  {
68  XrdSysMutexHelper sentry(XrdDefaultOfsMutex);
69  if (XrdOfsFS == NULL) {
70  XrdOfsFS = &XrdDefaultOfsFS;
71  XrdOfsFS->ConfigFN = (configfn && *configfn ? strdup(configfn) : 0);
72  if ( XrdOfsFS->Configure(OfsEroute, EnvInfo) ) return 0;
73  }
74  }
75 
76 // All done, we can return the callout vector to these routines.
77 //
78  return XrdOfsFS;
79 }
XrdOfs * XrdOfsFS
Definition: XrdOfsFS.cc:47
XrdSysError OfsEroute(0)
XrdSysTrace OfsTrace("ofs")
char * ConfigFN
Definition: XrdOfs.hh:420
virtual int Configure(XrdSysError &)
XrdSysLogger * logger(XrdSysLogger *lp=0)
Definition: XrdSysError.hh:141
const char * SetPrefix(const char *prefix)
Definition: XrdSysError.hh:160
void SetLogger(XrdSysLogger *logp)
Definition: XrdSysTrace.cc:65

References XrdOfs::ConfigFN, XrdOfs::Configure(), XrdSysError::logger(), OfsEroute, OfsTrace, XrdSysTrace::SetLogger(), XrdSysError::SetPrefix(), and XrdOfsFS.

Referenced by LoadFS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ XrdXrootdloadFileSystem()

XrdSfsFileSystem* XrdXrootdloadFileSystem ( XrdSysError eDest,
XrdSfsFileSystem prevFS,
const char *  fslib,
const char *  cfn,
XrdOucEnv envP 
)

Definition at line 44 of file XrdXrootdLoadLib.cc.

48 {
49  static XrdVERSIONINFODEF(myVersion, XrdOfsLoader, XrdVNUMBER, XrdVERSION);
50  XrdOucPinLoader ofsLib(eDest, &myVersion, "fslib", fslib);
53  XrdSfsFileSystem *FS = 0;
54 
55 // Record the library path in the environment
56 //
57  if (!prevFS) XrdOucEnv::Export("XRDOFSLIB", fslib);
58 
59 // Get the file system object creator and the object (we preferntially try
60 // to find the version 2 of the plugin).
61 //
62  if ((ep2 = (XrdSfsFileSystem2_t)ofsLib.Resolve("?XrdSfsGetFileSystem2")))
63  { FS = (*ep2)(prevFS, eDest->logger(), cfn, envP);
64  } else {
65  if ((ep = (XrdSfsFileSystem_t )ofsLib.Resolve("XrdSfsGetFileSystem")))
66  FS = (*ep) (prevFS, eDest->logger(), cfn);
67  }
68 
69 // Issue message if we could not load it
70 //
71  if (!FS) eDest->Emsg("Config", "Unable to load file system via", fslib);
72 
73 // All done
74 //
75  return FS;
76 }
static XrdSysError eDest(0,"crypto_")
XrdSfsFileSystem *(* XrdSfsFileSystem2_t)(XrdSfsFileSystem *nativeFS, XrdSysLogger *Logger, const char *configFn, XrdOucEnv *envP)
XrdSfsFileSystem *(* XrdSfsFileSystem_t)(XrdSfsFileSystem *nativeFS, XrdSysLogger *Logger, const char *configFn)
static int Export(const char *Var, const char *Val)
Definition: XrdOucEnv.cc:170
int Emsg(const char *esfx, int ecode, const char *text1, const char *text2=0)
Definition: XrdSysError.cc:95
XrdVersionInfo myVersion
XrdVERSIONINFODEF(myVersion, cmsclient, XrdVNUMBER, XrdVERSION)
XrdOucEnv * envP
Definition: XrdPss.cc:109

References eDest, XrdSysError::Emsg(), XrdProxy::envP, XrdOucEnv::Export(), XrdSysError::logger(), XrdCms::myVersion, XrdOucPinLoader::Resolve(), and XrdCms::XrdVERSIONINFODEF().

+ Here is the call graph for this function:

◆ XrdXrootdloadRedirLib()

XrdXrootdRedirPI* XrdXrootdloadRedirLib ( XrdSysError eDest,
XrdXrootdRedirPI prevPI,
const char *  rdrlib,
const char *  parms,
const char *  cfn,
XrdOucEnv envP 
)

Definition at line 82 of file XrdXrootdLoadLib.cc.

87 {
88  static XrdVERSIONINFODEF(myVersion, XrdRdrLoader, XrdVNUMBER, XrdVERSION);
89  XrdOucPinLoader rdrLib(eDest, &myVersion, "redirlib", rdrlib);
91  XrdXrootdRedirPI *rdrPI = 0;
92 
93 // Get the plugin object creator and the resulting plugin
94 //
95  if ((ep = (XrdXrootdRedirPI_t)rdrLib.Resolve("XrdXrootGetdRedirPI")))
96  rdrPI = (*ep)(prevPI, eDest->logger(), parms, cfn, envP);
97 
98 // Issue message if we could not load it
99 //
100  if (!rdrPI) eDest->Emsg("Config","Unable to load redirect plugin via",rdrlib);
101 
102 // All done
103 //
104  return rdrPI;
105 }
XrdXrootdRedirPI *(* XrdXrootdRedirPI_t)(XrdXrootdRedirPI_Args)

References eDest, XrdSysError::Emsg(), XrdProxy::envP, XrdSysError::logger(), XrdCms::myVersion, XrdOucPinLoader::Resolve(), and XrdCms::XrdVERSIONINFODEF().

+ Here is the call graph for this function:

Variable Documentation

◆ XrdXrootdCF

XrdOucString* XrdXrootdCF

Definition at line 113 of file XrdXrootdConfig.cc.

Referenced by XrdXrootdProtocol::Configure().

◆ XrdXrootdInstance

const char* XrdXrootdInstance

Definition at line 119 of file XrdXrootdConfig.cc.

Referenced by XrdXrootdProtocol::Configure().

◆ XrdXrootdPort

int XrdXrootdPort

Definition at line 121 of file XrdXrootdConfig.cc.

Referenced by XrdXrootdProtocol::Configure().

◆ XrdXrootdPrepQ

XrdXrootdPrepare* XrdXrootdPrepQ

Definition at line 117 of file XrdXrootdConfig.cc.

Referenced by XrdXrootdProtocol::Configure().

◆ XrdXrootdTrace

XrdSysTrace XrdXrootdTrace
extern

Definition at line 96 of file XrdFrmAdminMain.cc.

Referenced by XrdXrootdProtocol::Configure().