aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib/bpf/libbpf.h
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2019-02-01 16:14:14 -0800
committerAlexei Starovoitov <ast@kernel.org>2019-02-04 09:40:58 -0800
commit8461ef8b7ef286212ca954d8b82dac3ceecb219d (patch)
tree3bcd5c6a65655d88808ed72815e0e68f8cf02dd9 /tools/lib/bpf/libbpf.h
parentsocket: fix for Add SO_TIMESTAMP[NS]_NEW (diff)
downloadlinux-dev-8461ef8b7ef286212ca954d8b82dac3ceecb219d.tar.xz
linux-dev-8461ef8b7ef286212ca954d8b82dac3ceecb219d.zip
tools/bpf: move libbpf pr_* debug print functions to headers
A global function libbpf_print, which is invisible outside the shared library, is defined to print based on levels. The pr_warning, pr_info and pr_debug macros are moved into the newly created header common.h. So any .c file including common.h can use these macros directly. Currently btf__new and btf_ext__new API has an argument getting __pr_debug function pointer into btf.c so the debugging information can be printed there. This patch removed this parameter from btf__new and btf_ext__new and directly using pr_debug in btf.c. Another global function libbpf_print_level_available, also invisible outside the shared library, can test whether a particular level debug printing is available or not. It is used in btf.c to test whether DEBUG level debug printing is availabl or not, based on which the log buffer will be allocated when loading btf to the kernel. Signed-off-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/lib/bpf/libbpf.h')
-rw-r--r--tools/lib/bpf/libbpf.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/lib/bpf/libbpf.h b/tools/lib/bpf/libbpf.h
index 43c77e98df6f..0fb32cc04633 100644
--- a/tools/lib/bpf/libbpf.h
+++ b/tools/lib/bpf/libbpf.h
@@ -47,6 +47,12 @@ enum libbpf_errno {
LIBBPF_API int libbpf_strerror(int err, char *buf, size_t size);
+enum libbpf_print_level {
+ LIBBPF_WARN,
+ LIBBPF_INFO,
+ LIBBPF_DEBUG,
+};
+
/*
* __printf is defined in include/linux/compiler-gcc.h. However,
* it would be better if libbpf.h didn't depend on Linux header files.