blob: d5412060ab0fcac1f87e85417e47e31e7ae3f12c [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/**
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);
Robert Richter6a180372008-10-16 15:01:40 +020014void oprofile_shutdown(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
16int oprofilefs_register(void);
17void oprofilefs_unregister(void);
18
19int oprofile_start(void);
20void oprofile_stop(void);
21
22struct oprofile_operations;
Robert Richter6a180372008-10-16 15:01:40 +020023
Robert Richterbd2172f2008-12-16 16:19:54 +010024extern unsigned long oprofile_buffer_size;
25extern unsigned long oprofile_cpu_buffer_size;
26extern unsigned long oprofile_buffer_watershed;
Robert Richterafe1b50f2009-07-15 15:19:29 +020027extern unsigned long oprofile_time_slice;
28
Linus Torvalds1da177e2005-04-16 15:20:36 -070029extern struct oprofile_operations oprofile_ops;
30extern unsigned long oprofile_started;
Robert Richterbd2172f2008-12-16 16:19:54 +010031extern unsigned long oprofile_backtrace_depth;
Robert Richter6a180372008-10-16 15:01:40 +020032
Linus Torvalds1da177e2005-04-16 15:20:36 -070033struct dentry;
34
Al Viroa9e599e2013-07-19 15:47:29 +040035void oprofile_create_files(struct dentry *root);
Martin Schwidefskybc078e42010-03-02 16:01:10 +010036int oprofile_timer_init(struct oprofile_operations *ops);
Robert Richterdcfce4a2011-10-11 17:11:08 +020037#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
Linus Torvalds1da177e2005-04-16 15:20:36 -070046
Robert Richter7df01d92010-10-04 21:09:36 +020047int oprofile_set_ulong(unsigned long *addr, unsigned long val);
Jason Yeh4d4036e2009-07-08 13:49:38 +020048int oprofile_set_timeout(unsigned long time);
Robert Richter6a180372008-10-16 15:01:40 +020049
Linus Torvalds1da177e2005-04-16 15:20:36 -070050#endif /* OPROF_H */