1 |
gezelter |
1390 |
/** @file StaticPropsCmd.h |
2 |
|
|
* @brief The header file for the command line option parser |
3 |
|
|
* generated by GNU Gengetopt version 2.22 |
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 */ |
7 |
tim |
310 |
|
8 |
|
|
#ifndef STATICPROPSCMD_H |
9 |
|
|
#define STATICPROPSCMD_H |
10 |
|
|
|
11 |
|
|
/* If we use autoconf. */ |
12 |
|
|
#ifdef HAVE_CONFIG_H |
13 |
|
|
#include "config.h" |
14 |
|
|
#endif |
15 |
|
|
|
16 |
gezelter |
1390 |
#include <stdio.h> /* for FILE */ |
17 |
|
|
|
18 |
tim |
310 |
#ifdef __cplusplus |
19 |
|
|
extern "C" { |
20 |
|
|
#endif /* __cplusplus */ |
21 |
|
|
|
22 |
|
|
#ifndef CMDLINE_PARSER_PACKAGE |
23 |
gezelter |
1390 |
/** @brief the program name */ |
24 |
tim |
311 |
#define CMDLINE_PARSER_PACKAGE "StaticProps" |
25 |
tim |
310 |
#endif |
26 |
|
|
|
27 |
|
|
#ifndef CMDLINE_PARSER_VERSION |
28 |
gezelter |
1390 |
/** @brief the program version */ |
29 |
tim |
310 |
#define CMDLINE_PARSER_VERSION "1.00" |
30 |
|
|
#endif |
31 |
|
|
|
32 |
gezelter |
1390 |
/** @brief Where the command line options are stored */ |
33 |
tim |
543 |
struct gengetopt_args_info |
34 |
|
|
{ |
35 |
gezelter |
1390 |
const char *help_help; /**< @brief Print help and exit help description. */ |
36 |
|
|
const char *version_help; /**< @brief Print version and exit help description. */ |
37 |
|
|
char * input_arg; /**< @brief input dump file. */ |
38 |
|
|
char * input_orig; /**< @brief input dump file original value given at command line. */ |
39 |
|
|
const char *input_help; /**< @brief input dump file help description. */ |
40 |
|
|
char * output_arg; /**< @brief output file name. */ |
41 |
|
|
char * output_orig; /**< @brief output file name original value given at command line. */ |
42 |
|
|
const char *output_help; /**< @brief output file name help description. */ |
43 |
|
|
int step_arg; /**< @brief process every n frame (default='1'). */ |
44 |
|
|
char * step_orig; /**< @brief process every n frame original value given at command line. */ |
45 |
|
|
const char *step_help; /**< @brief process every n frame help description. */ |
46 |
|
|
int nbins_arg; /**< @brief number of bins (general purpose) (default='100'). */ |
47 |
|
|
char * nbins_orig; /**< @brief number of bins (general purpose) original value given at command line. */ |
48 |
|
|
const char *nbins_help; /**< @brief number of bins (general purpose) help description. */ |
49 |
|
|
int nbins_x_arg; /**< @brief number of bins in x axis (default='100'). */ |
50 |
|
|
char * nbins_x_orig; /**< @brief number of bins in x axis original value given at command line. */ |
51 |
|
|
const char *nbins_x_help; /**< @brief number of bins in x axis help description. */ |
52 |
|
|
int nbins_y_arg; /**< @brief number of bins in y axis (default='100'). */ |
53 |
|
|
char * nbins_y_orig; /**< @brief number of bins in y axis original value given at command line. */ |
54 |
|
|
const char *nbins_y_help; /**< @brief number of bins in y axis help description. */ |
55 |
|
|
int nanglebins_arg; /**< @brief number of bins for cos(angle) (default='50'). */ |
56 |
|
|
char * nanglebins_orig; /**< @brief number of bins for cos(angle) original value given at command line. */ |
57 |
|
|
const char *nanglebins_help; /**< @brief number of bins for cos(angle) help description. */ |
58 |
|
|
double length_arg; /**< @brief maximum length (Defaults to 1/2 smallest length of first frame). */ |
59 |
|
|
char * length_orig; /**< @brief maximum length (Defaults to 1/2 smallest length of first frame) original value given at command line. */ |
60 |
|
|
const char *length_help; /**< @brief maximum length (Defaults to 1/2 smallest length of first frame) help description. */ |
61 |
|
|
double rcut_arg; /**< @brief cutoff radius (rcut). */ |
62 |
|
|
char * rcut_orig; /**< @brief cutoff radius (rcut) original value given at command line. */ |
63 |
|
|
const char *rcut_help; /**< @brief cutoff radius (rcut) help description. */ |
64 |
|
|
double zoffset_arg; /**< @brief Where to set the zero for the slab_density calculation (default='0'). */ |
65 |
|
|
char * zoffset_orig; /**< @brief Where to set the zero for the slab_density calculation original value given at command line. */ |
66 |
|
|
const char *zoffset_help; /**< @brief Where to set the zero for the slab_density calculation help description. */ |
67 |
|
|
char * sele1_arg; /**< @brief select the first stuntdouble set. */ |
68 |
|
|
char * sele1_orig; /**< @brief select the first stuntdouble set original value given at command line. */ |
69 |
|
|
const char *sele1_help; /**< @brief select the first stuntdouble set help description. */ |
70 |
|
|
char * sele2_arg; /**< @brief select the second stuntdouble set. */ |
71 |
|
|
char * sele2_orig; /**< @brief select the second stuntdouble set original value given at command line. */ |
72 |
|
|
const char *sele2_help; /**< @brief select the second stuntdouble set help description. */ |
73 |
|
|
char * sele3_arg; /**< @brief select the third stuntdouble set. */ |
74 |
|
|
char * sele3_orig; /**< @brief select the third stuntdouble set original value given at command line. */ |
75 |
|
|
const char *sele3_help; /**< @brief select the third stuntdouble set help description. */ |
76 |
|
|
char * refsele_arg; /**< @brief select reference (use and only use with --gxyz). */ |
77 |
|
|
char * refsele_orig; /**< @brief select reference (use and only use with --gxyz) original value given at command line. */ |
78 |
|
|
const char *refsele_help; /**< @brief select reference (use and only use with --gxyz) help description. */ |
79 |
|
|
char * comsele_arg; /**< @brief select stunt doubles for center-of-mass reference point. */ |
80 |
|
|
char * comsele_orig; /**< @brief select stunt doubles for center-of-mass reference point original value given at command line. */ |
81 |
|
|
const char *comsele_help; /**< @brief select stunt doubles for center-of-mass reference point help description. */ |
82 |
|
|
char * molname_arg; /**< @brief molecule name. */ |
83 |
|
|
char * molname_orig; /**< @brief molecule name original value given at command line. */ |
84 |
|
|
const char *molname_help; /**< @brief molecule name help description. */ |
85 |
|
|
int begin_arg; /**< @brief begin internal index. */ |
86 |
|
|
char * begin_orig; /**< @brief begin internal index original value given at command line. */ |
87 |
|
|
const char *begin_help; /**< @brief begin internal index help description. */ |
88 |
|
|
int end_arg; /**< @brief end internal index. */ |
89 |
|
|
char * end_orig; /**< @brief end internal index original value given at command line. */ |
90 |
|
|
const char *end_help; /**< @brief end internal index help description. */ |
91 |
|
|
double radius_arg; /**< @brief nanoparticle radius. */ |
92 |
|
|
char * radius_orig; /**< @brief nanoparticle radius original value given at command line. */ |
93 |
|
|
const char *radius_help; /**< @brief nanoparticle radius help description. */ |
94 |
|
|
const char *bo_help; /**< @brief bond order parameter (--rcut must be specified) help description. */ |
95 |
|
|
const char *bor_help; /**< @brief bond order parameter as a function of radius (--rcut must be specified) help description. */ |
96 |
|
|
const char *bad_help; /**< @brief N(theta) bond angle density within (--rcut must be specified) help description. */ |
97 |
|
|
const char *gofr_help; /**< @brief g(r) help description. */ |
98 |
|
|
const char *gofz_help; /**< @brief g(z) help description. */ |
99 |
|
|
const char *r_theta_help; /**< @brief g(r, cos(theta)) help description. */ |
100 |
|
|
const char *r_omega_help; /**< @brief g(r, cos(omega)) help description. */ |
101 |
|
|
const char *theta_omega_help; /**< @brief g(cos(theta), cos(omega)) help description. */ |
102 |
|
|
const char *gxyz_help; /**< @brief g(x, y, z) help description. */ |
103 |
|
|
const char *p2_help; /**< @brief p2 order parameter (--sele1 and --sele2 must be specified) help description. */ |
104 |
|
|
const char *rp2_help; /**< @brief rp2 order parameter (--sele1 and --sele2 must be specified) help description. */ |
105 |
|
|
const char *scd_help; /**< @brief scd order parameter (either --sele1, --sele2, --sele3 are specified or --molname, --begin, --end are specified) help description. */ |
106 |
|
|
const char *density_help; /**< @brief density plot help description. */ |
107 |
|
|
const char *slab_density_help; /**< @brief slab density help description. */ |
108 |
gezelter |
1413 |
const char *p_angle_help; /**< @brief p(cos(theta)) help description. */ |
109 |
gezelter |
1390 |
const char *hxy_help; /**< @brief hxy help description. */ |
110 |
|
|
const char *rho_r_help; /**< @brief rho of R help description. */ |
111 |
|
|
const char *hullvol_help; /**< @brief hull volume of nanoparticle help description. */ |
112 |
gezelter |
929 |
|
113 |
gezelter |
1390 |
unsigned int help_given ; /**< @brief Whether help was given. */ |
114 |
|
|
unsigned int version_given ; /**< @brief Whether version was given. */ |
115 |
|
|
unsigned int input_given ; /**< @brief Whether input was given. */ |
116 |
|
|
unsigned int output_given ; /**< @brief Whether output was given. */ |
117 |
|
|
unsigned int step_given ; /**< @brief Whether step was given. */ |
118 |
|
|
unsigned int nbins_given ; /**< @brief Whether nbins was given. */ |
119 |
|
|
unsigned int nbins_x_given ; /**< @brief Whether nbins_x was given. */ |
120 |
|
|
unsigned int nbins_y_given ; /**< @brief Whether nbins_y was given. */ |
121 |
|
|
unsigned int nanglebins_given ; /**< @brief Whether nanglebins was given. */ |
122 |
|
|
unsigned int length_given ; /**< @brief Whether length was given. */ |
123 |
|
|
unsigned int rcut_given ; /**< @brief Whether rcut was given. */ |
124 |
|
|
unsigned int zoffset_given ; /**< @brief Whether zoffset was given. */ |
125 |
|
|
unsigned int sele1_given ; /**< @brief Whether sele1 was given. */ |
126 |
|
|
unsigned int sele2_given ; /**< @brief Whether sele2 was given. */ |
127 |
|
|
unsigned int sele3_given ; /**< @brief Whether sele3 was given. */ |
128 |
|
|
unsigned int refsele_given ; /**< @brief Whether refsele was given. */ |
129 |
|
|
unsigned int comsele_given ; /**< @brief Whether comsele was given. */ |
130 |
|
|
unsigned int molname_given ; /**< @brief Whether molname was given. */ |
131 |
|
|
unsigned int begin_given ; /**< @brief Whether begin was given. */ |
132 |
|
|
unsigned int end_given ; /**< @brief Whether end was given. */ |
133 |
|
|
unsigned int radius_given ; /**< @brief Whether radius was given. */ |
134 |
|
|
unsigned int bo_given ; /**< @brief Whether bo was given. */ |
135 |
|
|
unsigned int bor_given ; /**< @brief Whether bor was given. */ |
136 |
|
|
unsigned int bad_given ; /**< @brief Whether bad was given. */ |
137 |
|
|
unsigned int gofr_given ; /**< @brief Whether gofr was given. */ |
138 |
|
|
unsigned int gofz_given ; /**< @brief Whether gofz was given. */ |
139 |
|
|
unsigned int r_theta_given ; /**< @brief Whether r_theta was given. */ |
140 |
|
|
unsigned int r_omega_given ; /**< @brief Whether r_omega was given. */ |
141 |
|
|
unsigned int theta_omega_given ; /**< @brief Whether theta_omega was given. */ |
142 |
|
|
unsigned int gxyz_given ; /**< @brief Whether gxyz was given. */ |
143 |
|
|
unsigned int p2_given ; /**< @brief Whether p2 was given. */ |
144 |
|
|
unsigned int rp2_given ; /**< @brief Whether rp2 was given. */ |
145 |
|
|
unsigned int scd_given ; /**< @brief Whether scd was given. */ |
146 |
|
|
unsigned int density_given ; /**< @brief Whether density was given. */ |
147 |
|
|
unsigned int slab_density_given ; /**< @brief Whether slab_density was given. */ |
148 |
gezelter |
1413 |
unsigned int p_angle_given ; /**< @brief Whether p_angle was given. */ |
149 |
gezelter |
1390 |
unsigned int hxy_given ; /**< @brief Whether hxy was given. */ |
150 |
|
|
unsigned int rho_r_given ; /**< @brief Whether rho_r was given. */ |
151 |
|
|
unsigned int hullvol_given ; /**< @brief Whether hullvol was given. */ |
152 |
tim |
310 |
|
153 |
gezelter |
1413 |
char **inputs ; /**< @brief unamed options (options without names) */ |
154 |
|
|
unsigned inputs_num ; /**< @brief unamed options number */ |
155 |
gezelter |
1390 |
int staticProps_group_counter; /**< @brief Counter for group staticProps */ |
156 |
tim |
543 |
} ; |
157 |
tim |
310 |
|
158 |
gezelter |
1390 |
/** @brief The additional parameters to pass to parser functions */ |
159 |
|
|
struct cmdline_parser_params |
160 |
|
|
{ |
161 |
|
|
int override; /**< @brief whether to override possibly already present options (default 0) */ |
162 |
|
|
int initialize; /**< @brief whether to initialize the option structure gengetopt_args_info (default 1) */ |
163 |
|
|
int check_required; /**< @brief whether to check that all required options were provided (default 1) */ |
164 |
|
|
int check_ambiguity; /**< @brief whether to check for options already specified in the option structure gengetopt_args_info (default 0) */ |
165 |
|
|
int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */ |
166 |
|
|
} ; |
167 |
|
|
|
168 |
|
|
/** @brief the purpose string of the program */ |
169 |
chuckv |
1128 |
extern const char *gengetopt_args_info_purpose; |
170 |
gezelter |
1390 |
/** @brief the usage string of the program */ |
171 |
chuckv |
1128 |
extern const char *gengetopt_args_info_usage; |
172 |
gezelter |
1390 |
/** @brief all the lines making the help output */ |
173 |
chuckv |
1128 |
extern const char *gengetopt_args_info_help[]; |
174 |
tim |
310 |
|
175 |
gezelter |
1390 |
/** |
176 |
|
|
* The command line parser |
177 |
|
|
* @param argc the number of command line options |
178 |
|
|
* @param argv the command line options |
179 |
|
|
* @param args_info the structure where option information will be stored |
180 |
|
|
* @return 0 if everything went fine, NON 0 if an error took place |
181 |
|
|
*/ |
182 |
chuckv |
1128 |
int cmdline_parser (int argc, char * const *argv, |
183 |
|
|
struct gengetopt_args_info *args_info); |
184 |
gezelter |
1390 |
|
185 |
|
|
/** |
186 |
|
|
* The command line parser (version with additional parameters - deprecated) |
187 |
|
|
* @param argc the number of command line options |
188 |
|
|
* @param argv the command line options |
189 |
|
|
* @param args_info the structure where option information will be stored |
190 |
|
|
* @param override whether to override possibly already present options |
191 |
|
|
* @param initialize whether to initialize the option structure my_args_info |
192 |
|
|
* @param check_required whether to check that all required options were provided |
193 |
|
|
* @return 0 if everything went fine, NON 0 if an error took place |
194 |
|
|
* @deprecated use cmdline_parser_ext() instead |
195 |
|
|
*/ |
196 |
chuckv |
1128 |
int cmdline_parser2 (int argc, char * const *argv, |
197 |
|
|
struct gengetopt_args_info *args_info, |
198 |
|
|
int override, int initialize, int check_required); |
199 |
gezelter |
1390 |
|
200 |
|
|
/** |
201 |
|
|
* The command line parser (version with additional parameters) |
202 |
|
|
* @param argc the number of command line options |
203 |
|
|
* @param argv the command line options |
204 |
|
|
* @param args_info the structure where option information will be stored |
205 |
|
|
* @param params additional parameters for the parser |
206 |
|
|
* @return 0 if everything went fine, NON 0 if an error took place |
207 |
|
|
*/ |
208 |
|
|
int cmdline_parser_ext (int argc, char * const *argv, |
209 |
|
|
struct gengetopt_args_info *args_info, |
210 |
|
|
struct cmdline_parser_params *params); |
211 |
|
|
|
212 |
|
|
/** |
213 |
|
|
* Save the contents of the option struct into an already open FILE stream. |
214 |
|
|
* @param outfile the stream where to dump options |
215 |
|
|
* @param args_info the option struct to dump |
216 |
|
|
* @return 0 if everything went fine, NON 0 if an error took place |
217 |
|
|
*/ |
218 |
|
|
int cmdline_parser_dump(FILE *outfile, |
219 |
|
|
struct gengetopt_args_info *args_info); |
220 |
|
|
|
221 |
|
|
/** |
222 |
|
|
* Save the contents of the option struct into a (text) file. |
223 |
|
|
* This file can be read by the config file parser (if generated by gengetopt) |
224 |
|
|
* @param filename the file where to save |
225 |
|
|
* @param args_info the option struct to save |
226 |
|
|
* @return 0 if everything went fine, NON 0 if an error took place |
227 |
|
|
*/ |
228 |
chuckv |
1128 |
int cmdline_parser_file_save(const char *filename, |
229 |
|
|
struct gengetopt_args_info *args_info); |
230 |
|
|
|
231 |
gezelter |
1390 |
/** |
232 |
|
|
* Print the help |
233 |
|
|
*/ |
234 |
tim |
543 |
void cmdline_parser_print_help(void); |
235 |
gezelter |
1390 |
/** |
236 |
|
|
* Print the version |
237 |
|
|
*/ |
238 |
tim |
543 |
void cmdline_parser_print_version(void); |
239 |
tim |
310 |
|
240 |
gezelter |
1390 |
/** |
241 |
|
|
* Initializes all the fields a cmdline_parser_params structure |
242 |
|
|
* to their default values |
243 |
|
|
* @param params the structure to initialize |
244 |
|
|
*/ |
245 |
|
|
void cmdline_parser_params_init(struct cmdline_parser_params *params); |
246 |
|
|
|
247 |
|
|
/** |
248 |
|
|
* Allocates dynamically a cmdline_parser_params structure and initializes |
249 |
|
|
* all its fields to their default values |
250 |
|
|
* @return the created and initialized cmdline_parser_params structure |
251 |
|
|
*/ |
252 |
|
|
struct cmdline_parser_params *cmdline_parser_params_create(void); |
253 |
|
|
|
254 |
|
|
/** |
255 |
|
|
* Initializes the passed gengetopt_args_info structure's fields |
256 |
|
|
* (also set default values for options that have a default) |
257 |
|
|
* @param args_info the structure to initialize |
258 |
|
|
*/ |
259 |
gezelter |
929 |
void cmdline_parser_init (struct gengetopt_args_info *args_info); |
260 |
gezelter |
1390 |
/** |
261 |
|
|
* Deallocates the string fields of the gengetopt_args_info structure |
262 |
|
|
* (but does not deallocate the structure itself) |
263 |
|
|
* @param args_info the structure to deallocate |
264 |
|
|
*/ |
265 |
gezelter |
929 |
void cmdline_parser_free (struct gengetopt_args_info *args_info); |
266 |
|
|
|
267 |
gezelter |
1390 |
/** |
268 |
|
|
* Checks that all the required options were specified |
269 |
|
|
* @param args_info the structure to check |
270 |
|
|
* @param prog_name the name of the program that will be used to print |
271 |
|
|
* possible errors |
272 |
|
|
* @return |
273 |
|
|
*/ |
274 |
chuckv |
1128 |
int cmdline_parser_required (struct gengetopt_args_info *args_info, |
275 |
|
|
const char *prog_name); |
276 |
gezelter |
929 |
|
277 |
|
|
|
278 |
tim |
310 |
#ifdef __cplusplus |
279 |
|
|
} |
280 |
|
|
#endif /* __cplusplus */ |
281 |
|
|
#endif /* STATICPROPSCMD_H */ |