XRootD
Loading...
Searching...
No Matches
XrdCpConfig Class Reference

#include <XrdCpConfig.hh>

+ Collaboration diagram for XrdCpConfig:

Classes

struct  defVar
 
union  defVar.__unnamed0__
 

Public Member Functions

 XrdCpConfig (const char *pgname)
 
 ~XrdCpConfig ()
 
void Config (int argc, char **argv, int Opts=0)
 
int Want (uint64_t What)
 

Public Attributes

std::vector< std::string > AddCksVal
 
XrdCksData CksData
 
int CksLen
 
XrdCks * CksMan
 
XrdCksCalc * CksObj
 
const char * CksVal
 
int Dlvl
 
XrdCpFile * dstFile
 
const char * dstOpq
 
std::vector< std::string > HttpHeaders
 
defVar * intDefs
 
int nSrcs
 
int nStrm
 
int numFiles
 
long long OpSpec
 
int Parallel
 
const char * Pgm
 
char * pHost
 
int pPort
 
int Retry
 
std::string RetryPolicy
 
XrdCpFile * srcFile
 
const char * srcOpq
 
defVar * strDefs
 
char * tcpTokenFile
 
long long totBytes
 
int Verbose
 
long long xRate
 
long long xRateThreshold
 
char * zipFile
 

Static Public Attributes

static const uint64_t DoCkprt = 0x0000000000000004LL
 
static const uint64_t DoCksrc = 0x0000000000000001LL
 
static const uint64_t DoCksum = 0x0000000000000002LL
 
static const uint64_t DoCoerce = 0x0000000000000008LL
 
static const uint64_t DoContinue = 0x0000000100000000LL
 
static const uint64_t DoDebug = 0x0000000000000010LL
 
static const uint64_t DoDynaSrc = 0x0000000000400000LL
 
static const uint64_t DoForce = 0x0000000000000020LL
 
static const uint64_t DoHelp = 0x0000000000000040LL
 
static const uint64_t DoHttpHeader = 0x0000001000000000LL
 
static const uint64_t DoIfile = 0x0000000000000080LL
 
static const uint64_t DoNoPbar = 0x0000000000000100LL
 
static const uint64_t DoNoTlsOK = 0x0000000004000000LL
 
static const uint64_t DoParallel = 0x0000000000200000LL
 
static const uint64_t DoPath = 0x0000000010000000LL
 
static const uint64_t DoPosc = 0x0000000000000200LL
 
static const uint64_t DoProxy = 0x0000000000000400LL
 
static const uint64_t DoRecurse = 0x0000000000000800LL
 
static const uint64_t DoRetry = 0x0000000000001000LL
 
static const uint64_t DoRetryPolicy = 0x0000000400000000LL
 
static const uint64_t DoRmOnBadCksum = 0x0000000080000000LL
 
static const uint64_t DoServer = 0x0000000000002000LL
 
static const uint64_t DoSilent = 0x0000000000004000LL
 
static const uint64_t DoSources = 0x0000000000008000LL
 
static const uint64_t DoStreams = 0x0000000000010000LL
 
static const uint64_t DoTlsMLF = 0x0000000008000000LL
 
static const uint64_t DoTlsNoData = 0x0000000002000000LL
 
static const uint64_t DoTpc = 0x0000000000020000LL
 
static const uint64_t DoTpcDlgt = 0x0000000000800000LL
 
static const uint64_t DoTpcModePush = 0x0000004000000000LL
 
static const uint64_t DoTpcOnly = 0x0000000000100000LL
 
static const uint64_t DoTpcTokenFile = 0x0000002000000000LL
 
static const uint64_t DoVerbose = 0x0000000000040000LL
 
static const uint64_t DoXAttr = 0x0000000020000000LL
 
static const uint64_t DoXrate = 0x0000000000080000LL
 
static const uint64_t DoXrateThreshold = 0x0000000200000000LL
 
static const uint64_t DoZip = 0x0000000001000000LL
 
static const uint64_t DoZipAppend = 0x0000000800000000LL
 
static const uint64_t DoZipMtlnCksum = 0x0000000040000000LL
 
static XrdSysError * Log = &XrdCpConfiguration::eDest
 
static const uint64_t OpCksum = 'C'
 
static const uint64_t OpCoerce = 'F'
 
static const uint64_t OpContinue = 0x10
 
static const uint64_t OpDebug = 'd'
 
static const uint64_t OpDynaSrc = 'Z'
 
static const uint64_t OpForce = 'f'
 
static const uint64_t OpHelp = 'h'
 
static const uint64_t OpHttpHeader = 'H'
 
static const uint64_t OpIfile = 'I'
 
static const uint64_t OpLicense = 0x14
 
static const uint64_t OpNoPbar = 'N'
 
static const uint64_t OpNoTlsOK = 0x05
 
static const uint64_t OpParallel = 0x04
 
static const uint64_t OpPath = 'p'
 
static const uint64_t OpPosc = 'P'
 
static const uint64_t OpProxy = 'D'
 
static const uint64_t OpRecurse = 'r'
 
static const uint64_t OpRecursv = 'R'
 
static const uint64_t OpRetry = 't'
 
