![]() |
XRootD
|
#include <cerrno>
#include <fcntl.h>
#include <sys/stat.h>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include "XrdOuc/XrdOucEnv.hh"
#include "XrdOuc/XrdOucGMap.hh"
#include "XrdOuc/XrdOucTrace.hh"
#include "XrdOuc/XrdOucStream.hh"
#include "XrdSys/XrdSysE2T.hh"
Go to the source code of this file.
Macros | |
#define | DEBUG(d, t, n, y) {if (d && t) {t->Beg(n); std::cerr <<y; t->End();}} |
#define | PRINT(t, n, y) {if (t) {t->Beg(n); std::cerr <<y; t->End();}} |
Enumerations | |
enum | XrdOucGMap_Match { kFull = 0 , kBegins = 1 , kEnds = 2 , kContains = 4 } |
Functions | |
static int | FindMatchingCondition (const char *, XrdSecGMapEntry_t *mc, void *xmp) |
XrdOucGMap * | XrdOucgetGMap (XrdOucGMapArgs) |
#define DEBUG | ( | d, | |
t, | |||
n, | |||
y | |||
) | {if (d && t) {t->Beg(n); std::cerr <<y; t->End();}} |
Definition at line 61 of file XrdOucGMap.cc.
#define PRINT | ( | t, | |
n, | |||
y | |||
) | {if (t) {t->Beg(n); std::cerr <<y; t->End();}} |
Definition at line 60 of file XrdOucGMap.cc.
enum XrdOucGMap_Match |
|
static |
Definition at line 64 of file XrdOucGMap.cc.
References XrdOucString::beginswith(), XrdOucString::c_str(), XrdOucString::endswith(), XrdOucString::find(), kBegins, kContains, kEnds, XrdOucString::matches(), STR_NPOS, XrdSecGMapEntry_t::type, XrdSecGMapEntry_t::user, and XrdSecGMapEntry_t::val.
Referenced by XrdOucGMap::dn2user().
XrdOucGMap* XrdOucgetGMap | ( | XrdOucGMapArgs | ) |
Obtain an instance of the XrdOucGMap object.
This extern "C" function is called when a shared library plug-in containing implementation of this class is loaded. It must exist in the shared library and must be thread-safe.
eDest | -> The error object that must be used to print any errors or other messages (see XrdSysError.hh). |
mapfn | -> Path to the grid map file to be used. This pointer may be null; the default path will be tested then. |
parms | -> Argument string specified on the gridmap directive. It may be null or point to a null string if no parms exist. |
The GMap object is used frequently in the course of creating new physical connections. The algorithms used by this object must be efficient and speedy; otherwise system performance will be severely degraded. Declare compilation version.
Additionally, you should declare the xrootd version you used to compile your plug-in. While not currently required, it is highly recommended to avoid execution issues should the class definition change. Declare it as:
#include "XrdVersion.hh" XrdVERSIONINFO(XrdOucgetGMap,<name>);
where <name> is a 1- to 15-character unquoted name identifying your plugin.
Definition at line 92 of file XrdOucGMap.cc.
References eDest, and XrdOucGMap::isValid().
Referenced by XrdSecProtocolgsi::Init().