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 dentry; 34 35void oprofile_create_files(struct dentry *root); 36int oprofile_timer_init(struct oprofile_operations *ops); 37#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 46 47int oprofile_set_ulong(unsigned long *addr, unsigned long val); 48int oprofile_set_timeout(unsigned long time); 49 50#endif /* OPROF_H */ 51