xref: /linux/tools/perf/util/unwind-libdw.h (revision c7decec2f2d2ab0366567f9e30c0e1418cece43f)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __PERF_UNWIND_LIBDW_H
3 #define __PERF_UNWIND_LIBDW_H
4 
5 #include <stdint.h>
6 #include "unwind.h"
7 
8 struct machine;
9 struct perf_sample;
10 struct thread;
11 
12 #ifdef HAVE_LIBDW_SUPPORT
13 
14 struct unwind_info {
15 	void			*dwfl;
16 	struct perf_sample      *sample;
17 	struct machine          *machine;
18 	struct thread           *thread;
19 	unwind_entry_cb_t	cb;
20 	void			*arg;
21 	int			max_stack;
22 	int			idx;
23 	uint32_t		e_flags;
24 	uint16_t		e_machine;
25 	bool			best_effort;
26 	struct unwind_entry	entries[];
27 };
28 
29 void libdw__invalidate_dwfl(struct maps *maps, void *dwfl);
30 #endif
31 
32 #endif /* __PERF_UNWIND_LIBDW_H */
33