Lines Matching refs:prog

207 static void bpf_program__unload(struct bpf_program *prog)  in bpf_program__unload()  argument
209 if (!prog) in bpf_program__unload()
212 zclose(prog->fd); in bpf_program__unload()
215 static void bpf_program__exit(struct bpf_program *prog) in bpf_program__exit() argument
217 if (!prog) in bpf_program__exit()
220 if (prog->clear_priv) in bpf_program__exit()
221 prog->clear_priv(prog, prog->priv); in bpf_program__exit()
223 prog->priv = NULL; in bpf_program__exit()
224 prog->clear_priv = NULL; in bpf_program__exit()
226 bpf_program__unload(prog); in bpf_program__exit()
227 zfree(&prog->section_name); in bpf_program__exit()
228 zfree(&prog->insns); in bpf_program__exit()
229 zfree(&prog->reloc_desc); in bpf_program__exit()
231 prog->nr_reloc = 0; in bpf_program__exit()
232 prog->insns_cnt = 0; in bpf_program__exit()
233 prog->idx = -1; in bpf_program__exit()
238 struct bpf_program *prog) in bpf_program__init() argument
245 bzero(prog, sizeof(*prog)); in bpf_program__init()
247 prog->section_name = strdup(name); in bpf_program__init()
248 if (!prog->section_name) { in bpf_program__init()
254 prog->insns = malloc(size); in bpf_program__init()
255 if (!prog->insns) { in bpf_program__init()
259 prog->insns_cnt = size / sizeof(struct bpf_insn); in bpf_program__init()
260 memcpy(prog->insns, data, in bpf_program__init()
261 prog->insns_cnt * sizeof(struct bpf_insn)); in bpf_program__init()
262 prog->idx = idx; in bpf_program__init()
263 prog->fd = -1; in bpf_program__init()
267 bpf_program__exit(prog); in bpf_program__init()
275 struct bpf_program prog, *progs; in bpf_object__add_program() local
278 err = bpf_program__init(data, size, name, idx, &prog); in bpf_object__add_program()
294 bpf_program__exit(&prog); in bpf_object__add_program()
298 pr_debug("found program %s\n", prog.section_name); in bpf_object__add_program()
301 prog.obj = obj; in bpf_object__add_program()
302 progs[nr_progs] = prog; in bpf_object__add_program()
596 struct bpf_program *prog; in bpf_object__find_prog_by_idx() local
600 prog = &obj->programs[i]; in bpf_object__find_prog_by_idx()
601 if (prog->idx == idx) in bpf_object__find_prog_by_idx()
602 return prog; in bpf_object__find_prog_by_idx()
608 bpf_program__collect_reloc(struct bpf_program *prog, in bpf_program__collect_reloc() argument
615 prog->section_name); in bpf_program__collect_reloc()
618 prog->reloc_desc = malloc(sizeof(*prog->reloc_desc) * nrels); in bpf_program__collect_reloc()
619 if (!prog->reloc_desc) { in bpf_program__collect_reloc()
623 prog->nr_reloc = nrels; in bpf_program__collect_reloc()
629 struct bpf_insn *insns = prog->insns; in bpf_program__collect_reloc()
661 prog->reloc_desc[i].insn_idx = insn_idx; in bpf_program__collect_reloc()
662 prog->reloc_desc[i].map_idx = map_idx; in bpf_program__collect_reloc()
724 bpf_program__relocate(struct bpf_program *prog, int *map_fds) in bpf_program__relocate() argument
728 if (!prog || !prog->reloc_desc) in bpf_program__relocate()
731 for (i = 0; i < prog->nr_reloc; i++) { in bpf_program__relocate()
733 struct bpf_insn *insns = prog->insns; in bpf_program__relocate()
735 insn_idx = prog->reloc_desc[i].insn_idx; in bpf_program__relocate()
736 map_idx = prog->reloc_desc[i].map_idx; in bpf_program__relocate()
738 if (insn_idx >= (int)prog->insns_cnt) { in bpf_program__relocate()
740 prog->section_name); in bpf_program__relocate()
747 zfree(&prog->reloc_desc); in bpf_program__relocate()
748 prog->nr_reloc = 0; in bpf_program__relocate()
756 struct bpf_program *prog; in bpf_object__relocate() local
761 prog = &obj->programs[i]; in bpf_object__relocate()
763 err = bpf_program__relocate(prog, obj->map_fds); in bpf_object__relocate()
766 prog->section_name); in bpf_object__relocate()
786 struct bpf_program *prog; in bpf_object__collect_reloc() local
795 prog = bpf_object__find_prog_by_idx(obj, idx); in bpf_object__collect_reloc()
796 if (!prog) { in bpf_object__collect_reloc()
802 err = bpf_program__collect_reloc(prog, nr_maps, in bpf_object__collect_reloc()
860 bpf_program__load(struct bpf_program *prog, in bpf_program__load() argument
865 err = load_program(prog->insns, prog->insns_cnt, in bpf_program__load()
868 prog->fd = fd; in bpf_program__load()
872 prog->section_name); in bpf_program__load()
873 zfree(&prog->insns); in bpf_program__load()
874 prog->insns_cnt = 0; in bpf_program__load()
1088 int bpf_program__set_private(struct bpf_program *prog, in bpf_program__set_private() argument
1092 if (prog->priv && prog->clear_priv) in bpf_program__set_private()
1093 prog->clear_priv(prog, prog->priv); in bpf_program__set_private()
1095 prog->priv = priv; in bpf_program__set_private()
1096 prog->clear_priv = clear_priv; in bpf_program__set_private()
1100 int bpf_program__get_private(struct bpf_program *prog, void **ppriv) in bpf_program__get_private() argument
1102 *ppriv = prog->priv; in bpf_program__get_private()
1106 const char *bpf_program__title(struct bpf_program *prog, bool needs_copy) in bpf_program__title() argument
1110 title = prog->section_name; in bpf_program__title()
1122 int bpf_program__fd(struct bpf_program *prog) in bpf_program__fd() argument
1124 return prog->fd; in bpf_program__fd()