]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/shared/bpf-dlopen.h
mkosi: update arch commit reference
[thirdparty/systemd.git] / src / shared / bpf-dlopen.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3
4 #if HAVE_LIBBPF
5
6 #include <bpf/bpf.h>
7 #include <bpf/libbpf.h>
8
9 #include "bpf-compat.h"
10 #include "dlfcn-util.h"
11
12 DLSYM_PROTOTYPE(bpf_link__destroy);
13 DLSYM_PROTOTYPE(bpf_link__fd);
14 DLSYM_PROTOTYPE(bpf_link__open);
15 DLSYM_PROTOTYPE(bpf_link__pin);
16 DLSYM_PROTOTYPE(bpf_map__fd);
17 DLSYM_PROTOTYPE(bpf_map__name);
18 DLSYM_PROTOTYPE(bpf_map__set_inner_map_fd);
19 DLSYM_PROTOTYPE(bpf_map__set_max_entries);
20 DLSYM_PROTOTYPE(bpf_map__set_pin_path);
21 DLSYM_PROTOTYPE(bpf_map_delete_elem);
22 DLSYM_PROTOTYPE(bpf_map_get_fd_by_id);
23 DLSYM_PROTOTYPE(bpf_map_lookup_elem);
24 DLSYM_PROTOTYPE(bpf_map_update_elem);
25 /* The *_skeleton APIs are autogenerated by bpftool, the targets can be found
26 * in ./build/src/core/bpf/socket_bind/socket-bind.skel.h */
27 DLSYM_PROTOTYPE(bpf_object__attach_skeleton);
28 DLSYM_PROTOTYPE(bpf_object__destroy_skeleton);
29 DLSYM_PROTOTYPE(bpf_object__detach_skeleton);
30 DLSYM_PROTOTYPE(bpf_object__load_skeleton);
31 DLSYM_PROTOTYPE(bpf_object__name);
32 DLSYM_PROTOTYPE(bpf_object__open_skeleton);
33 DLSYM_PROTOTYPE(bpf_object__pin_maps);
34 DLSYM_PROTOTYPE(bpf_program__attach);
35 DLSYM_PROTOTYPE(bpf_program__attach_cgroup);
36 DLSYM_PROTOTYPE(bpf_program__attach_lsm);
37 DLSYM_PROTOTYPE(bpf_program__name);
38 DLSYM_PROTOTYPE(libbpf_get_error);
39 DLSYM_PROTOTYPE(libbpf_set_print);
40 DLSYM_PROTOTYPE(ring_buffer__epoll_fd);
41 DLSYM_PROTOTYPE(ring_buffer__free);
42 DLSYM_PROTOTYPE(ring_buffer__new);
43 DLSYM_PROTOTYPE(ring_buffer__poll);
44
45 #endif
46
47 int dlopen_bpf(void);