XRootD
Loading...
Searching...
No Matches
XrdXrootdLoadLib.cc File Reference
#include <cstdio>
#include "XrdVersion.hh"
#include "XrdOuc/XrdOucEnv.hh"
#include "XrdOuc/XrdOucPinLoader.hh"
#include "XrdSfs/XrdSfsInterface.hh"
#include "XrdSys/XrdSysError.hh"
Include dependency graph for XrdXrootdLoadLib.cc:

Go to the source code of this file.

Functions

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

Function Documentation

◆ XrdXrootdloadFileSystem()

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

Definition at line 43 of file XrdXrootdLoadLib.cc.

47{
48 static XrdVERSIONINFODEF(myVersion, XrdOfsLoader, XrdVNUMBER, XrdVERSION);
49 XrdOucPinLoader ofsLib(eDest, &myVersion, "fslib", fslib);
52 XrdSfsFileSystem *FS = 0;
53
54// Record the library path in the environment
55//
56 if (!prevFS) XrdOucEnv::Export("XRDOFSLIB", fslib);
57
58// Get the file system object creator and the object (we preferntially try
59// to find the version 2 of the plugin).
60//
61 if ((ep2 = (XrdSfsFileSystem2_t)ofsLib.Resolve("?XrdSfsGetFileSystem2")))
62 { FS = (*ep2)(prevFS, eDest->logger(), cfn, envP);
63 } else {
64 if ((ep = (XrdSfsFileSystem_t )ofsLib.Resolve("XrdSfsGetFileSystem")))
65 FS = (*ep) (prevFS, eDest->logger(), cfn);
66 }
67
68// Issue message if we could not load it
69//
70 if (!FS) eDest->Emsg("Config", "Unable to load file system via", fslib);
71
72// All done
73//
74 return FS;
75}
static XrdSysError eDest(0,"crypto_")
static XrdVERSIONINFODEF(compiledVer, XrdHttpProtocolTest, XrdVNUMBER, XrdVERSION)
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

References eDest, XrdOucEnv::Export(), XrdOucPinLoader::Resolve(), and XrdVERSIONINFODEF().

Here is the call graph for this function: