Add missing binaty and statis library
[jabaws.git] / binaries / src / ViennaRNA / Progs / RNAdistance_cmdl.h
1 /** @file RNAdistance_cmdl.h
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 */
7
8 #ifndef RNADISTANCE_CMDL_H
9 #define RNADISTANCE_CMDL_H
10
11 /* If we use autoconf.  */
12 #ifdef HAVE_CONFIG_H
13 #include "config.h"
14 #endif
15
16 #include <stdio.h> /* for FILE */
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif /* __cplusplus */
21
22 #ifndef RNADISTANCE_CMDLINE_PARSER_PACKAGE
23 /** @brief the program name (used for printing errors) */
24 #define RNADISTANCE_CMDLINE_PARSER_PACKAGE "RNAdistance"
25 #endif
26
27 #ifndef RNADISTANCE_CMDLINE_PARSER_PACKAGE_NAME
28 /** @brief the complete program name (used for help and version) */
29 #define RNADISTANCE_CMDLINE_PARSER_PACKAGE_NAME "RNAdistance"
30 #endif
31
32 #ifndef RNADISTANCE_CMDLINE_PARSER_VERSION
33 /** @brief the program version */
34 #define RNADISTANCE_CMDLINE_PARSER_VERSION VERSION
35 #endif
36
37 /** @brief Where the command line options are stored */
38 struct RNAdistance_args_info
39 {
40   const char *help_help; /**< @brief Print help and exit help description.  */
41   const char *detailed_help_help; /**< @brief Print help, including all details and hidden options, and exit help description.  */
42   const char *version_help; /**< @brief Print version and exit help description.  */
43   char * distance_arg;  /**< @brief Specify the distance representation to be used in calculations.
44  (default='f').  */
45   char * distance_orig; /**< @brief Specify the distance representation to be used in calculations.
46  original value given at command line.  */
47   const char *distance_help; /**< @brief Specify the distance representation to be used in calculations.
48  help description.  */
49   char * compare_arg;   /**< @brief Specify the comparison directive.
50  (default='p').  */
51   char * compare_orig;  /**< @brief Specify the comparison directive.
52  original value given at command line.  */
53   const char *compare_help; /**< @brief Specify the comparison directive.
54  help description.  */
55   int shapiro_flag;     /**< @brief Use the Bruce Shapiro's cost matrix for comparing coarse structures.
56   
57  (default=off).  */
58   const char *shapiro_help; /**< @brief Use the Bruce Shapiro's cost matrix for comparing coarse structures.
59   
60  help description.  */
61   char * backtrack_arg; /**< @brief Print an \"alignment\" with gaps of the structures, to show matching substructures. The aligned structures are written to <filename>, if specified.
62  (default='none').  */
63   char * backtrack_orig;        /**< @brief Print an \"alignment\" with gaps of the structures, to show matching substructures. The aligned structures are written to <filename>, if specified.
64  original value given at command line.  */
65   const char *backtrack_help; /**< @brief Print an \"alignment\" with gaps of the structures, to show matching substructures. The aligned structures are written to <filename>, if specified.
66  help description.  */
67   
68   unsigned int help_given ;     /**< @brief Whether help was given.  */
69   unsigned int detailed_help_given ;    /**< @brief Whether detailed-help was given.  */
70   unsigned int version_given ;  /**< @brief Whether version was given.  */
71   unsigned int distance_given ; /**< @brief Whether distance was given.  */
72   unsigned int compare_given ;  /**< @brief Whether compare was given.  */
73   unsigned int shapiro_given ;  /**< @brief Whether shapiro was given.  */
74   unsigned int backtrack_given ;        /**< @brief Whether backtrack was given.  */
75
76 } ;
77
78 /** @brief The additional parameters to pass to parser functions */
79 struct RNAdistance_cmdline_parser_params
80 {
81   int override; /**< @brief whether to override possibly already present options (default 0) */
82   int initialize; /**< @brief whether to initialize the option structure RNAdistance_args_info (default 1) */
83   int check_required; /**< @brief whether to check that all required options were provided (default 1) */
84   int check_ambiguity; /**< @brief whether to check for options already specified in the option structure RNAdistance_args_info (default 0) */
85   int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */
86 } ;
87
88 /** @brief the purpose string of the program */
89 extern const char *RNAdistance_args_info_purpose;
90 /** @brief the usage string of the program */
91 extern const char *RNAdistance_args_info_usage;
92 /** @brief all the lines making the help output */
93 extern const char *RNAdistance_args_info_help[];
94 /** @brief all the lines making the detailed help output (including hidden options and details) */
95 extern const char *RNAdistance_args_info_detailed_help[];
96
97 /**
98  * The command line parser
99  * @param argc the number of command line options
100  * @param argv the command line options
101  * @param args_info the structure where option information will be stored
102  * @return 0 if everything went fine, NON 0 if an error took place
103  */
104 int RNAdistance_cmdline_parser (int argc, char **argv,
105   struct RNAdistance_args_info *args_info);
106
107 /**
108  * The command line parser (version with additional parameters - deprecated)
109  * @param argc the number of command line options
110  * @param argv the command line options
111  * @param args_info the structure where option information will be stored
112  * @param override whether to override possibly already present options
113  * @param initialize whether to initialize the option structure my_args_info
114  * @param check_required whether to check that all required options were provided
115  * @return 0 if everything went fine, NON 0 if an error took place
116  * @deprecated use RNAdistance_cmdline_parser_ext() instead
117  */
118 int RNAdistance_cmdline_parser2 (int argc, char **argv,
119   struct RNAdistance_args_info *args_info,
120   int override, int initialize, int check_required);
121
122 /**
123  * The command line parser (version with additional parameters)
124  * @param argc the number of command line options
125  * @param argv the command line options
126  * @param args_info the structure where option information will be stored
127  * @param params additional parameters for the parser
128  * @return 0 if everything went fine, NON 0 if an error took place
129  */
130 int RNAdistance_cmdline_parser_ext (int argc, char **argv,
131   struct RNAdistance_args_info *args_info,
132   struct RNAdistance_cmdline_parser_params *params);
133
134 /**
135  * Save the contents of the option struct into an already open FILE stream.
136  * @param outfile the stream where to dump options
137  * @param args_info the option struct to dump
138  * @return 0 if everything went fine, NON 0 if an error took place
139  */
140 int RNAdistance_cmdline_parser_dump(FILE *outfile,
141   struct RNAdistance_args_info *args_info);
142
143 /**
144  * Save the contents of the option struct into a (text) file.
145  * This file can be read by the config file parser (if generated by gengetopt)
146  * @param filename the file where to save
147  * @param args_info the option struct to save
148  * @return 0 if everything went fine, NON 0 if an error took place
149  */
150 int RNAdistance_cmdline_parser_file_save(const char *filename,
151   struct RNAdistance_args_info *args_info);
152
153 /**
154  * Print the help
155  */
156 void RNAdistance_cmdline_parser_print_help(void);
157 /**
158  * Print the detailed help (including hidden options and details)
159  */
160 void RNAdistance_cmdline_parser_print_detailed_help(void);
161 /**
162  * Print the version
163  */
164 void RNAdistance_cmdline_parser_print_version(void);
165
166 /**
167  * Initializes all the fields a RNAdistance_cmdline_parser_params structure 
168  * to their default values
169  * @param params the structure to initialize
170  */
171 void RNAdistance_cmdline_parser_params_init(struct RNAdistance_cmdline_parser_params *params);
172
173 /**
174  * Allocates dynamically a RNAdistance_cmdline_parser_params structure and initializes
175  * all its fields to their default values
176  * @return the created and initialized RNAdistance_cmdline_parser_params structure
177  */
178 struct RNAdistance_cmdline_parser_params *RNAdistance_cmdline_parser_params_create(void);
179
180 /**
181  * Initializes the passed RNAdistance_args_info structure's fields
182  * (also set default values for options that have a default)
183  * @param args_info the structure to initialize
184  */
185 void RNAdistance_cmdline_parser_init (struct RNAdistance_args_info *args_info);
186 /**
187  * Deallocates the string fields of the RNAdistance_args_info structure
188  * (but does not deallocate the structure itself)
189  * @param args_info the structure to deallocate
190  */
191 void RNAdistance_cmdline_parser_free (struct RNAdistance_args_info *args_info);
192
193 /**
194  * Checks that all the required options were specified
195  * @param args_info the structure to check
196  * @param prog_name the name of the program that will be used to print
197  *   possible errors
198  * @return
199  */
200 int RNAdistance_cmdline_parser_required (struct RNAdistance_args_info *args_info,
201   const char *prog_name);
202
203
204 #ifdef __cplusplus
205 }
206 #endif /* __cplusplus */
207 #endif /* RNADISTANCE_CMDL_H */