| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /** | 
 | 2 |  * @file event_buffer.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 EVENT_BUFFER_H | 
 | 11 | #define EVENT_BUFFER_H | 
 | 12 |  | 
 | 13 | #include <linux/types.h>  | 
| Markus Armbruster | 59cc185 | 2006-06-25 05:47:33 -0700 | [diff] [blame] | 14 | #include <asm/mutex.h> | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 |   | 
 | 16 | int alloc_event_buffer(void); | 
 | 17 |  | 
 | 18 | void free_event_buffer(void); | 
 | 19 |   | 
 | 20 | /* wake up the process sleeping on the event file */ | 
 | 21 | void wake_up_buffer_waiter(void); | 
 | 22 |   | 
 | 23 | /* Each escaped entry is prefixed by ESCAPE_CODE | 
 | 24 |  * then one of the following codes, then the | 
 | 25 |  * relevant data. | 
 | 26 |  */ | 
 | 27 | #define ESCAPE_CODE			~0UL | 
 | 28 | #define CTX_SWITCH_CODE 		1 | 
 | 29 | #define CPU_SWITCH_CODE 		2 | 
 | 30 | #define COOKIE_SWITCH_CODE 		3 | 
 | 31 | #define KERNEL_ENTER_SWITCH_CODE	4 | 
 | 32 | #define KERNEL_EXIT_SWITCH_CODE		5 | 
 | 33 | #define MODULE_LOADED_CODE		6 | 
 | 34 | #define CTX_TGID_CODE			7 | 
 | 35 | #define TRACE_BEGIN_CODE		8 | 
 | 36 | #define TRACE_END_CODE			9 | 
 | 37 |   | 
| John Levon | 0c0a400 | 2005-06-23 22:02:47 -0700 | [diff] [blame] | 38 | #define INVALID_COOKIE ~0UL | 
 | 39 | #define NO_COOKIE 0UL | 
 | 40 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 41 | /* add data to the event buffer */ | 
 | 42 | void add_event_entry(unsigned long data); | 
 | 43 |   | 
 | 44 | extern struct file_operations event_buffer_fops; | 
 | 45 |   | 
 | 46 | /* mutex between sync_cpu_buffers() and the | 
 | 47 |  * file reading code. | 
 | 48 |  */ | 
| Markus Armbruster | 59cc185 | 2006-06-25 05:47:33 -0700 | [diff] [blame] | 49 | extern struct mutex buffer_mutex; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 |   | 
 | 51 | #endif /* EVENT_BUFFER_H */ |