ebpf.h 954 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * QEMU eBPF binary declaration routine.
  3. *
  4. * Developed by Daynix Computing LTD (http://www.daynix.com)
  5. *
  6. * Authors:
  7. * Andrew Melnychenko <andrew@daynix.com>
  8. *
  9. * SPDX-License-Identifier: GPL-2.0-or-later
  10. */
  11. #ifndef EBPF_H
  12. #define EBPF_H
  13. void ebpf_register_binary_data(int id, const void *data,
  14. size_t datalen);
  15. const void *ebpf_find_binary_by_id(int id, size_t *sz,
  16. struct Error **errp);
  17. #define ebpf_binary_init(id, fn) \
  18. static void __attribute__((constructor)) ebpf_binary_init_ ## fn(void) \
  19. { \
  20. size_t datalen = 0; \
  21. const void *data = fn(&datalen); \
  22. ebpf_register_binary_data(id, data, datalen); \
  23. }
  24. #endif /* EBPF_H */