Commit a2bc2e5c authored by Quentin Monnet's avatar Quentin Monnet Committed by David S. Miller

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: default avatarQuentin Monnet <quentin.monnet@netronome.com>
Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b66e907c
......@@ -68,6 +68,14 @@ DESCRIPTION
**bpftool map help**
Print short help message.
OPTIONS
=======
-h, --help
Print short generic help message (similar to **bpftool help**).
-v, --version
Print version number (similar to **bpftool version**).
EXAMPLES
========
**# bpftool map show**
......
......@@ -50,6 +50,14 @@ DESCRIPTION
**bpftool prog help**
Print short help message.
OPTIONS
=======
-h, --help
Print short generic help message (similar to **bpftool help**).
-v, --version
Print version number (similar to **bpftool version**).
EXAMPLES
========
**# bpftool prog show**
......
......@@ -31,6 +31,14 @@ DESCRIPTION
Note that format of the output of all tools is not guaranteed to be
stable and should not be depended upon.
OPTIONS
=======
-h, --help
Print short help message (similar to **bpftool help**).
-v, --version
Print version number (similar to **bpftool version**).
SEE ALSO
========
**bpftool-map**\ (8), **bpftool-prog**\ (8)
......@@ -36,6 +36,7 @@
#include <bfd.h>
#include <ctype.h>
#include <errno.h>
#include <getopt.h>
#include <linux/bpf.h>
#include <linux/version.h>
#include <stdio.h>
......@@ -215,8 +216,32 @@ static int do_batch(int argc, char **argv)
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();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment