libbpf: add btf_dump API for BTF-to-C conversion
authorAndrii Nakryiko <andriin@fb.com>
Fri, 24 May 2019 18:59:03 +0000 (11:59 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 24 May 2019 21:05:58 +0000 (14:05 -0700)
commit351131b51c7a27daf0fbdce80b619b8d130374c6
treea6dc197b7f4fa83f8b8b83b6c19460a79a0feea4
parent2fc3fc0bcdcc5429947d1e5ed8f6f0a77ba80997
libbpf: add btf_dump API for BTF-to-C conversion

BTF contains enough type information to allow generating valid
compilable C header w/ correct layout of structs/unions and all the
typedef/enum definitions. This patch adds a new "object" - btf_dump to
facilitate dumping BTF as valid C. btf_dump__dump_type() is the main API
which takes care of dumping out (through user-provided printf-like
callback function) C definitions for given type ID and it's required
dependencies. This allows for not just dumping out entirety of BTF types,
but also selective filtering based on user-provided criterias w/ minimal
set of dependent types.

Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/lib/bpf/Build
tools/lib/bpf/btf.h
tools/lib/bpf/btf_dump.c [new file with mode: 0644]
tools/lib/bpf/libbpf.map