11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/** 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * @file oprof.h 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * @remark Copyright 2002 OProfile authors 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * @remark Read the file COPYING 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * @author John Levon <levon@movementarian.org> 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef OPROF_H 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define OPROF_H 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsint oprofile_setup(void); 146a18037d4165f691063b43816be3152e9006eb06Robert Richtervoid oprofile_shutdown(void); 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsint oprofilefs_register(void); 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid oprofilefs_unregister(void); 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsint oprofile_start(void); 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid oprofile_stop(void); 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstruct oprofile_operations; 236a18037d4165f691063b43816be3152e9006eb06Robert Richter 24bd2172f58094b3f8afa017e68f3f0b57577824e1Robert Richterextern unsigned long oprofile_buffer_size; 25bd2172f58094b3f8afa017e68f3f0b57577824e1Robert Richterextern unsigned long oprofile_cpu_buffer_size; 26bd2172f58094b3f8afa017e68f3f0b57577824e1Robert Richterextern unsigned long oprofile_buffer_watershed; 27afe1b50fe6aa56093e9234bdc08779e9fe20b5bfRobert Richterextern unsigned long oprofile_time_slice; 28afe1b50fe6aa56093e9234bdc08779e9fe20b5bfRobert Richter 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern struct oprofile_operations oprofile_ops; 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern unsigned long oprofile_started; 31bd2172f58094b3f8afa017e68f3f0b57577824e1Robert Richterextern unsigned long oprofile_backtrace_depth; 326a18037d4165f691063b43816be3152e9006eb06Robert Richter 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstruct super_block; 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstruct dentry; 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3625ad2913cae9c9e3ed28075caeb2eefccd636f4fRobert Richtervoid oprofile_create_files(struct super_block *sb, struct dentry *root); 37bc078e4eab65f11bbaeed380593ab8151b30d703Martin Schwidefskyint oprofile_timer_init(struct oprofile_operations *ops); 38dcfce4a095932e6e95d83ad982be3609947963bcRobert Richter#ifdef CONFIG_OPROFILE_NMI_TIMER 39dcfce4a095932e6e95d83ad982be3609947963bcRobert Richterint op_nmi_timer_init(struct oprofile_operations *ops); 40dcfce4a095932e6e95d83ad982be3609947963bcRobert Richter#else 41dcfce4a095932e6e95d83ad982be3609947963bcRobert Richterstatic inline int op_nmi_timer_init(struct oprofile_operations *ops) 42dcfce4a095932e6e95d83ad982be3609947963bcRobert Richter{ 43dcfce4a095932e6e95d83ad982be3609947963bcRobert Richter return -ENODEV; 44dcfce4a095932e6e95d83ad982be3609947963bcRobert Richter} 45dcfce4a095932e6e95d83ad982be3609947963bcRobert Richter#endif 46dcfce4a095932e6e95d83ad982be3609947963bcRobert Richter 471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 487df01d96b295e400167e78061b81d4c91630b12dRobert Richterint oprofile_set_ulong(unsigned long *addr, unsigned long val); 494d4036e0e7299c6cbb2d2421b4b30b7a409ce61aJason Yehint oprofile_set_timeout(unsigned long time); 506a18037d4165f691063b43816be3152e9006eb06Robert Richter 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif /* OPROF_H */ 52