2 * @brief The header file for the command line option parser
3 * generated by GNU Gengetopt version 2.22.5
4 * http://www.gnu.org/software/gengetopt.
5 * DO NOT modify this file, since it can be overwritten
6 * @author GNU Gengetopt by Lorenzo Bettini */
11 /* If we use autoconf. */
16 #include <stdio.h> /* for FILE */
20 #endif /* __cplusplus */
22 #ifndef CMDLINE_PARSER_PACKAGE
23 /** @brief the program name (used for printing errors) */
24 #define CMDLINE_PARSER_PACKAGE "Kinfold"
27 #ifndef CMDLINE_PARSER_PACKAGE_NAME
28 /** @brief the complete program name (used for help and version) */
29 #define CMDLINE_PARSER_PACKAGE_NAME "Kinfold"
32 #ifndef CMDLINE_PARSER_VERSION
33 /** @brief the program version */
34 #define CMDLINE_PARSER_VERSION VERSION
37 /** @brief Where the command line options are stored */
38 struct gengetopt_args_info
40 const char *help_help; /**< @brief Print help and exit help description. */
41 const char *full_help_help; /**< @brief Print help, including hidden options, and exit help description. */
42 const char *version_help; /**< @brief Print version and exit help description. */
43 int dangle_arg; /**< @brief <0|1|2> set dangling end model to (none|normal|double) (default='2'). */
44 char * dangle_orig; /**< @brief <0|1|2> set dangling end model to (none|normal|double) original value given at command line. */
45 const char *dangle_help; /**< @brief <0|1|2> set dangling end model to (none|normal|double) help description. */
46 float Temp_arg; /**< @brief simulation temperature (default='37'). */
47 char * Temp_orig; /**< @brief simulation temperature original value given at command line. */
48 const char *Temp_help; /**< @brief simulation temperature help description. */
49 char * Par_arg; /**< @brief read energy-parameter-file. */
50 char * Par_orig; /**< @brief read energy-parameter-file original value given at command line. */
51 const char *Par_help; /**< @brief read energy-parameter-file help description. */
52 int logML_flag; /**< @brief use logarithmic multiloop energies instead of linear (default=on). */
53 const char *logML_help; /**< @brief use logarithmic multiloop energies instead of linear help description. */
54 int noShift_flag; /**< @brief turn off shift-moves (default=off). */
55 const char *noShift_help; /**< @brief turn off shift-moves help description. */
56 int noLP_flag; /**< @brief forbid structures with isolated base-pairs (default=off). */
57 const char *noLP_help; /**< @brief forbid structures with isolated base-pairs help description. */
58 char * seed_arg; /**< @brief set random number seed specify 3 integers as int=int=int (default='clock'). */
59 char * seed_orig; /**< @brief set random number seed specify 3 integers as int=int=int original value given at command line. */
60 const char *seed_help; /**< @brief set random number seed specify 3 integers as int=int=int help description. */
61 float time_arg; /**< @brief set maxtime of simulation (default='500'). */
62 char * time_orig; /**< @brief set maxtime of simulation original value given at command line. */
63 const char *time_help; /**< @brief set maxtime of simulation help description. */
64 int num_arg; /**< @brief set number of trajectories (default='1'). */
65 char * num_orig; /**< @brief set number of trajectories original value given at command line. */
66 const char *num_help; /**< @brief set number of trajectories help description. */
67 int start_flag; /**< @brief read start structure from stdin (otherwise use open chain) (default=off). */
68 const char *start_help; /**< @brief read start structure from stdin (otherwise use open chain) help description. */
69 int stop_flag; /**< @brief read stop structure(s) from stdin (optherwise use MFE) (default=off). */
70 const char *stop_help; /**< @brief read stop structure(s) from stdin (optherwise use MFE) help description. */
71 int met_flag; /**< @brief use Metropolis rule for rates (not Kawasaki rule) (default=off). */
72 const char *met_help; /**< @brief use Metropolis rule for rates (not Kawasaki rule) help description. */
73 int fpt_flag; /**< @brief compute first passage time (stop when a stop-structure is reached) (default=on). */
74 const char *fpt_help; /**< @brief compute first passage time (stop when a stop-structure is reached) help description. */
75 float grow_arg; /**< @brief grow chain every <float> time units (default='0'). */
76 char * grow_orig; /**< @brief grow chain every <float> time units original value given at command line. */
77 const char *grow_help; /**< @brief grow chain every <float> time units help description. */
78 int glen_arg; /**< @brief initial size of growing chain (default='15'). */
79 char * glen_orig; /**< @brief initial size of growing chain original value given at command line. */
80 const char *glen_help; /**< @brief initial size of growing chain help description. */
81 double phi_arg; /**< @brief set phi value. */
82 char * phi_orig; /**< @brief set phi value original value given at command line. */
83 const char *phi_help; /**< @brief set phi value help description. */
84 char * pbounds_arg; /**< @brief specify 3 floats for phi_min, phi_inc, phi_max in the form <d1=d2=d3>. */
85 char * pbounds_orig; /**< @brief specify 3 floats for phi_min, phi_inc, phi_max in the form <d1=d2=d3> original value given at command line. */
86 const char *pbounds_help; /**< @brief specify 3 floats for phi_min, phi_inc, phi_max in the form <d1=d2=d3> help description. */
87 char * log_arg; /**< @brief set basename of log-file (default='kinout'). */
88 char * log_orig; /**< @brief set basename of log-file original value given at command line. */
89 const char *log_help; /**< @brief set basename of log-file help description. */
90 int silent_flag; /**< @brief no output to stdout (default=off). */
91 const char *silent_help; /**< @brief no output to stdout help description. */
92 int verbose_flag; /**< @brief more information to stdout (default=off). */
93 const char *verbose_help; /**< @brief more information to stdout help description. */
94 int lmin_flag; /**< @brief output only local minima to stdout (default=off). */
95 const char *lmin_help; /**< @brief output only local minima to stdout help description. */
96 float cut_arg; /**< @brief output structures with E <= <float> to stdout (default='20'). */
97 char * cut_orig; /**< @brief output structures with E <= <float> to stdout original value given at command line. */
98 const char *cut_help; /**< @brief output structures with E <= <float> to stdout help description. */
100 unsigned int help_given ; /**< @brief Whether help was given. */
101 unsigned int full_help_given ; /**< @brief Whether full-help was given. */
102 unsigned int version_given ; /**< @brief Whether version was given. */
103 unsigned int dangle_given ; /**< @brief Whether dangle was given. */
104 unsigned int Temp_given ; /**< @brief Whether Temp was given. */
105 unsigned int Par_given ; /**< @brief Whether Par was given. */
106 unsigned int logML_given ; /**< @brief Whether logML was given. */
107 unsigned int noShift_given ; /**< @brief Whether noShift was given. */
108 unsigned int noLP_given ; /**< @brief Whether noLP was given. */
109 unsigned int seed_given ; /**< @brief Whether seed was given. */
110 unsigned int time_given ; /**< @brief Whether time was given. */
111 unsigned int num_given ; /**< @brief Whether num was given. */
112 unsigned int start_given ; /**< @brief Whether start was given. */
113 unsigned int stop_given ; /**< @brief Whether stop was given. */
114 unsigned int met_given ; /**< @brief Whether met was given. */
115 unsigned int fpt_given ; /**< @brief Whether fpt was given. */
116 unsigned int grow_given ; /**< @brief Whether grow was given. */
117 unsigned int glen_given ; /**< @brief Whether glen was given. */
118 unsigned int phi_given ; /**< @brief Whether phi was given. */
119 unsigned int pbounds_given ; /**< @brief Whether pbounds was given. */
120 unsigned int log_given ; /**< @brief Whether log was given. */
121 unsigned int silent_given ; /**< @brief Whether silent was given. */
122 unsigned int verbose_given ; /**< @brief Whether verbose was given. */
123 unsigned int lmin_given ; /**< @brief Whether lmin was given. */
124 unsigned int cut_given ; /**< @brief Whether cut was given. */
128 /** @brief The additional parameters to pass to parser functions */
129 struct cmdline_parser_params
131 int override; /**< @brief whether to override possibly already present options (default 0) */
132 int initialize; /**< @brief whether to initialize the option structure gengetopt_args_info (default 1) */
133 int check_required; /**< @brief whether to check that all required options were provided (default 1) */
134 int check_ambiguity; /**< @brief whether to check for options already specified in the option structure gengetopt_args_info (default 0) */
135 int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */
138 /** @brief the purpose string of the program */
139 extern const char *gengetopt_args_info_purpose;
140 /** @brief the usage string of the program */
141 extern const char *gengetopt_args_info_usage;
142 /** @brief all the lines making the help output */
143 extern const char *gengetopt_args_info_help[];
144 /** @brief all the lines making the full help output (including hidden options) */
145 extern const char *gengetopt_args_info_full_help[];
148 * The command line parser
149 * @param argc the number of command line options
150 * @param argv the command line options
151 * @param args_info the structure where option information will be stored
152 * @return 0 if everything went fine, NON 0 if an error took place
154 int cmdline_parser (int argc, char **argv,
155 struct gengetopt_args_info *args_info);
158 * The command line parser (version with additional parameters - deprecated)
159 * @param argc the number of command line options
160 * @param argv the command line options
161 * @param args_info the structure where option information will be stored
162 * @param override whether to override possibly already present options
163 * @param initialize whether to initialize the option structure my_args_info
164 * @param check_required whether to check that all required options were provided
165 * @return 0 if everything went fine, NON 0 if an error took place
166 * @deprecated use cmdline_parser_ext() instead
168 int cmdline_parser2 (int argc, char **argv,
169 struct gengetopt_args_info *args_info,
170 int override, int initialize, int check_required);
173 * The command line parser (version with additional parameters)
174 * @param argc the number of command line options
175 * @param argv the command line options
176 * @param args_info the structure where option information will be stored
177 * @param params additional parameters for the parser
178 * @return 0 if everything went fine, NON 0 if an error took place
180 int cmdline_parser_ext (int argc, char **argv,
181 struct gengetopt_args_info *args_info,
182 struct cmdline_parser_params *params);
185 * Save the contents of the option struct into an already open FILE stream.
186 * @param outfile the stream where to dump options
187 * @param args_info the option struct to dump
188 * @return 0 if everything went fine, NON 0 if an error took place
190 int cmdline_parser_dump(FILE *outfile,
191 struct gengetopt_args_info *args_info);
194 * Save the contents of the option struct into a (text) file.
195 * This file can be read by the config file parser (if generated by gengetopt)
196 * @param filename the file where to save
197 * @param args_info the option struct to save
198 * @return 0 if everything went fine, NON 0 if an error took place
200 int cmdline_parser_file_save(const char *filename,
201 struct gengetopt_args_info *args_info);
206 void cmdline_parser_print_help(void);
208 * Print the full help (including hidden options)
210 void cmdline_parser_print_full_help(void);
214 void cmdline_parser_print_version(void);
217 * Initializes all the fields a cmdline_parser_params structure
218 * to their default values
219 * @param params the structure to initialize
221 void cmdline_parser_params_init(struct cmdline_parser_params *params);
224 * Allocates dynamically a cmdline_parser_params structure and initializes
225 * all its fields to their default values
226 * @return the created and initialized cmdline_parser_params structure
228 struct cmdline_parser_params *cmdline_parser_params_create(void);
231 * Initializes the passed gengetopt_args_info structure's fields
232 * (also set default values for options that have a default)
233 * @param args_info the structure to initialize
235 void cmdline_parser_init (struct gengetopt_args_info *args_info);
237 * Deallocates the string fields of the gengetopt_args_info structure
238 * (but does not deallocate the structure itself)
239 * @param args_info the structure to deallocate
241 void cmdline_parser_free (struct gengetopt_args_info *args_info);
244 * Checks that all the required options were specified
245 * @param args_info the structure to check
246 * @param prog_name the name of the program that will be used to print
250 int cmdline_parser_required (struct gengetopt_args_info *args_info,
251 const char *prog_name);
253 extern const char *cmdline_parser_dangle_values[]; /**< @brief Possible values for dangle. */
258 #endif /* __cplusplus */
259 #endif /* CMDLINE_H */