bpf: Replace [u]int32_t and [u]int64_t in libbpf

This patch replaces [u]int32_t and [u]int64_t usage with
__[su]32 and __[su]64.  The same change goes for [u]int16_t
and [u]int8_t.

Fixes: 8a138aed4a ("bpf: btf: Add BTF support to libbpf")
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
Martin KaFai Lau 2018-07-24 08:40:21 -07:00 committed by Daniel Borkmann
parent 64bb568488
commit 5b891af7fc
4 changed files with 28 additions and 30 deletions

View File

@ -2,7 +2,6 @@
/* Copyright (c) 2018 Facebook */ /* Copyright (c) 2018 Facebook */
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h>
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include <errno.h> #include <errno.h>
@ -27,13 +26,13 @@ struct btf {
struct btf_type **types; struct btf_type **types;
const char *strings; const char *strings;
void *nohdr_data; void *nohdr_data;
uint32_t nr_types; __u32 nr_types;
uint32_t types_size; __u32 types_size;
uint32_t data_size; __u32 data_size;
int fd; int fd;
}; };
static const char *btf_name_by_offset(const struct btf *btf, uint32_t offset) static const char *btf_name_by_offset(const struct btf *btf, __u32 offset)
{ {
if (offset < btf->hdr->str_len) if (offset < btf->hdr->str_len)
return &btf->strings[offset]; return &btf->strings[offset];
@ -45,7 +44,7 @@ static int btf_add_type(struct btf *btf, struct btf_type *t)
{ {
if (btf->types_size - btf->nr_types < 2) { if (btf->types_size - btf->nr_types < 2) {
struct btf_type **new_types; struct btf_type **new_types;
u32 expand_by, new_size; __u32 expand_by, new_size;
if (btf->types_size == BTF_MAX_NR_TYPES) if (btf->types_size == BTF_MAX_NR_TYPES)
return -E2BIG; return -E2BIG;
@ -72,7 +71,7 @@ static int btf_add_type(struct btf *btf, struct btf_type *t)
static int btf_parse_hdr(struct btf *btf, btf_print_fn_t err_log) static int btf_parse_hdr(struct btf *btf, btf_print_fn_t err_log)
{ {
const struct btf_header *hdr = btf->hdr; const struct btf_header *hdr = btf->hdr;
u32 meta_left; __u32 meta_left;
if (btf->data_size < sizeof(struct btf_header)) { if (btf->data_size < sizeof(struct btf_header)) {
elog("BTF header not found\n"); elog("BTF header not found\n");
@ -151,7 +150,7 @@ static int btf_parse_type_sec(struct btf *btf, btf_print_fn_t err_log)
while (next_type < end_type) { while (next_type < end_type) {
struct btf_type *t = next_type; struct btf_type *t = next_type;
uint16_t vlen = BTF_INFO_VLEN(t->info); __u16 vlen = BTF_INFO_VLEN(t->info);
int err; int err;
next_type += sizeof(*t); next_type += sizeof(*t);
@ -191,7 +190,7 @@ static int btf_parse_type_sec(struct btf *btf, btf_print_fn_t err_log)
} }
static const struct btf_type *btf_type_by_id(const struct btf *btf, static const struct btf_type *btf_type_by_id(const struct btf *btf,
uint32_t type_id) __u32 type_id)
{ {
if (type_id > btf->nr_types) if (type_id > btf->nr_types)
return NULL; return NULL;
@ -209,7 +208,7 @@ static bool btf_type_is_void_or_null(const struct btf_type *t)
return !t || btf_type_is_void(t); return !t || btf_type_is_void(t);
} }
static int64_t btf_type_size(const struct btf_type *t) static __s64 btf_type_size(const struct btf_type *t)
{ {
switch (BTF_INFO_KIND(t->info)) { switch (BTF_INFO_KIND(t->info)) {
case BTF_KIND_INT: case BTF_KIND_INT:
@ -226,12 +225,12 @@ static int64_t btf_type_size(const struct btf_type *t)
#define MAX_RESOLVE_DEPTH 32 #define MAX_RESOLVE_DEPTH 32
int64_t btf__resolve_size(const struct btf *btf, uint32_t type_id) __s64 btf__resolve_size(const struct btf *btf, __u32 type_id)
{ {
const struct btf_array *array; const struct btf_array *array;
const struct btf_type *t; const struct btf_type *t;
uint32_t nelems = 1; __u32 nelems = 1;
int64_t size = -1; __s64 size = -1;
int i; int i;
t = btf_type_by_id(btf, type_id); t = btf_type_by_id(btf, type_id);
@ -271,9 +270,9 @@ int64_t btf__resolve_size(const struct btf *btf, uint32_t type_id)
return nelems * size; return nelems * size;
} }
int32_t btf__find_by_name(const struct btf *btf, const char *type_name) __s32 btf__find_by_name(const struct btf *btf, const char *type_name)
{ {
uint32_t i; __u32 i;
if (!strcmp(type_name, "void")) if (!strcmp(type_name, "void"))
return 0; return 0;
@ -302,10 +301,9 @@ void btf__free(struct btf *btf)
free(btf); free(btf);
} }
struct btf *btf__new(uint8_t *data, uint32_t size, struct btf *btf__new(__u8 *data, __u32 size, btf_print_fn_t err_log)
btf_print_fn_t err_log)
{ {
uint32_t log_buf_size = 0; __u32 log_buf_size = 0;
char *log_buf = NULL; char *log_buf = NULL;
struct btf *btf; struct btf *btf;
int err; int err;

View File

@ -4,7 +4,7 @@
#ifndef __BPF_BTF_H #ifndef __BPF_BTF_H
#define __BPF_BTF_H #define __BPF_BTF_H
#include <stdint.h> #include <linux/types.h>
#define BTF_ELF_SEC ".BTF" #define BTF_ELF_SEC ".BTF"
@ -14,9 +14,9 @@ typedef int (*btf_print_fn_t)(const char *, ...)
__attribute__((format(printf, 1, 2))); __attribute__((format(printf, 1, 2)));
void btf__free(struct btf *btf); void btf__free(struct btf *btf);
struct btf *btf__new(uint8_t *data, uint32_t size, btf_print_fn_t err_log); struct btf *btf__new(__u8 *data, __u32 size, btf_print_fn_t err_log);
int32_t btf__find_by_name(const struct btf *btf, const char *type_name); __s32 btf__find_by_name(const struct btf *btf, const char *type_name);
int64_t btf__resolve_size(const struct btf *btf, uint32_t type_id); __s64 btf__resolve_size(const struct btf *btf, __u32 type_id);
int btf__fd(const struct btf *btf); int btf__fd(const struct btf *btf);
#endif #endif

View File

@ -216,8 +216,8 @@ struct bpf_map {
size_t offset; size_t offset;
int map_ifindex; int map_ifindex;
struct bpf_map_def def; struct bpf_map_def def;
uint32_t btf_key_type_id; __u32 btf_key_type_id;
uint32_t btf_value_type_id; __u32 btf_value_type_id;
void *priv; void *priv;
bpf_map_clear_priv_t clear_priv; bpf_map_clear_priv_t clear_priv;
}; };
@ -1016,8 +1016,8 @@ static int bpf_map_find_btf_info(struct bpf_map *map, const struct btf *btf)
{ {
struct bpf_map_def *def = &map->def; struct bpf_map_def *def = &map->def;
const size_t max_name = 256; const size_t max_name = 256;
int64_t key_size, value_size; __s64 key_size, value_size;
int32_t key_id, value_id; __s32 key_id, value_id;
char name[max_name]; char name[max_name];
/* Find key type by name from BTF */ /* Find key type by name from BTF */
@ -2089,12 +2089,12 @@ const char *bpf_map__name(struct bpf_map *map)
return map ? map->name : NULL; return map ? map->name : NULL;
} }
uint32_t bpf_map__btf_key_type_id(const struct bpf_map *map) __u32 bpf_map__btf_key_type_id(const struct bpf_map *map)
{ {
return map ? map->btf_key_type_id : 0; return map ? map->btf_key_type_id : 0;
} }
uint32_t bpf_map__btf_value_type_id(const struct bpf_map *map) __u32 bpf_map__btf_value_type_id(const struct bpf_map *map)
{ {
return map ? map->btf_value_type_id : 0; return map ? map->btf_value_type_id : 0;
} }

View File

@ -244,8 +244,8 @@ bpf_map__next(struct bpf_map *map, struct bpf_object *obj);
int bpf_map__fd(struct bpf_map *map); int bpf_map__fd(struct bpf_map *map);
const struct bpf_map_def *bpf_map__def(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); const char *bpf_map__name(struct bpf_map *map);
uint32_t bpf_map__btf_key_type_id(const struct bpf_map *map); __u32 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_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 *);
int bpf_map__set_priv(struct bpf_map *map, void *priv, int bpf_map__set_priv(struct bpf_map *map, void *priv,