Blame view

include/linux/stacktrace.h 1.18 KB
8637c0990   Ingo Molnar   [PATCH] lockdep: ...
1
2
  #ifndef __LINUX_STACKTRACE_H
  #define __LINUX_STACKTRACE_H
9a92a6ce6   Joonsoo Kim   stacktrace: intro...
3
  #include <linux/types.h>
897312bd2   Andrew Morton   include/linux/sta...
4
  struct task_struct;
9c0729dc8   Soeren Sandmann Pedersen   x86: Eliminate bp...
5
  struct pt_regs;
897312bd2   Andrew Morton   include/linux/sta...
6

8637c0990   Ingo Molnar   [PATCH] lockdep: ...
7
8
9
10
  #ifdef CONFIG_STACKTRACE
  struct stack_trace {
  	unsigned int nr_entries, max_entries;
  	unsigned long *entries;
5a1b3999d   Andi Kleen   [PATCH] x86: Some...
11
  	int skip;	/* input argument: How many entries to skip */
8637c0990   Ingo Molnar   [PATCH] lockdep: ...
12
  };
ab1b6f03a   Christoph Hellwig   simplify the stac...
13
  extern void save_stack_trace(struct stack_trace *trace);
395810627   Masami Hiramatsu   x86: Swap save_st...
14
15
  extern void save_stack_trace_regs(struct pt_regs *regs,
  				  struct stack_trace *trace);
9745512ce   Arjan van de Ven   sched: latencytop...
16
17
  extern void save_stack_trace_tsk(struct task_struct *tsk,
  				struct stack_trace *trace);
8637c0990   Ingo Molnar   [PATCH] lockdep: ...
18
19
  
  extern void print_stack_trace(struct stack_trace *trace, int spaces);
9a92a6ce6   Joonsoo Kim   stacktrace: intro...
20
21
  extern int snprint_stack_trace(char *buf, size_t size,
  			struct stack_trace *trace, int spaces);
02b67518e   Török Edwin   tracing: add supp...
22

8d26487fd   Török Edwin   tracing/stack-tra...
23
  #ifdef CONFIG_USER_STACKTRACE_SUPPORT
02b67518e   Török Edwin   tracing: add supp...
24
25
26
27
  extern void save_stack_trace_user(struct stack_trace *trace);
  #else
  # define save_stack_trace_user(trace)              do { } while (0)
  #endif
8637c0990   Ingo Molnar   [PATCH] lockdep: ...
28
  #else
ab1b6f03a   Christoph Hellwig   simplify the stac...
29
  # define save_stack_trace(trace)			do { } while (0)
9745512ce   Arjan van de Ven   sched: latencytop...
30
  # define save_stack_trace_tsk(tsk, trace)		do { } while (0)
8d7c6a961   Török Edwin   tracing/stack-tra...
31
  # define save_stack_trace_user(trace)			do { } while (0)
3b5ad0797   Johannes Berg   stacktrace: fix h...
32
  # define print_stack_trace(trace, spaces)		do { } while (0)
9a92a6ce6   Joonsoo Kim   stacktrace: intro...
33
  # define snprint_stack_trace(buf, size, trace, spaces)	do { } while (0)
8637c0990   Ingo Molnar   [PATCH] lockdep: ...
34
35
36
  #endif
  
  #endif