XRootD
XrdCpConfig Class Reference

#include <XrdCpConfig.hh>

+ Inheritance diagram for XrdCpConfig:
+ Collaboration diagram for XrdCpConfig:

Classes

struct  defVar
 
union  defVar.__unnamed25__
 

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
 
XrdCksCksMan
 
XrdCksCalcCksObj
 
const char * CksVal
 
int Dlvl
 
XrdCpFiledstFile
 
const char * dstOpq
 
defVarintDefs
 
int nSrcs
 
int nStrm
 
int numFiles
 
long long OpSpec
 
int Parallel
 
const char * Pgm
 
char * pHost
 
int pPort
 
int Retry
 
std::string RetryPolicy
 
XrdCpFilesrcFile
 
const char * srcOpq
 
defVarstrDefs
 
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 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 DoTpcOnly = 0x0000000000100000LL
 
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 XrdSysErrorLog = &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 OpIfile = 'I'
 
static const uint64_t OpLicense = 'H'
 
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 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 85 of file XrdCpConfig.cc.


Class Documentation

◆ XrdCpConfig::defVar.__unnamed25__

union XrdCpConfig::defVar.__unnamed25__

Definition at line 54 of file XrdCpConfig.hh.

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

Constructor & Destructor Documentation

◆ XrdCpConfig()

XrdCpConfig::XrdCpConfig ( const char *  pgname)

Definition at line 128 of file XrdCpConfig.cc.

129 {
130  if ((PName = rindex(pgm, '/'))) PName++;
131  else PName = pgm;
132  XrdCpFile::SetMsgPfx(PName);
133  intDefs = 0;
134  intDend = 0;
135  strDefs = 0;
136  strDend = 0;
137  dstOpq = 0;
138  srcOpq = 0;
139  pHost = 0;
140  pPort = 0;
141  xRate = 0;
142  xRateThreshold = 0;
143  Parallel = 1;
144  OpSpec = 0;
145  Dlvl = 0;
146  nSrcs = 1;
147  nStrm = 0;
148  Retry =-1;
149  RetryPolicy = "force";
150  Verbose = 0;
151  numFiles = 0;
152  totBytes = 0;
153  CksLen = 0;
154  CksMan = 0;
155  CksObj = 0;
156  CksVal = 0;
157  srcFile = 0;
158  dstFile = 0;
159  inFile = 0;
160  parmVal = 0;
161  parmCnt = 0;
162  zipFile = 0;
163 }
static void SetMsgPfx(const char *pfx)
Definition: XrdCpFile.hh:57
defVar * intDefs
Definition: XrdCpConfig.hh:63
XrdCksCalc * CksObj
Definition: XrdCpConfig.hh:87
const char * dstOpq
Definition: XrdCpConfig.hh:65
XrdCks * CksMan
Definition: XrdCpConfig.hh:86
XrdCpFile * srcFile
Definition: XrdCpConfig.hh:90
XrdCpFile * dstFile
Definition: XrdCpConfig.hh:91
char * zipFile
Definition: XrdCpConfig.hh:93
long long OpSpec
Definition: XrdCpConfig.hh:73
char * pHost
Definition: XrdCpConfig.hh:71
defVar * strDefs
Definition: XrdCpConfig.hh:64
const char * CksVal
Definition: XrdCpConfig.hh:88
const char * srcOpq
Definition: XrdCpConfig.hh:66
long long xRate
Definition: XrdCpConfig.hh:68
std::string RetryPolicy
Definition: XrdCpConfig.hh:78
long long xRateThreshold
Definition: XrdCpConfig.hh:69
long long totBytes
Definition: XrdCpConfig.hh:83

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

+ Here is the call graph for this function:

◆ ~XrdCpConfig()

XrdCpConfig::~XrdCpConfig ( )

Definition at line 169 of file XrdCpConfig.cc.

