GNU Linux-libre 4.14.265-gnu1
[releases.git] / tools / perf / util / srcline.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef PERF_SRCLINE_H
3 #define PERF_SRCLINE_H
4
5 #include <linux/list.h>
6 #include <linux/types.h>
7
8 struct dso;
9 struct symbol;
10
11 extern bool srcline_full_filename;
12 char *get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
13                   bool show_sym, bool show_addr);
14 char *__get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
15                   bool show_sym, bool show_addr, bool unwind_inlines);
16 void free_srcline(char *srcline);
17
18 #define SRCLINE_UNKNOWN  ((char *) "??:0")
19
20 struct inline_list {
21         char                    *filename;
22         char                    *funcname;
23         unsigned int            line_nr;
24         struct list_head        list;
25 };
26
27 struct inline_node {
28         u64                     addr;
29         struct list_head        val;
30 };
31
32 struct inline_node *dso__parse_addr_inlines(struct dso *dso, u64 addr);
33 void inline_node__delete(struct inline_node *node);
34
35 #endif /* PERF_SRCLINE_H */