#include <linux/bpf.h>
#include <linux/fs.h>
#include <linux/filter.h>
#include <linux/kernel.h>
#include <linux/btf_ids.h>
struct bpf_iter_seq_link_info { … };
static void *bpf_link_seq_start(struct seq_file *seq, loff_t *pos)
{ … }
static void *bpf_link_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{ … }
struct bpf_iter__bpf_link { … };
DEFINE_BPF_ITER_FUNC(bpf_link, struct bpf_iter_meta *meta, struct bpf_link *link)
static int __bpf_link_seq_show(struct seq_file *seq, void *v, bool in_stop)
{ … }
static int bpf_link_seq_show(struct seq_file *seq, void *v)
{ … }
static void bpf_link_seq_stop(struct seq_file *seq, void *v)
{ … }
static const struct seq_operations bpf_link_seq_ops = …;
BTF_ID_LIST(btf_bpf_link_id)
BTF_ID(…)
static const struct bpf_iter_seq_info bpf_link_seq_info = …;
static struct bpf_iter_reg bpf_link_reg_info = …;
static int __init bpf_link_iter_init(void)
{ … }
late_initcall(bpf_link_iter_init);