in cli/bpfcov.c [989:1028]
static int get_global_data(int fd, struct bpf_map_info *info, void *data)
{
int err;
void *k, *v;
k = malloc(info->key_size);
v = malloc(info->value_size);
if (!k || !v)
{
err = -1;
goto error_out;
}
if (!info)
{
err = -1;
goto error_out;
}
if (info->max_entries > 1)
{
err = -1;
goto error_out;
}
err = bpf_map_get_next_key(fd, NULL, k);
if (err)
{
goto error_out;
}
err = bpf_map_lookup_elem(fd, k, v);
if (err)
{
goto error_out;
}
memcpy(data, v, info->value_size);
error_out:
free(k);
free(v);
close(fd);
return err;
}