static const uint64_t OpRetryPolicy = 0x12
 
static const uint64_t OpRmOnBadCksum = 0x09
 
static const uint64_t OpServer = 0x03
 
static const uint64_t OpSilent = 's'
 
static const uint64_t OpSources = 'y'
 
static const uint64_t OpStreams = 'S'
 
static const int opt1Src = 0x00000001
 
static const uint64_t OpTlsMLF = 0x06
 
static const uint64_t OpTlsNoData = 'E'
 
static const int optNoLclCp = 0x00000010
 
static const int optNoStdIn = 0x00000008
 
static const int optNoXtnd = 0x00000002
 
static const uint64_t OpTpc = 'T'
 
static const uint64_t OpTpcTokenFile = 0x15
 
static const int optRmtRec = 0x00000004
 
static const uint64_t OpVerbose = 'v'
 
static const uint64_t OpVersion = 'V'
 
static const uint64_t OpXAttr = 0x07
 
static const uint64_t OpXrate = 'X'
 
static const uint64_t OpXrateThreshold = 0x11
 
static const uint64_t OpZip = 'z'
 
static const uint64_t OpZipAppend = 0x13
 
static const uint64_t OpZipMtlnCksum = 0x08
 

Detailed Description

Definition at line 47 of file XrdCpConfig.hh.


Class Documentation

◆ XrdCpConfig::defVar.__unnamed0__

union XrdCpConfig::defVar.__unnamed0__

Definition at line 54 of file XrdCpConfig.hh.

+ Collaboration diagram for XrdCpConfig::defVar.__unnamed0__:
Class Members
int intVal
const char * strVal

Constructor & Destructor Documentation

◆ XrdCpConfig()

XrdCpConfig::XrdCpConfig ( const char * pgname)

Definition at line 140 of file XrdCpConfig.cc.

141{
142 if ((PName = rindex(pgm, '/'))) PName++;
143 else PName = pgm;
145 intDefs = 0;
146 intDend = 0;
147 strDefs = 0;
148 strDend = 0;
149 dstOpq = 0;
150 srcOpq = 0;
151 pHost = 0;
152 pPort = 0;
153 xRate = 0;
154 xRateThreshold = 0;
155 Parallel = 1;
156 OpSpec = 0;
157 Dlvl = 0;
158 nSrcs = 1;
159 nStrm = 0;
160 Retry =-1;
161 RetryPolicy = "force";
162 Verbose = 0;
163 numFiles = 0;
164 totBytes = 0;
165 CksLen = 0;
166 CksMan = 0;
167 CksObj = 0;
168 CksVal = 0;
169 srcFile = 0;
170 dstFile = 0;
171 inFile = 0;
172 parmVal = 0;
173 parmCnt = 0;
174 zipFile = 0;
175
176 tcpTokenFile = 0;
177 if (const auto value = getenv("BEARER_TOKEN_FILE"); value != nullptr)
178 tcpTokenFile = strdup(value);
179}
defVar * intDefs
char * tcpTokenFile
XrdCksCalc * CksObj
const char * dstOpq
XrdCks * CksMan
XrdCpFile * srcFile
XrdCpFile * dstFile
char * zipFile
long long OpSpec
defVar * strDefs
const char * CksVal
const char * srcOpq
long long xRate
std::string RetryPolicy
long long xRateThreshold
long long totBytes
static void SetMsgPfx(const char *pfx)
Definition XrdCpFile.hh:57

References CksLen, CksMan, CksObj, CksVal, Dlvl, dstFile, dstOpq, intDefs, nSrcs, nStrm, numFiles, OpSpec, Parallel, pHost, pPort, Retry, RetryPolicy, XrdCpFile::SetMsgPfx(), srcFile, srcOpq, strDefs, tcpTokenFile, totBytes, Verbose, xRate, xRateThreshold, and zipFile.

+ Here is the call graph for this function:

◆ ~XrdCpConfig()

XrdCpConfig::~XrdCpConfig ( )

Definition at line 185 of file XrdCpConfig.cc.

186{
187 XrdCpFile *pNow;
188 defVar *dP;
189
190 if (inFile) free(inFile);
191 if (pHost) free(pHost);
192 if (parmVal) free(parmVal);
193 if (CksObj) delete CksObj;
194 if (CksMan) delete CksMan;
195 if (zipFile) free(zipFile);
196 if (tcpTokenFile) free(tcpTokenFile);
197 if (dstFile) delete dstFile;
198
199 while((pNow = pFile)) {pFile = pFile->Next; delete pNow;}
200
201 while((dP = intDefs)) {intDefs = dP->Next; delete dP;}
202 while((dP = strDefs)) {strDefs = dP->Next; delete dP;}
203
204}

References CksMan, CksObj, dstFile, intDefs, XrdCpConfig::defVar::Next, pHost, strDefs, tcpTokenFile, and zipFile.

Member Function Documentation

◆ Config()

void XrdCpConfig::Config ( int argc,
char ** argv,
int Opts = 0 )

Definition at line 210 of file XrdCpConfig.cc.

