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)41static 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