Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Enumerations | Functions | Variables
cmdline.cxx File Reference
#include "CxxUtils/checker_macros.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <getopt.h>
#include "cmdline.h"
Include dependency graph for cmdline.cxx:

Go to the source code of this file.

Classes

union  generic_value
 generic value variable More...
 
struct  generic_list
 holds temporary values for multiple options More...
 

Enumerations

enum  cmdline_parser_arg_type {
  ARG_NO, ARG_FLAG, ARG_STRING, ARG_INT,
  ARG_DOUBLE
}
 

Functions

void cmdline_parser_print_version (void)
 Print the version. More...
 
void cmdline_parser_print_help (void)
 Print the help. More...
 
void cmdline_parser_init (struct gengetopt_args_info *args_info)
 Initializes the passed gengetopt_args_info structure's fields (also set default values for options that have a default) More...
 
void cmdline_parser_params_init (struct cmdline_parser_params *params)
 Initializes all the fields a cmdline_parser_params structure to their default values. More...
 
struct cmdline_parser_paramscmdline_parser_params_create (void)
 Allocates dynamically a cmdline_parser_params structure and initializes all its fields to their default values. More...
 
int cmdline_parser_dump (FILE *outfile, struct gengetopt_args_info *args_info)
 Save the contents of the option struct into an already open FILE stream. More...
 
int cmdline_parser_file_save (const char *filename, struct gengetopt_args_info *args_info)
 Save the contents of the option struct into a (text) file. More...
 
void cmdline_parser_free (struct gengetopt_args_info *args_info)
 Deallocates the string fields of the gengetopt_args_info structure (but does not deallocate the structure itself) More...
 
int cmdline_parser (int argc, char **argv, struct gengetopt_args_info *args_info)
 The command line parser. More...
 
int cmdline_parser_ext (int argc, char **argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params)
 The command line parser (version with additional parameters) More...
 
