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; 85a1b3999SAndi Kleen int skip; /* input argument: How many entries to skip */ 98637c099SIngo Molnar }; 108637c099SIngo Molnar 11ab1b6f03SChristoph Hellwig extern void save_stack_trace(struct stack_trace *trace); 128637c099SIngo Molnar 138637c099SIngo Molnar extern void print_stack_trace(struct stack_trace *trace, int spaces); 148637c099SIngo Molnar #else 15ab1b6f03SChristoph Hellwig # define save_stack_trace(trace) do { } while (0) 16*3b5ad079SJohannes Berg # define print_stack_trace(trace, spaces) do { } while (0) 178637c099SIngo Molnar #endif 188637c099SIngo Molnar 198637c099SIngo Molnar #endif 20