1#ifndef _LINUX_UNWINDER_H 2#define _LINUX_UNWINDER_H 3 4#include <asm/stacktrace.h> 5 6struct 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 14extern int unwinder_init(void); 15extern int unwinder_register(struct unwinder *); 16 17extern void unwind_stack(struct task_struct *, struct pt_regs *, 18 unsigned long *, const struct stacktrace_ops *, 19 void *); 20 21extern 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 */ 29extern int unwinder_faulted; 30 31#endif /* _LINUX_UNWINDER_H */ 32