int cmdline_parser2 (int argc, char **argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
 The command line parser (version with additional parameters - deprecated) More...
 
int cmdline_parser_required (struct gengetopt_args_info *args_info, const char *prog_name)
 Checks that all the required options were specified. More...
 

Variables

 ATLAS_NO_CHECK_FILE_THREAD_SAFETY
 
const char * gengetopt_args_info_purpose = ""
 the purpose string of the program More...
 
const char * gengetopt_args_info_usage = "Usage: iLumiCalc.exe [OPTIONS]..."
 the usage string of the program More...
 
const char * gengetopt_args_info_description = ""
 
const char * gengetopt_args_info_help []
 all the lines making the help output More...
 

Enumeration Type Documentation

◆ cmdline_parser_arg_type

Enumerator
ARG_NO 
ARG_FLAG 
ARG_STRING 
ARG_INT 
ARG_DOUBLE 

Definition at line 67 of file cmdline.cxx.

67  {ARG_NO
68  , ARG_FLAG
69  , ARG_STRING
70  , ARG_INT
71  , ARG_DOUBLE

Function Documentation

◆ cmdline_parser()

int cmdline_parser ( int  argc,
char **  argv,
struct gengetopt_args_info args_info 
)

The command line parser.

Parameters
argcthe number of command line options
argvthe command line options
args_infothe structure where option information will be stored
Returns
0 if everything went fine, NON 0 if an error took place

Definition at line 659 of file cmdline.cxx.

660 {
661  return cmdline_parser2 (argc, argv, args_info, 0, 1, 1);
662 }

◆ cmdline_parser2()

int cmdline_parser2 ( int  argc,
char **  argv,
struct gengetopt_args_info args_info,
int  override,
int  initialize,
int  check_required 
)

The command line parser (version with additional parameters - deprecated)

Parameters
argcthe number of command line options
argvthe command line options
args_infothe structure where option information will be stored
overridewhether to override possibly already present options
initializewhether to initialize the option structure my_args_info
check_requiredwhether to check that all required options were provided
Returns
0 if everything went fine, NON 0 if an error took place
Deprecated:
use cmdline_parser_ext() instead

Definition at line 681 of file cmdline.cxx.

682 {
683  int result;
685 
686  params.override = override;
687  params.initialize = initialize;
688  params.check_required = check_required;
689  params.check_ambiguity = 0;
690  params.print_errors = 1;
691 
692  result = cmdline_parser_internal (argc, argv, args_info, &params, 0);
693 
694  if (result == EXIT_FAILURE)
695  {
696  cmdline_parser_free (args_info);
697  exit (EXIT_FAILURE);
698  }
699 
700  return result;
701 }

◆ cmdline_parser_dump()

int cmdline_parser_dump ( FILE *  outfile,
struct gengetopt_args_info args_info 
)

Save the contents of the option struct into an already open FILE stream.

Parameters
outfilethe stream where to dump options
args_infothe option struct to dump
Returns
0 if everything went fine, NON 0 if an error took place

Definition at line 418 of file cmdline.cxx.

419 {
420  int i = 0;
421 
422  if (!outfile)
423  {
424  fprintf (stderr, "%s: cannot dump options to stream\n", CMDLINE_PARSER_PACKAGE);
425  return EXIT_FAILURE;
426  }
427 
428  if (args_info->help_given)
429  write_into_file(outfile, "help", 0, 0 );
430  if (args_info->version_given)
431  write_into_file(outfile, "version", 0, 0 );
432  write_multiple_into_file(outfile, args_info->runnumber_given, "runnumber", args_info->runnumber_orig, 0);
433  write_multiple_into_file(outfile, args_info->lbstart_given, "lbstart", args_info->lbstart_orig, 0);
434  write_multiple_into_file(outfile, args_info->lbend_given, "lbend", args_info->lbend_orig, 0);
435  write_multiple_into_file(outfile, args_info->xml_given, "xml", args_info->xml_orig, 0);
436  if (args_info->xml_blacklist_given)
437  write_into_file(outfile, "xml_blacklist", args_info->xml_blacklist_orig, 0);
438  write_multiple_into_file(outfile, args_info->tag_given, "tag", args_info->tag_orig, 0);
439  write_multiple_into_file(outfile, args_info->root_given, "root", args_info->root_orig, 0);
440  if (args_info->tree_given)
441  write_into_file(outfile, "tree", args_info->tree_orig, 0);
442  if (args_info->d3pd_dir_given)
443  write_into_file(outfile, "d3pd_dir", args_info->d3pd_dir_orig, 0);
444  if (args_info->lumitag_given)
445  write_into_file(outfile, "lumitag", args_info->lumitag_orig, 0);
446  if (args_info->online_given)
447  write_into_file(outfile, "online", 0, 0 );
448  if (args_info->lumichannel_given)
449  write_into_file(outfile, "lumichannel", args_info->lumichannel_orig, 0);
450  if (args_info->lumimethod_given)
451  write_into_file(outfile, "lumimethod", args_info->lumimethod_orig, 0);
452  write_multiple_into_file(outfile, args_info->trigger_given, "trigger", args_info->trigger_orig, 0);
453  if (args_info->livetrigger_given)
454  write_into_file(outfile, "livetrigger", args_info->livetrigger_orig, 0);
455  if (args_info->lar_given)
456  write_into_file(outfile, "lar", 0, 0 );
457  if (args_info->lartag_given)
458  write_into_file(outfile, "lartag", args_info->lartag_orig, 0);
459  if (args_info->beamspot_given)
460  write_into_file(outfile, "beamspot", 0, 0 );
461  if (args_info->beamspottag_given)
462  write_into_file(outfile, "beamspottag", args_info->beamspottag_orig, 0);
463  if (args_info->scale_lumi_given)
464  write_into_file(outfile, "scale_lumi", args_info->scale_lumi_orig, 0);
465  if (args_info->xml_out_given)
466  write_into_file(outfile, "xml_out", args_info->xml_out_orig, 0);
467  if (args_info->xml_collisionlist_given)
468  write_into_file(outfile, "xml_collisionlist", 0, 0 );
469  if (args_info->plots_given)
470  write_into_file(outfile, "plots", 0, 0 );
471  if (args_info->verbose_given)
472  write_into_file(outfile, "verbose", 0, 0 );
473  if (args_info->quiet_given)
474  write_into_file(outfile, "quiet", 0, 0 );
475 
476 
477  i = EXIT_SUCCESS;
478  return i;
479 }

◆ cmdline_parser_ext()

int cmdline_parser_ext ( int  argc,
char **  argv,
struct gengetopt_args_info args_info,
struct cmdline_parser_params params 
)

The command line parser (version with additional parameters)

Parameters
argcthe number of command line options
argvthe command line options
args_infothe structure where option information will be stored
paramsadditional parameters for the parser
Returns
0 if everything went fine, NON 0 if an error took place

Definition at line 665 of file cmdline.cxx.

667 {
668  int result;
669  result = cmdline_parser_internal (argc, argv, args_info, params, 0);
670 
671  if (result == EXIT_FAILURE)
672  {
673  cmdline_parser_free (args_info);
674  exit (EXIT_FAILURE);
675  }
676 
677  return result;
678 }

◆ cmdline_parser_file_save()

int cmdline_parser_file_save ( const char *  filename,
struct gengetopt_args_info args_info 
)

Save the contents of the option struct into a (text) file.

This file can be read by the config file parser (if generated by gengetopt)

Parameters
filenamethe file where to save
args_infothe option struct to save
Returns
0 if everything went fine, NON 0 if an error took place

Definition at line 482 of file cmdline.cxx.

483 {
484  FILE *outfile;
485  int i = 0;
486 
487  outfile = fopen(filename, "w");
488 
489  if (!outfile)
490  {
491  fprintf (stderr, "%s: cannot open file for writing: %s\n", CMDLINE_PARSER_PACKAGE, filename);
492  return EXIT_FAILURE;
493  }
494 
495  i = cmdline_parser_dump(outfile, args_info);
496  fclose (outfile);
497 
498  return i;
499 }

◆ cmdline_parser_free()

void cmdline_parser_free ( struct gengetopt_args_info args_info)

Deallocates the string fields of the gengetopt_args_info structure (but does not deallocate the structure itself)

Parameters
args_infothe structure to deallocate

Definition at line 502 of file cmdline.cxx.

503 {
504  cmdline_parser_release (args_info);
505 }

◆ cmdline_parser_init()

void cmdline_parser_init ( struct gengetopt_args_info args_info)

Initializes the passed gengetopt_args_info structure's fields (also set default values for options that have a default)

Parameters
args_infothe structure to initialize

Definition at line 252 of file cmdline.cxx.

253 {
254  clear_given (args_info);
255  clear_args (args_info);
256  init_args_info (args_info);
257 }

◆ cmdline_parser_params_create()

struct cmdline_parser_params* cmdline_parser_params_create ( void  )

Allocates dynamically a cmdline_parser_params structure and initializes all its fields to their default values.

Returns
the created and initialized cmdline_parser_params structure

Definition at line 273 of file cmdline.cxx.

274 {
275  struct cmdline_parser_params *params =
276  (struct cmdline_parser_params *)malloc(sizeof(struct cmdline_parser_params));
278  return params;
279 }

◆ cmdline_parser_params_init()

void cmdline_parser_params_init ( struct cmdline_parser_params params)

Initializes all the fields a cmdline_parser_params structure to their default values.

Parameters
paramsthe structure to initialize

Definition at line 260 of file cmdline.cxx.

261 {
262  if (params)
263  {
264  params->override = 0;
265  params->initialize = 1;
266  params->check_required = 1;
267  params->check_ambiguity = 0;
268  params->print_errors = 1;
269  }
270 }

◆ cmdline_parser_print_help()

void cmdline_parser_print_help ( void  )

Print the help.

Definition at line 243 of file cmdline.cxx.

244 {
245  int i = 0;
246  print_help_common();
247  while (gengetopt_args_info_help[i])
248  printf("%s\n", gengetopt_args_info_help[i++]);
249 }

◆ cmdline_parser_print_version()

void cmdline_parser_print_version ( void  )

Print the version.

Definition at line 220 of file cmdline.cxx.

221 {
222  printf ("%s %s\n",
225 }

◆ cmdline_parser_required()

int cmdline_parser_required ( struct gengetopt_args_info args_info,
const char *  prog_name 
)

Checks that all the required options were specified.

Parameters
args_infothe structure to check
prog_namethe name of the program that will be used to print possible errors
Returns

Definition at line 704 of file cmdline.cxx.

705 {
706  int result = EXIT_SUCCESS;
707 
708  if (cmdline_parser_required2(args_info, prog_name, 0) > 0)
709  result = EXIT_FAILURE;
710 
711  if (result == EXIT_FAILURE)
712  {
713  cmdline_parser_free (args_info);
714  exit (EXIT_FAILURE);
715  }
716 
717  return result;
718 }

Variable Documentation

◆ ATLAS_NO_CHECK_FILE_THREAD_SAFETY

ATLAS_NO_CHECK_FILE_THREAD_SAFETY

Definition at line 12 of file cmdline.cxx.

◆ gengetopt_args_info_description

const char* gengetopt_args_info_description = ""

Definition at line 31 of file cmdline.cxx.

◆ gengetopt_args_info_help

const char* gengetopt_args_info_help[]

all the lines making the help output

Definition at line 33 of file cmdline.cxx.

◆ gengetopt_args_info_purpose

const char* gengetopt_args_info_purpose = ""

the purpose string of the program

Definition at line 27 of file cmdline.cxx.

◆ gengetopt_args_info_usage

const char* gengetopt_args_info_usage = "Usage: iLumiCalc.exe [OPTIONS]..."

the usage string of the program

Definition at line 29 of file cmdline.cxx.

cmdline_parser_dump
int cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
Save the contents of the option struct into an already open FILE stream.
Definition: cmdline.cxx:418
gengetopt_args_info::help_given
unsigned int help_given
Whether help was given.
Definition: cmdline.h:129
gengetopt_args_info::d3pd_dir_orig
char * d3pd_dir_orig
Name of TDirectory in input ROOT file where Lumi string is stored original value given at command lin...
Definition: cmdline.h:83
gengetopt_args_info::xml_out_orig
char * xml_out_orig
Output XML file name original value given at command line.
Definition: cmdline.h:118
CMDLINE_PARSER_PACKAGE_NAME
#define CMDLINE_PARSER_PACKAGE_NAME
the complete program name (used for help and version)
Definition: cmdline.h:33
gengetopt_args_info::tag_given
unsigned int tag_given
Whether tag was given.
Definition: cmdline.h:136
ARG_NO
@ ARG_NO
Definition: cmdline.cxx:67
gengetopt_args_info::beamspot_given
unsigned int beamspot_given
Whether beamspot was given.
Definition: cmdline.h:148
get_generator_info.result
result
Definition: get_generator_info.py:21
gengetopt_args_info::lumitag_given
unsigned int lumitag_given
Whether lumitag was given.
Definition: cmdline.h:140
gengetopt_args_info::xml_blacklist_orig
char * xml_blacklist_orig
Input XML file of blacklist original value given at command line.
Definition: cmdline.h:67
gengetopt_args_info::trigger_given
unsigned int trigger_given
Whether trigger was given.
Definition: cmdline.h:144
gengetopt_args_info::tree_given
unsigned int tree_given
Whether tree was given.
Definition: cmdline.h:138
initialize
void initialize()
Definition: run_EoverP.cxx:894
cmdline_parser_free
void cmdline_parser_free(struct gengetopt_args_info *args_info)
Deallocates the string fields of the gengetopt_args_info structure (but does not deallocate the struc...
Definition: cmdline.cxx:502
get_generator_info.stderr
stderr
Definition: get_generator_info.py:40
gengetopt_args_info::lbstart_orig
char ** lbstart_orig
LumiBlock number begin original value given at command line.
Definition: cmdline.h:52
gengetopt_args_info::beamspottag_orig
char * beamspottag_orig
Online beamspot database tag original value given at command line.
Definition: cmdline.h:112
gengetopt_args_info::lartag_given
unsigned int lartag_given
Whether lartag was given.
Definition: cmdline.h:147
ARG_FLAG
@ ARG_FLAG
Definition: cmdline.cxx:68
gengetopt_args_info::lumitag_orig
char * lumitag_orig
Offline luminosity database tag original value given at command line.
Definition: cmdline.h:86
gengetopt_args_info::runnumber_orig
char ** runnumber_orig
Run number, range, or comma separated list, e.g.
Definition: cmdline.h:47
gengetopt_args_info::scale_lumi_orig
char * scale_lumi_orig
Scale luminosity with a constant value original value given at command line.
Definition: cmdline.h:115
gengetopt_args_info::verbose_given
unsigned int verbose_given
Whether verbose was given.
Definition: cmdline.h:154
gengetopt_args_info::version_given
unsigned int version_given
Whether version was given.
Definition: cmdline.h:130
gengetopt_args_info::root_given
unsigned int root_given
Whether root was given.
Definition: cmdline.h:137
gengetopt_args_info::lumichannel_orig
char * lumichannel_orig
Luminosity estimate method by value original value given at command line.
Definition: cmdline.h:91
gengetopt_args_info::tree_orig
char * tree_orig
Name of TTree in input ROOT file to which Lumi string is attached original value given at command lin...
Definition: cmdline.h:80
gengetopt_args_info::runnumber_given
unsigned int runnumber_given
Whether runnumber was given.
Definition: cmdline.h:131
lumiFormat.i
int i
Definition: lumiFormat.py:85
LArCellNtuple.argv
argv
Definition: LArCellNtuple.py:152
gengetopt_args_info::lartag_orig
char * lartag_orig
LAr noise burst database tag original value given at command line.
Definition: cmdline.h:107
ARG_STRING
@ ARG_STRING
Definition: cmdline.cxx:69
TrigInDetValidation_Base.malloc
malloc
Definition: TrigInDetValidation_Base.py:132
gengetopt_args_info::lbstart_given
unsigned int lbstart_given
Whether lbstart was given.
Definition: cmdline.h:132
DQHistogramMergeRegExp.argc
argc
Definition: DQHistogramMergeRegExp.py:20
gengetopt_args_info::xml_orig
char ** xml_orig
Input XML file name original value given at command line.
Definition: cmdline.h:62
gengetopt_args_info::lumimethod_given
unsigned int lumimethod_given
Whether lumimethod was given.
Definition: cmdline.h:143
calibdata.exit
exit
Definition: calibdata.py:236
gengetopt_args_info::xml_blacklist_given
unsigned int xml_blacklist_given
Whether xml_blacklist was given.
Definition: cmdline.h:135
gengetopt_args_info::plots_given
unsigned int plots_given
Whether plots was given.
Definition: cmdline.h:153
gengetopt_args_info::xml_collisionlist_given
unsigned int xml_collisionlist_given
Whether xml_collisionlist was given.
Definition: cmdline.h:152
gengetopt_args_info::xml_out_given
unsigned int xml_out_given
Whether xml_out was given.
Definition: cmdline.h:151
gengetopt_args_info_help
const char * gengetopt_args_info_help[]
all the lines making the help output
Definition: cmdline.cxx:33
gengetopt_args_info::livetrigger_given
unsigned int livetrigger_given
Whether livetrigger was given.
Definition: cmdline.h:145
gengetopt_args_info::lbend_orig
char ** lbend_orig
LumiBlock number end original value given at command line.
Definition: cmdline.h:57
gengetopt_args_info::tag_orig
char ** tag_orig
Input TAG file name original value given at command line.
Definition: cmdline.h:70
gengetopt_args_info::quiet_given
unsigned int quiet_given
Whether quiet was given.
Definition: cmdline.h:155
gengetopt_args_info::scale_lumi_given
unsigned int scale_lumi_given
Whether scale_lumi was given.
Definition: cmdline.h:150
cmdline_parser_params_init
void cmdline_parser_params_init(struct cmdline_parser_params *params)
Initializes all the fields a cmdline_parser_params structure to their default values.
Definition: cmdline.cxx:260
gengetopt_args_info::lumimethod_orig
char * lumimethod_orig
Luminosity estimate method by string original value given at command line.
Definition: cmdline.h:94
cmdline_parser_arg_type
cmdline_parser_arg_type
Definition: cmdline.cxx:67
gengetopt_args_info::livetrigger_orig
char * livetrigger_orig
L1 Trigger used for livetime calculation original value given at command line.
Definition: cmdline.h:102
gengetopt_args_info::d3pd_dir_given
unsigned int d3pd_dir_given
Whether d3pd_dir was given.
Definition: cmdline.h:139
gengetopt_args_info::lbend_given
unsigned int lbend_given
Whether lbend was given.
Definition: cmdline.h:133
ARG_DOUBLE
@ ARG_DOUBLE
Definition: cmdline.cxx:71
gengetopt_args_info::online_given
unsigned int online_given
Whether online was given.
Definition: cmdline.h:141
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
gengetopt_args_info::xml_given
unsigned int xml_given
Whether xml was given.
Definition: cmdline.h:134
cmdline_parser_params
The additional parameters to pass to parser functions.
Definition: cmdline.h:161
gengetopt_args_info::lar_given
unsigned int lar_given
Whether lar was given.
Definition: cmdline.h:146
gengetopt_args_info::root_orig
char ** root_orig
Input ROOT file name original value given at command line.
Definition: cmdline.h:75
gengetopt_args_info::lumichannel_given
unsigned int lumichannel_given
Whether lumichannel was given.
Definition: cmdline.h:142
cmdline_parser2
int cmdline_parser2(int argc, char **argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
The command line parser (version with additional parameters - deprecated)
Definition: cmdline.cxx:681
PowhegControl_ttFCNC_NLO.params
params
Definition: PowhegControl_ttFCNC_NLO.py:226
ARG_INT
@ ARG_INT
Definition: cmdline.cxx:70
CMDLINE_PARSER_PACKAGE
#define CMDLINE_PARSER_PACKAGE
the program name (used for printing errors)
Definition: cmdline.h:28
cmdline_parser_params::check_required
int check_required
whether to check that all required options were provided (default 1)
Definition: cmdline.h:164
PrepareReferenceFile.outfile
outfile
Definition: PrepareReferenceFile.py:42
gengetopt_args_info::trigger_orig
char ** trigger_orig
Trigger chain name used for prescale calculation original value given at command line.
Definition: cmdline.h:97
CMDLINE_PARSER_VERSION
#define CMDLINE_PARSER_VERSION
the program version
Definition: cmdline.h:38
gengetopt_args_info::beamspottag_given
unsigned int beamspottag_given
Whether beamspottag was given.
Definition: cmdline.h:149