bpf tools: Allow caller to set printing function
[linux-2.6-block.git] / tools / lib / bpf / libbpf.h
1 /*
2  * Common eBPF ELF object loading operations.
3  *
4  * Copyright (C) 2013-2015 Alexei Starovoitov <ast@kernel.org>
5  * Copyright (C) 2015 Wang Nan <wangnan0@huawei.com>
6  * Copyright (C) 2015 Huawei Inc.
7  */
8 #ifndef __BPF_LIBBPF_H
9 #define __BPF_LIBBPF_H
10
11 /*
12  * In include/linux/compiler-gcc.h, __printf is defined. However
13  * it should be better if libbpf.h doesn't depend on Linux header file.
14  * So instead of __printf, here we use gcc attribute directly.
15  */
16 typedef int (*libbpf_print_fn_t)(const char *, ...)
17         __attribute__((format(printf, 1, 2)));
18
19 void libbpf_set_print(libbpf_print_fn_t warn,
20                       libbpf_print_fn_t info,
21                       libbpf_print_fn_t debug);
22
23 #endif