211{
212 extern char *optarg;
213 extern int optind, opterr;
214 static int pgmSet = 0;
215 char Buff[128], *Path, opC;
216 XrdCpFile pBase;
217 int i, rc;
218
219// Allocate a parameter vector
220//
221 if (parmVal) free(parmVal);
222 parmVal = (char **)malloc(aCnt*sizeof(char *));
223
224// Preset handling options
225//
226 Argv = aVec;
227 Argc = aCnt;
228 Opts = opts;
229 opterr = 0;
230 optind = 1;
231 opC = 0;
232
233// Set name of executable for error messages
234//
235 if (!pgmSet)
236 {char *Slash = rindex(aVec[0], '/');
237 pgmSet = 1;
238 Pgm = (Slash ? Slash+1 : aVec[0]);
239 Log->SetPrefix(Pgm);
240 }
241
242// Process legacy options first before atempting normal options
243//
244do{while(optind < Argc && Legacy(optind)) {}
245 if ((opC = getopt_long(Argc, Argv, opLetters, opVec, &i)) != (char)-1)
246 switch(opC)
247 {case OpCksum: defCks(optarg);
248 break;
249 case OpCoerce: OpSpec |= DoCoerce;
250 break;
251 case OpDebug: OpSpec |= DoDebug;
252 if (!a2i(optarg, &Dlvl, 0, 3)) Usage(22);
253 break;
254 case OpDynaSrc: OpSpec |= DoDynaSrc;
255 break;
256 case OpForce: OpSpec |= DoForce;
257 break;
258 case OpZip: OpSpec |= DoZip;
259 if (zipFile) free(zipFile);
260 zipFile = strdup(optarg);
261 break;
263 HttpHeaders.push_back(optarg);
264 break;
265 case OpHelp: Usage(0);
266 break;
267 case OpIfile: if (inFile) free(inFile);
268 inFile = strdup(optarg);
269 OpSpec |= DoIfile;
270 break;
271 case OpLicense: License();
272 break;
273 case OpNoPbar: OpSpec |= DoNoPbar;
274 break;
275 case OpNoTlsOK: OpSpec |= DoNoTlsOK;
276 break;
277 case OpPath: OpSpec |= DoPath;
278 break;
279 case OpPosc: OpSpec |= DoPosc;
280 break;
281 case OpProxy: OpSpec |= DoProxy;
282 defPxy(optarg);
283 break;
284 case OpRecurse: OpSpec |= DoRecurse;
285 break;
286 case OpRecursv: OpSpec |= DoRecurse;
287 break;
288 case OpRetry: OpSpec |= DoRetry;
289 if (!a2i(optarg, &Retry, 0, -1)) Usage(22);
290 break;
292 RetryPolicy = optarg;
293 if( RetryPolicy != "force" && RetryPolicy != "continue" ) Usage(22);
294 break;
296 break;
298 break;
300 break;
301 case OpSources: OpSpec |= DoSources;
302 if (!a2i(optarg, &nSrcs, 1, 32)) Usage(22);
303 break;
304 case OpStreams: OpSpec |= DoStreams;
305 if (!a2i(optarg, &nStrm, 1, 15)) Usage(22);
306 break;
308 break;
309 case OpTlsMLF: OpSpec |= DoTlsMLF;
310 break;
311 case OpTpc: OpSpec |= DoTpc;
312 if (!strcmp("delegate", optarg))
313 {OpSpec|= DoTpcDlgt;
314 if (optind >= Argc)
315 {UMSG("Missing tpc qualifier after "
316 "'delegate'");
317 }
318 optarg = Argv[optind++];
319 }
320 if (!strcmp("push", optarg))
322 if (optind >= Argc)
323 {UMSG("Missing tpc qualifier after "
324 "'push'");
325 }
326 optarg = Argv[optind++];
327 }
328 if (!strcmp("only", optarg)) OpSpec|= DoTpcOnly;
329 else if (strcmp("first", optarg))
330 {optind--;
331 UMSG("Invalid option, '" <<OpName()
332 <<' ' <<optarg <<"' ");
333 }
334 break;
336 if (tcpTokenFile) free(tcpTokenFile);
337 tcpTokenFile = strdup(optarg);
338 break;
339 case OpVerbose: OpSpec |= DoVerbose;
340 Verbose = 1;
341 break;
342 case OpVersion: std::cerr <<XrdVERSION <<std::endl; exit(0);
343 break;
344 case OpXrate: OpSpec |= DoXrate;
345 if (!a2z(optarg, &xRate, 10*1024LL, -1)) Usage(22);
346 break;
348 if (!a2z(optarg, &xRateThreshold, 10*1024LL, -1)) Usage(22);
349 break;
351 if (!a2i(optarg, &Parallel, 1, 128)) Usage(22);
352 break;
353 case OpXAttr : OpSpec |= DoXAttr;
354 break;
356 break;
358 break;
359 case OpContinue : OpSpec |= DoContinue;
360 break;
361 case ':': UMSG("'" <<OpName() <<"' argument missing.");
362 break;
363 case '?': if (!Legacy(optind-1))
364 UMSG("Invalid option, '" <<OpName() <<"'.");
365 break;
366 default: UMSG("Internal error processing '" <<OpName() <<"'.");
367 break;
368 }
369 } while(opC != (char)-1 && optind < Argc);
370
371// Make sure we have the right number of files
372//
373 if (inFile) {if (!parmCnt ) UMSG("Destination not specified.");}
374 else { if (!parmCnt ) UMSG("No files specified.");
375 if ( parmCnt == 1 ) UMSG("Destination not specified.");
376 }
377
378// Check for conflicts wit third party copy
379//
380 if (OpSpec & DoTpc && nSrcs > 1)
381 UMSG("Third party copy requires a single source.");
382
383// Check for conflicts with ZIP archive
384//
385 if( OpSpec & DoZip & DoCksrc )
386 UMSG("Cannot calculate source checksum for a file in ZIP archive.");
387
388 if( ( OpSpec & DoZip & DoCksum ) && !CksData.HasValue() )
389 UMSG("Cannot calculate source checksum for a file in ZIP archive.");
390
391// Turn off verbose if we are in server mode
392//
393 if (OpSpec & DoServer)
394 {OpSpec &= ~DoVerbose;
395 Verbose = 0;
396 }
397
398// Turn on auto-path creation if requested via envar
399//
400 if (getenv("XRD_MAKEPATH")) OpSpec |= DoPath;
401
402// Process the destination first as it is special
403//
404 dstFile = new XrdCpFile(parmVal[--parmCnt], rc);
405 if (rc) FMSG("Invalid url, '" <<dstFile->Path <<"'.", 22);
406
407// Do a protocol check
408//
409 if (dstFile->Protocol != XrdCpFile::isFile
410 && dstFile->Protocol != XrdCpFile::isStdIO
411 && dstFile->Protocol != XrdCpFile::isXroot
412 && dstFile->Protocol != XrdCpFile::isXroots
413 && dstFile->Protocol != XrdCpFile::isPelican
414 && dstFile->Protocol != XrdCpFile::isS3
415 && dstFile->Protocol != XrdCpFile::isHttp
416 && dstFile->Protocol != XrdCpFile::isHttps)
417 {FMSG(dstFile->ProtName <<"file protocol is not supported.", 22)}
418
419// Resolve this file if it is a local file
420//
421 isLcl = (dstFile->Protocol == XrdCpFile::isFile)
422 | (dstFile->Protocol == XrdCpFile::isStdIO);
423 if (isLcl && (rc = dstFile->Resolve()))
424 {if (rc != ENOENT || (Argc - optind - 1) > 1 || OpSpec & DoRecurse)
425 FMSG(XrdSysE2T(rc) <<" processing " <<dstFile->Path, 2);
426 }
427
428// Now pick up all the source files from the command line
429//
430 pLast = &pBase;
431 for (i = 0; i < parmCnt; i++) ProcFile(parmVal[i]);
432
433// If an input file list was specified, process it as well
434//
435 if (inFile)
436 {XrdOucStream inList(Log);
437 char *fname;
438 int inFD = open(inFile, O_RDONLY);
439 if (inFD < 0) FMSG(XrdSysE2T(errno) <<" opening infiles " <<inFile, 2);
440 inList.Attach(inFD);
441 while((fname = inList.GetLine())) if (*fname) ProcFile(fname);
442 }
443
444// Check if we have any sources or too many sources
445//
446 srcFile = pBase.Next;
447
448 if (!numFiles || !srcFile)
449 UMSG("Source not specified.");
450
451 if (Opts & opt1Src && numFiles > 1)
452 FMSG("Only a single source is allowed.", 2);
453
454// Check if we have an appropriate destination
455//
456 if (dstFile->Protocol == XrdCpFile::isFile && (numFiles > 1
457 || (OpSpec & DoRecurse && srcFile->Protocol != XrdCpFile::isFile)))
458 FMSG("Destination is neither remote nor a directory.", 2);
459
460// Do the dumb check
461//
462 if (isLcl && Opts & optNoLclCp)
463 FMSG("All files are local; use 'cp' instead!", 1);
464
465// Injected headers only apply to http and https endpoints
466//
467 if (OpSpec & DoHttpHeader)
468 {if (!isHttpProt(srcFile->Protocol) && !isHttpProt(dstFile->Protocol))
469 UMSG("'--header' requires an http or https source or destination.");
470 }
471
472// Check for checksum spec conflicts
473//
474 if (OpSpec & DoCksum)
475 {if (CksData.Length && numFiles > 1)
476 FMSG("Checksum with fixed value requires a single input file.", 2);
477 if (CksData.Length && OpSpec & DoRecurse)
478 FMSG("Checksum with fixed value conflicts with '--recursive'.", 2);
479 }
480
481// Now extend all local sources if recursive is in effect
482//
483 if (OpSpec & DoRecurse && !(Opts & optNoXtnd))
484 {pPrev = &pBase; pBase.Next = srcFile;
485 while((pFile = pPrev->Next))
486 {if (pFile->Protocol != XrdCpFile::isDir) pPrev = pFile;
487 else {Path = pFile->Path;
488 pPrev->Next = pFile->Next;
489 if (Verbose) EMSG("Indexing files in " <<Path);
490 numFiles--;
491 if ((rc = pFile->Extend(&pLast, numFiles, totBytes)))
492 FMSG(XrdSysE2T(rc) <<" indexing " <<Path, 2);
493 if (pFile->Next)
494 {pLast->Next = pPrev->Next;
495 pPrev->Next = pFile->Next;
496 }
497 delete pFile;
498 }
499 }
500 if (!(srcFile = pBase.Next))
501 FMSG("No regular files found to copy!", 2);
502 if (Verbose) EMSG("Copying " <<Human(totBytes, Buff, sizeof(Buff))
503 <<" from " <<numFiles
504 <<(numFiles != 1 ? " files." : " file."));
505 }
506}
int inList(const char *var, const char **Vec)
#define FMSG(x, y)
#define EMSG(x)
static bool isHttpProt(XrdCpFile::PType pType)
#define UMSG(x)
int optind
#define open
Definition XrdPosix.hh:78
XrdOucString Path
struct myOpts opts
const char * XrdSysE2T(int errcode)
Definition XrdSysE2T.cc:104
static const uint64_t OpVerbose
static const uint64_t OpXAttr
static const uint64_t DoProxy
static const uint64_t OpRecurse
static const uint64_t OpContinue
static const uint64_t DoRetry
static const uint64_t DoStreams
static const uint64_t OpParallel
static const uint64_t OpZipAppend
static const uint64_t DoZipMtlnCksum
XrdCksData CksData
static const uint64_t OpSilent
static const uint64_t OpTlsMLF
static const uint64_t OpNoTlsOK
const char * Pgm
static const uint64_t OpRetryPolicy
static const uint64_t OpDebug
static const uint64_t OpRetry
static const uint64_t DoNoPbar
static const uint64_t OpXrateThreshold
static const uint64_t DoCoerce
static const uint64_t OpServer
static const uint64_t DoForce
static const uint64_t OpVersion
static const uint64_t OpTpc
static const uint64_t DoParallel
static const uint64_t DoRmOnBadCksum
static const uint64_t DoNoTlsOK
static const uint64_t OpPath
static const uint64_t OpRecursv
static const uint64_t OpProxy
static const uint64_t DoTpc
static const uint64_t DoDebug
static const uint64_t OpSources
std::vector< std::string > HttpHeaders
static const uint64_t DoCksum
static const uint64_t OpPosc
static const uint64_t DoXrate
static const uint64_t DoCksrc
static const uint64_t DoTpcModePush
static const uint64_t OpZipMtlnCksum
static const uint64_t DoHttpHeader
static const int opt1Src
static const uint64_t OpXrate
static const uint64_t DoTpcDlgt
static const uint64_t DoZip
static const uint64_t DoVerbose
static const uint64_t DoContinue
static const uint64_t OpCksum
static const uint64_t DoRecurse
static const uint64_t OpTlsNoData
static const int optNoLclCp
static const uint64_t DoXrateThreshold
static const uint64_t DoTpcTokenFile
static const uint64_t DoZipAppend
static const uint64_t OpIfile
static const uint64_t DoDynaSrc
static const uint64_t OpHttpHeader
static const uint64_t OpNoPbar
static const uint64_t DoSources
static const uint64_t DoSilent
static const uint64_t OpForce
static const uint64_t OpRmOnBadCksum
static const uint64_t OpDynaSrc
static const uint64_t DoXAttr
static const int optNoXtnd
static const uint64_t DoTlsMLF
static const uint64_t OpZip
static const uint64_t OpLicense
static const uint64_t DoIfile
static const uint64_t OpHelp
static XrdSysError * Log
static const uint64_t DoRetryPolicy
static const uint64_t DoPath
static const uint64_t DoPosc
static const uint64_t OpStreams
static const uint64_t OpCoerce
static const uint64_t DoTpcOnly
static const uint64_t DoTlsNoData
static const uint64_t OpTpcTokenFile
static const uint64_t DoServer
XrdCpFile * Next
Definition XrdCpFile.hh:44

