diff options
Diffstat (limited to 'tools/lib/bpf/libbpf.h')
| -rw-r--r-- | tools/lib/bpf/libbpf.h | 20 | 
1 files changed, 18 insertions, 2 deletions
| diff --git a/tools/lib/bpf/libbpf.h b/tools/lib/bpf/libbpf.h index 09976531aa74..96c55fac54c3 100644 --- a/tools/lib/bpf/libbpf.h +++ b/tools/lib/bpf/libbpf.h @@ -66,7 +66,13 @@ void libbpf_set_print(libbpf_print_fn_t warn,  /* Hide internal to user */  struct bpf_object; +struct bpf_object_open_attr { +	const char *file; +	enum bpf_prog_type prog_type; +}; +  struct bpf_object *bpf_object__open(const char *path); +struct bpf_object *bpf_object__open_xattr(struct bpf_object_open_attr *attr);  struct bpf_object *bpf_object__open_buffer(void *obj_buf,  					   size_t obj_buf_sz,  					   const char *name); @@ -80,6 +86,9 @@ const char *bpf_object__name(struct bpf_object *obj);  unsigned int bpf_object__kversion(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);  #define bpf_object__for_each_safe(pos, tmp)			\  	for ((pos) = bpf_object__next(NULL),		\ @@ -92,6 +101,9 @@ int bpf_object__set_priv(struct bpf_object *obj, void *priv,  			 bpf_object_clear_priv_t clear_priv);  void *bpf_object__priv(struct bpf_object *prog); +int libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type, +			     enum bpf_attach_type *expected_attach_type); +  /* Accessors of bpf_program */  struct bpf_program;  struct bpf_program *bpf_program__next(struct bpf_program *prog, @@ -109,6 +121,7 @@ int bpf_program__set_priv(struct bpf_program *prog, void *priv,  			  bpf_program_clear_priv_t clear_priv);  void *bpf_program__priv(struct bpf_program *prog); +void bpf_program__set_ifindex(struct bpf_program *prog, __u32 ifindex);  const char *bpf_program__title(struct bpf_program *prog, bool needs_copy); @@ -244,13 +257,16 @@ bpf_map__next(struct bpf_map *map, struct bpf_object *obj);  int bpf_map__fd(struct bpf_map *map);  const struct bpf_map_def *bpf_map__def(struct bpf_map *map);  const char *bpf_map__name(struct bpf_map *map); -uint32_t bpf_map__btf_key_type_id(const struct bpf_map *map); -uint32_t bpf_map__btf_value_type_id(const struct bpf_map *map); +__u32 bpf_map__btf_key_type_id(const struct bpf_map *map); +__u32 bpf_map__btf_value_type_id(const struct bpf_map *map);  typedef void (*bpf_map_clear_priv_t)(struct bpf_map *, void *);  int bpf_map__set_priv(struct bpf_map *map, void *priv,  		      bpf_map_clear_priv_t clear_priv);  void *bpf_map__priv(struct bpf_map *map); +int bpf_map__reuse_fd(struct bpf_map *map, int fd); +bool bpf_map__is_offload_neutral(struct bpf_map *map); +void bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex);  int bpf_map__pin(struct bpf_map *map, const char *path);  long libbpf_get_error(const void *ptr); |