18637c099SIngo Molnar #ifndef __LINUX_STACKTRACE_H 28637c099SIngo Molnar #define __LINUX_STACKTRACE_H 38637c099SIngo Molnar 48637c099SIngo Molnar #ifdef CONFIG_STACKTRACE 58637c099SIngo Molnar struct stack_trace { 68637c099SIngo Molnar unsigned int nr_entries, max_entries; 78637c099SIngo Molnar unsigned long *entries; 8*5a1b3999SAndi Kleen int skip; /* input argument: How many entries to skip */ 9*5a1b3999SAndi Kleen int all_contexts; /* input argument: if true do than one stack */ 108637c099SIngo Molnar }; 118637c099SIngo Molnar 128637c099SIngo Molnar extern void save_stack_trace(struct stack_trace *trace, 13*5a1b3999SAndi Kleen struct task_struct *task); 148637c099SIngo Molnar 158637c099SIngo Molnar extern void print_stack_trace(struct stack_trace *trace, int spaces); 168637c099SIngo Molnar #else 17*5a1b3999SAndi Kleen # define save_stack_trace(trace, task) do { } while (0) 188637c099SIngo Molnar # define print_stack_trace(trace) do { } while (0) 198637c099SIngo Molnar #endif 208637c099SIngo Molnar 218637c099SIngo Molnar #endif 22