xref: /linux-6.15/include/linux/stacktrace.h (revision 5a1b3999)
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