1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __PERF_UNWIND_LIBDW_H 3*4882a593Smuzhiyun #define __PERF_UNWIND_LIBDW_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <elfutils/libdwfl.h> 6*4882a593Smuzhiyun #include "unwind.h" 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun struct machine; 9*4882a593Smuzhiyun struct perf_sample; 10*4882a593Smuzhiyun struct thread; 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg); 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun struct unwind_info { 15*4882a593Smuzhiyun Dwfl *dwfl; 16*4882a593Smuzhiyun struct perf_sample *sample; 17*4882a593Smuzhiyun struct machine *machine; 18*4882a593Smuzhiyun struct thread *thread; 19*4882a593Smuzhiyun unwind_entry_cb_t cb; 20*4882a593Smuzhiyun void *arg; 21*4882a593Smuzhiyun int max_stack; 22*4882a593Smuzhiyun int idx; 23*4882a593Smuzhiyun struct unwind_entry entries[]; 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #endif /* __PERF_UNWIND_LIBDW_H */ 27