62 unsigned long long Flags)
64 static struct rpathopts
66 unsigned long long oprem;
67 unsigned long long opadd;
68 unsigned long long opset;} rpopts[] =
110 int i, numopts =
sizeof(rpopts)/
sizeof(
struct rpathopts);
117 {
for (i = 0; i < numopts; i++)
118 {
if (!strcmp(val, rpopts[i].opname))
119 {Flags = (Flags & ~rpopts[i].oprem)
126 Eroute.
Emsg(
"Export",
"warning, invalid path option", val);
168 unsigned long long Defopts)
171 char *path, pbuff[1024];
172 unsigned long long rpval;
177 if (!path || !path[0])
178 {Eroute.
Emsg(
"Export",
"path not specified");
return 0;}
179 strlcpy(pbuff, path,
sizeof(pbuff));
183 if (*pbuff ==
'*') pbuff[1] = 0;
194 {Eroute.
Emsg(
"config",
"warning, file memory mapping forced path", path,
202 {Eroute.
Emsg(
"config",
"noxattrs attribute is incompatible with "
203 "mig and purge attributes.");
211 if ((plp = Export.
Match(pbuff)))
static unsigned long long ParseDefs(XrdOucStream &Config, XrdSysError &Eroute, unsigned long long Flags)
static XrdOucPList * ParsePath(XrdOucStream &Config, XrdSysError &Eroute, XrdOucPListAnchor &Export, unsigned long long Defopts)
void Insert(XrdOucPList *newitem)
XrdOucPList * Match(const char *pathname)
unsigned long long Flag()
int Emsg(const char *esfx, int ecode, const char *text1, const char *text2=0)