bpf_load.h 694 B

123456789101112131415161718192021222324
  1. #ifndef __BPF_LOAD_H
  2. #define __BPF_LOAD_H
  3. #define MAX_MAPS 32
  4. #define MAX_PROGS 32
  5. extern int map_fd[MAX_MAPS];
  6. extern int prog_fd[MAX_PROGS];
  7. /* parses elf file compiled by llvm .c->.o
  8. * . parses 'maps' section and creates maps via BPF syscall
  9. * . parses 'license' section and passes it to syscall
  10. * . parses elf relocations for BPF maps and adjusts BPF_LD_IMM64 insns by
  11. * storing map_fd into insn->imm and marking such insns as BPF_PSEUDO_MAP_FD
  12. * . loads eBPF programs via BPF syscall
  13. *
  14. * One ELF file can contain multiple BPF programs which will be loaded
  15. * and their FDs stored stored in prog_fd array
  16. *
  17. * returns zero on success
  18. */
  19. int load_bpf_file(char *path);
  20. #endif