|  | #ifndef __UNWIND_H | 
|  | #define __UNWIND_H | 
|  |  | 
|  | #include "types.h" | 
|  | #include "event.h" | 
|  | #include "symbol.h" | 
|  |  | 
|  | struct unwind_entry { | 
|  | struct map	*map; | 
|  | struct symbol	*sym; | 
|  | u64		ip; | 
|  | }; | 
|  |  | 
|  | typedef int (*unwind_entry_cb_t)(struct unwind_entry *entry, void *arg); | 
|  |  | 
|  | #ifdef LIBUNWIND_SUPPORT | 
|  | int unwind__get_entries(unwind_entry_cb_t cb, void *arg, | 
|  | struct machine *machine, | 
|  | struct thread *thread, | 
|  | u64 sample_uregs, | 
|  | struct perf_sample *data); | 
|  | int unwind__arch_reg_id(int regnum); | 
|  | #else | 
|  | static inline int | 
|  | unwind__get_entries(unwind_entry_cb_t cb __maybe_unused, | 
|  | void *arg __maybe_unused, | 
|  | struct machine *machine __maybe_unused, | 
|  | struct thread *thread __maybe_unused, | 
|  | u64 sample_uregs __maybe_unused, | 
|  | struct perf_sample *data __maybe_unused) | 
|  | { | 
|  | return 0; | 
|  | } | 
|  | #endif /* LIBUNWIND_SUPPORT */ | 
|  | #endif /* __UNWIND_H */ |