References CksData, Dlvl, DoCksrc, DoCksum, DoCoerce, DoContinue, DoDebug, DoDynaSrc, DoForce, DoHttpHeader, DoIfile, DoNoPbar, DoNoTlsOK, DoParallel, DoPath, DoPosc, DoProxy, DoRecurse, DoRetry, DoRetryPolicy, DoRmOnBadCksum, DoServer, DoSilent, DoSources, DoStreams, DoTlsMLF, DoTlsNoData, DoTpc, DoTpcDlgt, DoTpcModePush, DoTpcOnly, DoTpcTokenFile, DoVerbose, DoXAttr, DoXrate, DoXrateThreshold, DoZip, DoZipAppend, DoZipMtlnCksum, dstFile, EMSG, FMSG, HttpHeaders, inList(), XrdCpFile::isDir, XrdCpFile::isFile, XrdCpFile::isHttp, isHttpProt(), XrdCpFile::isHttps, XrdCpFile::isPelican, XrdCpFile::isS3, XrdCpFile::isStdIO, XrdCpFile::isXroot, XrdCpFile::isXroots, Log, XrdCpFile::Next, nSrcs, nStrm, numFiles, OpCksum, OpCoerce, OpContinue, OpDebug, OpDynaSrc, open, OpForce, OpHelp, OpHttpHeader, OpIfile, OpLicense, OpNoPbar, OpNoTlsOK, OpParallel, OpPath, OpPosc, OpProxy, OpRecurse, OpRecursv, OpRetry, OpRetryPolicy, OpRmOnBadCksum, OpServer, OpSilent, OpSources, OpSpec, OpStreams, opt1Src, optind, OpTlsMLF, OpTlsNoData, optNoLclCp, optNoXtnd, OpTpc, OpTpcTokenFile, opts, OpVerbose, OpVersion, OpXAttr, OpXrate, OpXrateThreshold, OpZip, OpZipAppend, OpZipMtlnCksum, Parallel, Path, Pgm, Retry, RetryPolicy, srcFile, tcpTokenFile, totBytes, UMSG, Verbose, xRate, xRateThreshold, XrdSysE2T(), and zipFile.

