Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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**
+8 −0
Original line number Diff line number Diff line
@@ -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**
+8 −0
Original line number Diff line number Diff line
@@ -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)
+26 −1
Original line number Diff line number Diff line
@@ -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();