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