Referenced by main().

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

◆ Want()

int XrdCpConfig::Want ( uint64_t What)
inline

Definition at line 234 of file XrdCpConfig.hh.

234{return (OpSpec & What) != 0;}

References OpSpec.

Referenced by main().

+ Here is the caller graph for this function:

Member Data Documentation

◆ AddCksVal

std::vector<std::string> XrdCpConfig::AddCksVal

Definition at line 99 of file XrdCpConfig.hh.

Referenced by main().

◆ CksData

XrdCksData XrdCpConfig::CksData

Definition at line 85 of file XrdCpConfig.hh.

Referenced by Config().

◆ CksLen

int XrdCpConfig::CksLen

Definition at line 80 of file XrdCpConfig.hh.

Referenced by XrdCpConfig().

◆ CksMan

XrdCks* XrdCpConfig::CksMan

Definition at line 86 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), and ~XrdCpConfig().

◆ CksObj

XrdCksCalc* XrdCpConfig::CksObj

Definition at line 87 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), and ~XrdCpConfig().

◆ CksVal

const char* XrdCpConfig::CksVal

Definition at line 88 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), and main().

◆ Dlvl

int XrdCpConfig::Dlvl

Definition at line 74 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and main().

◆ DoCkprt

const uint64_t XrdCpConfig::DoCkprt = 0x0000000000000004LL
static

