XRootD
XrdCpConfig Class Reference

#include <XrdCpConfig.hh>

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

Classes

struct  defVar
 
union  defVar.__unnamed23__
 

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 int DoAllowHttp = 0x2000000
 
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 int OpAllowHttp = 'A'
 
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.__unnamed23__

union XrdCpConfig::defVar.__unnamed23__

Definition at line 54 of file XrdCpConfig.hh.

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

Constructor & Destructor Documentation

◆ XrdCpConfig()

XrdCpConfig::XrdCpConfig ( const char *  pgname)

Definition at line 129 of file XrdCpConfig.cc.

130 {
131  if ((PName = rindex(pgm, '/'))) PName++;
132  else PName = pgm;
133  XrdCpFile::SetMsgPfx(PName);
134  intDefs = 0;
135  intDend = 0;
136  strDefs = 0;
137  strDend = 0;
138  dstOpq = 0;
139  srcOpq = 0;
140  pHost = 0;
141  pPort = 0;
142  xRate = 0;
143  xRateThreshold = 0;
144  Parallel = 1;
145  OpSpec = 0;
146  Dlvl = 0;
147  nSrcs = 1;
148  nStrm = 0;
149  Retry =-1;
150  RetryPolicy = "force";
151  Verbose = 0;
152  numFiles = 0;
153  totBytes = 0;
154  CksLen = 0;
155  CksMan = 0;
156  CksObj = 0;
157  CksVal = 0;
158  srcFile = 0;
159  dstFile = 0;
160  inFile = 0;
161  parmVal = 0;
162  parmCnt = 0;
163  zipFile = 0;
164 }
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 170 of file XrdCpConfig.cc.

171 {
172  XrdCpFile *pNow;
173  defVar *dP;
174 
175  if (inFile) free(inFile);
176  if (pHost) free(pHost);
177  if (parmVal) free(parmVal);
178  if (CksObj) delete CksObj;
179  if (CksMan) delete CksMan;
180  if (zipFile) free(zipFile);
181  if (dstFile) delete dstFile;
182 
183  while((pNow = pFile)) {pFile = pFile->Next; delete pNow;}
184 
185  while((dP = intDefs)) {intDefs = dP->Next; delete dP;}
186  while((dP = strDefs)) {strDefs = dP->Next; delete dP;}
187 
188 }
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 194 of file XrdCpConfig.cc.

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

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

References OpSpec.

Referenced by Config(), and 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().

◆ DoAllowHttp

const int XrdCpConfig::DoAllowHttp = 0x2000000
static

Definition at line 210 of file XrdCpConfig.hh.

Referenced by Config().

◆ 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().

◆ OpAllowHttp

const int XrdCpConfig::OpAllowHttp = 'A'
static

Definition at line 209 of file XrdCpConfig.hh.

Referenced by 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 216 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 220 of file XrdCpConfig.hh.

Referenced by Config().

◆ optNoStdIn

const int XrdCpConfig::optNoStdIn = 0x00000008
static

Definition at line 219 of file XrdCpConfig.hh.

◆ optNoXtnd

const int XrdCpConfig::optNoXtnd = 0x00000002
static

Definition at line 217 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 218 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: