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