Definition at line 109 of file XrdCpConfig.hh.

◆ DoCksrc

const uint64_t XrdCpConfig::DoCksrc = 0x0000000000000001LL
static

Definition at line 107 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoCksum

const uint64_t XrdCpConfig::DoCksum = 0x0000000000000002LL
static

Definition at line 108 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoCoerce

const uint64_t XrdCpConfig::DoCoerce = 0x0000000000000008LL
static

Definition at line 112 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoContinue

const uint64_t XrdCpConfig::DoContinue = 0x0000000100000000LL
static

Definition at line 202 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoDebug

const uint64_t XrdCpConfig::DoDebug = 0x0000000000000010LL
static

Definition at line 115 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoDynaSrc

const uint64_t XrdCpConfig::DoDynaSrc = 0x0000000000400000LL
static

Definition at line 173 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoForce

const uint64_t XrdCpConfig::DoForce = 0x0000000000000020LL
static

Definition at line 118 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoHelp

const uint64_t XrdCpConfig::DoHelp = 0x0000000000000040LL
static

Definition at line 121 of file XrdCpConfig.hh.

◆ DoHttpHeader

const uint64_t XrdCpConfig::DoHttpHeader = 0x0000001000000000LL
static

Definition at line 214 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoIfile

const uint64_t XrdCpConfig::DoIfile = 0x0000000000000080LL
static

Definition at line 124 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoNoPbar

const uint64_t XrdCpConfig::DoNoPbar = 0x0000000000000100LL
static

Definition at line 129 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoNoTlsOK

const uint64_t XrdCpConfig::DoNoTlsOK = 0x0000000004000000LL
static

Definition at line 184 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoParallel

const uint64_t XrdCpConfig::DoParallel = 0x0000000000200000LL
static

Definition at line 170 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoPath

const uint64_t XrdCpConfig::DoPath = 0x0000000010000000LL
static

Definition at line 190 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoPosc

const uint64_t XrdCpConfig::DoPosc = 0x0000000000000200LL
static

Definition at line 132 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoProxy

const uint64_t XrdCpConfig::DoProxy = 0x0000000000000400LL
static

Definition at line 135 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoRecurse

const uint64_t XrdCpConfig::DoRecurse = 0x0000000000000800LL
static

Definition at line 139 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoRetry

const uint64_t XrdCpConfig::DoRetry = 0x0000000000001000LL
static

Definition at line 142 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoRetryPolicy

const uint64_t XrdCpConfig::DoRetryPolicy = 0x0000000400000000LL
static

Definition at line 208 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoRmOnBadCksum

const uint64_t XrdCpConfig::DoRmOnBadCksum = 0x0000000080000000LL
static

Definition at line 199 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoServer

const uint64_t XrdCpConfig::DoServer = 0x0000000000002000LL
static

Definition at line 145 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoSilent

