aboutsummaryrefslogtreecommitdiffstats
path: root/sgsnemu/cmdline.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-09-24 10:23:24 +0800
committerHarald Welte <laforge@gnumonks.org>2017-09-24 10:27:07 +0800
commitf621498129023a17f8023d1f865cfe66ba9c235a (patch)
tree95632243f01a88802fee38ee122b31943088198b /sgsnemu/cmdline.h
parent7c20148e396928f587a3719e092a8d1486664773 (diff)
sgsnemu: Re-generate cmdline.[ch] using gengetopt
This will replace the manual additions to cmdline.[ch] with auto-generated code from gengetopt. We need to fix-up the RAT Type in sgsnemu.c as the manually-added code diverged from what gengetopt generates. Change-Id: Ia687e13d5cec1655a57078a767d2123aa022842c
Diffstat (limited to 'sgsnemu/cmdline.h')
-rw-r--r--sgsnemu/cmdline.h607
1 files changed, 454 insertions, 153 deletions
diff --git a/sgsnemu/cmdline.h b/sgsnemu/cmdline.h
index 17f7c18..248384e 100644
--- a/sgsnemu/cmdline.h
+++ b/sgsnemu/cmdline.h
@@ -1,6 +1,9 @@
-/* cmdline.h */
-
-/* File autogenerated by gengetopt version 2.17 */
+/** @file cmdline.h
+ * @brief The header file for the command line option parser
+ * generated by GNU Gengetopt version 2.22.6
+ * http://www.gnu.org/software/gengetopt.
+ * DO NOT modify this file, since it can be overwritten
+ * @author GNU Gengetopt by Lorenzo Bettini */
#ifndef CMDLINE_H
#define CMDLINE_H
@@ -10,197 +13,495 @@
#include "config.h"
#endif
+#include <stdio.h> /* for FILE */
+
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#ifndef CMDLINE_PARSER_PACKAGE
+/** @brief the program name (used for printing errors) */
#define CMDLINE_PARSER_PACKAGE PACKAGE
#endif
+#ifndef CMDLINE_PARSER_PACKAGE_NAME
+/** @brief the complete program name (used for help and version) */
+#ifdef PACKAGE_NAME
+#define CMDLINE_PARSER_PACKAGE_NAME PACKAGE_NAME
+#else
+#define CMDLINE_PARSER_PACKAGE_NAME PACKAGE
+#endif
+#endif
+
#ifndef CMDLINE_PARSER_VERSION
+/** @brief the program version */
#define CMDLINE_PARSER_VERSION VERSION
#endif
+/** @brief Where the command line options are stored */
struct gengetopt_args_info {
- const char *help_help; /* Print help and exit help description. */
- const char *version_help; /* Print version and exit help description. */
- int debug_flag; /* Run in debug mode (default=off). */
- const char *debug_help; /* Run in debug mode help description. */
- char *conf_arg; /* Read configuration file. */
- char *conf_orig; /* Read configuration file original value given at command line. */
- const char *conf_help; /* Read configuration file help description. */
- char *pidfile_arg; /* Filename of process id file (default='./sgsnemu.pid'). */
- char *pidfile_orig; /* Filename of process id file original value given at command line. */
- const char *pidfile_help; /* Filename of process id file help description. */
- char *statedir_arg; /* Directory of nonvolatile data (default='./'). */
- char *statedir_orig; /* Directory of nonvolatile data original value given at command line. */
- const char *statedir_help; /* Directory of nonvolatile data help description. */
- char *dns_arg; /* DNS Server to use. */
- char *dns_orig; /* DNS Server to use original value given at command line. */
- const char *dns_help; /* DNS Server to use help description. */
- char *listen_arg; /* Local interface. */
- char *listen_orig; /* Local interface original value given at command line. */
- const char *listen_help; /* Local interface help description. */
- char *remote_arg; /* Remote host. */
- char *remote_orig; /* Remote host original value given at command line. */
- const char *remote_help; /* Remote host help description. */
- int contexts_arg; /* Number of contexts (default='1'). */
- char *contexts_orig; /* Number of contexts original value given at command line. */
- const char *contexts_help; /* Number of contexts help description. */
- int timelimit_arg; /* Exit after timelimit seconds (default='0'). */
- char *timelimit_orig; /* Exit after timelimit seconds original value given at command line. */
- const char *timelimit_help; /* Exit after timelimit seconds help description. */
- int gtpversion_arg; /* GTP version to use (default='1'). */
- char *gtpversion_orig; /* GTP version to use original value given at command line. */
- const char *gtpversion_help; /* GTP version to use help description. */
- char *apn_arg; /* Access point name (default='internet'). */
- char *apn_orig; /* Access point name original value given at command line. */
- const char *apn_help; /* Access point name help description. */
- int selmode_arg; /* Selection mode (default='0x01'). */
- char *selmode_orig; /* Selection mode original value given at command line. */
- const char *selmode_help; /* Selection mode help description. */
- char *rattype_arg; /* Radio Access Technology Type (optional). */
+ const char *help_help;
+ /**< @brief Print help and exit help description. */
+ const char *version_help;
+ /**< @brief Print version and exit help description. */
+ int debug_flag;
+ /**< @brief Run in debug mode (default=off). */
+ const char *debug_help;
+ /**< @brief Run in debug mode help description. */
+ char *conf_arg;
+ /**< @brief Read configuration file. */
+ char *conf_orig;
+ /**< @brief Read configuration file original value given at command line. */
+ const char *conf_help;
+ /**< @brief Read configuration file help description. */
+ char *pidfile_arg;
+ /**< @brief Filename of process id file (default='./sgsnemu.pid'). */
+ char *pidfile_orig;
+ /**< @brief Filename of process id file original value given at command line. */
+ const char *pidfile_help;
+ /**< @brief Filename of process id file help description. */
+ char *statedir_arg;
+ /**< @brief Directory of nonvolatile data (default='./'). */
+ char *statedir_orig;
+ /**< @brief Directory of nonvolatile data original value given at command line. */
+ const char *statedir_help;
+ /**< @brief Directory of nonvolatile data help description. */
+ char *dns_arg;
+ /**< @brief DNS Server to use. */
+ char *dns_orig;
+ /**< @brief DNS Server to use original value given at command line. */
+ const char *dns_help;
+ /**< @brief DNS Server to use help description. */
+ char *listen_arg;
+ /**< @brief Local interface. */
+ char *listen_orig;
+ /**< @brief Local interface original value given at command line. */
+ const char *listen_help;
+ /**< @brief Local interface help description. */
+ char *remote_arg;
+ /**< @brief Remote host. */
+ char *remote_orig;
+ /**< @brief Remote host original value given at command line. */
+ const char *remote_help;
+ /**< @brief Remote host help description. */
+ int contexts_arg;
+ /**< @brief Number of contexts (default='1'). */
+ char *contexts_orig;
+ /**< @brief Number of contexts original value given at command line. */
+ const char *contexts_help;
+ /**< @brief Number of contexts help description. */
+ int timelimit_arg;
+ /**< @brief Exit after timelimit seconds (default='0'). */
+ char *timelimit_orig;
+ /**< @brief Exit after timelimit seconds original value given at command line. */
+ const char *timelimit_help;
+ /**< @brief Exit after timelimit seconds help description. */
+ int gtpversion_arg;
+ /**< @brief GTP version to use (default='1'). */
+ char *gtpversion_orig;
+ /**< @brief GTP version to use original value given at command line. */
+ const char *gtpversion_help;
+ /**< @brief GTP version to use help description. */
+ char *apn_arg;
+ /**< @brief Access point name (default='internet'). */
+ char *apn_orig;
+ /**< @brief Access point name original value given at command line. */
+ const char *apn_help;
+ /**< @brief Access point name help description. */
+ int selmode_arg;
+ /**< @brief Selection mode (default='0x01'). */
+ char *selmode_orig;
+ /**< @brief Selection mode original value given at command line. */
+ const char *selmode_help;
+ /**< @brief Selection mode help description. */
+ int rattype_arg;
+ /**< @brief Radio Access Technology Type (default='1'). */
char *rattype_orig;
- char *rattype_help;
- char *userloc_arg; /* User Location Information (optional). */
+ /**< @brief Radio Access Technology Type original value given at command line. */
+ const char *rattype_help;
+ /**< @brief Radio Access Technology Type help description. */
+ char *userloc_arg;
+ /**< @brief User Location Information (default='02509946241207'). */
char *userloc_orig;
- char *userloc_help;
- char *rai_arg; /* Routing Area Information (optional). */
+ /**< @brief User Location Information original value given at command line. */
+ const char *userloc_help;
+ /**< @brief User Location Information help description. */
+ char *rai_arg;
+ /**< @brief Routing Area Information (default='02509946241207'). */
char *rai_orig;
- char *rai_help;
- char *mstz_arg; /* MS Time Zone (optional). */
+ /**< @brief Routing Area Information original value given at command line. */
+ const char *rai_help;
+ /**< @brief Routing Area Information help description. */
+ char *mstz_arg;
+ /**< @brief MS Time Zone (default='0'). */
char *mstz_orig;
- char *mstz_help;
- char *imeisv_arg; /* IMEI(SV) (optional). */
+ /**< @brief MS Time Zone original value given at command line. */
+ const char *mstz_help;
+ /**< @brief MS Time Zone help description. */
+ char *imeisv_arg;
+ /**< @brief IMEI(SV) International Mobile Equipment Identity (and Software Version) (default='2143658709214365'). */
char *imeisv_orig;
- char *imeisv_help;
- char *imsi_arg; /* IMSI (default='240010123456789'). */
- char *imsi_orig; /* IMSI original value given at command line. */
- const char *imsi_help; /* IMSI help description. */
- int nsapi_arg; /* NSAPI (default='0'). */
- char *nsapi_orig; /* NSAPI original value given at command line. */
- const char *nsapi_help; /* NSAPI help description. */
- char *msisdn_arg; /* Mobile Station ISDN number (default='46702123456'). */
- char *msisdn_orig; /* Mobile Station ISDN number original value given at command line. */
- const char *msisdn_help; /* Mobile Station ISDN number help description. */
- int qos_arg; /* Requested quality of service (default='0x0b921f'). */
- char *qos_orig; /* Requested quality of service original value given at command line. */
- const char *qos_help; /* Requested quality of service help description. */
- unsigned long long int qose1_arg; /* Requested quality of service Extension 1 */
- char *qose1_orig; /* Requested quality of service Extension 1 original value given at command line. */
- int qose2_arg; /* Requested quality of service Extension 2 */
- char *qose2_orig; /* Requested quality of service Extension 2 original value given at command line. */
- int qose3_arg; /* Requested quality of service Extension 3 */
- char *qose3_orig; /* Requested quality of service Extension 3 original value given at command line. */
- int qose4_arg; /* Requested quality of service Extension 4 */
- char *qose4_orig; /* Requested quality of service Extension 4 original value given at command line. */
- int charging_arg; /* Charging characteristics (default='0x0800'). */
- char *charging_orig; /* Charging characteristics original value given at command line. */
- const char *charging_help; /* Charging characteristics help description. */
- char *uid_arg; /* Login user ID (default='mig'). */
- char *uid_orig; /* Login user ID original value given at command line. */
- const char *uid_help; /* Login user ID help description. */
- char *pwd_arg; /* Login password (default='hemmelig'). */
- char *pwd_orig; /* Login password original value given at command line. */
- const char *pwd_help; /* Login password help description. */
- int createif_flag; /* Create local network interface (default=off). */
- const char *createif_help; /* Create local network interface help description. */
- char *net_arg; /* Network address for local interface. */
- char *net_orig; /* Network address for local interface original value given at command line. */
- const char *net_help; /* Network address for local interface help description. */
- int defaultroute_flag; /* Create default route (default=off). */
- const char *defaultroute_help; /* Create default route help description. */
- char *ipup_arg; /* Script to run after link-up. */
- char *ipup_orig; /* Script to run after link-up original value given at command line. */
- const char *ipup_help; /* Script to run after link-up help description. */
- char *ipdown_arg; /* Script to run after link-down. */
- char *ipdown_orig; /* Script to run after link-down original value given at command line. */
- const char *ipdown_help; /* Script to run after link-down help description. */
- char *pinghost_arg; /* Ping remote host. */
- char *pinghost_orig; /* Ping remote host original value given at command line. */
- const char *pinghost_help; /* Ping remote host help description. */
- int pingrate_arg; /* Number of ping req per second (default='1'). */
- char *pingrate_orig; /* Number of ping req per second original value given at command line. */
- const char *pingrate_help; /* Number of ping req per second help description. */
- int pingsize_arg; /* Number of ping data bytes (default='56'). */
- char *pingsize_orig; /* Number of ping data bytes original value given at command line. */
- const char *pingsize_help; /* Number of ping data bytes help description. */
- int pingcount_arg; /* Number of ping req to send (default='0'). */
- char *pingcount_orig; /* Number of ping req to send original value given at command line. */
- const char *pingcount_help; /* Number of ping req to send help description. */
- int pingquiet_flag; /* Do not print ping packet info (default=off). */
- const char *pingquiet_help; /* Do not print ping packet info help description. */
- int norecovery_flag; /* Do not print ping packet info (default=off). */
- const char *norecovery_help; /* Do not print ping packet info help description. */
-
- int help_given; /* Whether help was given. */
- int version_given; /* Whether version was given. */
- int debug_given; /* Whether debug was given. */
- int conf_given; /* Whether conf was given. */
- int pidfile_given; /* Whether pidfile was given. */
- int statedir_given; /* Whether statedir was given. */
- int dns_given; /* Whether dns was given. */
- int listen_given; /* Whether listen was given. */
- int remote_given; /* Whether remote was given. */
- int contexts_given; /* Whether contexts was given. */
- int timelimit_given; /* Whether timelimit was given. */
- int gtpversion_given; /* Whether gtpversion was given. */
- int apn_given; /* Whether apn was given. */
- int selmode_given; /* Whether selmode was given. */
- int rattype_given; /* Whether rattype was given. */
- int userloc_given; /* Whether userloc was given. */
- int rai_given; /* Whether RAI was given. */
- int mstz_given; /* Whether mstz was given. */
- int imeisv_given; /* Whether imeisv was given. */
- int imsi_given; /* Whether imsi was given. */
- int nsapi_given; /* Whether nsapi was given. */
- int msisdn_given; /* Whether msisdn was given. */
- int qos_given; /* Whether qos was given. */
- int qose1_given; /* Whether qos Extension 1 was given. */
- int qose2_given; /* Whether qos Extension 2 was given. */
- int qose3_given; /* Whether qos Extension 3 was given. */
- int qose4_given; /* Whether qos Extension 4 was given. */
- int charging_given; /* Whether charging was given. */
- int uid_given; /* Whether uid was given. */
- int pwd_given; /* Whether pwd was given. */
- int createif_given; /* Whether createif was given. */
- int net_given; /* Whether net was given. */
- int defaultroute_given; /* Whether defaultroute was given. */
- int ipup_given; /* Whether ipup was given. */
- int ipdown_given; /* Whether ipdown was given. */
- int pinghost_given; /* Whether pinghost was given. */
- int pingrate_given; /* Whether pingrate was given. */
- int pingsize_given; /* Whether pingsize was given. */
- int pingcount_given; /* Whether pingcount was given. */
- int pingquiet_given; /* Whether pingquiet was given. */
- int norecovery_given; /* Whether norecovery was given. */
+ /**< @brief IMEI(SV) International Mobile Equipment Identity (and Software Version) original value given at command line. */
+ const char *imeisv_help;
+ /**< @brief IMEI(SV) International Mobile Equipment Identity (and Software Version) help description. */
+ int norecovery_flag;
+ /**< @brief Do not send recovery (default=off). */
+ const char *norecovery_help;
+ /**< @brief Do not send recovery help description. */
+ char *imsi_arg;
+ /**< @brief IMSI (default='240010123456789'). */
+ char *imsi_orig;
+ /**< @brief IMSI original value given at command line. */
+ const char *imsi_help;
+ /**< @brief IMSI help description. */
+ int nsapi_arg;
+ /**< @brief NSAPI (default='0'). */
+ char *nsapi_orig;
+ /**< @brief NSAPI original value given at command line. */
+ const char *nsapi_help;
+ /**< @brief NSAPI help description. */
+ char *msisdn_arg;
+ /**< @brief Mobile Station ISDN number (default='46702123456'). */
+ char *msisdn_orig;
+ /**< @brief Mobile Station ISDN number original value given at command line. */
+ const char *msisdn_help;
+ /**< @brief Mobile Station ISDN number help description. */
+ int qos_arg;
+ /**< @brief Requested quality of service (default='0x000b921f'). */
+ char *qos_orig;
+ /**< @brief Requested quality of service original value given at command line. */
+ const char *qos_help;
+ /**< @brief Requested quality of service help description. */
+ unsigned long long int qose1_arg;
+ /**< @brief Requested quality of service Extension 1 (default='0x9396404074f9ffff'). */
+ char *qose1_orig;
+ /**< @brief Requested quality of service Extension 1 original value given at command line. */
+ const char *qose1_help;
+ /**< @brief Requested quality of service Extension 1 help description. */
+ int qose2_arg;
+ /**< @brief Requested quality of service Extension 2 (default='0x11'). */
+ char *qose2_orig;
+ /**< @brief Requested quality of service Extension 2 original value given at command line. */
+ const char *qose2_help;
+ /**< @brief Requested quality of service Extension 2 help description. */
+ int qose3_arg;
+ /**< @brief Requested quality of service Extension 3 (default='0x0101'). */
+ char *qose3_orig;
+ /**< @brief Requested quality of service Extension 3 original value given at command line. */
+ const char *qose3_help;
+ /**< @brief Requested quality of service Extension 3 help description. */
+ int qose4_arg;
+ /**< @brief Requested quality of service Extension 4 (default='0x4040'). */
+ char *qose4_orig;
+ /**< @brief Requested quality of service Extension 4 original value given at command line. */
+ const char *qose4_help;
+ /**< @brief Requested quality of service Extension 4 help description. */
+ int charging_arg;
+ /**< @brief Charging characteristics (default='0x0800'). */
+ char *charging_orig;
+ /**< @brief Charging characteristics original value given at command line. */
+ const char *charging_help;
+ /**< @brief Charging characteristics help description. */
+ char *uid_arg;
+ /**< @brief Login user ID (default='mig'). */
+ char *uid_orig;
+ /**< @brief Login user ID original value given at command line. */
+ const char *uid_help;
+ /**< @brief Login user ID help description. */
+ char *pwd_arg;
+ /**< @brief Login password (default='hemmelig'). */
+ char *pwd_orig;
+ /**< @brief Login password original value given at command line. */
+ const char *pwd_help;
+ /**< @brief Login password help description. */
+ int createif_flag;
+ /**< @brief Create local network interface (default=off). */
+ const char *createif_help;
+ /**< @brief Create local network interface help description. */
+ char *net_arg;
+ /**< @brief Network address for local interface. */
+ char *net_orig;
+ /**< @brief Network address for local interface original value given at command line. */
+ const char *net_help;
+ /**< @brief Network address for local interface help description. */
+ int defaultroute_flag;
+ /**< @brief Create default route (default=off). */
+ const char *defaultroute_help;
+ /**< @brief Create default route help description. */
+ char *ipup_arg;
+ /**< @brief Script to run after link-up. */
+ char *ipup_orig;
+ /**< @brief Script to run after link-up original value given at command line. */
+ const char *ipup_help;
+ /**< @brief Script to run after link-up help description. */
+ char *ipdown_arg;
+ /**< @brief Script to run after link-down. */
+ char *ipdown_orig;
+ /**< @brief Script to run after link-down original value given at command line. */
+ const char *ipdown_help;
+ /**< @brief Script to run after link-down help description. */
+ char *pinghost_arg;
+ /**< @brief Ping remote host. */
+ char *pinghost_orig;
+ /**< @brief Ping remote host original value given at command line. */
+ const char *pinghost_help;
+ /**< @brief Ping remote host help description. */
+ int pingrate_arg;
+ /**< @brief Number of ping req per second (default='1'). */
+ char *pingrate_orig;
+ /**< @brief Number of ping req per second original value given at command line. */
+ const char *pingrate_help;
+ /**< @brief Number of ping req per second help description. */
+ int pingsize_arg;
+ /**< @brief Number of ping data bytes (default='56'). */
+ char *pingsize_orig;
+ /**< @brief Number of ping data bytes original value given at command line. */
+ const char *pingsize_help;
+ /**< @brief Number of ping data bytes help description. */
+ int pingcount_arg;
+ /**< @brief Number of ping req to send (default='0'). */
+ char *pingcount_orig;
+ /**< @brief Number of ping req to send original value given at command line. */
+ const char *pingcount_help;
+ /**< @brief Number of ping req to send help description. */
+ int pingquiet_flag;
+ /**< @brief Do not print ping packet info (default=off). */
+ const char *pingquiet_help;
+ /**< @brief Do not print ping packet info help description. */
+
+ unsigned int help_given;
+ /**< @brief Whether help was given. */
+ unsigned int version_given;
+ /**< @brief Whether version was given. */
+ unsigned int debug_given;
+ /**< @brief Whether debug was given. */
+ unsigned int conf_given;
+ /**< @brief Whether conf was given. */
+ unsigned int pidfile_given;
+ /**< @brief Whether pidfile was given. */
+ unsigned int statedir_given;
+ /**< @brief Whether statedir was given. */
+ unsigned int dns_given;
+ /**< @brief Whether dns was given. */
+ unsigned int listen_given;
+ /**< @brief Whether listen was given. */
+ unsigned int remote_given;
+ /**< @brief Whether remote was given. */
+ unsigned int contexts_given;
+ /**< @brief Whether contexts was given. */
+ unsigned int timelimit_given;
+ /**< @brief Whether timelimit was given. */
+ unsigned int gtpversion_given;
+ /**< @brief Whether gtpversion was given. */
+ unsigned int apn_given;
+ /**< @brief Whether apn was given. */
+ unsigned int selmode_given;
+ /**< @brief Whether selmode was given. */
+ unsigned int rattype_given;
+ /**< @brief Whether rattype was given. */
+ unsigned int userloc_given;
+ /**< @brief Whether userloc was given. */
+ unsigned int rai_given;
+ /**< @brief Whether rai was given. */
+ unsigned int mstz_given;
+ /**< @brief Whether mstz was given. */
+ unsigned int imeisv_given;
+ /**< @brief Whether imeisv was given. */
+ unsigned int norecovery_given;
+ /**< @brief Whether norecovery was given. */
+ unsigned int imsi_given;
+ /**< @brief Whether imsi was given. */
+ unsigned int nsapi_given;
+ /**< @brief Whether nsapi was given. */
+ unsigned int msisdn_given;
+ /**< @brief Whether msisdn was given. */
+ unsigned int qos_given;
+ /**< @brief Whether qos was given. */
+ unsigned int qose1_given;
+ /**< @brief Whether qose1 was given. */
+ unsigned int qose2_given;
+ /**< @brief Whether qose2 was given. */
+ unsigned int qose3_given;
+ /**< @brief Whether qose3 was given. */
+ unsigned int qose4_given;
+ /**< @brief Whether qose4 was given. */
+ unsigned int charging_given;
+ /**< @brief Whether charging was given. */
+ unsigned int uid_given;
+ /**< @brief Whether uid was given. */
+ unsigned int pwd_given;
+ /**< @brief Whether pwd was given. */
+ unsigned int createif_given;
+ /**< @brief Whether createif was given. */
+ unsigned int net_given;
+ /**< @brief Whether net was given. */
+ unsigned int defaultroute_given;
+ /**< @brief Whether defaultroute was given. */
+ unsigned int ipup_given;
+ /**< @brief Whether ipup was given. */
+ unsigned int ipdown_given;
+ /**< @brief Whether ipdown was given. */
+ unsigned int pinghost_given;
+ /**< @brief Whether pinghost was given. */
+ unsigned int pingrate_given;
+ /**< @brief Whether pingrate was given. */
+ unsigned int pingsize_given;
+ /**< @brief Whether pingsize was given. */
+ unsigned int pingcount_given;
+ /**< @brief Whether pingcount was given. */
+ unsigned int pingquiet_given;
+ /**< @brief Whether pingquiet was given. */
+
+ };
+/** @brief The additional parameters to pass to parser functions */
+ struct cmdline_parser_params {
+ int override;
+ /**< @brief whether to override possibly already present options (default 0) */
+ int initialize;
+ /**< @brief whether to initialize the option structure gengetopt_args_info (default 1) */
+ int check_required;
+ /**< @brief whether to check that all required options were provided (default 1) */
+ int check_ambiguity;
+ /**< @brief whether to check for options already specified in the option structure gengetopt_args_info (default 0) */
+ int print_errors;
+ /**< @brief whether getopt_long should print an error message for a bad option (default 1) */
};
+/** @brief the purpose string of the program */
extern const char *gengetopt_args_info_purpose;
+/** @brief the usage string of the program */
extern const char *gengetopt_args_info_usage;
+/** @brief the description string of the program */
+ extern const char *gengetopt_args_info_description;
+/** @brief all the lines making the help output */
extern const char *gengetopt_args_info_help[];
- int cmdline_parser(int argc, char *const *argv,
+/**
+ * The command line parser
+ * @param argc the number of command line options
+ * @param argv the command line options
+ * @param args_info the structure where option information will be stored
+ * @return 0 if everything went fine, NON 0 if an error took place
+ */
+ int cmdline_parser(int argc, char **argv,
struct gengetopt_args_info *args_info);
- int cmdline_parser2(int argc, char *const *argv,
+
+/**
+ * The command line parser (version with additional parameters - deprecated)
+ * @param argc the number of command line options
+ * @param argv the command line options
+ * @param args_info the structure where option information will be stored
+ * @param override whether to override possibly already present options
+ * @param initialize whether to initialize the option structure my_args_info
+ * @param check_required whether to check that all required options were provided
+ * @return 0 if everything went fine, NON 0 if an error took place
+ * @deprecated use cmdline_parser_ext() instead
+ */
+ int cmdline_parser2(int argc, char **argv,
struct gengetopt_args_info *args_info,
int override, int initialize, int check_required);
+
+/**
+ * The command line parser (version with additional parameters)
+ * @param argc the number of command line options
+ * @param argv the command line options
+ * @param args_info the structure where option information will be stored
+ * @param params additional parameters for the parser
+ * @return 0 if everything went fine, NON 0 if an error took place
+ */
+ int cmdline_parser_ext(int argc, char **argv,
+ struct gengetopt_args_info *args_info,
+ struct cmdline_parser_params *params);
+
+/**
+ * Save the contents of the option struct into an already open FILE stream.
+ * @param outfile the stream where to dump options
+ * @param args_info the option struct to dump
+ * @return 0 if everything went fine, NON 0 if an error took place
+ */
+ int cmdline_parser_dump(FILE * outfile,
+ struct gengetopt_args_info *args_info);
+
+/**
+ * Save the contents of the option struct into a (text) file.
+ * This file can be read by the config file parser (if generated by gengetopt)
+ * @param filename the file where to save
+ * @param args_info the option struct to save
+ * @return 0 if everything went fine, NON 0 if an error took place
+ */
int cmdline_parser_file_save(const char *filename,
struct gengetopt_args_info *args_info);
+/**
+ * Print the help
+ */
void cmdline_parser_print_help(void);
+/**
+ * Print the version
+ */
void cmdline_parser_print_version(void);
+/**
+ * Initializes all the fields a cmdline_parser_params structure
+ * to their default values
+ * @param params the structure to initialize
+ */
+ void cmdline_parser_params_init(struct cmdline_parser_params *params);
+
+/**
+ * Allocates dynamically a cmdline_parser_params structure and initializes
+ * all its fields to their default values
+ * @return the created and initialized cmdline_parser_params structure
+ */
+ struct cmdline_parser_params *cmdline_parser_params_create(void);
+
+/**
+ * Initializes the passed gengetopt_args_info structure's fields
+ * (also set default values for options that have a default)
+ * @param args_info the structure to initialize
+ */
void cmdline_parser_init(struct gengetopt_args_info *args_info);
+/**
+ * Deallocates the string fields of the gengetopt_args_info structure
+ * (but does not deallocate the structure itself)
+ * @param args_info the structure to deallocate
+ */
void cmdline_parser_free(struct gengetopt_args_info *args_info);
- int cmdline_parser_configfile(char *const filename,
+/**
+ * The config file parser (deprecated version)
+ * @param filename the name of the config file
+ * @param args_info the structure where option information will be stored
+ * @param override whether to override possibly already present options
+ * @param initialize whether to initialize the option structure my_args_info
+ * @param check_required whether to check that all required options were provided
+ * @return 0 if everything went fine, NON 0 if an error took place
+ * @deprecated use cmdline_parser_config_file() instead
+ */
+ int cmdline_parser_configfile(const char *filename,
struct gengetopt_args_info *args_info,
int override, int initialize,
int check_required);
+/**
+ * The config file parser
+ * @param filename the name of the config file
+ * @param args_info the structure where option information will be stored
+ * @param params additional parameters for the parser
+ * @return 0 if everything went fine, NON 0 if an error took place
+ */
+ int cmdline_parser_config_file(const char *filename,
+ struct gengetopt_args_info *args_info,
+ struct cmdline_parser_params *params);
+
+/**
+ * Checks that all the required options were specified
+ * @param args_info the structure to check
+ * @param prog_name the name of the program that will be used to print
+ * possible errors
+ * @return
+ */
int cmdline_parser_required(struct gengetopt_args_info *args_info,
const char *prog_name);