LibOFX

cmdline.h

00001 
00008 #ifndef CMDLINE_H
00009 #define CMDLINE_H
00010 
00011 /* If we use autoconf.  */
00012 #ifdef HAVE_CONFIG_H
00013 #include "config.h"
00014 #endif
00015 
00016 #include <stdio.h> /* for FILE */
00017 
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif /* __cplusplus */
00021 
00022 #ifndef CMDLINE_PARSER_PACKAGE
00023 
00024 #define CMDLINE_PARSER_PACKAGE PACKAGE
00025 #endif
00026 
00027 #ifndef CMDLINE_PARSER_PACKAGE_NAME
00028 
00029 #ifdef PACKAGE_NAME
00030 #define CMDLINE_PARSER_PACKAGE_NAME PACKAGE_NAME
00031 #else
00032 #define CMDLINE_PARSER_PACKAGE_NAME PACKAGE
00033 #endif
00034 #endif
00035 
00036 #ifndef CMDLINE_PARSER_VERSION
00037 
00038 #define CMDLINE_PARSER_VERSION VERSION
00039 #endif
00040 
00042 struct gengetopt_args_info
00043 {
00044   const char *help_help; 
00045   const char *version_help; 
00046   char * import_format_arg;     
00047   char * import_format_orig;    
00048   const char *import_format_help; 
00049   const char *list_import_formats_help; 
00050   int msg_parser_flag;  
00051   const char *msg_parser_help; 
00052   int msg_debug_flag;   
00053   const char *msg_debug_help; 
00054   int msg_warning_flag; 
00055   const char *msg_warning_help; 
00056   int msg_error_flag;   
00057   const char *msg_error_help; 
00058   int msg_info_flag;    
00059   const char *msg_info_help; 
00060   int msg_status_flag;  
00061   const char *msg_status_help; 
00063   unsigned int help_given ;     
00064   unsigned int version_given ;  
00065   unsigned int import_format_given ;    
00066   unsigned int list_import_formats_given ;      
00067   unsigned int msg_parser_given ;       
00068   unsigned int msg_debug_given ;        
00069   unsigned int msg_warning_given ;      
00070   unsigned int msg_error_given ;        
00071   unsigned int msg_info_given ; 
00072   unsigned int msg_status_given ;       
00074   char **inputs ; 
00075   unsigned inputs_num ; 
00076 } ;
00077 
00079 struct cmdline_parser_params
00080 {
00081   int override; 
00082   int initialize; 
00083   int check_required; 
00084   int check_ambiguity; 
00085   int print_errors; 
00086 } ;
00087 
00089 extern const char *gengetopt_args_info_purpose;
00091 extern const char *gengetopt_args_info_usage;
00093 extern const char *gengetopt_args_info_help[];
00094 
00102 int cmdline_parser (int argc, char **argv,
00103   struct gengetopt_args_info *args_info);
00104 
00116 int cmdline_parser2 (int argc, char **argv,
00117   struct gengetopt_args_info *args_info,
00118   int override, int initialize, int check_required);
00119 
00128 int cmdline_parser_ext (int argc, char **argv,
00129   struct gengetopt_args_info *args_info,
00130   struct cmdline_parser_params *params);
00131 
00138 int cmdline_parser_dump(FILE *outfile,
00139   struct gengetopt_args_info *args_info);
00140 
00148 int cmdline_parser_file_save(const char *filename,
00149   struct gengetopt_args_info *args_info);
00150 
00154 void cmdline_parser_print_help(void);
00158 void cmdline_parser_print_version(void);
00159 
00165 void cmdline_parser_params_init(struct cmdline_parser_params *params);
00166 
00172 struct cmdline_parser_params *cmdline_parser_params_create(void);
00173 
00179 void cmdline_parser_init (struct gengetopt_args_info *args_info);
00185 void cmdline_parser_free (struct gengetopt_args_info *args_info);
00186 
00194 int cmdline_parser_required (struct gengetopt_args_info *args_info,
00195   const char *prog_name);
00196 
00197 
00198 #ifdef __cplusplus
00199 }
00200 #endif /* __cplusplus */
00201 #endif /* CMDLINE_H */