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 
13 int oprofile_setup(void);
14 void oprofile_shutdown(void);
15 
16 int oprofilefs_register(void);
17 void oprofilefs_unregister(void);
18 
19 int oprofile_start(void);
20 void oprofile_stop(void);
21 
22 struct oprofile_operations;
23 
24 extern unsigned long oprofile_buffer_size;
25 extern unsigned long oprofile_cpu_buffer_size;
26 extern unsigned long oprofile_buffer_watershed;
27 extern unsigned long oprofile_time_slice;
28 
29 extern struct oprofile_operations oprofile_ops;
30 extern unsigned long oprofile_started;
31 extern unsigned long oprofile_backtrace_depth;
32 
33 struct dentry;
34 
35 void oprofile_create_files(struct dentry *root);
36 int oprofile_timer_init(struct oprofile_operations *ops);
37 #ifdef CONFIG_OPROFILE_NMI_TIMER
38 int op_nmi_timer_init(struct oprofile_operations *ops);
39 #else
op_nmi_timer_init(struct oprofile_operations * ops)40 static inline int op_nmi_timer_init(struct oprofile_operations *ops)
41 {
42 	return -ENODEV;
43 }
44 #endif
45 
46 
47 int oprofile_set_ulong(unsigned long *addr, unsigned long val);
48 int oprofile_set_timeout(unsigned long time);
49 
50 #endif /* OPROF_H */
51