36 lines
		
	
	
		
			1002 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1002 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __LINUX_STACKTRACE_H
 | 
						|
#define __LINUX_STACKTRACE_H
 | 
						|
 | 
						|
struct task_struct;
 | 
						|
 | 
						|
#ifdef CONFIG_STACKTRACE
 | 
						|
struct task_struct;
 | 
						|
 | 
						|
struct stack_trace {
 | 
						|
	unsigned int nr_entries, max_entries;
 | 
						|
	unsigned long *entries;
 | 
						|
	int skip;	/* input argument: How many entries to skip */
 | 
						|
};
 | 
						|
 | 
						|
extern void save_stack_trace(struct stack_trace *trace);
 | 
						|
extern void save_stack_trace_bp(struct stack_trace *trace, unsigned long bp);
 | 
						|
extern void save_stack_trace_tsk(struct task_struct *tsk,
 | 
						|
				struct stack_trace *trace);
 | 
						|
 | 
						|
extern void print_stack_trace(struct stack_trace *trace, int spaces);
 | 
						|
 | 
						|
#ifdef CONFIG_USER_STACKTRACE_SUPPORT
 | 
						|
extern void save_stack_trace_user(struct stack_trace *trace);
 | 
						|
#else
 | 
						|
# define save_stack_trace_user(trace)              do { } while (0)
 | 
						|
#endif
 | 
						|
 | 
						|
#else
 | 
						|
# define save_stack_trace(trace)			do { } while (0)
 | 
						|
# define save_stack_trace_tsk(tsk, trace)		do { } while (0)
 | 
						|
# define save_stack_trace_user(trace)			do { } while (0)
 | 
						|
# define print_stack_trace(trace, spaces)		do { } while (0)
 | 
						|
#endif
 | 
						|
 | 
						|
#endif
 |