1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2 /* Copyright (C) 2018 Netronome Systems, Inc. */
4 #ifndef __BPF_TOOL_XLATED_DUMPER_H
5 #define __BPF_TOOL_XLATED_DUMPER_H
7 #define SYM_MAX_NAME 256
8 #define MODULE_MAX_NAME 64
10 struct bpf_prog_linfo
;
13 unsigned long address
;
14 char name
[SYM_MAX_NAME
];
15 char module
[MODULE_MAX_NAME
];
19 unsigned long address_call_base
;
20 struct kernel_sym
*sym_mapping
;
27 const struct bpf_prog_linfo
*prog_linfo
;
28 char scratch_buff
[SYM_MAX_NAME
+ 8];
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
);