From a2bc2e5c2c0604bf5366b5e56ef46335adaf7491 Mon Sep 17 00:00:00 2001 From: Quentin Monnet Date: Mon, 23 Oct 2017 09:24:06 -0700 Subject: tools: bpftool: add option parsing to bpftool, --help and --version Add an option parsing facility to bpftool, in prevision of future options for demanding JSON output. Currently, two options are added: --help and --version, that act the same as the respective commands `help` and `version`. Signed-off-by: Quentin Monnet Acked-by: Daniel Borkmann Signed-off-by: David S. Miller --- tools/bpf/bpftool/main.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'tools/bpf/bpftool/main.c') diff --git a/tools/bpf/bpftool/main.c b/tools/bpf/bpftool/main.c index 814d19e1b53f..613e3c75f78a 100644 --- a/tools/bpf/bpftool/main.c +++ b/tools/bpf/bpftool/main.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -215,8 +216,32 @@ err_close: int main(int argc, char **argv) { + static const struct option options[] = { + { "help", no_argument, NULL, 'h' }, + { "version", no_argument, NULL, 'V' }, + { 0 } + }; + int opt; + + last_do_help = do_help; bin_name = argv[0]; - NEXT_ARG(); + + while ((opt = getopt_long(argc, argv, "Vh", + options, NULL)) >= 0) { + switch (opt) { + case 'V': + return do_version(argc, argv); + case 'h': + return do_help(argc, argv); + default: + usage(); + } + } + + argc -= optind; + argv += optind; + if (argc < 0) + usage(); bfd_init(); -- cgit v1.2.3