XipZ
Mini packer ▶►▸ for small programs.
cmdline.h
Go to the documentation of this file.
1 
8 #ifndef CMDLINE_H
9 #define CMDLINE_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 CMDLINE_PARSER_PACKAGE
23 
24 #define CMDLINE_PARSER_PACKAGE "XipZ"
25 #endif
26 
27 #ifndef CMDLINE_PARSER_PACKAGE_NAME
28 
29 #define CMDLINE_PARSER_PACKAGE_NAME "XipZ"
30 #endif
31 
32 #ifndef CMDLINE_PARSER_VERSION
33 
34 #define CMDLINE_PARSER_VERSION "0.3.1"
35 #endif
36 
37 enum enum_algorithm { algorithm__NULL = -1, algorithm_arg_xipz = 0, algorithm_arg_qadz };
38 
41 {
42  const char *help_help;
43  const char *version_help;
44  int raw_flag;
45  const char *raw_help;
46  enum enum_algorithm algorithm_arg;
47  char * algorithm_orig;
48  const char *algorithm_help;
49  int jump_arg;
50  char * jump_orig;
51  const char *jump_help;
53  unsigned int help_given ;
54  unsigned int version_given ;
55  unsigned int raw_given ;
56  unsigned int algorithm_given ;
57  unsigned int jump_given ;
59  char **inputs ;
60  unsigned inputs_num ;
61 } ;
62 
65 {
66  int override;
67  int initialize;
71 } ;
72 
74 extern const char *gengetopt_args_info_purpose;
76 extern const char *gengetopt_args_info_usage;
78 extern const char *gengetopt_args_info_description;
80 extern const char *gengetopt_args_info_help[];
81 
89 int cmdline_parser (int argc, char **argv,
90  struct gengetopt_args_info *args_info);
91 
103 int cmdline_parser2 (int argc, char **argv,
104  struct gengetopt_args_info *args_info,
105  int override, int initialize, int check_required);
106 
115 int cmdline_parser_ext (int argc, char **argv,
116  struct gengetopt_args_info *args_info,
117  struct cmdline_parser_params *params);
118 
125 int cmdline_parser_dump(FILE *outfile,
126  struct gengetopt_args_info *args_info);
127 
135 int cmdline_parser_file_save(const char *filename,
136  struct gengetopt_args_info *args_info);
137 
141 void cmdline_parser_print_help(void);
146 
153 
160 
166 void cmdline_parser_init (struct gengetopt_args_info *args_info);
172 void cmdline_parser_free (struct gengetopt_args_info *args_info);
173 
181 int cmdline_parser_required (struct gengetopt_args_info *args_info,
182  const char *prog_name);
183 
184 extern const char *cmdline_parser_algorithm_values[];
187 #ifdef __cplusplus
188 }
189 #endif /* __cplusplus */
190 #endif /* CMDLINE_H */
gengetopt_args_info::help_given
unsigned int help_given
Whether help was given.
Definition: cmdline.h:53
gengetopt_args_info::jump_given
unsigned int jump_given
Whether jump was given.
Definition: cmdline.h:57
gengetopt_args_info_purpose
const char * gengetopt_args_info_purpose
the purpose string of the program
Definition: cmdline.c:28
cmdline_parser_params_create
struct cmdline_parser_params * cmdline_parser_params_create(void)
Definition: cmdline.c:167
cmdline_parser_file_save
int cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info)
Definition: cmdline.c:285
cmdline_parser_init
void cmdline_parser_init(struct gengetopt_args_info *args_info)
Definition: cmdline.c:143
gengetopt_args_info::algorithm_given
unsigned int algorithm_given
Whether algorithm was given.
Definition: cmdline.h:56
cmdline_parser_dump
int cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
Definition: cmdline.c:258
cmdline_parser_free
void cmdline_parser_free(struct gengetopt_args_info *args_info)
Definition: cmdline.c:305
cmdline_parser_print_help
void cmdline_parser_print_help(void)
Definition: cmdline.c:134
cmdline_parser
int cmdline_parser(int argc, char **argv, struct gengetopt_args_info *args_info)
Definition: cmdline.c:326
cmdline_parser_print_version
void cmdline_parser_print_version(void)
Definition: cmdline.c:102
gengetopt_args_info::version_given
unsigned int version_given
Whether version was given.
Definition: cmdline.h:54
gengetopt_args_info::algorithm_arg
enum enum_algorithm algorithm_arg
crunching algorithm to use (default='xipz').
Definition: cmdline.h:46
gengetopt_args_info::jump_orig
char * jump_orig
address to jump to (-1 = load address) original value given at command line.
Definition: cmdline.h:50
gengetopt_args_info::jump_help
const char * jump_help
address to jump to (-1 = load address) help description.
Definition: cmdline.h:51
gengetopt_args_info_help
const char * gengetopt_args_info_help[]
all the lines making the help output
Definition: cmdline.c:36
cmdline_parser_ext
int cmdline_parser_ext(int argc, char **argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params)
Definition: cmdline.c:332
gengetopt_args_info::algorithm_help
const char * algorithm_help
crunching algorithm to use help description.
Definition: cmdline.h:48
gengetopt_args_info::raw_help
const char * raw_help
output raw crunched data without header help description.
Definition: cmdline.h:45
cmdline_parser_params_init
void cmdline_parser_params_init(struct cmdline_parser_params *params)
Definition: cmdline.c:154
cmdline_parser_params::check_ambiguity
int check_ambiguity
whether to check for options already specified in the option structure gengetopt_args_info (default 0...
Definition: cmdline.h:69
gengetopt_args_info::inputs
char ** inputs
unnamed options (options without names)
Definition: cmdline.h:59
gengetopt_args_info::raw_given
unsigned int raw_given
Whether raw was given.
Definition: cmdline.h:55
gengetopt_args_info::version_help
const char * version_help
Print version and exit help description.
Definition: cmdline.h:43
cmdline_parser_params::print_errors
int print_errors
whether getopt_long should print an error message for a bad option (default 1)
Definition: cmdline.h:70
gengetopt_args_info::inputs_num
unsigned inputs_num
unnamed options number
Definition: cmdline.h:60
cmdline_parser2
int cmdline_parser2(int argc, char **argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
Definition: cmdline.c:348
gengetopt_args_info::jump_arg
int jump_arg
address to jump to (-1 = load address) (default='-1').
Definition: cmdline.h:49
cmdline_parser_required
int cmdline_parser_required(struct gengetopt_args_info *args_info, const char *prog_name)
Definition: cmdline.c:371
gengetopt_args_info::algorithm_orig
char * algorithm_orig
crunching algorithm to use original value given at command line.
Definition: cmdline.h:47
gengetopt_args_info
Where the command line options are stored.
Definition: cmdline.h:40
cmdline_parser_params
The additional parameters to pass to parser functions.
Definition: cmdline.h:64
gengetopt_args_info::help_help
const char * help_help
Print help and exit help description.
Definition: cmdline.h:42
cmdline_parser_params::initialize
int initialize
whether to initialize the option structure gengetopt_args_info (default 1)
Definition: cmdline.h:67
cmdline_parser_params::check_required
int check_required
whether to check that all required options were provided (default 1)
Definition: cmdline.h:68
gengetopt_args_info_usage
const char * gengetopt_args_info_usage
the usage string of the program
Definition: cmdline.c:30
gengetopt_args_info::raw_flag
int raw_flag
output raw crunched data without header (default=off).
Definition: cmdline.h:44
gengetopt_args_info_description
const char * gengetopt_args_info_description
the description string of the program
Definition: cmdline.c:34
cmdline_parser_algorithm_values
const char * cmdline_parser_algorithm_values[]
Possible values for algorithm.
Definition: cmdline.c:61