170 {
171  XrdCpFile *pNow;
172  defVar *dP;
173 
174  if (inFile) free(inFile);
175  if (pHost) free(pHost);
176  if (parmVal) free(parmVal);
177  if (CksObj) delete CksObj;
178  if (CksMan) delete CksMan;
179  if (zipFile) free(zipFile);
180  if (dstFile) delete dstFile;
181 
182  while((pNow = pFile)) {pFile = pFile->Next; delete pNow;}
183 
184  while((dP = intDefs)) {intDefs = dP->Next; delete dP;}
185  while((dP = strDefs)) {strDefs = dP->Next; delete dP;}
186 
187 }
XrdCpFile * Next
Definition: XrdCpFile.hh:44

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

Member Function Documentation

◆ Config()

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

Definition at line 193 of file XrdCpConfig.cc.

194 {
195  extern char *optarg;
196  extern int optind, opterr;
197  static int pgmSet = 0;
198  char Buff[128], *Path, opC;
199  XrdCpFile pBase;
200  int i, rc;
201 
202 // Allocate a parameter vector
203 //
204  if (parmVal) free(parmVal);
205  parmVal = (char **)malloc(aCnt*sizeof(char *));
206 
207 // Preset handling options
208 //
209  Argv = aVec;
210  Argc = aCnt;
211  Opts = opts;
212  opterr = 0;
213  optind = 1;
214  opC = 0;
215 
216 // Set name of executable for error messages
217 //
218  if (!pgmSet)
219  {char *Slash = rindex(aVec[0], '/');
220  pgmSet = 1;
221  Pgm = (Slash ? Slash+1 : aVec[0]);
222  Log->SetPrefix(Pgm);
223  }
224 
225 // Process legacy options first before atempting normal options
226 //
227 do{while(optind < Argc && Legacy(optind)) {}
228  if ((opC = getopt_long(Argc, Argv, opLetters, opVec, &i)) != (char)-1)
229  switch(opC)
230  {case OpCksum: defCks(optarg);
231  break;
232  case OpCoerce: OpSpec |= DoCoerce;
233  break;
234  case OpDebug: OpSpec |= DoDebug;
235  if (!a2i(optarg, &Dlvl, 0, 3)) Usage(22);
236  break;
237  case OpDynaSrc: OpSpec |= DoDynaSrc;
238  break;
239  case OpForce: OpSpec |= DoForce;
240  break;
241  case OpZip: OpSpec |= DoZip;
242  if (zipFile) free(zipFile);
243  zipFile = strdup(optarg);
244  break;
245  case OpHelp: Usage(0);
246  break;
247  case OpIfile: if (inFile) free(inFile);
248  inFile = strdup(optarg);
249  OpSpec |= DoIfile;
250  break;
251  case OpLicense: License();
252  break;
253  case OpNoPbar: OpSpec |= DoNoPbar;
254  break;
255  case OpNoTlsOK: OpSpec |= DoNoTlsOK;
256  break;
257  case OpPath: OpSpec |= DoPath;
258  break;
259  case OpPosc: OpSpec |= DoPosc;
260  break;
261  case OpProxy: OpSpec |= DoProxy;
262  defPxy(optarg);
263  break;
264  case OpRecurse: OpSpec |= DoRecurse;
265  break;
266  case OpRecursv: OpSpec |= DoRecurse;
267  break;
268  case OpRetry: OpSpec |= DoRetry;
269  if (!a2i(optarg, &Retry, 0, -1)) Usage(22);
270  break;
272  RetryPolicy = optarg;
273  if( RetryPolicy != "force" && RetryPolicy != "continue" ) Usage(22);
274  break;
275  case OpZipAppend: OpSpec |= DoZipAppend;
276  break;
278  break;
279  case OpSilent: OpSpec |= DoSilent|DoNoPbar;
280  break;
281  case OpSources: OpSpec |= DoSources;
282  if (!a2i(optarg, &nSrcs, 1, 32)) Usage(22);
283  break;
284  case OpStreams: OpSpec |= DoStreams;
285  if (!a2i(optarg, &nStrm, 1, 15)) Usage(22);
286  break;
287  case OpTlsNoData: OpSpec |= DoTlsNoData;
288  break;
289  case OpTlsMLF: OpSpec |= DoTlsMLF;
290  break;
291  case OpTpc: OpSpec |= DoTpc;
292  if (!strcmp("delegate", optarg))
293  {OpSpec|= DoTpcDlgt;
294  if (optind >= Argc)
295  {UMSG("Missing tpc qualifier after "
296  "'delegate'");
297  }
298  optarg = Argv[optind++];
299  }
300  if (!strcmp("only", optarg)) OpSpec|= DoTpcOnly;
301  else if (strcmp("first", optarg))
302  {optind--;
303  UMSG("Invalid option, '" <<OpName()
304  <<' ' <<optarg <<"' ");
305  }
306  break;
307  case OpVerbose: OpSpec |= DoVerbose;
308  Verbose = 1;
309  break;
310  case OpVersion: std::cerr <<XrdVERSION <<std::endl; exit(0);
311  break;
312  case OpXrate: OpSpec |= DoXrate;
313  if (!a2z(optarg, &xRate, 10*1024LL, -1)) Usage(22);
314  break;
316  if (!a2z(optarg, &xRateThreshold, 10*1024LL, -1)) Usage(22);
317  break;
318  case OpParallel: OpSpec |= DoParallel;
319  if (!a2i(optarg, &Parallel, 1, 128)) Usage(22);
320  break;
321  case OpXAttr : OpSpec |= DoXAttr;
322  break;
324  break;
326  break;
327  case OpContinue : OpSpec |= DoContinue;
328  break;
329  case ':': UMSG("'" <<OpName() <<"' argument missing.");
330  break;
331  case '?': if (!Legacy(optind-1))
332  UMSG("Invalid option, '" <<OpName() <<"'.");
333  break;
334  default: UMSG("Internal error processing '" <<OpName() <<"'.");
335  break;
336  }
337  } while(opC != (char)-1 && optind < Argc);
338 
339 // Make sure we have the right number of files
340 //
341  if (inFile) {if (!parmCnt ) UMSG("Destination not specified.");}
342  else { if (!parmCnt ) UMSG("No files specified.");
343  if ( parmCnt == 1 ) UMSG("Destination not specified.");
344  }
345 
346 // Check for conflicts wit third party copy
347 //
348  if (OpSpec & DoTpc && nSrcs > 1)
349  UMSG("Third party copy requires a single source.");
350 
351 // Check for conflicts with ZIP archive
352 //
353  if( OpSpec & DoZip & DoCksrc )
354  UMSG("Cannot calculate source checksum for a file in ZIP archive.");
355 
356  if( ( OpSpec & DoZip & DoCksum ) && !CksData.HasValue() )
357  UMSG("Cannot calculate source checksum for a file in ZIP archive.");
358 
359 // Turn off verbose if we are in server mode
360 //
361  if (OpSpec & DoServer)
362  {OpSpec &= ~DoVerbose;
363  Verbose = 0;
364  }
365 
366 // Turn on auto-path creation if requested via envar
367 //
368  if (getenv("XRD_MAKEPATH")) OpSpec |= DoPath;
369 
370 // Process the destination first as it is special
371 //
372  dstFile = new XrdCpFile(parmVal[--parmCnt], rc);
373  if (rc) FMSG("Invalid url, '" <<dstFile->Path <<"'.", 22);
374 
375 // Do a protocol check
376 //
385  {FMSG(dstFile->ProtName <<"file protocol is not supported.", 22)}
386 
387 // Resolve this file if it is a local file
388 //
389  isLcl = (dstFile->Protocol == XrdCpFile::isFile)
391  if (isLcl && (rc = dstFile->Resolve()))
392  {if (rc != ENOENT || (Argc - optind - 1) > 1 || OpSpec & DoRecurse)
393  FMSG(XrdSysE2T(rc) <<" processing " <<dstFile->Path, 2);
394  }
395 
396 // Now pick up all the source files from the command line
397 //
398  pLast = &pBase;
399  for (i = 0; i < parmCnt; i++) ProcFile(parmVal[i]);
400 
401 // If an input file list was specified, process it as well
402 //
403  if (inFile)
405  char *fname;
406  int inFD = open(inFile, O_RDONLY);
407  if (inFD < 0) FMSG(XrdSysE2T(errno) <<" opening infiles " <<inFile, 2);
408  inList.Attach(inFD);
409  while((fname = inList.GetLine())) if (*fname) ProcFile(fname);
410  }
411 
412 // Check if we have any sources or too many sources
413 //
414  if (!numFiles) UMSG("Source not specified.");
415  if (Opts & opt1Src && numFiles > 1)
416  FMSG("Only a single source is allowed.", 2);
417  srcFile = pBase.Next;
418 
419 // Check if we have an appropriate destination
420 //
423  FMSG("Destination is neither remote nor a directory.", 2);
424 
425 // Do the dumb check
426 //
427  if (isLcl && Opts & optNoLclCp)
428  FMSG("All files are local; use 'cp' instead!", 1);
429 
430 // Check for checksum spec conflicts
431 //
432  if (OpSpec & DoCksum)
433  {if (CksData.Length && numFiles > 1)
434  FMSG("Checksum with fixed value requires a single input file.", 2);
435  if (CksData.Length && OpSpec & DoRecurse)
436  FMSG("Checksum with fixed value conflicts with '--recursive'.", 2);
437  }
438 
439 // Now extend all local sources if recursive is in effect
440 //
441  if (OpSpec & DoRecurse && !(Opts & optNoXtnd))
442  {pPrev = &pBase; pBase.Next = srcFile;
443  while((pFile = pPrev->Next))
444  {if (pFile->Protocol != XrdCpFile::isDir) pPrev = pFile;
445  else {Path = pFile->Path;
446  pPrev->Next = pFile->Next;
447  if (Verbose) EMSG("Indexing files in " <<Path);
448  numFiles--;
449  if ((rc = pFile->Extend(&pLast, numFiles, totBytes)))
450  FMSG(XrdSysE2T(rc) <<" indexing " <<Path, 2);
451  if (pFile->Next)
452  {pLast->Next = pPrev->Next;
453  pPrev->Next = pFile->Next;
454  }
455  delete pFile;
456  }
457  }
458  if (!(srcFile = pBase.Next))
459  FMSG("No regular files found to copy!", 2);
460  if (Verbose) EMSG("Copying " <<Human(totBytes, Buff, sizeof(Buff))
461  <<" from " <<numFiles
462  <<(numFiles != 1 ? " files." : " file."));
463  }
464 }
int inList(const char *var, const char **Vec)
#define FMSG(x, y)
Definition: XrdCpConfig.cc:57
#define EMSG(x)
Definition: XrdCpConfig.cc:55
#define UMSG(x)
Definition: XrdCpConfig.cc:59
int optind
#define open
Definition: XrdPosix.hh:78
XrdOucString Path
struct myOpts opts
const char * XrdSysE2T(int errcode)
Definition: XrdSysE2T.cc:104
char Length
Definition: XrdCksData.hh:52
bool HasValue()
Definition: XrdCksData.hh:125
PType Protocol
Definition: XrdCpFile.hh:49
int Resolve()
Definition: XrdCpFile.cc:158
int Extend(XrdCpFile **pLast, int &nFile, long long &nBytes)
Definition: XrdCpFile.cc:131
char * Path
Definition: XrdCpFile.hh:45
char ProtName[8]
Definition: XrdCpFile.hh:50
const char * SetPrefix(const char *prefix)
Definition: XrdSysError.hh:194
static const uint64_t OpVerbose
Definition: XrdCpConfig.hh:154
static const uint64_t OpXAttr
Definition: XrdCpConfig.hh:185
static const uint64_t DoProxy
Definition: XrdCpConfig.hh:128
static const uint64_t OpRecurse
Definition: XrdCpConfig.hh:130
static const uint64_t OpContinue
Definition: XrdCpConfig.hh:194
static const uint64_t DoRetry
Definition: XrdCpConfig.hh:135
static const uint64_t DoStreams
Definition: XrdCpConfig.hh:147
static const uint64_t OpParallel
Definition: XrdCpConfig.hh:162
static const uint64_t OpZipAppend
Definition: XrdCpConfig.hh:203
static const uint64_t DoZipMtlnCksum
Definition: XrdCpConfig.hh:189
XrdCksData CksData
Definition: XrdCpConfig.hh:85
static const uint64_t OpSilent
Definition: XrdCpConfig.hh:140
static const uint64_t OpTlsMLF
Definition: XrdCpConfig.hh:179
static const uint64_t OpNoTlsOK
Definition: XrdCpConfig.hh:176
const char * Pgm
Definition: XrdCpConfig.hh:67
static const uint64_t OpRetryPolicy
Definition: XrdCpConfig.hh:200
static const uint64_t OpDebug
Definition: XrdCpConfig.hh:107
static const uint64_t OpRetry
Definition: XrdCpConfig.hh:134
static const uint64_t DoNoPbar
Definition: XrdCpConfig.hh:122
static const uint64_t OpXrateThreshold
Definition: XrdCpConfig.hh:197
static const uint64_t DoCoerce
Definition: XrdCpConfig.hh:105
static const uint64_t OpServer
Definition: XrdCpConfig.hh:137
static const uint64_t DoForce
Definition: XrdCpConfig.hh:111
static const uint64_t OpVersion
Definition: XrdCpConfig.hh:157
static const uint64_t OpTpc
Definition: XrdCpConfig.hh:149
static const uint64_t DoParallel
Definition: XrdCpConfig.hh:163
static const uint64_t DoRmOnBadCksum
Definition: XrdCpConfig.hh:192
static const uint64_t DoNoTlsOK
Definition: XrdCpConfig.hh:177
static const uint64_t OpPath
Definition: XrdCpConfig.hh:182
static const uint64_t OpRecursv
Definition: XrdCpConfig.hh:131
static const uint64_t OpProxy
Definition: XrdCpConfig.hh:127
static const uint64_t DoTpc
Definition: XrdCpConfig.hh:150
static const uint64_t DoDebug
Definition: XrdCpConfig.hh:108
static const uint64_t OpSources
Definition: XrdCpConfig.hh:143
static const uint64_t DoCksum
Definition: XrdCpConfig.hh:101
static const uint64_t OpPosc
Definition: XrdCpConfig.hh:124
static const uint64_t DoXrate
Definition: XrdCpConfig.hh:160
static const uint64_t DoCksrc
Definition: XrdCpConfig.hh:100
static const uint64_t OpZipMtlnCksum
Definition: XrdCpConfig.hh:188
static const int opt1Src
Definition: XrdCpConfig.hh:210
static const uint64_t OpXrate
Definition: XrdCpConfig.hh:159
static const uint64_t DoTpcDlgt
Definition: XrdCpConfig.hh:152
static const uint64_t DoZip
Definition: XrdCpConfig.hh:171
static const uint64_t DoVerbose
Definition: XrdCpConfig.hh:155
static const uint64_t DoContinue
Definition: XrdCpConfig.hh:195
static const uint64_t OpCksum
Definition: XrdCpConfig.hh:99
static const uint64_t DoRecurse
Definition: XrdCpConfig.hh:132
static const uint64_t OpTlsNoData
Definition: XrdCpConfig.hh:173
static const int optNoLclCp
Definition: XrdCpConfig.hh:214
static const uint64_t DoXrateThreshold
Definition: XrdCpConfig.hh:198
static const uint64_t DoZipAppend
Definition: XrdCpConfig.hh:204
static const uint64_t OpIfile
Definition: XrdCpConfig.hh:116
static const uint64_t DoDynaSrc
Definition: XrdCpConfig.hh:166
static const uint64_t OpNoPbar
Definition: XrdCpConfig.hh:121
static const uint64_t DoSources
Definition: XrdCpConfig.hh:144
static const uint64_t DoSilent
Definition: XrdCpConfig.hh:141
static const uint64_t OpForce
Definition: XrdCpConfig.hh:110
static const uint64_t OpRmOnBadCksum
Definition: XrdCpConfig.hh:191
static const uint64_t OpDynaSrc
Definition: XrdCpConfig.hh:165
static const uint64_t DoXAttr
Definition: XrdCpConfig.hh:186
static const int optNoXtnd
Definition: XrdCpConfig.hh:211
static const uint64_t DoTlsMLF
Definition: XrdCpConfig.hh:180
static const uint64_t OpZip
Definition: XrdCpConfig.hh:170
static const uint64_t OpLicense
Definition: XrdCpConfig.hh:119
static const uint64_t DoIfile
Definition: XrdCpConfig.hh:117
static const uint64_t OpHelp
Definition: XrdCpConfig.hh:113
static XrdSysError * Log
Definition: XrdCpConfig.hh:95
static const uint64_t DoRetryPolicy
Definition: XrdCpConfig.hh:201
static const uint64_t DoPath
Definition: XrdCpConfig.hh:183
static const uint64_t DoPosc
Definition: XrdCpConfig.hh:125
static const uint64_t OpStreams
Definition: XrdCpConfig.hh:146
static const uint64_t OpCoerce
Definition: XrdCpConfig.hh:104
static const uint64_t DoTpcOnly
Definition: XrdCpConfig.hh:151
static const uint64_t DoTlsNoData
Definition: XrdCpConfig.hh:174
static const uint64_t DoServer
Definition: XrdCpConfig.hh:138

