#include <iostream>
#include <fcntl.h>
#include <vector>
#include "XrdPfcPrint.hh"
#include "XrdPfcInfo.hh"
#include "XrdOuc/XrdOucEnv.hh"
#include "XrdOuc/XrdOucStream.hh"
#include "XrdOuc/XrdOucArgs.hh"
#include "XrdOuc/XrdOucJson.hh"
#include "XrdSys/XrdSysTrace.hh"
#include "XrdOfs/XrdOfsConfigPI.hh"
#include "XrdSys/XrdSysLogger.hh"
#include "XrdOss/XrdOss.hh"
Go to the source code of this file.
|
int | main (int argc, char *argv[]) |
|
◆ main()
int main |
( |
int |
argc, |
|
|
char * |
argv[] |
|
) |
| |
Definition at line 307 of file XrdPfcPrint.cc.
309 static const char*
usage =
"Usage: pfc_print [-h] [-c config_file] [-u B|kB|MB] [-v] [-j] [-i indent] path ...\n";
311 bool verbose =
false;
314 const char* cfgn = 0;
331 Spec.Set(argc-1, &argv[1]);
334 while ((theOpt = Spec.getopt()) != (
char)-1)
341 int fd =
open(cfgn, O_RDONLY, 0);
346 if (strcmp(Spec.argval,
"B") && strcmp(Spec.argval,
"kB") && strcmp(Spec.argval,
"MB")) {
347 printf(
"%s Error: -unit argument can only be B, kB or MB\n",
usage);
350 unit = Spec.argval[0];
362 indent = std::stoi(Spec.argval);
374 int efs =
open(
"/dev/null",O_RDWR, 0);
382 printf(
"can't load oss\n");
388 while ((path = Spec.getarg()))
397 if ( ! strncmp(&path[0],
"root:/", 6))
401 printf(
"Configuration file not specified.\n");
405 while((var =
Config.GetFirstWord()))
408 if ( ! strncmp(var,
"oss.localroot", strlen(
"oss.localroot")))
410 std::string tmp =
Config.GetWord();
int open(const char *path, int oflag,...)
bool Plugin(XrdAccAuthorize *&piP)
Get Authorization plugin.
static XrdOfsConfigPI * New(const char *cfn, XrdOucStream *cfgP, XrdSysError *errP, XrdVersionInfo *verP=0, XrdSfsFileSystem *sfsP=0)
bool Load(int what, XrdOucEnv *envP=0)
References XrdOucArgs::argval, XrdCms::Config, XrdOucArgs::getarg(), XrdOucArgs::getopt(), XrdOfsConfigPI::Load(), XrdOfsConfigPI::New(), open(), XrdOfsConfigPI::Plugin(), XrdOucArgs::Set(), XrdOfsConfigPI::theOssLib, and usage().