1/**
2 * @file oprof.h
3 *
4 * @remark Copyright 2002 OProfile authors
5 * @remark Read the file COPYING
6 *
7 * @author John Levon <levon@movementarian.org>
8 */
9
10#ifndef OPROF_H
11#define OPROF_H
12
13int oprofile_setup(void);
14void oprofile_shutdown(void);
15
16int oprofilefs_register(void);
17void oprofilefs_unregister(void);
18
19int oprofile_start(void);
20void oprofile_stop(void);
21
22struct oprofile_operations;
23
24extern unsigned long oprofile_buffer_size;
25extern unsigned long oprofile_cpu_buffer_size;
26extern unsigned long oprofile_buffer_watershed;
27extern unsigned long oprofile_time_slice;
28
29extern struct oprofile_operations oprofile_ops;
30extern unsigned long oprofile_started;
31extern unsigned long oprofile_backtrace_depth;
32
33struct dentry;
34
35void oprofile_create_files(struct dentry *root);
36int oprofile_timer_init(struct oprofile_operations *ops);
37#ifdef CONFIG_OPROFILE_NMI_TIMER
38int op_nmi_timer_init(struct oprofile_operations *ops);
39#else
40static inline int op_nmi_timer_init(struct oprofile_operations *ops)
41{
42 return -ENODEV;
43}
44#endif
45
46
47int oprofile_set_ulong(unsigned long *addr, unsigned long val);
48int oprofile_set_timeout(unsigned long time);
49
50#endif /* OPROF_H */
51