#include <unistd.h>
 #include <sys/file.h>
 #include <sys/time.h>
-#include <sys/resource.h>
 #include <linux/err.h>
 #include <linux/zalloc.h>
-#include <bpf/bpf.h>
-#include <bpf/btf.h>
-#include <bpf/libbpf.h>
 #include <api/fs/fs.h>
 #include <perf/bpf_perf.h>
 
        return (void *)(unsigned long)ptr;
 }
 
-static void set_max_rlimit(void)
-{
-       struct rlimit rinf = { RLIM_INFINITY, RLIM_INFINITY };
-
-       setrlimit(RLIMIT_MEMLOCK, &rinf);
-}
-
 static struct bpf_counter *bpf_counter_alloc(void)
 {
        struct bpf_counter *counter;
        .install_pe = bpf_program_profiler__install_pe,
 };
 
-static __u32 bpf_link_get_id(int fd)
-{
-       struct bpf_link_info link_info = {0};
-       __u32 link_info_len = sizeof(link_info);
-
-       bpf_obj_get_info_by_fd(fd, &link_info, &link_info_len);
-       return link_info.id;
-}
-
-static __u32 bpf_link_get_prog_id(int fd)
-{
-       struct bpf_link_info link_info = {0};
-       __u32 link_info_len = sizeof(link_info);
-
-       bpf_obj_get_info_by_fd(fd, &link_info, &link_info_len);
-       return link_info.prog_id;
-}
-
-static __u32 bpf_map_get_id(int fd)
-{
-       struct bpf_map_info map_info = {0};
-       __u32 map_info_len = sizeof(map_info);
-
-       bpf_obj_get_info_by_fd(fd, &map_info, &map_info_len);
-       return map_info.id;
-}
-
 static bool bperf_attr_map_compatible(int attr_map_fd)
 {
        struct bpf_map_info map_info = {0};
        return map_fd;
 }
 
-/* trigger the leader program on a cpu */
-static int bperf_trigger_reading(int prog_fd, int cpu)
-{
-       DECLARE_LIBBPF_OPTS(bpf_test_run_opts, opts,
-                           .ctx_in = NULL,
-                           .ctx_size_in = 0,
-                           .flags = BPF_F_TEST_RUN_ON_CPU,
-                           .cpu = cpu,
-                           .retval = 0,
-               );
-
-       return bpf_prog_test_run_opts(prog_fd, &opts);
-}
-
 static int bperf_check_target(struct evsel *evsel,
                              struct target *target,
                              enum bperf_filter_type *filter_type,
 
 #define __PERF_BPF_COUNTER_H 1
 
 #include <linux/list.h>
+#include <sys/resource.h>
+#include <bpf/bpf.h>
+#include <bpf/btf.h>
+#include <bpf/libbpf.h>
 
 struct evsel;
 struct target;
 
 #endif /* HAVE_BPF_SKEL */
 
+static inline void set_max_rlimit(void)
+{
+       struct rlimit rinf = { RLIM_INFINITY, RLIM_INFINITY };
+
+       setrlimit(RLIMIT_MEMLOCK, &rinf);
+}
+
+static inline __u32 bpf_link_get_id(int fd)
+{
+       struct bpf_link_info link_info = { .id = 0, };
+       __u32 link_info_len = sizeof(link_info);
+
+       bpf_obj_get_info_by_fd(fd, &link_info, &link_info_len);
+       return link_info.id;
+}
+
+static inline __u32 bpf_link_get_prog_id(int fd)
+{
+       struct bpf_link_info link_info = { .id = 0, };
+       __u32 link_info_len = sizeof(link_info);
+
+       bpf_obj_get_info_by_fd(fd, &link_info, &link_info_len);
+       return link_info.prog_id;
+}
+
+static inline __u32 bpf_map_get_id(int fd)
+{
+       struct bpf_map_info map_info = { .id = 0, };
+       __u32 map_info_len = sizeof(map_info);
+
+       bpf_obj_get_info_by_fd(fd, &map_info, &map_info_len);
+       return map_info.id;
+}
+
+/* trigger the leader program on a cpu */
+static inline int bperf_trigger_reading(int prog_fd, int cpu)
+{
+       DECLARE_LIBBPF_OPTS(bpf_test_run_opts, opts,
+                           .ctx_in = NULL,
+                           .ctx_size_in = 0,
+                           .flags = BPF_F_TEST_RUN_ON_CPU,
+                           .cpu = cpu,
+                           .retval = 0,
+               );
+
+       return bpf_prog_test_run_opts(prog_fd, &opts);
+}
+
 #endif /* __PERF_BPF_COUNTER_H */