Linux-libre 5.3-gnu
[librecmc/linux-libre.git] / tools / testing / selftests / bpf / trace_helpers.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __TRACE_HELPER_H
3 #define __TRACE_HELPER_H
4
5 #include <libbpf.h>
6 #include <linux/perf_event.h>
7
8 struct ksym {
9         long addr;
10         char *name;
11 };
12
13 int load_kallsyms(void);
14 struct ksym *ksym_search(long key);
15 long ksym_get_addr(const char *name);
16
17 typedef enum bpf_perf_event_ret (*perf_event_print_fn)(void *data, int size);
18
19 int perf_event_mmap(int fd);
20 int perf_event_mmap_header(int fd, struct perf_event_mmap_page **header);
21 /* return LIBBPF_PERF_EVENT_DONE or LIBBPF_PERF_EVENT_ERROR */
22 int perf_event_poller(int fd, perf_event_print_fn output_fn);
23 int perf_event_poller_multi(int *fds, struct perf_event_mmap_page **headers,
24                             int num_fds, perf_event_print_fn output_fn);
25 #endif