References CksData, Dlvl, DoCksrc, DoCksum, DoCoerce, DoContinue, DoDebug, DoDynaSrc, DoForce, DoIfile, DoNoPbar, DoNoTlsOK, DoParallel, DoPath, DoPosc, DoProxy, DoRecurse, DoRetry, DoRetryPolicy, DoRmOnBadCksum, DoServer, DoSilent, DoSources, DoStreams, DoTlsMLF, DoTlsNoData, DoTpc, DoTpcDlgt, DoTpcOnly, DoVerbose, DoXAttr, DoXrate, DoXrateThreshold, DoZip, DoZipAppend, DoZipMtlnCksum, dstFile, EMSG, XrdCpFile::Extend(), FMSG, XrdCksData::HasValue(), inList(), XrdCpFile::isDir, XrdCpFile::isFile, XrdCpFile::isHttp, XrdCpFile::isHttps, XrdCpFile::isPelican, XrdCpFile::isS3, XrdCpFile::isStdIO, XrdCpFile::isXroot, XrdCpFile::isXroots, XrdCksData::Length, Log, XrdCpFile::Next, nSrcs, nStrm, numFiles, OpCksum, OpCoerce, OpContinue, OpDebug, OpDynaSrc, open, OpForce, OpHelp, 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, opts, OpVerbose, OpVersion, OpXAttr, OpXrate, OpXrateThreshold, OpZip, OpZipAppend, OpZipMtlnCksum, Parallel, XrdCpFile::Path, Path, Pgm, XrdCpFile::ProtName, XrdCpFile::Protocol, XrdCpFile::Resolve(), Retry, RetryPolicy, XrdSysError::SetPrefix(), srcFile, 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 220 of file XrdCpConfig.hh.

