Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/bpf/bpftool/xlated_dumper.h
26285 views
1
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2
/* Copyright (C) 2018 Netronome Systems, Inc. */
3
4
#ifndef __BPF_TOOL_XLATED_DUMPER_H
5
#define __BPF_TOOL_XLATED_DUMPER_H
6
7
#define SYM_MAX_NAME 256
8
#define MODULE_MAX_NAME 64
9
10
struct bpf_prog_linfo;
11
12
struct kernel_sym {
13
unsigned long address;
14
char name[SYM_MAX_NAME];
15
char module[MODULE_MAX_NAME];
16
};
17
18
struct dump_data {
19
unsigned long address_call_base;
20
struct kernel_sym *sym_mapping;
21
__u32 sym_count;
22
__u64 *jited_ksyms;
23
__u32 nr_jited_ksyms;
24
struct btf *btf;
25
void *func_info;
26
__u32 finfo_rec_size;
27
const struct bpf_prog_linfo *prog_linfo;
28
char scratch_buff[SYM_MAX_NAME + 8];
29
};
30
31
void kernel_syms_load(struct dump_data *dd);
32
void kernel_syms_destroy(struct dump_data *dd);
33
struct kernel_sym *kernel_syms_search(struct dump_data *dd, unsigned long key);
34
void dump_xlated_json(struct dump_data *dd, void *buf, unsigned int len,
35
bool opcodes, bool linum);
36
void dump_xlated_plain(struct dump_data *dd, void *buf, unsigned int len,
37
bool opcodes, bool linum);
38
void dump_xlated_for_graph(struct dump_data *dd, void *buf, void *buf_end,
39
unsigned int start_index,
40
bool opcodes, bool linum);
41
42
#endif
43
44