/** * @file oprof.h * * @remark Copyright 2002 OProfile authors * @remark Read the file COPYING * * @author John Levon <levon@movementarian.org> */ #ifndef OPROF_H #define OPROF_H int oprofile_setup(void); void oprofile_shutdown(void); int oprofilefs_register(void); void oprofilefs_unregister(void); int oprofile_start(void); void oprofile_stop(void); struct oprofile_operations; extern unsigned long oprofile_buffer_size; extern unsigned long oprofile_cpu_buffer_size; extern unsigned long oprofile_buffer_watershed; extern unsigned long oprofile_time_slice; extern struct oprofile_operations oprofile_ops; extern unsigned long oprofile_started; extern unsigned long oprofile_backtrace_depth; struct super_block; struct dentry; void oprofile_create_files(struct super_block *sb, struct dentry *root); int oprofile_timer_init(struct oprofile_operations *ops); #ifdef CONFIG_OPROFILE_NMI_TIMER int op_nmi_timer_init(struct oprofile_operations *ops); #else static inline int op_nmi_timer_init(struct oprofile_operations *ops) { return -ENODEV; } #endif int oprofile_set_ulong(unsigned long *addr, unsigned long val); int oprofile_set_timeout(unsigned long time); #endif /* OPROF_H */