220 {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 97 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 102 of file XrdCpConfig.hh.

◆ DoCksrc

const uint64_t XrdCpConfig::DoCksrc = 0x0000000000000001LL
static

Definition at line 100 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoCksum

const uint64_t XrdCpConfig::DoCksum = 0x0000000000000002LL
static

Definition at line 101 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoCoerce

const uint64_t XrdCpConfig::DoCoerce = 0x0000000000000008LL
static

Definition at line 105 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoContinue

const uint64_t XrdCpConfig::DoContinue = 0x0000000100000000LL
static

Definition at line 195 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoDebug

const uint64_t XrdCpConfig::DoDebug = 0x0000000000000010LL
static

Definition at line 108 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoDynaSrc

const uint64_t XrdCpConfig::DoDynaSrc = 0x0000000000400000LL
static

Definition at line 166 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoForce

const uint64_t XrdCpConfig::DoForce = 0x0000000000000020LL
static

Definition at line 111 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoHelp

const uint64_t XrdCpConfig::DoHelp = 0x0000000000000040LL
static

Definition at line 114 of file XrdCpConfig.hh.

◆ DoIfile

const uint64_t XrdCpConfig::DoIfile = 0x0000000000000080LL
static

Definition at line 117 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoNoPbar

const uint64_t XrdCpConfig::DoNoPbar = 0x0000000000000100LL
static

Definition at line 122 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoNoTlsOK

const uint64_t XrdCpConfig::DoNoTlsOK = 0x0000000004000000LL
static

Definition at line 177 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoParallel

const uint64_t XrdCpConfig::DoParallel = 0x0000000000200000LL
static

Definition at line 163 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoPath

const uint64_t XrdCpConfig::DoPath = 0x0000000010000000LL
static

Definition at line 183 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoPosc

const uint64_t XrdCpConfig::DoPosc = 0x0000000000000200LL
static

Definition at line 125 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoProxy

const uint64_t XrdCpConfig::DoProxy = 0x0000000000000400LL
static

Definition at line 128 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoRecurse

const uint64_t XrdCpConfig::DoRecurse = 0x0000000000000800LL
static

Definition at line 132 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoRetry

const uint64_t XrdCpConfig::DoRetry = 0x0000000000001000LL
static

Definition at line 135 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoRetryPolicy

const uint64_t XrdCpConfig::DoRetryPolicy = 0x0000000400000000LL
static

Definition at line 201 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoRmOnBadCksum

const uint64_t XrdCpConfig::DoRmOnBadCksum = 0x0000000080000000LL
static

Definition at line 192 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoServer

const uint64_t XrdCpConfig::DoServer = 0x0000000000002000LL
static

Definition at line 138 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoSilent

const uint64_t XrdCpConfig::DoSilent = 0x0000000000004000LL
static

Definition at line 141 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoSources

const uint64_t XrdCpConfig::DoSources = 0x0000000000008000LL
static

Definition at line 144 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoStreams

const uint64_t XrdCpConfig::DoStreams = 0x0000000000010000LL
static

Definition at line 147 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoTlsMLF

const uint64_t XrdCpConfig::DoTlsMLF = 0x0000000008000000LL
static

Definition at line 180 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTlsNoData

const uint64_t XrdCpConfig::DoTlsNoData = 0x0000000002000000LL
static

Definition at line 174 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTpc

const uint64_t XrdCpConfig::DoTpc = 0x0000000000020000LL
static

Definition at line 150 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTpcDlgt

const uint64_t XrdCpConfig::DoTpcDlgt = 0x0000000000800000LL
static

Definition at line 152 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoTpcOnly

const uint64_t XrdCpConfig::DoTpcOnly = 0x0000000000100000LL
static

Definition at line 151 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoVerbose

const uint64_t XrdCpConfig::DoVerbose = 0x0000000000040000LL
static

Definition at line 155 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoXAttr

const uint64_t XrdCpConfig::DoXAttr = 0x0000000020000000LL
static

Definition at line 186 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoXrate

const uint64_t XrdCpConfig::DoXrate = 0x0000000000080000LL
static

Definition at line 160 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoXrateThreshold

const uint64_t XrdCpConfig::DoXrateThreshold = 0x0000000200000000LL
static

Definition at line 198 of file XrdCpConfig.hh.

Referenced by Config().

◆ DoZip

const uint64_t XrdCpConfig::DoZip = 0x0000000001000000LL
static

Definition at line 171 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoZipAppend

const uint64_t XrdCpConfig::DoZipAppend = 0x0000000800000000LL
static

Definition at line 204 of file XrdCpConfig.hh.

Referenced by Config(), and main().

◆ DoZipMtlnCksum

const uint64_t XrdCpConfig::DoZipMtlnCksum = 0x0000000040000000LL
static

Definition at line 189 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().

◆ 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 95 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 99 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpCoerce

const uint64_t XrdCpConfig::OpCoerce = 'F'
static

Definition at line 104 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpContinue

const uint64_t XrdCpConfig::OpContinue = 0x10
static

Definition at line 194 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpDebug

const uint64_t XrdCpConfig::OpDebug = 'd'
static

Definition at line 107 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpDynaSrc

const uint64_t XrdCpConfig::OpDynaSrc = 'Z'
static

Definition at line 165 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpForce

const uint64_t XrdCpConfig::OpForce = 'f'
static

Definition at line 110 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpHelp

const uint64_t XrdCpConfig::OpHelp = 'h'
static

Definition at line 113 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpIfile

const uint64_t XrdCpConfig::OpIfile = 'I'
static

Definition at line 116 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpLicense

const uint64_t XrdCpConfig::OpLicense = 'H'
static

Definition at line 119 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpNoPbar

const uint64_t XrdCpConfig::OpNoPbar = 'N'
static

Definition at line 121 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpNoTlsOK

const uint64_t XrdCpConfig::OpNoTlsOK = 0x05
static

Definition at line 176 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpParallel

const uint64_t XrdCpConfig::OpParallel = 0x04
static

Definition at line 162 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpPath

const uint64_t XrdCpConfig::OpPath = 'p'
static

Definition at line 182 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpPosc

const uint64_t XrdCpConfig::OpPosc = 'P'
static

Definition at line 124 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpProxy

const uint64_t XrdCpConfig::OpProxy = 'D'
static

Definition at line 127 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRecurse

const uint64_t XrdCpConfig::OpRecurse = 'r'
static

Definition at line 130 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRecursv

const uint64_t XrdCpConfig::OpRecursv = 'R'
static

Definition at line 131 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRetry

const uint64_t XrdCpConfig::OpRetry = 't'
static

Definition at line 134 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRetryPolicy

const uint64_t XrdCpConfig::OpRetryPolicy = 0x12
static

Definition at line 200 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpRmOnBadCksum

const uint64_t XrdCpConfig::OpRmOnBadCksum = 0x09
static

Definition at line 191 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpServer

const uint64_t XrdCpConfig::OpServer = 0x03
static

Definition at line 137 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpSilent

const uint64_t XrdCpConfig::OpSilent = 's'
static

Definition at line 140 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpSources

const uint64_t XrdCpConfig::OpSources = 'y'
static

Definition at line 143 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 146 of file XrdCpConfig.hh.

Referenced by Config().

◆ opt1Src

const int XrdCpConfig::opt1Src = 0x00000001
static

Definition at line 210 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpTlsMLF

const uint64_t XrdCpConfig::OpTlsMLF = 0x06
static

Definition at line 179 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpTlsNoData

const uint64_t XrdCpConfig::OpTlsNoData = 'E'
static

Definition at line 173 of file XrdCpConfig.hh.

Referenced by Config().

◆ optNoLclCp

const int XrdCpConfig::optNoLclCp = 0x00000010
static

Definition at line 214 of file XrdCpConfig.hh.

Referenced by Config().

◆ optNoStdIn

const int XrdCpConfig::optNoStdIn = 0x00000008
static

Definition at line 213 of file XrdCpConfig.hh.

◆ optNoXtnd

const int XrdCpConfig::optNoXtnd = 0x00000002
static

Definition at line 211 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpTpc

const uint64_t XrdCpConfig::OpTpc = 'T'
static

Definition at line 149 of file XrdCpConfig.hh.

Referenced by Config().

◆ optRmtRec

const int XrdCpConfig::optRmtRec = 0x00000004
static

Definition at line 212 of file XrdCpConfig.hh.

Referenced by main().

◆ OpVerbose

const uint64_t XrdCpConfig::OpVerbose = 'v'
static

Definition at line 154 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpVersion

const uint64_t XrdCpConfig::OpVersion = 'V'
static

Definition at line 157 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpXAttr

const uint64_t XrdCpConfig::OpXAttr = 0x07
static

Definition at line 185 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpXrate

const uint64_t XrdCpConfig::OpXrate = 'X'
static

Definition at line 159 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpXrateThreshold

const uint64_t XrdCpConfig::OpXrateThreshold = 0x11
static

Definition at line 197 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpZip

const uint64_t XrdCpConfig::OpZip = 'z'
static

Definition at line 170 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpZipAppend

const uint64_t XrdCpConfig::OpZipAppend = 0x13
static

Definition at line 203 of file XrdCpConfig.hh.

Referenced by Config().

◆ OpZipMtlnCksum

const uint64_t XrdCpConfig::OpZipMtlnCksum = 0x08
static

Definition at line 188 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().

◆ 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: