aboutsummaryrefslogtreecommitdiffstats
path: root/ggsn/cmdline.c
diff options
context:
space:
mode:
Diffstat (limited to 'ggsn/cmdline.c')
-rw-r--r--ggsn/cmdline.c39
1 files changed, 28 insertions, 11 deletions
diff --git a/ggsn/cmdline.c b/ggsn/cmdline.c
index 37ed992..a4c25d8 100644
--- a/ggsn/cmdline.c
+++ b/ggsn/cmdline.c
@@ -1,5 +1,5 @@
/*
- File autogenerated by gengetopt version 2.22.6
+ File autogenerated by gengetopt version 2.22.5
generated with the following command:
gengetopt --conf-parser
@@ -29,8 +29,6 @@ const char *gengetopt_args_info_purpose = "";
const char *gengetopt_args_info_usage = "Usage: " CMDLINE_PARSER_PACKAGE " [OPTIONS]...";
-const char *gengetopt_args_info_versiontext = "";
-
const char *gengetopt_args_info_description = "";
const char *gengetopt_args_info_help[] = {
@@ -39,8 +37,8 @@ const char *gengetopt_args_info_help[] = {
" -f, --fg Run in foreground (default=off)",
" -d, --debug Run in debug mode (default=off)",
" -c, --conf=STRING Read configuration file (default=`/etc/ggsn.conf')",
- " --pidfile=STRING Filename of process id file\n (default=`/var/run/ggsn.pid')",
- " --statedir=STRING Directory of nonvolatile data\n (default=`/var/lib/ggsn/')",
+ " --pidfile=STRING Filename of process id file \n (default=`/var/run/ggsn.pid')",
+ " --statedir=STRING Directory of nonvolatile data \n (default=`/var/lib/ggsn/')",
" -l, --listen=STRING Local interface",
" -n, --net=STRING Network (default=`192.168.0.0/24')",
" --ipup=STRING Script to run after link-up",
@@ -54,6 +52,7 @@ const char *gengetopt_args_info_help[] = {
" -q, --qos=INT Requested quality of service (default=`0x0b921f')",
" --logfile=STRING Logfile for errors",
" --loglevel=STRING Global log ldevel (default=`error')",
+ " -g, --gtpnl=STRING GTP kernel support (default=`eth0')",
0
};
@@ -123,6 +122,7 @@ void clear_given (struct gengetopt_args_info *args_info)
args_info->qos_given = 0 ;
args_info->logfile_given = 0 ;
args_info->loglevel_given = 0 ;
+ args_info->gtpnl_given = 0 ;
}
static
@@ -163,6 +163,8 @@ void clear_args (struct gengetopt_args_info *args_info)
args_info->logfile_orig = NULL;
args_info->loglevel_arg = gengetopt_strdup ("error");
args_info->loglevel_orig = NULL;
+ args_info->gtpnl_arg = gengetopt_strdup ("eth0");
+ args_info->gtpnl_orig = NULL;
}
@@ -191,6 +193,7 @@ void init_args_info(struct gengetopt_args_info *args_info)
args_info->qos_help = gengetopt_args_info_help[17] ;
args_info->logfile_help = gengetopt_args_info_help[18] ;
args_info->loglevel_help = gengetopt_args_info_help[19] ;
+ args_info->gtpnl_help = gengetopt_args_info_help[19] ;
}
@@ -200,9 +203,6 @@ cmdline_parser_print_version (void)
printf ("%s %s\n",
(strlen(CMDLINE_PARSER_PACKAGE_NAME) ? CMDLINE_PARSER_PACKAGE_NAME : CMDLINE_PARSER_PACKAGE),
CMDLINE_PARSER_VERSION);
-
- if (strlen(gengetopt_args_info_versiontext) > 0)
- printf("\n%s\n", gengetopt_args_info_versiontext);
}
static void print_help_common(void) {
@@ -304,6 +304,8 @@ cmdline_parser_release (struct gengetopt_args_info *args_info)
free_string_field (&(args_info->logfile_orig));
free_string_field (&(args_info->loglevel_arg));
free_string_field (&(args_info->loglevel_orig));
+ free_string_field (&(args_info->gtpnl_arg));
+ free_string_field (&(args_info->gtpnl_orig));
@@ -374,6 +376,8 @@ cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
write_into_file(outfile, "logfile", args_info->logfile_orig, 0);
if (args_info->loglevel_given)
write_into_file(outfile, "loglevel", args_info->loglevel_orig, 0);
+ if (args_info->gtpnl_given)
+ write_into_file(outfile, "gtpnl", args_info->gtpnl_orig, 0);
i = EXIT_SUCCESS;
@@ -598,7 +602,7 @@ cmdline_parser_internal (
{
int c; /* Character of the parsed option. */
- int error_occurred = 0;
+ int error = 0;
struct gengetopt_args_info local_args_info;
int override;
@@ -648,10 +652,11 @@ cmdline_parser_internal (
{ "qos", 1, NULL, 'q' },
{ "logfile", 1, NULL, 0 },
{ "loglevel", 1, NULL, 0 },
+ { "gtpnl", 1, NULL, 'g' },
{ 0, 0, 0, 0 }
};
- c = getopt_long (argc, argv, "hVfdc:l:n:a:q:", long_options, &option_index);
+ c = getopt_long (argc, argv, "hVfdc:l:n:a:q:g:", long_options, &option_index);
if (c == -1) break; /* Exit from `while (1)' loop. */
@@ -747,6 +752,18 @@ cmdline_parser_internal (
goto failure;
break;
+ case 'g': /* GTP kernel support. */
+
+
+ if (update_arg( (void *)&(args_info->gtpnl_arg),
+ &(args_info->gtpnl_orig), &(args_info->gtpnl_given),
+ &(local_args_info.gtpnl_given), optarg, 0, "eth0", ARG_STRING,
+ check_ambiguity, override, 0, 0,
+ "gtpnl", 'g',
+ additional_error))
+ goto failure;
+
+ break;
case 0: /* Long option with no short option */
/* Filename of process id file. */
@@ -920,7 +937,7 @@ cmdline_parser_internal (
cmdline_parser_release (&local_args_info);
- if ( error_occurred )
+ if ( error )
return (EXIT_FAILURE);
return 0;