Lines Matching defs:struct
46 struct bpf_iter__cgroup {
47 __bpf_md_ptr(struct bpf_iter_meta *, meta);
48 __bpf_md_ptr(struct cgroup *, cgroup);
51 struct cgroup_iter_priv {
52 struct cgroup_subsys_state *start_css;
58 static void *cgroup_iter_seq_start(struct seq_file *seq, loff_t *pos)
60 struct cgroup_iter_priv *p = seq->private;
88 static int __cgroup_iter_seq_show(struct seq_file *seq,
89 struct cgroup_subsys_state *css, int in_stop);
91 static void cgroup_iter_seq_stop(struct seq_file *seq, void *v)
93 struct cgroup_iter_priv *p = seq->private;
104 static void *cgroup_iter_seq_next(struct seq_file *seq, void *v, loff_t *pos)
106 struct cgroup_subsys_state *curr = (struct cgroup_subsys_state *)v;
107 struct cgroup_iter_priv *p = seq->private;
125 static int __cgroup_iter_seq_show(struct seq_file *seq,
126 struct cgroup_subsys_state *css, int in_stop)
128 struct cgroup_iter_priv *p = seq->private;
129 struct bpf_iter__cgroup ctx;
130 struct bpf_iter_meta meta;
131 struct bpf_prog *prog;
152 static int cgroup_iter_seq_show(struct seq_file *seq, void *v)
154 return __cgroup_iter_seq_show(seq, (struct cgroup_subsys_state *)v,
158 static const struct seq_operations cgroup_iter_seq_ops = {
165 BTF_ID_LIST_GLOBAL_SINGLE(bpf_cgroup_btf_id, struct, cgroup)
167 static int cgroup_iter_seq_init(void *priv, struct bpf_iter_aux_info *aux)
169 struct cgroup_iter_priv *p = (struct cgroup_iter_priv *)priv;
170 struct cgroup *cgrp = aux->cgroup.start;
187 struct cgroup_iter_priv *p = (struct cgroup_iter_priv *)priv;
192 static const struct bpf_iter_seq_info cgroup_iter_seq_info = {
196 .seq_priv_size = sizeof(struct cgroup_iter_priv),
199 static int bpf_iter_attach_cgroup(struct bpf_prog *prog,
201 struct bpf_iter_aux_info *aux)
206 struct cgroup *cgrp;
237 static void bpf_iter_detach_cgroup(struct bpf_iter_aux_info *aux)
242 static void bpf_iter_cgroup_show_fdinfo(const struct bpf_iter_aux_info *aux,
243 struct seq_file *seq)
276 static int bpf_iter_cgroup_fill_link_info(const struct bpf_iter_aux_info *aux,
277 struct bpf_link_info *info)
284 DEFINE_BPF_ITER_FUNC(cgroup, struct bpf_iter_meta *meta,
285 struct cgroup *cgroup)
287 static struct bpf_iter_reg bpf_cgroup_reg_info = {
296 { offsetof(struct bpf_iter__cgroup, cgroup),
310 struct bpf_iter_css {
314 struct bpf_iter_css_kern {
315 struct cgroup_subsys_state *start;
316 struct cgroup_subsys_state *pos;
322 __bpf_kfunc int bpf_iter_css_new(struct bpf_iter_css *it,
323 struct cgroup_subsys_state *start, unsigned int flags)
325 struct bpf_iter_css_kern *kit = (void *)it;
327 BUILD_BUG_ON(sizeof(struct bpf_iter_css_kern) > sizeof(struct bpf_iter_css));
328 BUILD_BUG_ON(__alignof__(struct bpf_iter_css_kern) != __alignof__(struct bpf_iter_css));
347 __bpf_kfunc struct cgroup_subsys_state *bpf_iter_css_next(struct bpf_iter_css *it)
349 struct bpf_iter_css_kern *kit = (void *)it;
371 __bpf_kfunc void bpf_iter_css_destroy(struct bpf_iter_css *it)