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 super_block;
34 struct dentry;
35 
36 void oprofile_create_files(struct super_block *sb, struct dentry *root);
37 int oprofile_timer_init(struct oprofile_operations *ops);
38 #ifdef CONFIG_OPROFILE_NMI_TIMER
39 int op_nmi_timer_init(struct oprofile_operations *ops);
40 #else
op_nmi_timer_init(struct oprofile_operations * ops)41 static inline int op_nmi_timer_init(struct oprofile_operations *ops)
42 {
43 	return -ENODEV;
44 }
45 #endif
46 
47 
48 int oprofile_set_ulong(unsigned long *addr, unsigned long val);
49 int oprofile_set_timeout(unsigned long time);
50 
51 #endif /* OPROF_H */
52