Commit a324aae3 authored by Andrii Nakryiko's avatar Andrii Nakryiko Committed by Daniel Borkmann

libbpf: constify getter APIs

Add const qualifiers to bpf_object/bpf_program/bpf_map arguments for
getter APIs. There is no need for them to not be const pointers.

Verified that

make -C tools/lib/bpf
make -C tools/testing/selftests/bpf
make -C tools/perf

all build without warnings.
Signed-off-by: default avatarAndrii Nakryiko <andriin@fb.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent 4d18f6de
...@@ -1663,7 +1663,8 @@ bpf_object__find_prog_by_idx(struct bpf_object *obj, int idx) ...@@ -1663,7 +1663,8 @@ bpf_object__find_prog_by_idx(struct bpf_object *obj, int idx)
} }
struct bpf_program * struct bpf_program *
bpf_object__find_program_by_title(struct bpf_object *obj, const char *title) bpf_object__find_program_by_title(const struct bpf_object *obj,
const char *title)
{ {
struct bpf_program *pos; struct bpf_program *pos;
...@@ -2589,8 +2590,8 @@ bpf_program__load(struct bpf_program *prog, ...@@ -2589,8 +2590,8 @@ bpf_program__load(struct bpf_program *prog,
return err; return err;
} }
static bool bpf_program__is_function_storage(struct bpf_program *prog, static bool bpf_program__is_function_storage(const struct bpf_program *prog,
struct bpf_object *obj) const struct bpf_object *obj)
{ {
return prog->idx == obj->efile.text_shndx && obj->has_pseudo_calls; return prog->idx == obj->efile.text_shndx && obj->has_pseudo_calls;
} }
...@@ -3296,17 +3297,17 @@ bpf_object__next(struct bpf_object *prev) ...@@ -3296,17 +3297,17 @@ bpf_object__next(struct bpf_object *prev)
return next; return next;
} }
const char *bpf_object__name(struct bpf_object *obj) const char *bpf_object__name(const struct bpf_object *obj)
{ {
return obj ? obj->path : ERR_PTR(-EINVAL); return obj ? obj->path : ERR_PTR(-EINVAL);
} }
unsigned int bpf_object__kversion(struct bpf_object *obj) unsigned int bpf_object__kversion(const struct bpf_object *obj)
{ {
return obj ? obj->kern_version : 0; return obj ? obj->kern_version : 0;
} }
struct btf *bpf_object__btf(struct bpf_object *obj) struct btf *bpf_object__btf(const struct bpf_object *obj)
{ {
return obj ? obj->btf : NULL; return obj ? obj->btf : NULL;
} }
...@@ -3327,13 +3328,14 @@ int bpf_object__set_priv(struct bpf_object *obj, void *priv, ...@@ -3327,13 +3328,14 @@ int bpf_object__set_priv(struct bpf_object *obj, void *priv,
return 0; return 0;
} }
void *bpf_object__priv(struct bpf_object *obj) void *bpf_object__priv(const struct bpf_object *obj)
{ {
return obj ? obj->priv : ERR_PTR(-EINVAL); return obj ? obj->priv : ERR_PTR(-EINVAL);
} }
static struct bpf_program * static struct bpf_program *
__bpf_program__iter(struct bpf_program *p, struct bpf_object *obj, bool forward) __bpf_program__iter(const struct bpf_program *p, const struct bpf_object *obj,
bool forward)
{ {
size_t nr_programs = obj->nr_programs; size_t nr_programs = obj->nr_programs;
ssize_t idx; ssize_t idx;
...@@ -3358,7 +3360,7 @@ __bpf_program__iter(struct bpf_program *p, struct bpf_object *obj, bool forward) ...@@ -3358,7 +3360,7 @@ __bpf_program__iter(struct bpf_program *p, struct bpf_object *obj, bool forward)
} }
struct bpf_program * struct bpf_program *
bpf_program__next(struct bpf_program *prev, struct bpf_object *obj) bpf_program__next(struct bpf_program *prev, const struct bpf_object *obj)
{ {
struct bpf_program *prog = prev; struct bpf_program *prog = prev;
...@@ -3370,7 +3372,7 @@ bpf_program__next(struct bpf_program *prev, struct bpf_object *obj) ...@@ -3370,7 +3372,7 @@ bpf_program__next(struct bpf_program *prev, struct bpf_object *obj)
} }
struct bpf_program * struct bpf_program *
bpf_program__prev(struct bpf_program *next, struct bpf_object *obj) bpf_program__prev(struct bpf_program *next, const struct bpf_object *obj)
{ {
struct bpf_program *prog = next; struct bpf_program *prog = next;
...@@ -3392,7 +3394,7 @@ int bpf_program__set_priv(struct bpf_program *prog, void *priv, ...@@ -3392,7 +3394,7 @@ int bpf_program__set_priv(struct bpf_program *prog, void *priv,
return 0; return 0;
} }
void *bpf_program__priv(struct bpf_program *prog) void *bpf_program__priv(const struct bpf_program *prog)
{ {
return prog ? prog->priv : ERR_PTR(-EINVAL); return prog ? prog->priv : ERR_PTR(-EINVAL);
} }
...@@ -3402,7 +3404,7 @@ void bpf_program__set_ifindex(struct bpf_program *prog, __u32 ifindex) ...@@ -3402,7 +3404,7 @@ void bpf_program__set_ifindex(struct bpf_program *prog, __u32 ifindex)
prog->prog_ifindex = ifindex; prog->prog_ifindex = ifindex;
} }
const char *bpf_program__title(struct bpf_program *prog, bool needs_copy) const char *bpf_program__title(const struct bpf_program *prog, bool needs_copy)
{ {
const char *title; const char *title;
...@@ -3418,7 +3420,7 @@ const char *bpf_program__title(struct bpf_program *prog, bool needs_copy) ...@@ -3418,7 +3420,7 @@ const char *bpf_program__title(struct bpf_program *prog, bool needs_copy)
return title; return title;
} }
int bpf_program__fd(struct bpf_program *prog) int bpf_program__fd(const struct bpf_program *prog)
{ {
return bpf_program__nth_fd(prog, 0); return bpf_program__nth_fd(prog, 0);
} }
...@@ -3451,7 +3453,7 @@ int bpf_program__set_prep(struct bpf_program *prog, int nr_instances, ...@@ -3451,7 +3453,7 @@ int bpf_program__set_prep(struct bpf_program *prog, int nr_instances,
return 0; return 0;
} }
int bpf_program__nth_fd(struct bpf_program *prog, int n) int bpf_program__nth_fd(const struct bpf_program *prog, int n)
{ {
int fd; int fd;
...@@ -3479,25 +3481,25 @@ void bpf_program__set_type(struct bpf_program *prog, enum bpf_prog_type type) ...@@ -3479,25 +3481,25 @@ void bpf_program__set_type(struct bpf_program *prog, enum bpf_prog_type type)
prog->type = type; prog->type = type;
} }
static bool bpf_program__is_type(struct bpf_program *prog, static bool bpf_program__is_type(const struct bpf_program *prog,
enum bpf_prog_type type) enum bpf_prog_type type)
{ {
return prog ? (prog->type == type) : false; return prog ? (prog->type == type) : false;
} }
#define BPF_PROG_TYPE_FNS(NAME, TYPE) \ #define BPF_PROG_TYPE_FNS(NAME, TYPE) \
int bpf_program__set_##NAME(struct bpf_program *prog) \ int bpf_program__set_##NAME(struct bpf_program *prog) \
{ \ { \
if (!prog) \ if (!prog) \
return -EINVAL; \ return -EINVAL; \
bpf_program__set_type(prog, TYPE); \ bpf_program__set_type(prog, TYPE); \
return 0; \ return 0; \
} \ } \
\ \
bool bpf_program__is_##NAME(struct bpf_program *prog) \ bool bpf_program__is_##NAME(const struct bpf_program *prog) \
{ \ { \
return bpf_program__is_type(prog, TYPE); \ return bpf_program__is_type(prog, TYPE); \
} \ } \
BPF_PROG_TYPE_FNS(socket_filter, BPF_PROG_TYPE_SOCKET_FILTER); BPF_PROG_TYPE_FNS(socket_filter, BPF_PROG_TYPE_SOCKET_FILTER);
BPF_PROG_TYPE_FNS(kprobe, BPF_PROG_TYPE_KPROBE); BPF_PROG_TYPE_FNS(kprobe, BPF_PROG_TYPE_KPROBE);
...@@ -3692,17 +3694,17 @@ bpf_program__identify_section(struct bpf_program *prog, ...@@ -3692,17 +3694,17 @@ bpf_program__identify_section(struct bpf_program *prog,
expected_attach_type); expected_attach_type);
} }
int bpf_map__fd(struct bpf_map *map) int bpf_map__fd(const struct bpf_map *map)
{ {
return map ? map->fd : -EINVAL; return map ? map->fd : -EINVAL;
} }
const struct bpf_map_def *bpf_map__def(struct bpf_map *map) const struct bpf_map_def *bpf_map__def(const struct bpf_map *map)
{ {
return map ? &map->def : ERR_PTR(-EINVAL); return map ? &map->def : ERR_PTR(-EINVAL);
} }
const char *bpf_map__name(struct bpf_map *map) const char *bpf_map__name(const struct bpf_map *map)
{ {
return map ? map->name : NULL; return map ? map->name : NULL;
} }
...@@ -3733,17 +3735,17 @@ int bpf_map__set_priv(struct bpf_map *map, void *priv, ...@@ -3733,17 +3735,17 @@ int bpf_map__set_priv(struct bpf_map *map, void *priv,
return 0; return 0;
} }
void *bpf_map__priv(struct bpf_map *map) void *bpf_map__priv(const struct bpf_map *map)
{ {
return map ? map->priv : ERR_PTR(-EINVAL); return map ? map->priv : ERR_PTR(-EINVAL);
} }
bool bpf_map__is_offload_neutral(struct bpf_map *map) bool bpf_map__is_offload_neutral(const struct bpf_map *map)
{ {
return map->def.type == BPF_MAP_TYPE_PERF_EVENT_ARRAY; return map->def.type == BPF_MAP_TYPE_PERF_EVENT_ARRAY;
} }
bool bpf_map__is_internal(struct bpf_map *map) bool bpf_map__is_internal(const struct bpf_map *map)
{ {
return map->libbpf_type != LIBBPF_MAP_UNSPEC; return map->libbpf_type != LIBBPF_MAP_UNSPEC;
} }
...@@ -3768,7 +3770,7 @@ int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd) ...@@ -3768,7 +3770,7 @@ int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd)
} }
static struct bpf_map * static struct bpf_map *
__bpf_map__iter(struct bpf_map *m, struct bpf_object *obj, int i) __bpf_map__iter(const struct bpf_map *m, const struct bpf_object *obj, int i)
{ {
ssize_t idx; ssize_t idx;
struct bpf_map *s, *e; struct bpf_map *s, *e;
...@@ -3792,7 +3794,7 @@ __bpf_map__iter(struct bpf_map *m, struct bpf_object *obj, int i) ...@@ -3792,7 +3794,7 @@ __bpf_map__iter(struct bpf_map *m, struct bpf_object *obj, int i)
} }
struct bpf_map * struct bpf_map *
bpf_map__next(struct bpf_map *prev, struct bpf_object *obj) bpf_map__next(const struct bpf_map *prev, const struct bpf_object *obj)
{ {
if (prev == NULL) if (prev == NULL)
return obj->maps; return obj->maps;
...@@ -3801,7 +3803,7 @@ bpf_map__next(struct bpf_map *prev, struct bpf_object *obj) ...@@ -3801,7 +3803,7 @@ bpf_map__next(struct bpf_map *prev, struct bpf_object *obj)
} }
struct bpf_map * struct bpf_map *
bpf_map__prev(struct bpf_map *next, struct bpf_object *obj) bpf_map__prev(const struct bpf_map *next, const struct bpf_object *obj)
{ {
if (next == NULL) { if (next == NULL) {
if (!obj->nr_maps) if (!obj->nr_maps)
...@@ -3813,7 +3815,7 @@ bpf_map__prev(struct bpf_map *next, struct bpf_object *obj) ...@@ -3813,7 +3815,7 @@ bpf_map__prev(struct bpf_map *next, struct bpf_object *obj)
} }
struct bpf_map * struct bpf_map *
bpf_object__find_map_by_name(struct bpf_object *obj, const char *name) bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name)
{ {
struct bpf_map *pos; struct bpf_map *pos;
...@@ -3825,7 +3827,7 @@ bpf_object__find_map_by_name(struct bpf_object *obj, const char *name) ...@@ -3825,7 +3827,7 @@ bpf_object__find_map_by_name(struct bpf_object *obj, const char *name)
} }
int int
bpf_object__find_map_fd_by_name(struct bpf_object *obj, const char *name) bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name)
{ {
return bpf_map__fd(bpf_object__find_map_by_name(obj, name)); return bpf_map__fd(bpf_object__find_map_by_name(obj, name));
} }
......
...@@ -98,15 +98,16 @@ struct bpf_object_load_attr { ...@@ -98,15 +98,16 @@ struct bpf_object_load_attr {
LIBBPF_API int bpf_object__load(struct bpf_object *obj); LIBBPF_API int bpf_object__load(struct bpf_object *obj);
LIBBPF_API int bpf_object__load_xattr(struct bpf_object_load_attr *attr); LIBBPF_API int bpf_object__load_xattr(struct bpf_object_load_attr *attr);
LIBBPF_API int bpf_object__unload(struct bpf_object *obj); LIBBPF_API int bpf_object__unload(struct bpf_object *obj);
LIBBPF_API const char *bpf_object__name(struct bpf_object *obj); LIBBPF_API const char *bpf_object__name(const struct bpf_object *obj);
LIBBPF_API unsigned int bpf_object__kversion(struct bpf_object *obj); LIBBPF_API unsigned int bpf_object__kversion(const struct bpf_object *obj);
struct btf; struct btf;
LIBBPF_API struct btf *bpf_object__btf(struct bpf_object *obj); LIBBPF_API struct btf *bpf_object__btf(const struct bpf_object *obj);
LIBBPF_API int bpf_object__btf_fd(const struct bpf_object *obj); LIBBPF_API int bpf_object__btf_fd(const struct bpf_object *obj);
LIBBPF_API struct bpf_program * LIBBPF_API struct bpf_program *
bpf_object__find_program_by_title(struct bpf_object *obj, const char *title); bpf_object__find_program_by_title(const struct bpf_object *obj,
const char *title);
LIBBPF_API struct bpf_object *bpf_object__next(struct bpf_object *prev); LIBBPF_API 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) \
...@@ -118,7 +119,7 @@ LIBBPF_API struct bpf_object *bpf_object__next(struct bpf_object *prev); ...@@ -118,7 +119,7 @@ LIBBPF_API struct bpf_object *bpf_object__next(struct bpf_object *prev);
typedef void (*bpf_object_clear_priv_t)(struct bpf_object *, void *); typedef void (*bpf_object_clear_priv_t)(struct bpf_object *, void *);
LIBBPF_API int bpf_object__set_priv(struct bpf_object *obj, void *priv, LIBBPF_API int bpf_object__set_priv(struct bpf_object *obj, void *priv,
bpf_object_clear_priv_t clear_priv); bpf_object_clear_priv_t clear_priv);
LIBBPF_API void *bpf_object__priv(struct bpf_object *prog); LIBBPF_API void *bpf_object__priv(const struct bpf_object *prog);
LIBBPF_API int LIBBPF_API int
libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type, libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type,
...@@ -129,7 +130,7 @@ LIBBPF_API int libbpf_attach_type_by_name(const char *name, ...@@ -129,7 +130,7 @@ LIBBPF_API int libbpf_attach_type_by_name(const char *name,
/* Accessors of bpf_program */ /* Accessors of bpf_program */
struct bpf_program; struct bpf_program;
LIBBPF_API struct bpf_program *bpf_program__next(struct bpf_program *prog, LIBBPF_API struct bpf_program *bpf_program__next(struct bpf_program *prog,
struct bpf_object *obj); const struct bpf_object *obj);
#define bpf_object__for_each_program(pos, obj) \ #define bpf_object__for_each_program(pos, obj) \
for ((pos) = bpf_program__next(NULL, (obj)); \ for ((pos) = bpf_program__next(NULL, (obj)); \
...@@ -137,24 +138,23 @@ LIBBPF_API struct bpf_program *bpf_program__next(struct bpf_program *prog, ...@@ -137,24 +138,23 @@ LIBBPF_API struct bpf_program *bpf_program__next(struct bpf_program *prog,
(pos) = bpf_program__next((pos), (obj))) (pos) = bpf_program__next((pos), (obj)))
LIBBPF_API struct bpf_program *bpf_program__prev(struct bpf_program *prog, LIBBPF_API struct bpf_program *bpf_program__prev(struct bpf_program *prog,
struct bpf_object *obj); const struct bpf_object *obj);
typedef void (*bpf_program_clear_priv_t)(struct bpf_program *, typedef void (*bpf_program_clear_priv_t)(struct bpf_program *, void *);
void *);
LIBBPF_API int bpf_program__set_priv(struct bpf_program *prog, void *priv, LIBBPF_API int bpf_program__set_priv(struct bpf_program *prog, void *priv,
bpf_program_clear_priv_t clear_priv); bpf_program_clear_priv_t clear_priv);
LIBBPF_API void *bpf_program__priv(struct bpf_program *prog); LIBBPF_API void *bpf_program__priv(const struct bpf_program *prog);
LIBBPF_API void bpf_program__set_ifindex(struct bpf_program *prog, LIBBPF_API void bpf_program__set_ifindex(struct bpf_program *prog,
__u32 ifindex); __u32 ifindex);
LIBBPF_API const char *bpf_program__title(struct bpf_program *prog, LIBBPF_API const char *bpf_program__title(const struct bpf_program *prog,
bool needs_copy); bool needs_copy);
LIBBPF_API int bpf_program__load(struct bpf_program *prog, char *license, LIBBPF_API int bpf_program__load(struct bpf_program *prog, char *license,
__u32 kern_version); __u32 kern_version);
LIBBPF_API int bpf_program__fd(struct bpf_program *prog); LIBBPF_API int bpf_program__fd(const struct bpf_program *prog);
LIBBPF_API int bpf_program__pin_instance(struct bpf_program *prog, LIBBPF_API int bpf_program__pin_instance(struct bpf_program *prog,
const char *path, const char *path,
int instance); int instance);
...@@ -227,7 +227,7 @@ typedef int (*bpf_program_prep_t)(struct bpf_program *prog, int n, ...@@ -227,7 +227,7 @@ typedef int (*bpf_program_prep_t)(struct bpf_program *prog, int n,
LIBBPF_API int bpf_program__set_prep(struct bpf_program *prog, int nr_instance, LIBBPF_API int bpf_program__set_prep(struct bpf_program *prog, int nr_instance,
bpf_program_prep_t prep); bpf_program_prep_t prep);
LIBBPF_API int bpf_program__nth_fd(struct bpf_program *prog, int n); LIBBPF_API int bpf_program__nth_fd(const struct bpf_program *prog, int n);
/* /*
* Adjust type of BPF program. Default is kprobe. * Adjust type of BPF program. Default is kprobe.
...@@ -246,14 +246,14 @@ LIBBPF_API void ...@@ -246,14 +246,14 @@ LIBBPF_API void
bpf_program__set_expected_attach_type(struct bpf_program *prog, bpf_program__set_expected_attach_type(struct bpf_program *prog,
enum bpf_attach_type type); enum bpf_attach_type type);
LIBBPF_API bool bpf_program__is_socket_filter(struct bpf_program *prog); LIBBPF_API bool bpf_program__is_socket_filter(const struct bpf_program *prog);
LIBBPF_API bool bpf_program__is_tracepoint(struct bpf_program *prog); LIBBPF_API bool bpf_program__is_tracepoint(const struct bpf_program *prog);
LIBBPF_API bool bpf_program__is_raw_tracepoint(struct bpf_program *prog); LIBBPF_API bool bpf_program__is_raw_tracepoint(const struct bpf_program *prog);
LIBBPF_API bool bpf_program__is_kprobe(struct bpf_program *prog); LIBBPF_API bool bpf_program__is_kprobe(const struct bpf_program *prog);
LIBBPF_API bool bpf_program__is_sched_cls(struct bpf_program *prog); LIBBPF_API bool bpf_program__is_sched_cls(const struct bpf_program *prog);
LIBBPF_API bool bpf_program__is_sched_act(struct bpf_program *prog); LIBBPF_API bool bpf_program__is_sched_act(const struct bpf_program *prog);
LIBBPF_API bool bpf_program__is_xdp(struct bpf_program *prog); LIBBPF_API bool bpf_program__is_xdp(const struct bpf_program *prog);
LIBBPF_API bool bpf_program__is_perf_event(struct bpf_program *prog); LIBBPF_API bool bpf_program__is_perf_event(const struct bpf_program *prog);
/* /*
* No need for __attribute__((packed)), all members of 'bpf_map_def' * No need for __attribute__((packed)), all members of 'bpf_map_def'
...@@ -275,10 +275,10 @@ struct bpf_map_def { ...@@ -275,10 +275,10 @@ struct bpf_map_def {
*/ */
struct bpf_map; struct bpf_map;
LIBBPF_API struct bpf_map * LIBBPF_API struct bpf_map *
bpf_object__find_map_by_name(struct bpf_object *obj, const char *name); bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name);
LIBBPF_API int LIBBPF_API int
bpf_object__find_map_fd_by_name(struct bpf_object *obj, const char *name); bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name);
/* /*
* Get bpf_map through the offset of corresponding struct bpf_map_def * Get bpf_map through the offset of corresponding struct bpf_map_def
...@@ -288,7 +288,7 @@ LIBBPF_API struct bpf_map * ...@@ -288,7 +288,7 @@ LIBBPF_API struct bpf_map *
bpf_object__find_map_by_offset(struct bpf_object *obj, size_t offset); bpf_object__find_map_by_offset(struct bpf_object *obj, size_t offset);
LIBBPF_API struct bpf_map * LIBBPF_API struct bpf_map *
bpf_map__next(struct bpf_map *map, struct bpf_object *obj); bpf_map__next(const struct bpf_map *map, const struct bpf_object *obj);
#define bpf_object__for_each_map(pos, obj) \ #define bpf_object__for_each_map(pos, obj) \
for ((pos) = bpf_map__next(NULL, (obj)); \ for ((pos) = bpf_map__next(NULL, (obj)); \
(pos) != NULL; \ (pos) != NULL; \
...@@ -296,22 +296,22 @@ bpf_map__next(struct bpf_map *map, struct bpf_object *obj); ...@@ -296,22 +296,22 @@ bpf_map__next(struct bpf_map *map, struct bpf_object *obj);
#define bpf_map__for_each bpf_object__for_each_map #define bpf_map__for_each bpf_object__for_each_map
LIBBPF_API struct bpf_map * LIBBPF_API struct bpf_map *
bpf_map__prev(struct bpf_map *map, struct bpf_object *obj); bpf_map__prev(const struct bpf_map *map, const struct bpf_object *obj);
LIBBPF_API int bpf_map__fd(struct bpf_map *map); LIBBPF_API int bpf_map__fd(const struct bpf_map *map);
LIBBPF_API const struct bpf_map_def *bpf_map__def(struct bpf_map *map); LIBBPF_API const struct bpf_map_def *bpf_map__def(const struct bpf_map *map);
LIBBPF_API const char *bpf_map__name(struct bpf_map *map); LIBBPF_API const char *bpf_map__name(const struct bpf_map *map);
LIBBPF_API __u32 bpf_map__btf_key_type_id(const struct bpf_map *map); LIBBPF_API __u32 bpf_map__btf_key_type_id(const struct bpf_map *map);
LIBBPF_API __u32 bpf_map__btf_value_type_id(const struct bpf_map *map); LIBBPF_API __u32 bpf_map__btf_value_type_id(const struct bpf_map *map);
typedef void (*bpf_map_clear_priv_t)(struct bpf_map *, void *); typedef void (*bpf_map_clear_priv_t)(struct bpf_map *, void *);
LIBBPF_API int bpf_map__set_priv(struct bpf_map *map, void *priv, LIBBPF_API int bpf_map__set_priv(struct bpf_map *map, void *priv,
bpf_map_clear_priv_t clear_priv); bpf_map_clear_priv_t clear_priv);
LIBBPF_API void *bpf_map__priv(struct bpf_map *map); LIBBPF_API void *bpf_map__priv(const struct bpf_map *map);
LIBBPF_API int bpf_map__reuse_fd(struct bpf_map *map, int fd); LIBBPF_API int bpf_map__reuse_fd(struct bpf_map *map, int fd);
LIBBPF_API int bpf_map__resize(struct bpf_map *map, __u32 max_entries); LIBBPF_API int bpf_map__resize(struct bpf_map *map, __u32 max_entries);
LIBBPF_API bool bpf_map__is_offload_neutral(struct bpf_map *map); LIBBPF_API bool bpf_map__is_offload_neutral(const struct bpf_map *map);
LIBBPF_API bool bpf_map__is_internal(struct bpf_map *map); LIBBPF_API bool bpf_map__is_internal(const struct bpf_map *map);
LIBBPF_API void bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex); LIBBPF_API void bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex);
LIBBPF_API int bpf_map__pin(struct bpf_map *map, const char *path); LIBBPF_API int bpf_map__pin(struct bpf_map *map, const char *path);
LIBBPF_API int bpf_map__unpin(struct bpf_map *map, const char *path); LIBBPF_API int bpf_map__unpin(struct bpf_map *map, const char *path);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment