tools: bpftool: introduce --json and --pretty options

These two options can be used to ask for a JSON output (--j or -json),
and to make this JSON human-readable (-p or --pretty).

A json_writer object is created when JSON is required, and will be used
in follow-up commits to produce JSON output.

Note that --pretty implies --json.

Update for the manual pages and interactive help messages comes in a
later patch of the series.

Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Quentin Monnet
2017-10-23 09:24:07 -07:00
committed by David S. Miller
parent a2bc2e5c2c
commit d35efba99d
2 changed files with 35 additions and 3 deletions

View File

@@ -43,6 +43,8 @@
#include <linux/bpf.h>
#include <linux/kernel.h>
#include "json_writer.h"
#define err(msg...) fprintf(stderr, "Error: " msg)
#define warn(msg...) fprintf(stderr, "Warning: " msg)
#define info(msg...) fprintf(stderr, msg)
@@ -66,6 +68,9 @@ enum bpf_obj_type {
extern const char *bin_name;
extern json_writer_t *json_wtr;
extern bool json_output;
bool is_prefix(const char *pfx, const char *str);
void fprint_hex(FILE *f, void *arg, unsigned int n, const char *sep);
void usage(void) __attribute__((noreturn));