xref: /linux-6.15/include/linux/stacktrace.h (revision 8637c099)
1*8637c099SIngo Molnar #ifndef __LINUX_STACKTRACE_H
2*8637c099SIngo Molnar #define __LINUX_STACKTRACE_H
3*8637c099SIngo Molnar 
4*8637c099SIngo Molnar #ifdef CONFIG_STACKTRACE
5*8637c099SIngo Molnar struct stack_trace {
6*8637c099SIngo Molnar 	unsigned int nr_entries, max_entries;
7*8637c099SIngo Molnar 	unsigned long *entries;
8*8637c099SIngo Molnar };
9*8637c099SIngo Molnar 
10*8637c099SIngo Molnar extern void save_stack_trace(struct stack_trace *trace,
11*8637c099SIngo Molnar 			     struct task_struct *task, int all_contexts,
12*8637c099SIngo Molnar 			     unsigned int skip);
13*8637c099SIngo Molnar 
14*8637c099SIngo Molnar extern void print_stack_trace(struct stack_trace *trace, int spaces);
15*8637c099SIngo Molnar #else
16*8637c099SIngo Molnar # define save_stack_trace(trace, task, all, skip)	do { } while (0)
17*8637c099SIngo Molnar # define print_stack_trace(trace)			do { } while (0)
18*8637c099SIngo Molnar #endif
19*8637c099SIngo Molnar 
20*8637c099SIngo Molnar #endif
21