const uint64_t XrdCpConfig::DoSilent = 0x0000000000004000LL
static

Definition at line 148 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoSources

const uint64_t XrdCpConfig::DoSources = 0x0000000000008000LL
static

Definition at line 151 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoStreams

const uint64_t XrdCpConfig::DoStreams = 0x0000000000010000LL
static

Definition at line 154 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoTlsMLF

const uint64_t XrdCpConfig::DoTlsMLF = 0x0000000008000000LL
static

Definition at line 187 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTlsNoData

const uint64_t XrdCpConfig::DoTlsNoData = 0x0000000002000000LL
static

Definition at line 181 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTpc

const uint64_t XrdCpConfig::DoTpc = 0x0000000000020000LL
static

Definition at line 157 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTpcDlgt

const uint64_t XrdCpConfig::DoTpcDlgt = 0x0000000000800000LL
static

Definition at line 159 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTpcModePush

const uint64_t XrdCpConfig::DoTpcModePush = 0x0000004000000000LL
static

Definition at line 218 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTpcOnly

const uint64_t XrdCpConfig::DoTpcOnly = 0x0000000000100000LL
static

Definition at line 158 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTpcTokenFile

const uint64_t XrdCpConfig::DoTpcTokenFile = 0x0000002000000000LL
static

Definition at line 216 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoVerbose

const uint64_t XrdCpConfig::DoVerbose = 0x0000000000040000LL
static

Definition at line 162 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoXAttr

const uint64_t XrdCpConfig::DoXAttr = 0x0000000020000000LL
static

Definition at line 193 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoXrate

const uint64_t XrdCpConfig::DoXrate = 0x0000000000080000LL
static

Definition at line 167 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoXrateThreshold

const uint64_t XrdCpConfig::DoXrateThreshold = 0x0000000200000000LL
static

Definition at line 205 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoZip

const uint64_t XrdCpConfig::DoZip = 0x0000000001000000LL
static

Definition at line 178 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoZipAppend

const uint64_t XrdCpConfig::DoZipAppend = 0x0000000800000000LL
static

Definition at line 211 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoZipMtlnCksum

const uint64_t XrdCpConfig::DoZipMtlnCksum = 0x0000000040000000LL
static

Definition at line 196 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ dstFile

XrdCpFile* XrdCpConfig::dstFile

Definition at line 91 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), ~XrdCpConfig(), Config(), and main().

◆ dstOpq

const char* XrdCpConfig::dstOpq

Definition at line 65 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), and main().

◆ HttpHeaders

std::vector<std::string> XrdCpConfig::HttpHeaders

Definition at line 101 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ intDefs

defVar* XrdCpConfig::intDefs

Definition at line 63 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), ~XrdCpConfig(), and ProcessCommandLineEnv().

◆ Log

XrdSysError * XrdCpConfig::Log = &XrdCpConfiguration::eDest
static

Definition at line 97 of file XrdCpConfig.hh.

Referenced by Config().

◆ nSrcs

int XrdCpConfig::nSrcs

Definition at line 75 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and main().

◆ nStrm

int XrdCpConfig::nStrm

Definition at line 76 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and main().

◆ numFiles

int XrdCpConfig::numFiles

Definition at line 82 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), and Config().

◆ OpCksum

const uint64_t XrdCpConfig::OpCksum = 'C'
static

Definition at line 106 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpCoerce

const uint64_t XrdCpConfig::OpCoerce = 'F'
static

Definition at line 111 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpContinue

const uint64_t XrdCpConfig::OpContinue = 0x10
static

Definition at line 201 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpDebug

const uint64_t XrdCpConfig::OpDebug = 'd'
static

Definition at line 114 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpDynaSrc

const uint64_t XrdCpConfig::OpDynaSrc = 'Z'
static

Definition at line 172 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpForce

const uint64_t XrdCpConfig::OpForce = 'f'
static

Definition at line 117 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpHelp

const uint64_t XrdCpConfig::OpHelp = 'h'
static

Definition at line 120 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpHttpHeader

const uint64_t XrdCpConfig::OpHttpHeader = 'H'
static

Definition at line 213 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpIfile

const uint64_t XrdCpConfig::OpIfile = 'I'
static

Definition at line 123 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpLicense

const uint64_t XrdCpConfig::OpLicense = 0x14
static

Definition at line 126 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpNoPbar

const uint64_t XrdCpConfig::OpNoPbar = 'N'
static

Definition at line 128 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpNoTlsOK

const uint64_t XrdCpConfig::OpNoTlsOK = 0x05
static

Definition at line 183 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpParallel

const uint64_t XrdCpConfig::OpParallel = 0x04
static

Definition at line 169 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpPath

const uint64_t XrdCpConfig::OpPath = 'p'
static

Definition at line 189 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpPosc

const uint64_t XrdCpConfig::OpPosc = 'P'
static

Definition at line 131 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpProxy

const uint64_t XrdCpConfig::OpProxy = 'D'
static

Definition at line 134 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRecurse

const uint64_t XrdCpConfig::OpRecurse = 'r'
static

Definition at line 137 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRecursv

const uint64_t XrdCpConfig::OpRecursv = 'R'
static

