stacktrace.h 981 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef __LINUX_STACKTRACE_H
  2. #define __LINUX_STACKTRACE_H
  3. struct task_struct;
  4. #ifdef CONFIG_STACKTRACE
  5. struct stack_trace {
  6. unsigned int nr_entries, max_entries;
  7. unsigned long *entries;
  8. int skip; /* input argument: How many entries to skip */
  9. };
  10. extern void save_stack_trace(struct stack_trace *trace);
  11. extern void save_stack_trace_bp(struct stack_trace *trace, unsigned long bp);
  12. extern void save_stack_trace_tsk(struct task_struct *tsk,
  13. struct stack_trace *trace);
  14. extern void print_stack_trace(struct stack_trace *trace, int spaces);
  15. #ifdef CONFIG_USER_STACKTRACE_SUPPORT
  16. extern void save_stack_trace_user(struct stack_trace *trace);
  17. #else
  18. # define save_stack_trace_user(trace) do { } while (0)
  19. #endif
  20. #else
  21. # define save_stack_trace(trace) do { } while (0)
  22. # define save_stack_trace_tsk(tsk, trace) do { } while (0)
  23. # define save_stack_trace_user(trace) do { } while (0)
  24. # define print_stack_trace(trace, spaces) do { } while (0)
  25. #endif
  26. #endif