Home | History | Annotate | Download | only in bpf
      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
     26