tools: libbpf: add bpf_object__find_program_by_title()
Allow users to find programs by section names. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
parent
1e960043e8
commit
6d4b198b0b
|
@ -873,6 +873,18 @@ bpf_object__find_prog_by_idx(struct bpf_object *obj, int idx)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct bpf_program *
|
||||||
|
bpf_object__find_program_by_title(struct bpf_object *obj, const char *title)
|
||||||
|
{
|
||||||
|
struct bpf_program *pos;
|
||||||
|
|
||||||
|
bpf_object__for_each_program(pos, obj) {
|
||||||
|
if (pos->section_name && !strcmp(pos->section_name, title))
|
||||||
|
return pos;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
bpf_program__collect_reloc(struct bpf_program *prog, GElf_Shdr *shdr,
|
bpf_program__collect_reloc(struct bpf_program *prog, GElf_Shdr *shdr,
|
||||||
Elf_Data *data, struct bpf_object *obj)
|
Elf_Data *data, struct bpf_object *obj)
|
||||||
|
|
|
@ -86,6 +86,9 @@ const char *bpf_object__name(struct bpf_object *obj);
|
||||||
unsigned int bpf_object__kversion(struct bpf_object *obj);
|
unsigned int bpf_object__kversion(struct bpf_object *obj);
|
||||||
int bpf_object__btf_fd(const struct bpf_object *obj);
|
int bpf_object__btf_fd(const struct bpf_object *obj);
|
||||||
|
|
||||||
|
struct bpf_program *
|
||||||
|
bpf_object__find_program_by_title(struct bpf_object *obj, const char *title);
|
||||||
|
|
||||||
struct bpf_object *bpf_object__next(struct bpf_object *prev);
|
struct bpf_object *bpf_object__next(struct bpf_object *prev);
|
||||||
#define bpf_object__for_each_safe(pos, tmp) \
|
#define bpf_object__for_each_safe(pos, tmp) \
|
||||||
for ((pos) = bpf_object__next(NULL), \
|
for ((pos) = bpf_object__next(NULL), \
|
||||||
|
|
Loading…
Reference in New Issue