137 int space_type,
int space_help);
152 const char *opt_name,
154 const char *help_string);
170 const char *opt_name,
171 int *variable,
int init_value,
172 const char *help_string);
184 const char *opt_name,
185 int *variable,
int init_value,
186 const char *help_string);
199 const char *opt_name,
202 const char *help_string);
215 const char *opt_name,
218 const char *help_string);
231 const char *opt_name,
232 const char **variable,
233 const char *init_value,
234 const char *help_string);
247 const char *opt_name,
248 const char *help_string);
265 const char *opt_name,
266 const char *help_string);
285 const char *opt_name,
289 const char *help_string);
309 const char *opt_name,
311 const char *init_value,
313 const char *help_string);
346 const char *arg_usage);
388 const char *inifile,
void *re);
403 const char *jsonfile,
void *re);
431 const char *inifile);
This file provides a lookup structure for key-value pairs.
struct sc_keyvalue sc_keyvalue_t
The key-value container is an opaque structure.
Definition: sc_keyvalue.h:49
void sc_options_destroy_deep(sc_options_t *opt)
Destroy the options structure and all allocated structures contained.
void sc_options_add_switch(sc_options_t *opt, int opt_char, const char *opt_name, int *variable, const char *help_string)
Add a switch option.
void sc_options_add_size_t(sc_options_t *opt, int opt_char, const char *opt_name, size_t *variable, size_t init_value, const char *help_string)
Add an option that takes a size_t argument.
void sc_options_add_bool(sc_options_t *opt, int opt_char, const char *opt_name, int *variable, int init_value, const char *help_string)
Add a boolean option.
void sc_options_print_usage(int package_id, int log_priority, sc_options_t *opt, const char *arg_usage)
Print a usage message.
void sc_options_add_callback(sc_options_t *opt, int opt_char, const char *opt_name, int has_arg, sc_options_callback_t fn, void *data, const char *help_string)
Add an option that calls a user-defined function when parsed.
sc_options_t * sc_options_new(const char *program_path)
Create an empty options structure.
int sc_options_save(int package_id, int err_priority, sc_options_t *opt, const char *inifile)
Save all options and arguments to a file in .ini format.
void sc_options_add_keyvalue(sc_options_t *opt, int opt_char, const char *opt_name, int *variable, const char *init_value, sc_keyvalue_t *keyvalue, const char *help_string)
Add an option that takes string keys into a lookup table of integers.
void sc_options_print_summary(int package_id, int log_priority, sc_options_t *opt)
Print a summary of all option values.
int sc_options_load_args(int package_id, int err_priority, sc_options_t *opt, const char *inifile)
Load a file in .ini format and update entries found under [Arguments].
void sc_options_add_int(sc_options_t *opt, int opt_char, const char *opt_name, int *variable, int init_value, const char *help_string)
Add an option that takes an integer argument.
void sc_options_destroy(sc_options_t *opt)
Destroy the options structure.
int sc_options_load_ini(int package_id, int err_priority, sc_options_t *opt, const char *inifile, void *re)
Load a file in .ini format and update entries found under [Options].
void sc_options_add_inifile(sc_options_t *opt, int opt_char, const char *opt_name, const char *help_string)
Add an option to read in a file in .ini format.
struct sc_options sc_options_t
The options data structure is opaque.
Definition: sc_options.h:88
int(* sc_options_callback_t)(sc_options_t *opt, const char *opt_arg, void *data)
This callback can be invoked with sc_options_parse.
Definition: sc_options.h:98
void sc_options_add_string(sc_options_t *opt, int opt_char, const char *opt_name, const char **variable, const char *init_value, const char *help_string)
Add a string option.
void sc_options_add_double(sc_options_t *opt, int opt_char, const char *opt_name, double *variable, double init_value, const char *help_string)
Add an option that takes a double argument.
int sc_options_load(int package_id, int err_priority, sc_options_t *opt, const char *file)
Load a file in the default format and update option values.
void sc_options_set_spacing(sc_options_t *opt, int space_type, int space_help)
Set the spacing for sc_options_print_summary.
void sc_options_add_suboptions(sc_options_t *opt, sc_options_t *subopt, const char *prefix)
Copy one set of options to another as a subset, with a prefix.
int sc_options_load_json(int package_id, int err_priority, sc_options_t *opt, const char *jsonfile, void *re)
Load a file in JSON format and update entries from object "Options".
int sc_options_parse(int package_id, int err_priority, sc_options_t *opt, int argc, char **argv)
Parse command line options.
void sc_options_add_jsonfile(sc_options_t *opt, int opt_char, const char *opt_name, const char *help_string)
Add an option to read in a file in JSON format.