Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
unwinder.h
Go to the documentation of this file.
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 */