trace_helpers.h 727 B

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