diff options
author | Harald Welte <laforge@gnumonks.org> | 2017-10-15 16:01:08 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@2a01:4f8:191:444b:0:0:2:12> | 2017-10-15 16:01:08 +0000 |
commit | 226e95af1fd04d12b96af9947a96e3e266390ae5 (patch) | |
tree | 64c2375cc7e4ff24d4082ea4f9dce693b9dff85b | |
parent | 081f30cba4ff6c38f3a135e77856f49e4a0c6e0b (diff) | |
parent | ea0c26a4361f9b4d623678ba5beacebbcb621c83 (diff) |
Merge "sgsnemu: Make use of "dependon" feature in gengetopt"
-rw-r--r-- | sgsnemu/cmdline.c | 48 | ||||
-rw-r--r-- | sgsnemu/cmdline.ggo | 17 |
2 files changed, 57 insertions, 8 deletions
diff --git a/sgsnemu/cmdline.c b/sgsnemu/cmdline.c index 441322b..1c02baa 100644 --- a/sgsnemu/cmdline.c +++ b/sgsnemu/cmdline.c @@ -676,12 +676,60 @@ cmdline_parser_required2(struct gengetopt_args_info *args_info, /* checks for required options */ /* checks for dependences among options */ + if (args_info->net_given && !args_info->createif_given) { + fprintf(stderr, + "%s: '--net' ('-n') option depends on option 'createif'%s\n", + prog_name, (additional_error ? additional_error : "")); + error_occurred = 1; + } + if (args_info->defaultroute_given && !args_info->createif_given) { + fprintf(stderr, + "%s: '--defaultroute' option depends on option 'createif'%s\n", + prog_name, (additional_error ? additional_error : "")); + error_occurred = 1; + } + if (args_info->ipup_given && !args_info->createif_given) { + fprintf(stderr, + "%s: '--ipup' option depends on option 'createif'%s\n", + prog_name, (additional_error ? additional_error : "")); + error_occurred = 1; + } + if (args_info->ipdown_given && !args_info->createif_given) { + fprintf(stderr, + "%s: '--ipdown' option depends on option 'createif'%s\n", + prog_name, (additional_error ? additional_error : "")); + error_occurred = 1; + } if (args_info->tun_device_given && !args_info->createif_given) { fprintf(stderr, "%s: '--tun-device' option depends on option 'createif'%s\n", prog_name, (additional_error ? additional_error : "")); error_occurred = 1; } + if (args_info->pingrate_given && !args_info->pinghost_given) { + fprintf(stderr, + "%s: '--pingrate' option depends on option 'pinghost'%s\n", + prog_name, (additional_error ? additional_error : "")); + error_occurred = 1; + } + if (args_info->pingsize_given && !args_info->pinghost_given) { + fprintf(stderr, + "%s: '--pingsize' option depends on option 'pinghost'%s\n", + prog_name, (additional_error ? additional_error : "")); + error_occurred = 1; + } + if (args_info->pingcount_given && !args_info->pinghost_given) { + fprintf(stderr, + "%s: '--pingcount' option depends on option 'pinghost'%s\n", + prog_name, (additional_error ? additional_error : "")); + error_occurred = 1; + } + if (args_info->pingquiet_given && !args_info->pinghost_given) { + fprintf(stderr, + "%s: '--pingquiet' option depends on option 'pinghost'%s\n", + prog_name, (additional_error ? additional_error : "")); + error_occurred = 1; + } return error_occurred; } diff --git a/sgsnemu/cmdline.ggo b/sgsnemu/cmdline.ggo index 7592eb5..8136d3a 100644 --- a/sgsnemu/cmdline.ggo +++ b/sgsnemu/cmdline.ggo @@ -50,16 +50,17 @@ option "uid" u "Login user ID" string default="mig" n option "pwd" p "Login password" string default="hemmelig" no option "createif" - "Create local network interface" flag off -option "net" n "Network address for local interface" string no -option "defaultroute" - "Create default route" flag off -option "ipup" - "Script to run after link-up" string no -option "ipdown" - "Script to run after link-down" string no +option "net" n "Network address for local interface" string dependon="createif" no +option "defaultroute" - "Create default route" flag dependon="createif" off +option "ipup" - "Script to run after link-up" string dependon="createif" no +option "ipdown" - "Script to run after link-down" string dependon="createif" no option "tun-device" - "Name of the local network interface" string dependon="createif" no option "pinghost" - "Ping remote host" string no -option "pingrate" - "Number of ping req per second" int default="1" no -option "pingsize" - "Number of ping data bytes" int default="56" no -option "pingcount" - "Number of ping req to send" int default="0" no -option "pingquiet" - "Do not print ping packet info" flag off +option "pingrate" - "Number of ping req per second" int default="1" dependon="pinghost" no +option "pingsize" - "Number of ping data bytes" int default="56" dependon="pinghost" no +option "pingcount" - "Number of ping req to send" int default="0" dependon="pinghost" no +option "pingquiet" - "Do not print ping packet info" flag dependon="pinghost" off + option "no-tx-gpdu-seq" - "Don't transmit G-PDU sequence nums" flag off option "pdp-type" t "PDP Type" string default="v4" no typestr="(v4|v6)" |