Definition at line 138 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRetry

const uint64_t XrdCpConfig::OpRetry = 't'
static

Definition at line 141 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRetryPolicy

const uint64_t XrdCpConfig::OpRetryPolicy = 0x12
static

Definition at line 207 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRmOnBadCksum

const uint64_t XrdCpConfig::OpRmOnBadCksum = 0x09
static

Definition at line 198 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpServer

const uint64_t XrdCpConfig::OpServer = 0x03
static

Definition at line 144 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpSilent

const uint64_t XrdCpConfig::OpSilent = 's'
static

Definition at line 147 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpSources

const uint64_t XrdCpConfig::OpSources = 'y'
static

Definition at line 150 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpSpec

long long XrdCpConfig::OpSpec

Definition at line 73 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and Want().

◆ OpStreams

const uint64_t XrdCpConfig::OpStreams = 'S'
static

Definition at line 153 of file XrdCpConfig.hh.

Referenced by Config().

◆ opt1Src

const int XrdCpConfig::opt1Src = 0x00000001
static

Definition at line 224 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpTlsMLF

const uint64_t XrdCpConfig::OpTlsMLF = 0x06
static

Definition at line 186 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpTlsNoData

const uint64_t XrdCpConfig::OpTlsNoData = 'E'
static

Definition at line 180 of file XrdCpConfig.hh.

Referenced by Config().

◆ optNoLclCp

const int XrdCpConfig::optNoLclCp = 0x00000010
static

Definition at line 228 of file XrdCpConfig.hh.

Referenced by Config().

◆ optNoStdIn

const int XrdCpConfig::optNoStdIn = 0x00000008
static

Definition at line 227 of file XrdCpConfig.hh.

◆ optNoXtnd

const int XrdCpConfig::optNoXtnd = 0x00000002
static

Definition at line 225 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpTpc

const uint64_t XrdCpConfig::OpTpc = 'T'
static

Definition at line 156 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpTpcTokenFile

const uint64_t XrdCpConfig::OpTpcTokenFile = 0x15
static

Definition at line 215 of file XrdCpConfig.hh.

Referenced by Config().

◆ optRmtRec

const int XrdCpConfig::optRmtRec = 0x00000004
static

Definition at line 226 of file XrdCpConfig.hh.

Referenced by main().

◆ OpVerbose

const uint64_t XrdCpConfig::OpVerbose = 'v'
static

Definition at line 161 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpVersion

const uint64_t XrdCpConfig::OpVersion = 'V'
static

Definition at line 164 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpXAttr

const uint64_t XrdCpConfig::OpXAttr = 0x07
static

Definition at line 192 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpXrate

const uint64_t XrdCpConfig::OpXrate = 'X'
static

Definition at line 166 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpXrateThreshold

const uint64_t XrdCpConfig::OpXrateThreshold = 0x11
static

Definition at line 204 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpZip

const uint64_t XrdCpConfig::OpZip = 'z'
static

Definition at line 177 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpZipAppend

const uint64_t XrdCpConfig::OpZipAppend = 0x13
static

Definition at line 210 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpZipMtlnCksum

const uint64_t XrdCpConfig::OpZipMtlnCksum = 0x08
static

Definition at line 195 of file XrdCpConfig.hh.

Referenced by Config().

◆ Parallel

int XrdCpConfig::Parallel

Definition at line 70 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and main().

◆ Pgm

const char* XrdCpConfig::Pgm

Definition at line 67 of file XrdCpConfig.hh.

Referenced by Config().

◆ pHost

char* XrdCpConfig::pHost

Definition at line 71 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), ~XrdCpConfig(), and AllOptionsSupported().

◆ pPort

int XrdCpConfig::pPort

Definition at line 72 of file XrdCpConfig.hh.

Referenced by XrdCpConfig().

◆ Retry

int XrdCpConfig::Retry

Definition at line 77 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and main().

◆ RetryPolicy

std::string XrdCpConfig::RetryPolicy

Definition at line 78 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and main().

◆ srcFile

XrdCpFile* XrdCpConfig::srcFile

Definition at line 90 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and main().

◆ srcOpq

const char* XrdCpConfig::srcOpq

Definition at line 66 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), and main().

◆ strDefs

defVar* XrdCpConfig::strDefs

Definition at line 64 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), ~XrdCpConfig(), and ProcessCommandLineEnv().

◆ tcpTokenFile

char* XrdCpConfig::tcpTokenFile

Definition at line 95 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), ~XrdCpConfig(), Config(), and main().

◆ totBytes

long long XrdCpConfig::totBytes

Definition at line 83 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), and Config().

◆ Verbose

int XrdCpConfig::Verbose

Definition at line 79 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), and Config().

◆ xRate

long long XrdCpConfig::xRate

Definition at line 68 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and main().

◆ xRateThreshold

long long XrdCpConfig::xRateThreshold

Definition at line 69 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), Config(), and main().

◆ zipFile

char* XrdCpConfig::zipFile

Definition at line 93 of file XrdCpConfig.hh.

Referenced by XrdCpConfig(), ~XrdCpConfig(), Config(), and main().


The documentation for this class was generated from the following files: