1 #ifndef _LINUX_UNWINDER_H 2 #define _LINUX_UNWINDER_H 3 4 #include <asm/stacktrace.h> 5 6 struct unwinder { 7 const char *name; 8 struct list_head list; 9 int rating; 10 void (*dump)(struct task_struct *, struct pt_regs *, 11 unsigned long *, const struct stacktrace_ops *, void *); 12 }; 13 14 extern int unwinder_init(void); 15 extern int unwinder_register(struct unwinder *); 16 17 extern void unwind_stack(struct task_struct *, struct pt_regs *, 18 unsigned long *, const struct stacktrace_ops *, 19 void *); 20 21 extern void stack_reader_dump(struct task_struct *, struct pt_regs *, 22 unsigned long *, const struct stacktrace_ops *, 23 void *); 24 25 /* 26 * Used by fault handling code to signal to the unwinder code that it 27 * should switch to a different unwinder. 28 */ 29 extern int unwinder_faulted; 30 31 #endif /* _LINUX_UNWINDER_H */ 32